JP4112716B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
JP4112716B2
JP4112716B2 JP34767598A JP34767598A JP4112716B2 JP 4112716 B2 JP4112716 B2 JP 4112716B2 JP 34767598 A JP34767598 A JP 34767598A JP 34767598 A JP34767598 A JP 34767598A JP 4112716 B2 JP4112716 B2 JP 4112716B2
Authority
JP
Japan
Prior art keywords
packet
response
reception
transmission
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP34767598A
Other languages
Japanese (ja)
Other versions
JP2000174779A (en
Inventor
満 島田
伸一郎 生駒
篤 竹上
祥子 小田
Original Assignee
日本テキサス・インスツルメンツ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本テキサス・インスツルメンツ株式会社 filed Critical 日本テキサス・インスツルメンツ株式会社
Priority to JP34767598A priority Critical patent/JP4112716B2/en
Publication of JP2000174779A publication Critical patent/JP2000174779A/en
Application granted granted Critical
Publication of JP4112716B2 publication Critical patent/JP4112716B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はデータ処理装置に関し、特にIEEE1394規格に準拠したシリアルバスを介してパケット単位でデータの送受信を行うシステムに用いられるデータ処理装置に関する。
【0002】
【従来の技術】
従来では、パソコン等のデータ処理装置で画像データや音声データを取り込んだり、AV機器をコントロールするためには、ビデオキャプチャボードやRS232Cバス等が個別に必要であり、統一した取り扱いをすることはできなかった。
【0003】
そこで近年では、マルチメディア時代のデータ通信に適した規格が提案されており、例えば、「IEEE1394ハイパフォーマンスシリアルバス規格(以下、IEEE1394規格という)」により、高速大容量の通信を自由に行えるような環境整備がなされている。
【0004】
図4の符号101に、従来のデータ処理装置の一例を示す。このデータ処理装置101は、IEEE1394規格に準拠し、パケット単位でデータの転送が可能なシリアルバス(以下でIEEE1394バスと称する)106に接続されている。このIEEE1394バス106には、他のデータ処理装置が複数個接続されており、データ処理装置101は、IEEE1394バス106を介して他のデータ処理装置に、リクエストパケットを送信し、リクエストパケットを送信した他のデータ処理装置に、リクエストパケットに対応したレスポンスパケットを生成させ、一連のレスポンスパケットを取得することができるように構成されている。
【0005】
このデータ処理装置101は、パケット処理装置102と、送信装置103と、パケット受信装置104と、送信バッファ105と、受信バッファ107とをそれぞれ1個ずつ有している。このうち、送信装置103は、複数のパケット送信装置を有しており、ここでは、3個のパケット送信装置1031〜1033を有しているものとする。
【0006】
パケット処理装置102の出力は、送信バッファ105の入力に、送信バッファ105の出力は、送信装置103の入力にそれぞれ接続されており、送信装置103の出力は、IEEE1394バス106に接続されている。
【0007】
データ処理装置101を用いて、リクエストパケットを送信するには、まず、パケット処理装置102が所定のプログラムに従って、リクエストパケットを次々に生成し、送信バッファ105へと順次出力する。送信バッファ105は、FIFO(First in first out)構造のメモリから成っており、パケット処理装置102で次々に生成されたリクエストパケットを一時的に記憶する。
【0008】
送信装置103の各パケット送信装置1031〜1033は、送信バッファ105に保持されているリクエストパケットを、順次1個ずつ読み出し、IEEE1394バス106へと送出する。
【0009】
リクエストパケットがIEEE1394バス106へと送出されると、リクエストパケットの内容で特定された他のデータ処理装置が相手方のデータ処理装置となり、かかる相手方のデータ処理装置が、IEEE1394バス106からリクエストパケットを順次受信し、その内容を読み出す。相手方のデータ処理装置は、リクエストパケットの内容に応じて特定されるデータを、自分自身が有する記憶領域から読み出し、読み出したデータに所定の情報を付して、リクエストパケットへの応答となるレスポンスパケットを次々に生成して、IEEE1394バス106へと次々に送出する。
【0010】
IEEE1394バス106には、パケット受信装置104の入力が、パケット受信装置104の出力には、受信バッファ107の入力が、それぞれ接続されており、受信バッファ107の出力は、パケット処理装置102の入力に接続されている。
【0011】
パケット受信装置104にレスポンスパケットが到達すると、パケット受信装置104は、受信バッファ107の空き容量に応じて、レスポンスパケットが受信可能か否かを判断する。ここで「受信」とは、レスポンスパケットがパケット受信装置104に到達し、受信バッファ107に保持されることまでを指している。
【0012】
そして、受信バッファ107に、レスポンスパケットを保持できる分の空き領域があるときには、パケット受信装置104は、受信可能であると判断する。そして、IEEE1394バス106からレスポンスパケットを受け取り、受信バッファ107に出力することで、レスポンスパケットの受信がなされる。
【0013】
受信バッファ107は、入力されたレスポンスパケットを一旦保持して、パケット処理装置102の読み出し要求に応じてパケット処理装置102へと出力する。パケット処理装置102へレスポンスパケットが出力されたら、そのレスポンスパケットが占有していた領域は解放される。
パケット処理装置102は、入力されたレスポンスパケットを、所定の記憶装置に格納するなどの処理をする。
【0014】
上記のようにレスポンスパケットが受信されたら、データ処理装置101は、相手方のデータ処理装置に、「成功」のアクノレジを返して、レスポンスパケットが受信されたことを通知する。なお、アクノレジとは、4ビットの情報等からなり、各トランザクションが成功か、ビジーかといった情報が組み込まれているものである。
【0015】
上記した図4のデータ処理装置101では、パケット送信装置1031〜1033は、リクエストパケットを送出してから、そのリクエストパケットに対応するレスポンスパケットが受信されるまでは受信待ち状態になり、レスポンスパケットが受信されたことがパケット受信装置104で確認されて、各パケット送信装置1031〜1033に通知されるまでは、新たなリクエストパケットを送出しないようにされている。
【0016】
そして、各パケット送信装置1031〜1033は、受信待ち状態が解除されたら、直ちに新たなリクエストパケットを送出できる状態に復帰するようにされている。
【0017】
このため、受信バッファ107の空き容量が小さく、新たなリクエストパケットに対応するレスポンスパケットを、パケット受信装置104が受信できないときであっても、パケット送信装置1031〜1033は、可能な限り新たなリクエストパケットを送出してしまうことがある。
【0018】
このような場合には、レスポンスパケットを受信することができないため、レスポンスパケットが到達すると、データ処理装置101が「ビジー」のアクノレジを相手方のデータ処理装置に返す。
【0019】
「ビジー」のアクノレジが返されると相手方のデータ処理装置は、レスポンスパケットを再度送信し(リトライ)、パケット受信装置104がレスポンスパケットを受信できて「成功」のアクノレジが返されるまでリトライを繰り返し、「成功」のアクノレジが返されないときには、所定の回数だけリトライを繰り返す。この間はIEEE1394バス106が無駄に使われてしまうので、データ送受信の効率が低くなってしまう。
【0020】
特に、図4に示すようにデータ処理装置101がパケット送信装置1031〜1033を複数有しているときには、複数のリクエストパケットに対応するレスポンスパケットが、IEEE1394バス106に一度に送出されてしまい、送出された全てのレスポンスパケットのデータサイズの総和が受信バッファ107の空き容量を超えてしまうことが多く、パケット受信装置104がこれら全てのレスポンスパケットを一度に受信できない状態になってしまうことが多かった。
【0021】
【発明が解決しようとする課題】
本発明は、上記従来技術の不都合を解決するために創作されたものであり、その目的は、IEEE1394バスに接続されるデータ処理装置においてデータの送受信を行なう場合に、データ送受信の効率を高めることができる技術を提供することにある。
【0022】
【課題を解決するための手段】
上記課題を解決するために、本発明の請求項1に記載のデータ処理装置は、送信されるリクエストパケットを保持するための送信バッファと、シリアルバスに接続され、上記リクエストパケットを上記シリアルバスに送信するための複数のパケット送信装置を含む送信装置と、上記シリアルバスに接続され、上記リクエストパケットに対応するレスポンスパケットを上記シリアルバスから受信するためのパケット受信装置と、上記パケット受信装置から供給されるレスポンスパケットを保持するための受信バッファと、上記リクエストパケットに対応するレスポンスパケットのデータサイズと上記受信バッファの空き容量とに基づいて上記レスポンスパケットの送信の許可の判定を行なう判定装置とを有し、上記判定装置が、上記送信バッファに保持された上記リクエストパケットの識別番号と当該リクエストパケットに対応するレスポンスパケットのデータサイズとを対応付けて記憶する記憶回路と、上記リクエストパケットに対応するレスポンスパケットのデータサイズと上記受信バッファの空き容量との大小関係を比較し、上記データサイズが上記空き容量よりも小さい場合には上記リクエストパケットの送信を許可する許可制御信号を供給し、上記データサイズが上記空き容量よりも大きい場合には上記リクエストパケットの送信を許可しない不許可制御信号を供給する制御回路とを含み、上記パケット受信装置は、上記レスポンスパケットを受信すると上記判定装置に当該レスポンスパケットの受信を通知し、上記レスポンスパケットの受信の通知により、上記記憶回路に記憶されている当該レスポンスパケットに対応する上記リクエストパケットの識別番号と上記データサイズとがクリアされる。
【0023】
請求項2に記載のデータ処理装置は、請求項1に記載のデータ処理装置であって、上記パケット送信装置は、上記送信バッファに保持されている上記リクエストパケットを受け取り、上記判定装置から供給される上記送信許可の制御信号により送信許可状態にあるときに上記リクエストパケットを上記シリアルバスに送信して受信待ち状態となり、上記パケット受信装置からの上記レスポンスパケットの受信の通知により上記受信待ち状態が解除される。
【0024】
また、請求項3に記載のデータ処理装置は、請求項1又は2の何れかに記載のデータ処理装置であって、上記判定装置が、上記リクエストパケットに対応するレスポンスパケットのデータサイズを求める演算回路を含む。
請求項4に記載のデータ処理装置は、請求項1乃至の何れかに記載のデータ処理装置であって、上記パケット受信装置が上記受信バッファの空き容量を上記判定装置に通知する。
請求項5に記載のデータ処理装置は、請求項1乃至の何れかに記載のデータ処理装置であって、上記リクエストパケット、上記レスポンスパケット、並びに上記シリアルバスはIEEE1394規格に準拠するように構成されている。
【0025】
本発明のデータ処理装置では、判定装置が、送出予定のリクエストパケットに応じたレスポンスパケットのデータサイズと、受信バッファの空き容量に基づいて、送出予定のリクエストパケットを送出することが可能か否かを判定し、この判定に基づいて、送信装置が送出予定のリクエストパケットを送出しているので、例えば、レスポンスパケットのデータサイズと、受信バッファの空き容量とを比較した結果、受信バッファの空き容量が少なくて、レスポンスパケットを受信装置が受信できない状態にあるときには、送信装置に、送出予定のリクエストパケットを送出させないようにすることができ、送出予定のリクエストパケットを送出するときには、常にレスポンスパケットを受信できるだけの空き容量が受信バッファに確保されるようにすることができる。
このため、送出予定のリクエストパケットが送出されるときには、常にレスポンスパケットを受信することが可能な状態になっている。
【0026】
従って、受信バッファの空き容量が少なく、レスポンスパケットが受信できないときには、送出予定のリクエストパケットは送出されないので、受信装置で受信が拒否され、リトライが繰り返されてシリアルバスが無駄に使われなくなる。このため、従来に比してデータ送受信の効率を高めることができる。
【0027】
また、本発明のデータ処理装置において、送信装置が複数あるときには、送出予定のリクエストパケットに応じたレスポンスパケットのデータサイズと、受信バッファの空き容量とに加えて、未受信のレスポンスパケットのデータサイズを参照することで、送出予定のリクエストパケットを送出することが可能か否かを判定している。
【0028】
このため、受信バッファの空き容量が、未受信のレスポンスパケットのデータサイズと、受信予定のレスポンスパケットのデータサイズとの総和よりも小さく、未受信のレスポンスパケットと、受信予定のレスポンスパケットが一度に受信されようとしたときに、全部のレスポンスパケットを受信することができない状態にあるときには、送信装置に、送出予定のリクエストパケットを送出させないようにすることができる。
【0029】
従って、未受信のレスポンスパケットと、受信予定のレスポンスパケットが一度に生成され、続けて受信されようとしたときにも、受信バッファにはこれら全部のレスポンスパケットを保持できるだけの空き容量が確保されていることになるので、全部のレスポンスパケットを続けて受信することができる。
【0030】
特に、未受信のレスポンスパケットのデータサイズが大きい場合に、未受信のレスポンスパケットが受信されて受信バッファの空き容量が小さくなっても、その空き容量は、受信予定のレスポンスパケットのデータサイズよりも大きくなるので、受信予定のレスポンスパケットが受信装置で受信拒否されることがなくなる。
これにより、受信装置で受信が拒否されて、リトライが繰り返されることがないので、データ送受信の効率が低下することがなくなる。
【0031】
【発明の実施の形態】
本発明の実施の形態について、図面を参照して説明する。
図1の符号1は、本実施形態のデータ処理装置1である。このデータ処理装置1は、IEEE1394バス6に接続されている。このIEEE1394バス6には、他のデータ処理装置が複数個接続されており、当該データ処理装置1は、IEEE1394バス6を介して他のデータ処理装置にリクエストパケットを送信し、リクエストパケットが送信された他のデータ処理装置に、複数のレスポンスパケットを生成させて一連のレスポンスパケットを取得することができるように構成されている。
【0032】
このデータ処理装置1は、パケット処理装置2と、パケット送信装置3と、パケット受信装置4と、送信バッファ5と、受信バッファ7と、判定回路10とを有している。
【0033】
パケット処理装置2の出力は、送信バッファ5の入力に、送信バッファ5の出力は、パケット送信装置3の入力にそれぞれ接続されており、パケット送信装置3の出力は、IEEE1394バス6に接続されている。
【0034】
かかるデータ処理装置1を用いて、リクエストパケットを送信する際には、まず、パケット処理装置2がリクエストパケットを次々に生成し、送信バッファ5へと次々に出力する。
【0035】
送信バッファ5はFIFO構造のメモリからなり、パケット処理装置2からリクエストパケットが次々に入力されると、それらのリクエストパケットを一時的に記憶する。
【0036】
パケット送信装置3は、最初に1個のリクエストパケットを送信バッファ5から読み出して、IEEE1394バス6へと送出する。パケット送信装置3は、リクエストパケットを送出すると、そのリクエストパケットに対応するレスポンスパケットが受信されたことがパケット受信装置4から通知されるまで受信待ち状態になり、新たにリクエストパケットを送出しないようにされる。
【0037】
他方、リクエストパケットがIEEE1394バス6へと送出されると、リクエストパケットの内容に応じて特定された他のデータ処理装置(以下で相手方のデータ処理装置と称する。)が、IEEE1394バス6からリクエストパケットを受信し、その内容を読み出す。相手方のデータ処理装置は、リクエストパケットの内容に応じて、リクエストパケットへの応答となるレスポンスパケットを生成して、IEEE1394バス6へと送出する。
【0038】
このIEEE1394バス6には、パケット受信装置4の入力が、パケット受信装置4の出力には、受信バッファ7の入力が、それぞれ接続されており、受信バッファ7の出力は、パケット処理装置2の入力に接続されている。
【0039】
パケット受信装置4にレスポンスパケットが到達すると、パケット受信装置4は、受信バッファ7の空き容量に応じて、レスポンスパケットが受信可能か否かを判断する。本発明で「受信」とは、レスポンスパケットがパケット受信装置に到達し、受信バッファに保持されることまでを指すものとする。
【0040】
そして、受信バッファ7に、レスポンスパケットを保持できる分の空き領域があるときには、パケット受信装置4は、レスポンスパケットが受信可能であると判断して、IEEE1394バスからレスポンスパケットを受けとる。
【0041】
こうしてパケット受信装置4がIEEE1394バス6からレスポンスパケットを受けとって、そのレスポンスパケットを受信バッファ7に出力するとともに、レスポンスパケットを受信した旨をパケット送信装置3に通知する。レスポンスパケットを受信した旨が、受信待ち状態にあったパケット送信装置3に通知されると、パケット送信装置3の受信待ち状態は解除される。しかし、後述する送出不許可の制御命令がパケット送信装置3に入力されているときには、受信待ち状態が解除されている場合でも、送出予定のリクエストパケットの送出をしないようにされる。
【0042】
受信バッファ7は、入力されたレスポンスパケットを、内部に設けられたメモリ(図示せず)に一時保持する。受信バッファ7がレスポンスパケットを保持している間に、送信バッファ5には、これから送出しようとするリクエストパケット(以下で送出予定のリクエストパケットと称する。)が保持されており、パケット送信装置3へと出力される。
【0043】
パケット送信装置3は、送出予定のリクエストパケットが入力されると、そのデータサイズを、演算器9に出力する。
演算器9は、入力されたデータサイズから、そのリクエストパケットに対応するレスポンスパケット(以下で受信予定のレスポンスパケットと称する。)のデータサイズを求めて、比較器8の一方の入力へと出力する。
【0044】
一方、パケット受信装置4の内部には検出回路(図示せず)が設けられている。この検出回路は、受信バッファ7内部のメモリの空き容量を常時検出しており、検出された空き容量を、比較器8の他方の入力へと出力している。
【0045】
比較器8は、受信予定のレスポンスパケットのデータサイズと、受信バッファ7の空き容量とを比較する。
受信バッファ7の空き容量が、受信予定のレスポンスパケットを受信できる程度に大きい場合には、リクエストパケットが送出されるが、受信済みのレスポンスパケットがまだ受信バッファ7に保持されているため、受信バッファ7の空き容量が受信予定のレスポンスパケットのデータサイズよりも小さい場合には、比較器8は、パケット送信装置3に、送出不許可の制御命令を出力する。この送出不許可の制御命令により、パケット送信装置3は、受信待ち状態が解除されている場合であっても、送出予定のリクエストパケットの送出ができなくなる。
【0046】
その後、受信バッファ7から受信済みのレスポンスパケットがパケット処理装置2に出力され、受信済みのレスポンスパケットが占有していたメモリ領域が解放されると、受信バッファ7のメモリの空き容量が増える。
【0047】
こうしてメモリの空き容量が増えて受信予定のレスポンスパケットのデータサイズよりも大きくなった場合には、比較器8は、送出許可の制御命令をパケット送信装置3に出力する。送出許可の制御命令が入力されると、パケット送信装置3は、送出予定のリクエストパケットをIEEE1394バス6に送出する。
【0048】
このように、データ処理装置1では、受信バッファ7の空き容量が、受信予定のレスポンスパケットのデータサイズよりも小さく、受信予定のレスポンスパケットを受信できる分だけ確保されていないときには、パケット送信装置3はリクエストパケットを送出できないようにされている。従って、リトライが繰り返されて、バスが無駄に使われることがなくなる。
【0049】
以上までは、1個のパケット送信装置を有しているデータ処理装置1について説明したが、送信するリクエストパケットの量が多いときなどに備え、パケット送信装置を複数設ける場合がある。以下で、図2を参照し、パケット送信装置を複数有するデータ処理装置について説明する。
【0050】
図2で符号11は本発明の他の実施形態のデータ処理装置を示している。このデータ処理装置11は、パケット処理装置12と、パケット受信装置14と、送信バッファ15と、受信バッファ17と、判定回路20とを有している点では図1のデータ処理装置1と同様であるが、判定回路20がディスパチャ19を有しており、ディスパッチャ19が送信装置13と送信バッファ15との間に配置されている点と、送信装置13が、複数のパケット送信装置131〜133を有している点とで、図1のデータ処理装置1と異なる。ここでは、送信装置は3個のパケット送信装置131〜133を有しているものとする。
【0051】
そして、パケット処理装置12の出力は送信バッファ15の入力に、送信バッファ15の出力はディスパッチャ19の入力に、ディスパッチャ19の出力は送信装置13の入力に、それぞれ接続されており、送信装置13の出力は、IEEE1394バス16に接続されている。
【0052】
以上のような構成のデータ処理装置11において、複数のリクエストパケットを次々に送信するには、まず、パケット処理装置12が、複数のリクエストパケットを次々に生成し、送信バッファ15へと順次出力する。
【0053】
図3(a)の符号30に、IEEE1394規格準拠のリクエストパケットの一般的なフォーマットの概略を示す。このリクエストパケットは、第1のパケット領域31と、第2のパケット領域32とを有しており、そのそれぞれに、tLabelと、データサイズが記載されている。このうちtLabelは、各機器から送信されたリクエストパケットやレスポンスパケット等の、未解決の各トランザクションに割り当てられた固有のタグであって、リクエストパケットと、レスポンスパケットとの対応をつけるための番号である。そして、データサイズは、1個のリクエストパケット全体のデータサイズを示すものである。
【0054】
このようなフォーマットを有するリクエストパケットが送信バッファ15に入力されると、ディスパッチャ19は、送信バッファ15に入力された順にこれらのリクエストパケットを次々に読み出し、リクエストパケットの第1、第2のパケット領域31、32から、tLabelと、データサイズとをそれぞれ取得する。ここでは、最初に3個のリクエストパケットを読み出し、読み出した各リクエストパケットのtLabelと、データサイズとをそれぞれ取得するものとする。
【0055】
ディスパッチャ19は、これから送出しようとするリクエストパケットのデータサイズから、そのリクエストパケットに対応するレスポンスパケットのデータサイズをそれぞれ求め、それぞれのtLabelとデータサイズとを組にし、ディスパッチャ19が有している記憶領域に書き込む。
【0056】
図3(b)の符号40に、ディスパッチャ19が有している記憶領域の一例を示す。この記憶領域40は、第1〜第6の領域41〜46を有している。
第1〜第3の領域41〜43には、各パケット送信装置131〜133から送出される各リクエストパケットのtLabelが書き込まれるようにされており、第4〜第6の領域44〜46のそれぞれには、各パケット送信装置131〜133から送出されるリクエストパケットに応じて生成されるレスポンスパケットのデータサイズが、書き込まれるようにされている。
【0057】
こうして、第1〜第3の領域41〜43に書き込まれた各リクエストパケットのtLabelと、第4〜第6の領域44〜46に書き込まれた各レスポンスパケットのデータサイズが、それぞれ一対一に対応付けられて、一組になるようにされている。
【0058】
そして、後にリクエストパケットに対応するレスポンスパケットが受信されたことがディスパッチャ19に通知されたら、そのリクエストパケットのtLabelと、レスポンスパケットのデータサイズとの組は、記憶領域40から消去されるようにされている。
【0059】
こうして、記憶領域40に、各リクエストパケットのtLabelと、各リクエストパケットに対応するレスポンスパケットのデータサイズをそれぞれ書き込んだら、ディスパッチャ19は、パケット送信装置131〜133のそれぞれへ、リクエストパケットを均等に出力するようにされている。ここでは、3個のリクエストパケットを読み出しているので、パケット送信装置131〜133のそれぞれへ、リクエストパケットを1個ずつ出力する。
【0060】
各パケット送信装置131〜133は、入力されたリクエストパケットを、IEEE1394バス16へと送出する。各パケット送信装置131〜133は、送出したリクエストパケットに対するレスポンスパケットが、パケット受信装置14で受信されたことが確認されるまでは、受信待ち状態になり、新たなリクエストパケットを送出しないようになっている。
【0061】
各パケット送信装置131〜133から、IEEE1394バス16へとリクエストパケットが送出されると、各リクエストパケットの内容に応じて特定される他のデータ処理装置が、リクエストパケットをIEEE1394バス16から受信する。
【0062】
ここでは、同一の他のデータ処理装置が、パケット送信装置131〜133から送信された3個のリクエストパケットへの応答になる3個のレスポンスパケットを次々に生成するものとする。そして、パケット送信装置131から送出されたリクエストパケットに対応するレスポンスパケットが、最初にIEEE1394バス16へと送出されるものとし、パケット送信装置132、133から送信されたリクエストパケットへの対応となるレスポンスパケットは、まだIEEE1394バス16へと送出されていないものとする。
【0063】
このIEEE1394バス16にはパケット受信装置14の入力が、パケット受信装置14の出力には受信バッファ17の入力が、それぞれ接続されており、受信バッファ17の出力は、パケット処理装置12の入力に接続されている。
【0064】
IEEE1394バス16からパケット受信装置14にレスポンスパケットが到達すると、パケット受信装置14は、受信バッファ17の空き容量に応じて、レスポンスパケットが受信可能か否かを判断する。
【0065】
パケット受信装置14は、受信バッファ17に、レスポンスパケットを保持できる分の空き領域があるときには、レスポンスパケットが受信可能であると判断する。そしてパケット受信装置14は、IEEE1394バス16から到達したレスポンスパケットを受信バッファ17に出力するとともに、レスポンスパケットを受信した旨を、パケット送信装置131とディスパッチャ19に通知する。
【0066】
レスポンスパケットが受信されたことが通知されると、パケット送信装置131の受信待ち状態が解除される。しかし、後述する送出不許可の制御命令がパケット送信装置131に入力されているときには、受信待ち状態が解除された場合でも、送出予定のリクエストパケットの送出ができないようにされる。
【0067】
一方ディスパッチャ19は、レスポンスパケットを受信したことが通知されたら、記憶領域40の第1、第4の領域部41、44から、受信済みのレスポンスパケットに対応するリクエストパケットのtLabelと、上記レスポンスパケットのデータサイズとを消去する。
【0068】
受信バッファ17は、入力された受信済みのレスポンスパケットを一時保持する。受信バッファ17が受信済みのレスポンスパケットを保持している間に、送信バッファ15から、これから送出されようとするリクエストパケット(以下で送出予定のリクエストパケットと称する。)が、ディスパッチャ19に出力される。
【0069】
ディスパッチャ19は、送出予定のリクエストパケットから、そのtLabelとデータサイズとを取得し、送出予定のリクエストパケットに対応するレスポンスパケット(以下で受信予定のレスポンスパケットと称する)のデータサイズを求め、tLabelとともに一対一に対応付け、一組にして記憶領域40の第1、第4の領域41、44に書き込む。
【0070】
すると、この時点で記憶領域40には、それぞれパケット送信装置132、133から送出され、まだパケット受信装置14に受信されていないリクエストパケット(以下で未受信のリクエストパケットと称する。)のtLabelと、そのリクエストパケットに対応する未受信のレスポンスパケットのデータサイズとに加えて、送出予定のリクエストパケットのtLabelと、受信予定のレスポンスパケットのデータサイズとが書き込まれていることになる。
【0071】
ディスパッチャ19は、記憶領域40に書き込まれた未受信のレスポンスパケットのデータサイズと、受信予定のレスポンスパケットのデータサイズとの総和(以下で未受信及び受信予定のレスポンスパケットのデータサイズの総和と称する)を求める。こうして求められた未受信及び受信予定のレスポンスパケットのデータサイズとの総和は、比較器18の一方の入力へと入力される。
【0072】
パケット受信装置14には、検出回路(図示せず)が設けられており、受信バッファ17の空き容量が常時検出されている。こうして検出回路で検出された受信バッファ17の空き容量は、比較器18の他方の入力に入力される。
【0073】
比較器18は、未受信及び受信予定のレスポンスパケットのデータサイズの総和と、受信バッファ17の空き容量とを常時比較している。
この時点で、未受信のレスポンスパケットは、パケット送信装置132、133から出力されたリクエストパケットに対応したレスポンスパケットであって、受信予定のレスポンスパケットは、パケット送信装置132、133から出力されたリクエストパケットに対応するレスポンスパケットであるものとする。
【0074】
受信バッファ17の空き容量が、未受信及び受信予定のレスポンスパケットのデータサイズの総和よりも大きい場合には、比較器18は送出許可の制御命令をパケット送信装置131に出力する。この制御命令が入力されると、パケット送信装置131は、送出予定のリクエストパケットをIEEE1394バス16に送出する。
【0075】
一方、受信バッファ17の空き容量が、未受信及び受信予定のレスポンスパケットのデータサイズの総和よりも少ない場合には、比較器18は、パケット送信装置131に、送出不許可の制御命令を出力する。
【0076】
この制御命令により、受信待ち状態が解除されていても、パケット送信装置131は、送出予定のリクエストパケットを送出できないようにされる。
【0077】
従来では、パケット送信装置132、133から送信されたリクエストパケットに対する未受信のレスポンスパケットがパケット受信装置14で受信されてしまうと、受信バッファ17の空き容量が少なくなって、受信予定のレスポンスパケットが受信できなくなることが考えられたが、本発明では、受信バッファ17の空き容量が受信予定のレスポンスパケットのデータサイズよりも小さくなるときには、送出予定のリクエストパケットは出力できなくなるので、送出予定のリクエストパケットが送出されるときには、常に受信予定のレスポンスパケットのデータサイズ分の空き容量が、受信バッファ17に確保されていることになる。
【0078】
従って、送出予定のリクエストパケットが送出されるときには、常に受信予定のレスポンスパケットは受信可能な状態にある。
受信バッファ17から受信済みのレスポンスパケットがパケット処理装置12に出力され、受信済みのレスポンスパケットが占有していたメモリ領域が解放されると、受信バッファ17の空き容量が増える。こうして受信バッファ17の空き容量が増えて未受信及び受信予定のレスポンスパケットのデータサイズの総和よりも多くなったら、比較器18は、送出許可の制御命令をパケット送信装置131に出力する。
【0079】
後に、未受信のレスポンスパケットがパケット受信装置で受信されると、パケット送信装置132、133の受信待ち状態が解除されるが、各パケット送信装置132、133もまた、パケット送信装置131と同様に、送出許可の制御命令が出力されるまでは新たなリクエストパケットを送出できないようにされている。
【0080】
以上説明したように、データ処理装置11では、ディスパッチャ19で求められた未受信及び受信予定のレスポンスパケットのデータサイズの総和と、受信バッファ17の空き容量とを比較器18で比較し、受信バッファ17の空き容量が未受信及び受信予定のレスポンスパケットのデータサイズの総和よりも小さいときには、パケット送信装置131〜133が受信待ち状態になっていなくとも、送出予定のリクエストパケットを送信できないようにし、受信バッファ17の空き容量が未受信及び受信予定のレスポンスパケットのデータサイズの総和よりも大きくなったときに、送出予定のリクエストパケットを送信できるようにしている。
【0081】
このため、未受信のレスポンスパケットと、受信予定のレスポンスパケットが一度に生成されて、次々と受信されるような状態になった場合でも、送出予定のリクエストパケットを送出するときには、受信バッファ17に、未受信及び受信予定のレスポンスパケットのデータサイズの総和分の空き容量が確保されているので、全てのレスポンスパケットを次々に受信することができる。これにより、未受信のレスポンスパケットが受信された場合でも、受信バッファ17の空き容量が少なくて、受信予定のレスポンスパケットが受信できなくなるということがなくなる。
【0082】
従って、受信を拒否されたレスポンスパケットが他のデータ処理装置から再送されることもなくなるので、「ビジー」のアクノレジが他のデータ処理装置側に返され、他のデータ処理装置側でリトライが繰り返されて、バスが無駄に使われないようにすることができる。
【0083】
なお、図2のデータ処理装置11では、パケット送信装置131〜133を3個有するものとしているが、本発明はこれに限らず、パケット送信装置を何個有するものとしてもよい。このときには、ディスパッチャ19内の記憶領域40内に、パケット送信装置の個数に対応する数の領域を設け、各領域を各パケット送信装置に対応付けて、それぞれの領域にtLabelやデータサイズを書き込むようにすればよい。
【0084】
また、記憶領域に書き込むのは、tLabelに限らず、例えば、各パケット送信装置131〜133を識別するためにそれぞれに割り振られた機械番号と、レスポンスパケットのデータサイズとを組にして記憶領域に書きこんでもよい。
【0085】
【発明の効果】
送出予定のリクエストパケットを送出するときには、常にレスポンスパケットを受信することが可能な状態になり、受信バッファの空き容量が少なく、レスポンスパケットが受信できないときには、送出予定のリクエストパケットは送出されないので、受信装置で受信が拒否され、リトライが繰り返される間にシリアルバスが無駄に使われ、データ送受信の効率が低くなってしまうことを抑止することができる。
【図面の簡単な説明】
【図1】本発明の実施形態のデータ処理装置を説明する図
【図2】複数のパケット送信装置を有する本発明の実施形態のデータ処理装置を説明する図
【図3】(a):リクエストパケットのフォーマットを説明する図
(b):ディスパッチャに設けられた記憶領域を説明する図
【図4】従来のデータ処理装置を説明する図
【符号の説明】
1……データ処理装置 2……パケット処理装置 3、131〜133……パケット送信装置(送信装置) 4……パケット受信装置(受信装置) 6……IEEE1394バス(バス) 7……受信バッファ 8、18……比較器 9……演算器10、20…判定回路(判定手段)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing apparatus, and more particularly to a data processing apparatus used in a system that transmits and receives data in units of packets via a serial bus compliant with the IEEE1394 standard.
[0002]
[Prior art]
Conventionally, a video capture board, RS232C bus, etc. are separately required to capture image data and audio data with a data processing device such as a personal computer, or to control AV equipment, and can be handled in a unified manner. There wasn't.
[0003]
Therefore, in recent years, standards suitable for data communication in the multimedia era have been proposed. For example, an environment in which high-speed and large-capacity communication can be freely performed according to the "IEEE1394 high performance serial bus standard" Maintenance has been made.
[0004]
Reference numeral 101 in FIG. 4 shows an example of a conventional data processing apparatus. The data processing apparatus 101 is connected to a serial bus (hereinafter referred to as IEEE1394 bus) 106 that is compliant with the IEEE1394 standard and can transfer data in packet units. A plurality of other data processing devices are connected to the IEEE 1394 bus 106, and the data processing device 101 transmits a request packet to the other data processing device via the IEEE 1394 bus 106, and transmits the request packet. Another data processing apparatus is configured to generate a response packet corresponding to the request packet and obtain a series of response packets.
[0005]
The data processing apparatus 101 has one packet processing apparatus 102, one transmission apparatus 103, one packet reception apparatus 104, one transmission buffer 105, and one reception buffer 107. Among these, the transmission apparatus 103 has a plurality of packet transmission apparatuses, and here, the three packet transmission apparatuses 103 are included. 1 ~ 103 Three It shall have.
[0006]
The output of the packet processing apparatus 102 is connected to the input of the transmission buffer 105, the output of the transmission buffer 105 is connected to the input of the transmission apparatus 103, and the output of the transmission apparatus 103 is connected to the IEEE1394 bus 106.
[0007]
In order to transmit a request packet using the data processing apparatus 101, first, the packet processing apparatus 102 generates request packets one after another according to a predetermined program and sequentially outputs them to the transmission buffer 105. The transmission buffer 105 includes a memory having a FIFO (First in first out) structure, and temporarily stores request packets generated one after another by the packet processing device 102.
[0008]
Each packet transmission device 103 of the transmission device 103 1 ~ 103 Three Reads the request packets held in the transmission buffer 105 one by one and sends them to the IEEE1394 bus 106.
[0009]
When the request packet is sent to the IEEE1394 bus 106, the other data processing device specified by the contents of the request packet becomes the counterpart data processing device, and the counterpart data processing device sequentially sends the request packets from the IEEE1394 bus 106. Receive and read the contents. The other party's data processing device reads the data specified according to the content of the request packet from its own storage area, attaches predetermined information to the read data, and serves as a response to the request packet Are generated one after another and sent to the IEEE1394 bus 106 one after another.
[0010]
The input of the packet receiver 104 is connected to the IEEE1394 bus 106, the input of the reception buffer 107 is connected to the output of the packet receiver 104, and the output of the reception buffer 107 is connected to the input of the packet processor 102. It is connected.
[0011]
When the response packet arrives at the packet receiving device 104, the packet receiving device 104 determines whether or not the response packet can be received according to the free capacity of the reception buffer 107. Here, “reception” indicates that the response packet reaches the packet reception device 104 and is held in the reception buffer 107.
[0012]
When the reception buffer 107 has a free area that can hold the response packet, the packet reception device 104 determines that reception is possible. A response packet is received from the IEEE1394 bus 106 and output to the reception buffer 107, whereby the response packet is received.
[0013]
The reception buffer 107 temporarily holds the input response packet and outputs it to the packet processing apparatus 102 in response to a read request from the packet processing apparatus 102. When a response packet is output to the packet processing apparatus 102, the area occupied by the response packet is released.
The packet processing device 102 performs processing such as storing the input response packet in a predetermined storage device.
[0014]
When the response packet is received as described above, the data processing apparatus 101 returns an acknowledgment of “success” to the other data processing apparatus to notify that the response packet has been received. Acknowledge consists of 4-bit information and the like, and incorporates information indicating whether each transaction is successful or busy.
[0015]
In the data processing apparatus 101 of FIG. 4 described above, the packet transmission apparatus 103 is used. 1 ~ 103 Three Is in a reception waiting state after sending a request packet until a response packet corresponding to the request packet is received, and the packet receiving device 104 confirms that the response packet has been received, and transmits each packet. Device 103 1 ~ 103 Three Until notified, a new request packet is not sent out.
[0016]
Each packet transmitting device 103 1 ~ 103 Three When the reception waiting state is canceled, the state immediately returns to a state where a new request packet can be transmitted.
[0017]
Therefore, even when the packet reception device 104 cannot receive the response packet corresponding to the new request packet because the free capacity of the reception buffer 107 is small, the packet transmission device 103 1 ~ 103 Three May send as many new request packets as possible.
[0018]
In such a case, since the response packet cannot be received, when the response packet arrives, the data processing apparatus 101 returns a “busy” acknowledge to the partner data processing apparatus.
[0019]
When the “busy” acknowledge is returned, the partner data processing device transmits the response packet again (retry), and repeats the retry until the packet receiver 104 can receive the response packet and the “success” acknowledge is returned. When the “success” acknowledge is not returned, the retry is repeated a predetermined number of times. During this time, the IEEE1394 bus 106 is wasted, and the efficiency of data transmission / reception is reduced.
[0020]
In particular, as shown in FIG. 1 ~ 103 Three Response packets corresponding to a plurality of request packets are sent to the IEEE1394 bus 106 at a time, and the sum of the data sizes of all the response packets sent out is the free capacity of the reception buffer 107. In many cases, the packet reception device 104 cannot receive all of these response packets at the same time.
[0021]
[Problems to be solved by the invention]
The present invention was created to solve the disadvantages of the prior art described above, and its purpose is to increase the efficiency of data transmission / reception when data transmission / reception is performed in a data processing apparatus connected to the IEEE1394 bus. It is to provide the technology that can.
[0022]
[Means for Solving the Problems]
In order to solve the above problems, a data processing device according to claim 1 of the present invention is connected to a transmission buffer for holding a transmitted request packet and a serial bus, and the request packet is connected to the serial bus. A transmission device including a plurality of packet transmission devices for transmission, a packet reception device connected to the serial bus and receiving a response packet corresponding to the request packet from the serial bus, and supplied from the packet reception device A reception buffer for holding the response packet to be transmitted, and a determination device for determining permission of transmission of the response packet based on the data size of the response packet corresponding to the request packet and the free capacity of the reception buffer The determination device has the transmission buffer. A storage circuit for storing the identification number of the request packet held in the table in association with the data size of the response packet corresponding to the request packet, the data size of the response packet corresponding to the request packet, and the reception buffer being free When the data size is smaller than the free space, a permission control signal for permitting transmission of the request packet is supplied, and when the data size is larger than the free space And a control circuit that supplies a non-permission control signal that does not permit transmission of the request packet.When the packet reception device receives the response packet, the packet reception device notifies the determination device of reception of the response packet, and Upon receipt of reception, the memory circuit The identification number and the data size of the request packet corresponding to the response packet stored is cleared.
[0023]
The data processing device according to claim 2 is: Claim 1 When the packet transmission device receives the request packet held in the transmission buffer and is in a transmission-permitted state according to the transmission-permission control signal supplied from the determination device. Then, the request packet is transmitted to the serial bus to be in a reception waiting state, and the reception waiting state is canceled by the reception notification of the response packet from the packet receiving device.
[0024]
The data processing device according to claim 3 is: Claim 1 or 2 The data processing device according to any one of the above, wherein the determination device includes an arithmetic circuit that calculates a data size of a response packet corresponding to the request packet.
The data processing device according to claim 4 is the data processing device according to claim 1. 3 The packet reception device notifies the determination device of the free capacity of the reception buffer.
The data processing device according to claim 5 is the data processing device according to claim 1. 4 The request packet, the response packet, and the serial bus are configured to comply with the IEEE 1394 standard.
[0025]
In the data processing device of the present invention, whether or not the determination device can send a request packet to be sent based on the data size of the response packet corresponding to the request packet to be sent and the free capacity of the reception buffer. Based on this determination, the transmission device sends a request packet that is scheduled to be sent. For example, as a result of comparing the data size of the response packet with the free capacity of the receive buffer, the free capacity of the receive buffer Therefore, when the receiving device is in a state where the receiving device cannot receive the response packet, the sending device can be prevented from sending the request packet scheduled to be sent out. The reception buffer has enough free space to receive. Can Unisuru.
For this reason, when a request packet to be transmitted is transmitted, a response packet can always be received.
[0026]
Therefore, when the response buffer cannot be received because the reception buffer has a small free space, the request packet scheduled to be transmitted is not transmitted, so that reception is refused by the reception device, and the retry is repeated, so that the serial bus is not wasted. For this reason, the efficiency of data transmission / reception can be increased as compared with the conventional case.
[0027]
In the data processing device of the present invention, when there are a plurality of transmission devices, in addition to the data size of the response packet corresponding to the request packet to be transmitted and the free capacity of the reception buffer, the data size of the unreceived response packet , It is determined whether or not a request packet scheduled to be sent can be sent.
[0028]
For this reason, the free capacity of the reception buffer is smaller than the sum of the data size of the unreceived response packet and the data size of the response packet scheduled to be received, and the unreceived response packet and the response packet scheduled to be received When it is attempted to be received and when all response packets cannot be received, it is possible to prevent the transmission apparatus from transmitting a request packet to be transmitted.
[0029]
Therefore, when an unreceived response packet and a response packet scheduled to be received are generated at one time and are continuously received, the reception buffer has enough free space to hold all these response packets. Therefore, all response packets can be received continuously.
[0030]
In particular, when the data size of an unreceived response packet is large, even if an unreceived response packet is received and the free space in the reception buffer decreases, the free space is smaller than the data size of the response packet scheduled to be received. Since the size of the response packet is increased, the reception device does not refuse reception of the response packet.
As a result, the reception is rejected by the receiving device and the retry is not repeated, so that the efficiency of data transmission / reception does not decrease.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described with reference to the drawings.
Reference numeral 1 in FIG. 1 is the data processing apparatus 1 of the present embodiment. The data processing device 1 is connected to the IEEE1394 bus 6. A plurality of other data processing devices are connected to the IEEE1394 bus 6, and the data processing device 1 transmits a request packet to the other data processing device via the IEEE1394 bus 6, and the request packet is transmitted. Another data processing apparatus is configured to generate a plurality of response packets and obtain a series of response packets.
[0032]
The data processing device 1 includes a packet processing device 2, a packet transmission device 3, a packet reception device 4, a transmission buffer 5, a reception buffer 7, and a determination circuit 10.
[0033]
The output of the packet processing device 2 is connected to the input of the transmission buffer 5, the output of the transmission buffer 5 is connected to the input of the packet transmission device 3, and the output of the packet transmission device 3 is connected to the IEEE1394 bus 6. Yes.
[0034]
When transmitting a request packet using such a data processing device 1, first, the packet processing device 2 generates request packets one after another and outputs them one after another to the transmission buffer 5.
[0035]
The transmission buffer 5 is composed of a FIFO structure memory, and when request packets are successively input from the packet processing device 2, these request packets are temporarily stored.
[0036]
The packet transmission device 3 first reads one request packet from the transmission buffer 5 and sends it to the IEEE1394 bus 6. When the packet transmission device 3 transmits the request packet, the packet transmission device 3 waits for reception until the packet reception device 4 notifies that the response packet corresponding to the request packet has been received, so that a new request packet is not transmitted. Is done.
[0037]
On the other hand, when the request packet is sent to the IEEE1394 bus 6, another data processing device (hereinafter referred to as a counterpart data processing device) specified according to the content of the request packet is sent from the IEEE1394 bus 6 to the request packet. And read the contents. The counterpart data processing device generates a response packet as a response to the request packet according to the content of the request packet and sends it to the IEEE1394 bus 6.
[0038]
The IEEE1394 bus 6 is connected to the input of the packet receiving device 4, and the output of the packet receiving device 4 is connected to the input of the receiving buffer 7. The output of the receiving buffer 7 is input to the packet processing device 2. It is connected to the.
[0039]
When the response packet arrives at the packet reception device 4, the packet reception device 4 determines whether or not the response packet can be received according to the free capacity of the reception buffer 7. In the present invention, “reception” refers to the time from when the response packet reaches the packet reception device and is held in the reception buffer.
[0040]
When the reception buffer 7 has a free area that can hold the response packet, the packet reception device 4 determines that the response packet can be received and receives the response packet from the IEEE1394 bus.
[0041]
In this way, the packet receiver 4 receives the response packet from the IEEE1394 bus 6, outputs the response packet to the reception buffer 7, and notifies the packet transmitter 3 that the response packet has been received. When the fact that the response packet has been received is notified to the packet transmission device 3 that is in the reception waiting state, the reception waiting state of the packet transmission device 3 is released. However, when a transmission non-permission control command, which will be described later, is input to the packet transmission device 3, even if the reception waiting state is released, the request packet scheduled to be transmitted is not transmitted.
[0042]
The reception buffer 7 temporarily holds the input response packet in a memory (not shown) provided therein. While the reception buffer 7 holds the response packet, the transmission buffer 5 holds a request packet to be sent (hereinafter referred to as a request packet to be sent), and sends it to the packet transmission device 3. Is output.
[0043]
When a request packet to be transmitted is input, the packet transmission device 3 outputs the data size to the arithmetic unit 9.
The arithmetic unit 9 obtains the data size of a response packet (hereinafter referred to as a response packet scheduled to be received) corresponding to the request packet from the input data size, and outputs it to one input of the comparator 8. .
[0044]
On the other hand, a detection circuit (not shown) is provided inside the packet receiver 4. This detection circuit constantly detects the free space in the memory inside the reception buffer 7 and outputs the detected free space to the other input of the comparator 8.
[0045]
The comparator 8 compares the data size of the response packet scheduled to be received with the free capacity of the reception buffer 7.
If the free capacity of the reception buffer 7 is large enough to receive the response packet scheduled to be received, the request packet is sent out, but since the received response packet is still held in the reception buffer 7, the reception buffer 7 is smaller than the data size of the response packet scheduled to be received, the comparator 8 outputs a control command not permitting transmission to the packet transmitter 3. Due to this transmission non-permission control command, the packet transmission device 3 cannot transmit the request packet scheduled to be transmitted even when the reception waiting state is cancelled.
[0046]
After that, the received response packet is output from the reception buffer 7 to the packet processing device 2, and when the memory area occupied by the received response packet is released, the memory capacity of the reception buffer 7 increases.
[0047]
When the free space of the memory increases in this way and becomes larger than the data size of the response packet scheduled to be received, the comparator 8 outputs a transmission permission control command to the packet transmission device 3. When a transmission permission control command is input, the packet transmission device 3 transmits a request packet to be transmitted to the IEEE1394 bus 6.
[0048]
In this way, in the data processing device 1, when the free capacity of the reception buffer 7 is smaller than the data size of the response packet scheduled to be received, and not enough for receiving the response packet scheduled to be received, the packet transmission device 3 Is disabled from sending request packets. Therefore, the retry is not repeated and the bus is not wasted.
[0049]
The data processing apparatus 1 having one packet transmission apparatus has been described so far, but a plurality of packet transmission apparatuses may be provided in preparation for a case where the amount of request packets to be transmitted is large. Hereinafter, a data processing apparatus having a plurality of packet transmission apparatuses will be described with reference to FIG.
[0050]
In FIG. 2, reference numeral 11 denotes a data processing apparatus according to another embodiment of the present invention. This data processing device 11 is the same as the data processing device 1 in FIG. 1 in that it includes a packet processing device 12, a packet receiving device 14, a transmission buffer 15, a receiving buffer 17, and a determination circuit 20. However, the determination circuit 20 includes the dispatcher 19, the dispatcher 19 is disposed between the transmission device 13 and the transmission buffer 15, and the transmission device 13 includes a plurality of packet transmission devices 13. 1 ~ 13 Three 1 is different from the data processing apparatus 1 of FIG. Here, the transmission device is three packet transmission devices 13. 1 ~ 13 Three It shall have.
[0051]
The output of the packet processing device 12 is connected to the input of the transmission buffer 15, the output of the transmission buffer 15 is connected to the input of the dispatcher 19, and the output of the dispatcher 19 is connected to the input of the transmission device 13. The output is connected to the IEEE1394 bus 16.
[0052]
In order to transmit a plurality of request packets one after another in the data processing device 11 configured as described above, first, the packet processing device 12 generates a plurality of request packets one after another and sequentially outputs them to the transmission buffer 15. .
[0053]
Reference numeral 30 in FIG. 3A shows an outline of a general format of a request packet conforming to the IEEE1394 standard. This request packet has a first packet area 31 and a second packet area 32, each of which describes a tLabel and a data size. Of these, tLabel is a unique tag assigned to each unresolved transaction, such as a request packet or response packet sent from each device, and is a number for associating a request packet with a response packet. is there. The data size indicates the data size of one request packet as a whole.
[0054]
When request packets having such a format are input to the transmission buffer 15, the dispatcher 19 sequentially reads out these request packets in the order of input to the transmission buffer 15, and first and second packet areas of the request packet. TLabel and data size are acquired from 31 and 32, respectively. Here, first, three request packets are read out, and the tLabel and data size of each read request packet are acquired.
[0055]
The dispatcher 19 obtains the data size of the response packet corresponding to the request packet from the data size of the request packet to be transmitted from now on, and sets each tLabel and the data size as a pair, and the memory that the dispatcher 19 has. Write to the area.
[0056]
An example of a storage area that the dispatcher 19 has is indicated by reference numeral 40 in FIG. The storage area 40 has first to sixth areas 41 to 46.
In the first to third areas 41 to 43, each packet transmission device 13 is provided. 1 ~ 13 Three The tLabel of each request packet transmitted from is written in each of the fourth to sixth areas 44 to 46. 1 ~ 13 Three The data size of the response packet generated in response to the request packet sent from is written.
[0057]
Thus, there is a one-to-one correspondence between the tLabel of each request packet written in the first to third areas 41 to 43 and the data size of each response packet written to the fourth to sixth areas 44 to 46. Attached to be a pair.
[0058]
Then, when the dispatcher 19 is notified that a response packet corresponding to the request packet has been received later, the pair of the tLabel of the request packet and the data size of the response packet is deleted from the storage area 40. ing.
[0059]
Thus, after writing the tLabel of each request packet and the data size of the response packet corresponding to each request packet to the storage area 40, the dispatcher 19 sends the packet transmitter 13 1 ~ 13 Three The request packets are output equally to each of the above. Here, since three request packets are read out, the packet transmitter 13 1 ~ 13 Three One request packet is output to each of the above.
[0060]
Each packet transmitter 13 1 ~ 13 Three Sends the input request packet to the IEEE1394 bus 16. Each packet transmitter 13 1 ~ 13 Three Until the response packet to the transmitted request packet is confirmed to be received by the packet receiving device 14, it is in a reception waiting state, and a new request packet is not transmitted.
[0061]
Each packet transmitter 13 1 ~ 13 Three When a request packet is sent from the IEEE 1394 bus 16 to another data processing device specified by the content of each request packet, the request packet is received from the IEEE 1394 bus 16.
[0062]
Here, the same other data processing device is connected to the packet transmission device 13. 1 ~ 13 Three It is assumed that three response packets that are responses to the three request packets transmitted from are generated one after another. Then, the packet transmitter 13 1 It is assumed that a response packet corresponding to the request packet sent from is first sent to the IEEE1394 bus 16, and the packet transmitter 13 2 , 13 Three It is assumed that the response packet corresponding to the request packet transmitted from is not yet transmitted to the IEEE1394 bus 16.
[0063]
The IEEE1394 bus 16 is connected to the input of the packet receiver 14, and the output of the packet receiver 14 is connected to the input of the receive buffer 17. The output of the receive buffer 17 is connected to the input of the packet processor 12. Has been.
[0064]
When the response packet reaches the packet reception device 14 from the IEEE1394 bus 16, the packet reception device 14 determines whether or not the response packet can be received according to the free capacity of the reception buffer 17.
[0065]
The packet receiving device 14 determines that the response packet can be received when the reception buffer 17 has a free area that can hold the response packet. Then, the packet receiving device 14 outputs the response packet arrived from the IEEE1394 bus 16 to the reception buffer 17 and indicates that the response packet has been received. 1 To the dispatcher 19.
[0066]
When notified that the response packet has been received, the packet transmitter 13 1 The reception waiting state of is canceled. However, a transmission non-permission control command to be described later is issued by the packet transmitter 13. 1 When a reception waiting state is canceled, a request packet scheduled to be transmitted cannot be transmitted.
[0067]
On the other hand, when the dispatcher 19 is notified that the response packet has been received, the tLabel of the request packet corresponding to the received response packet and the response packet from the first and fourth area portions 41 and 44 of the storage area 40. Erase the data size.
[0068]
The reception buffer 17 temporarily holds the input received response packet. While the reception buffer 17 holds the received response packet, a request packet (hereinafter referred to as a request packet scheduled to be transmitted) to be transmitted from the transmission buffer 15 is output to the dispatcher 19. .
[0069]
The dispatcher 19 acquires the tLabel and the data size from the request packet scheduled to be transmitted, obtains the data size of the response packet (hereinafter referred to as a response packet scheduled to be received) corresponding to the request packet scheduled to be transmitted, and the tLabel One-to-one correspondence and a set are written in the first and fourth areas 41 and 44 of the storage area 40.
[0070]
At this time, each of the packet transmission devices 13 is stored in the storage area 40. 2 , 13 Three In addition to the tLabel of a request packet (hereinafter referred to as an unreceived request packet) that has been transmitted from the packet receiver 14 and has not yet been received by the packet receiver 14 and the data size of an unreceived response packet corresponding to the request packet. The tLabel of the request packet scheduled to be transmitted and the data size of the response packet scheduled to be received are written.
[0071]
The dispatcher 19 sums the data size of the unreceived response packet written in the storage area 40 and the data size of the response packet scheduled to be received (hereinafter referred to as the sum of the data sizes of the response packets not yet received and scheduled to be received). ) The sum total of the data sizes of the response packets not yet received and scheduled to be received is input to one input of the comparator 18.
[0072]
The packet receiver 14 is provided with a detection circuit (not shown), and the free capacity of the reception buffer 17 is always detected. The free capacity of the reception buffer 17 detected by the detection circuit is input to the other input of the comparator 18.
[0073]
The comparator 18 constantly compares the sum of the data sizes of response packets not yet received and scheduled to be received with the free capacity of the reception buffer 17.
At this time, an unreceived response packet is transmitted to the packet transmission device 13. 2 , 13 Three Is a response packet corresponding to the request packet output from, and the response packet scheduled to be received is the packet transmission device 13. 2 , 13 Three It is assumed that the response packet corresponds to the request packet output from.
[0074]
When the free capacity of the reception buffer 17 is larger than the sum of the data sizes of response packets not yet received and scheduled to be received, the comparator 18 sends a control command for permission to send to the packet transmission device 13. 1 Output to. When this control command is input, the packet transmitter 13 1 Sends a request packet to be sent to the IEEE1394 bus 16.
[0075]
On the other hand, when the free capacity of the reception buffer 17 is smaller than the sum of the data sizes of unreceived and scheduled response packets, the comparator 18 1 In addition, a control command not permitting transmission is output.
[0076]
Even if the reception waiting state is canceled by this control command, the packet transmission device 13 1 Is disabled from sending a request packet to be sent.
[0077]
Conventionally, the packet transmission device 13 2 , 13 Three If the unreceived response packet for the request packet transmitted from is received by the packet receiving device 14, the free capacity of the reception buffer 17 is reduced, and the response packet scheduled to be received cannot be received. In the present invention, when the free capacity of the reception buffer 17 is smaller than the data size of the response packet scheduled to be received, the request packet scheduled to be transmitted cannot be output. Therefore, when the request packet scheduled to be transmitted is transmitted, it is always received. Thus, a free space corresponding to the data size of the scheduled response packet is secured in the reception buffer 17.
[0078]
Therefore, when a request packet scheduled to be transmitted is transmitted, a response packet scheduled to be received is always in a receivable state.
When the received response packet is output from the reception buffer 17 to the packet processing device 12 and the memory area occupied by the received response packet is released, the free capacity of the reception buffer 17 increases. When the free capacity of the reception buffer 17 increases in this way and becomes larger than the sum of the data sizes of the response packets not yet received and scheduled to be received, the comparator 18 sends a transmission permission control command to the packet transmission device 13. 1 Output to.
[0079]
Later, when an unreceived response packet is received by the packet receiver, the packet transmitter 13 2 , 13 Three The reception waiting state of the packet transmission device 13 is released. 2 , 13 Three Also, the packet transmission device 13 1 Similarly to the above, a new request packet cannot be transmitted until a transmission permission control command is output.
[0080]
As described above, the data processing device 11 compares the sum of the data sizes of the response packets that are not received and are scheduled to be received obtained by the dispatcher 19 with the free capacity of the reception buffer 17 by the comparator 18, and receives the reception buffer. When the free space of 17 is smaller than the sum of the data sizes of response packets not yet received and scheduled to be received, the packet transmitter 13 1 ~ 13 Three Even if the packet is not ready for reception, the request packet scheduled to be transmitted cannot be transmitted, and is transmitted when the free capacity of the reception buffer 17 becomes larger than the sum of the data sizes of unreceived and response packets scheduled to be received. The scheduled request packet can be sent.
[0081]
For this reason, even when an unreceived response packet and a response packet scheduled to be received are generated at a time and are received one after another, when a request packet scheduled to be transmitted is sent, the reception buffer 17 Since a free space corresponding to the sum of the data sizes of unreceived and scheduled response packets is secured, all response packets can be received one after another. Thus, even when an unreceived response packet is received, there is no possibility that the reception buffer 17 has a small free space and a response packet scheduled to be received cannot be received.
[0082]
Accordingly, since the response packet refused to be received is not retransmitted from the other data processing device, the “busy” acknowledge is returned to the other data processing device, and the retry is repeated on the other data processing device side. This prevents the bus from being wasted.
[0083]
In the data processing device 11 of FIG. 1 ~ 13 Three However, the present invention is not limited to this, and any number of packet transmission devices may be provided. At this time, the storage area 40 in the dispatcher 19 is provided with a number of areas corresponding to the number of packet transmission apparatuses, each area is associated with each packet transmission apparatus, and tLabel and data size are written in each area. You can do it.
[0084]
Further, writing to the storage area is not limited to tLabel, and for example, each packet transmission device 13 1 ~ 13 Three May be written in the storage area as a set of the machine number assigned to each and the data size of the response packet.
[0085]
【The invention's effect】
When sending a request packet that is scheduled to be sent, the response packet can always be received, and when the response buffer cannot be received because the reception buffer has little free space, the request packet that is scheduled to be sent is not sent. It is possible to prevent the reception of data from being rejected by the apparatus and the serial bus from being wasted while the retry is repeated, thereby reducing the efficiency of data transmission / reception.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a data processing apparatus according to an embodiment of this invention.
FIG. 2 is a diagram illustrating a data processing apparatus according to an embodiment of the present invention having a plurality of packet transmission apparatuses.
FIG. 3A is a diagram for explaining the format of a request packet.
(b): A diagram for explaining a storage area provided in the dispatcher
FIG. 4 is a diagram for explaining a conventional data processing apparatus;
[Explanation of symbols]
1 …… Data processing device 2 …… Packet processing device 3, 13 1 ~ 13 Three ...... Packet transmitting device (transmitting device) 4 ...... Packet receiving device (receiving device) 6 ...... IEEE1394 bus (bus) 7 ...... Receiving buffer 8, 18 ...... Comparator 9 ...... Calculators 10, 20. (Judgment means)

Claims (5)

送信されるリクエストパケットを保持するための送信バッファと、
シリアルバスに接続され、上記リクエストパケットを上記シリアルバスに送信するための複数のパケット送信装置を含む送信装置と、
上記シリアルバスに接続され、上記リクエストパケットに対応するレスポンスパケットを上記シリアルバスから受信するためのパケット受信装置と、
上記パケット受信装置から供給されるレスポンスパケットを保持するための受信バッファと、
上記リクエストパケットに対応するレスポンスパケットのデータサイズと上記受信バッファの空き容量とに基づいて上記レスポンスパケットの送信の許可の判定を行なう判定装置と、
を有し、
上記判定装置が、
上記送信バッファに保持された上記リクエストパケットの識別番号と当該リクエストパケットに対応するレスポンスパケットのデータサイズとを対応付けて記憶する記憶回路と、
上記リクエストパケットに対応するレスポンスパケットのデータサイズと上記受信バッファの空き容量との大小関係を比較し、上記データサイズが上記空き容量よりも小さい場合には上記リクエストパケットの送信を許可する許可制御信号を供給し、上記データサイズが上記空き容量よりも大きい場合には上記リクエストパケットの送信を許可しない不許可制御信号を供給する制御回路と、
を含み、
上記パケット受信装置は、上記レスポンスパケットを受信すると上記判定装置に当該レスポンスパケットの受信を通知し、
上記レスポンスパケットの受信の通知により、上記記憶回路に記憶されている当該レスポンスパケットに対応する上記リクエストパケットの識別番号と上記データサイズとがクリアされる、
データ処理装置。
A send buffer to hold the request packet to be sent,
A transmission device connected to a serial bus and including a plurality of packet transmission devices for transmitting the request packet to the serial bus;
A packet receiving device connected to the serial bus and receiving a response packet corresponding to the request packet from the serial bus;
A reception buffer for holding a response packet supplied from the packet reception device;
A determination device that determines permission to transmit the response packet based on the data size of the response packet corresponding to the request packet and the free capacity of the reception buffer;
Have
The determination device is
A storage circuit for storing the identification number of the request packet held in the transmission buffer and the data size of the response packet corresponding to the request packet in association with each other;
A permission control signal for comparing the size of the data size of the response packet corresponding to the request packet and the free capacity of the reception buffer and permitting transmission of the request packet when the data size is smaller than the free capacity A control circuit for supplying a non-permission control signal that does not permit transmission of the request packet when the data size is larger than the free space;
Including
When the packet reception device receives the response packet, the packet reception device notifies the determination device that the response packet has been received,
By the notification of the reception of the response packet, the identification number and the data size of the request packet corresponding to the response packet stored in the storage circuit are cleared.
Data processing device.
上記パケット送信装置は、上記送信バッファに保持されている上記リクエストパケットを受け取り、上記判定装置から供給される上記送信許可の制御信号により送信許可状態にあるときに上記リクエストパケットを上記シリアルバスに送信して受信待ち状態となり、上記パケット受信装置からの上記レスポンスパケットの受信の通知により上記受信待ち状態が解除される、
請求項1に記載のデータ処理装置。
The packet transmission device receives the request packet held in the transmission buffer, and transmits the request packet to the serial bus when in a transmission permission state by the transmission permission control signal supplied from the determination device. And the reception waiting state is released, and the reception waiting state is canceled by the notification of the reception of the response packet from the packet reception device.
The data processing apparatus according to claim 1 .
上記判定装置が、上記リクエストパケットに対応するレスポンスパケットのデータサイズを求める演算回路を含む、
請求項1又は2の何れかに記載のデータ処理装置。
The determination device includes an arithmetic circuit that calculates a data size of a response packet corresponding to the request packet.
The data processing apparatus according to claim 1 .
上記パケット受信装置が上記受信バッファの空き容量を上記判定装置に通知する請求項1乃至の何れかに記載のデータ処理装置。The data processing apparatus according to any one of claims 1 to 3 the packet reception device notifies the free space of the receiving buffer to the determination device. 上記リクエストパケット、上記レスポンスパケット、並びに上記シリアルバスはIEEE1394規格に準拠するように構成されている請求項1乃至の何れかに記載のデータ処理装置。The request packet, the response packet, and the serial bus data processing apparatus according to any one of claims 1 to 4 is configured to conform to the IEEE1394 standard.
JP34767598A 1998-12-08 1998-12-08 Data processing device Expired - Fee Related JP4112716B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34767598A JP4112716B2 (en) 1998-12-08 1998-12-08 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34767598A JP4112716B2 (en) 1998-12-08 1998-12-08 Data processing device

Publications (2)

Publication Number Publication Date
JP2000174779A JP2000174779A (en) 2000-06-23
JP4112716B2 true JP4112716B2 (en) 2008-07-02

Family

ID=18391824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34767598A Expired - Fee Related JP4112716B2 (en) 1998-12-08 1998-12-08 Data processing device

Country Status (1)

Country Link
JP (1) JP4112716B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146459A (en) * 2006-12-12 2008-06-26 Toshiba Corp Interface controller, read access control method and information processor having this interface controller
JP5101195B2 (en) * 2007-07-09 2012-12-19 株式会社東芝 Interface controller

Also Published As

Publication number Publication date
JP2000174779A (en) 2000-06-23

Similar Documents

Publication Publication Date Title
JPH0786863B2 (en) Processor access control device for multi-processor system
JP3439320B2 (en) Data communication method, data communication device, and data communication program recording medium
US5414817A (en) Adapter unit for connecting a mobile computer to a network and for simulating the presence of the mobile computer when the mobile computer is not present
JP4112717B2 (en) Data processing device
JP4112716B2 (en) Data processing device
US20080181246A1 (en) Data-packet processing method in network system
KR20110134465A (en) Data transmission system and data read method thereof
US20040230717A1 (en) Processing device
US6647442B1 (en) Data processing device
JP4098910B2 (en) Packet transfer control device and packet transfer method
WO2020250778A1 (en) Communication device, communication method, and program
JPH03191649A (en) Method and device for transferring data at high speed
EP1109367A2 (en) An electronic mail synchronizing device
JP4015304B2 (en) Data processing device
JP3799741B2 (en) Bus controller
CA2329366C (en) System for transferring information between devices over virtual circuit established therebetween using computer network
JP2000339181A (en) Inter-process communication method and inter-process communication equipment
KR20010095103A (en) An intelligent bus interconnect unit
CN1703686B (en) Direct memory access (DMA) detection
JP3389657B2 (en) Facsimile communication device
JPH0926911A (en) Page information transfer processor
JPH06152605A (en) Local area network with data transmission confirming function
JPH1117728A (en) Transmitting method for electronic mail
JP2001067280A (en) Mail system, mail server computer and information terminal equipment, and method of controlling them and recording medium recording program for controlling them
JP2001502855A (en) End-of-packet detection for storing multiple packets in SRAM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071109

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080305

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees