JP4969513B2 - Data transfer system - Google Patents

Data transfer system Download PDF

Info

Publication number
JP4969513B2
JP4969513B2 JP2008127392A JP2008127392A JP4969513B2 JP 4969513 B2 JP4969513 B2 JP 4969513B2 JP 2008127392 A JP2008127392 A JP 2008127392A JP 2008127392 A JP2008127392 A JP 2008127392A JP 4969513 B2 JP4969513 B2 JP 4969513B2
Authority
JP
Japan
Prior art keywords
retry
initiator
bus
data transfer
target device
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.)
Active
Application number
JP2008127392A
Other languages
Japanese (ja)
Other versions
JP2009277000A (en
Inventor
剛 小宮山
謙一 大藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008127392A priority Critical patent/JP4969513B2/en
Publication of JP2009277000A publication Critical patent/JP2009277000A/en
Application granted granted Critical
Publication of JP4969513B2 publication Critical patent/JP4969513B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

この発明は、PCI(Peripheral Components Interconnect)バスの使用調停に関し、複数のバスマスタによるデータ転送を平準化制御するデータ転送システム及びターゲット装置に関するものである。   The present invention relates to use arbitration of a PCI (Peripheral Components Interconnect) bus, and relates to a data transfer system and a target device that perform leveling control of data transfer by a plurality of bus masters.

PCIバス等における従来のバス調停では、複数のイニシエータが均等にバスを使用できるように、ラウンドロビン方式等のバス調停アルゴリズムが用いられている。ラウンドロビン方式では、バスに接続する全てのイニシエータに対して公平にバスの使用権の獲得機会を与えることができる。   In conventional bus arbitration in a PCI bus or the like, a bus arbitration algorithm such as a round robin method is used so that a plurality of initiators can use the bus evenly. In the round robin method, the opportunity to acquire the right to use the bus can be given fairly to all initiators connected to the bus.

図6は、PCIバスにおける従来のデータ転送システムの構成を概略的に示すブロック図であり、ラウンドロビン方式のバス調停を行う構成の一例を示している。図6において、データ転送システム100は、バス調停部101、イニシエータA,B及びターゲットデバイス102を備え、イニシエータA,B及びターゲットデバイス102がPCIバス103を介して接続している。   FIG. 6 is a block diagram schematically showing a configuration of a conventional data transfer system on the PCI bus, and shows an example of a configuration for performing round-robin bus arbitration. In FIG. 6, the data transfer system 100 includes a bus arbitration unit 101, initiators A and B, and a target device 102, and the initiators A and B and the target device 102 are connected via a PCI bus 103.

イニシエータA,Bは、PCIバス103を介してデータ転送するデバイスであり、ターゲットデバイス102は、PCIバス103を介してイニシエータA若しくはイニシエータBからのデータを受信するデバイスである。バス調停部101は、PCIバス103に接続するイニシエータA,BのうちのいずれにPCIバス103の使用権を与えるのかを決定し、ラウンドロビン方式でバス使用権の調停を行う。   Initiators A and B are devices that transfer data via the PCI bus 103, and the target device 102 is a device that receives data from the initiator A or initiator B via the PCI bus 103. The bus arbitration unit 101 determines which of the initiators A and B connected to the PCI bus 103 should be given the right to use the PCI bus 103, and arbitrates the bus usage right in a round robin manner.

バス使用要求REQ#1〜REQ#3は、PCIバス103のバス使用権を取得するためのリクエスト信号であり、バス使用権GNT#1〜GNT#3は、バス調停によりPCIバス103の使用権を与えるためのグラント信号である。バス使用要求REQ#3及びバス使用権GNT#3は、ターゲットデバイス102がイニシエータA,B側へデータ転送する際のリクエスト信号及びグラント信号である。   The bus use requests REQ # 1 to REQ # 3 are request signals for acquiring the right to use the PCI bus 103, and the right to use the bus GNT # 1 to GNT # 3 is the right to use the PCI bus 103 by bus arbitration. It is a grant signal to give. The bus use request REQ # 3 and the bus use right GNT # 3 are a request signal and a grant signal when the target device 102 transfers data to the initiators A and B.

また、図7は、図6中のデータ転送システムによるバス調停動作を示すタイミングチャートである。図6及び図7を用いて、従来のPCIバスのデータ転送システムにおけるバス調停を説明する。ここで、イニシエータA,Bが、ターゲットデバイス102に対してデータ転送要求を行い、ターゲットデバイス102が、イニシエータA,Bのトランザクションを受ける場合を考える。   FIG. 7 is a timing chart showing the bus arbitration operation by the data transfer system in FIG. Bus arbitration in a conventional PCI bus data transfer system will be described with reference to FIGS. Here, it is assumed that the initiators A and B make a data transfer request to the target device 102 and the target device 102 receives the transactions of the initiators A and B.

イニシエータA,Bが共にバス使用要求REQ#1,REQ#2をアサートしてPCIバス103の使用を要求した場合、バス調停部101は、ラウンドロビン方式のバス調停アルゴリズムに基づいて、優先順位の高いイニシエータに対してバス使用権GNTをアサートし、PCIバス103を使用させる。ここでは、図7に示すように、バス調停部101が、最初にイニシエータAに対しバス使用権GNT#1をアサートした場合を考える。   When both initiators A and B assert the bus use requests REQ # 1 and REQ # 2 to request use of the PCI bus 103, the bus arbitration unit 101 determines the priority order based on the round-robin bus arbitration algorithm. The bus usage right GNT is asserted to the high initiator, and the PCI bus 103 is used. Here, consider a case where the bus arbitration unit 101 first asserts the bus use right GNT # 1 to the initiator A as shown in FIG.

バス使用権を獲得したイニシエータAは、ターゲットデバイス102に対してデータ転送要求を行う。ターゲットデバイス102は、図7に示すように、イニシエータAからのトランザクション(データ転送)を処理するためにビジー状態となる。このとき、イニシエータAがデータ転送イニシエータとなってデータ転送が実行される。   The initiator A that has acquired the right to use the bus makes a data transfer request to the target device 102. As shown in FIG. 7, the target device 102 is in a busy state to process a transaction (data transfer) from the initiator A. At this time, data transfer is executed with the initiator A serving as a data transfer initiator.

イニシエータAへのデータ転送が終了すると、バス調停部101は、ラウンドロビン方式のバス調停アルゴリズムに基づいて、次に優先順位が高いイニシエータBに対してバス使用権GNTをアサートし、PCIバス103を使用させる。これにより、バス使用権を獲得したイニシエータBは、ターゲットデバイス102に対してデータ転送要求を行う。   When the data transfer to the initiator A is completed, the bus arbitration unit 101 asserts the bus usage right GNT to the next highest priority initiator B based on the round-robin bus arbitration algorithm, and sets the PCI bus 103 to Let it be used. As a result, the initiator B that has acquired the bus use right makes a data transfer request to the target device 102.

しかしながら、図7に示すように、ターゲットデバイス102は、先のイニシエータAからのデータ転送要求を受けてビジー状態となっている。このため、イニシエータBに対してリトライ応答(データ再転送要求)がなされる。一方、イニシエータAは、イニシエータBより優先順位が高いため、イニシエータBがリトライ応答されている間に、バス調停部101からバス使用権が与えられる。   However, as shown in FIG. 7, the target device 102 is busy in response to a data transfer request from the previous initiator A. Therefore, a retry response (data retransfer request) is made to the initiator B. On the other hand, since initiator A has a higher priority than initiator B, the bus arbitration unit 101 gives the bus use right while initiator B is responding to the retry.

ターゲットデバイス102は、イニシエータBへのリトライ応答後に、イニシエータAからのデータ転送に係る処理を完了すると、ビジー状態でなくなる。このとき、バス使用権を獲得したイニシエータAが、ターゲットデバイス102に対して再びデータ転送を行う。この間に、イニシエータBがバス使用権を獲得したとしても、ターゲットデバイス102は、イニシエータAからのデータ転送に係る処理を実行してビジー状態となる。   When the target device 102 completes the processing related to the data transfer from the initiator A after the retry response to the initiator B, the target device 102 is not in the busy state. At this time, the initiator A that has acquired the right to use the bus performs data transfer to the target device 102 again. During this time, even if the initiator B acquires the right to use the bus, the target device 102 executes processing related to data transfer from the initiator A and enters a busy state.

図7に示すトランザクションの組み合わせが続くと、イニシエータAとイニシエータBが、共に同じ頻度でバス使用権を獲得できているにも関わらず、イニシエータBは、ターゲットデバイス102からリトライ応答を受け続ける。このため、イニシエータBは、イニシエータAのデータ転送が完了するまで長期間データ転送を行えなくなる。   If the combination of transactions shown in FIG. 7 continues, the initiator B continues to receive a retry response from the target device 102 even though both initiator A and initiator B have acquired the bus use right at the same frequency. Therefore, the initiator B cannot perform data transfer for a long time until the data transfer of the initiator A is completed.

このように、ラウンドロビン方式のバス調停では、複数のイニシエータA,Bが同一のターゲットデバイス102に対して継続的にデータ転送するにあたり、イニシエータのデータ転送要求とターゲットデバイス102がビジー状態になるタイミングとが周期的になるため、特定のイニシエータがバスの使用権を獲得したタイミングで、データ転送相手となるターゲットデバイスが常にビジー状態となり、データ転送を長時間行うことができない場合がある。   As described above, in round-robin bus arbitration, when a plurality of initiators A and B continuously transfer data to the same target device 102, the initiator data transfer request and the timing at which the target device 102 becomes busy Therefore, the target device that is the data transfer partner is always busy at the timing when the specific initiator acquires the right to use the bus, and data transfer may not be performed for a long time.

上述した不具合を解消する技術として、例えば特許文献1に記載されるバス調停回路がある。このバス調停回路は、ターゲットシステムのビジー状態を監視するビジー管理部を設けている。このビジー管理部は、ターゲットデバイスのビジー状態を監視し、ビジー状態のためリトライになったイニシエータとターゲットデバイスのデバイス番号を記憶部に記憶する。上記ターゲットデバイスのビジー状態が解除されると、上記記憶部に記憶したイニシエータに対して優先的にバス使用権を与える。このようにすることにより、特定のイニシエータからのデータ転送が行えなくなることが防止され、公平にバスの使用権を与えることができる。   As a technique for solving the above-described problems, there is a bus arbitration circuit described in Patent Document 1, for example. The bus arbitration circuit includes a busy management unit that monitors the busy state of the target system. The busy management unit monitors the busy state of the target device, and stores the initiator and the device number of the target device that have been retried due to the busy state in the storage unit. When the busy state of the target device is released, the right to use the bus is preferentially given to the initiator stored in the storage unit. By doing so, it is possible to prevent data transfer from a specific initiator from being disabled, and the right to use the bus can be given fairly.

特開2002−366511号公報JP 2002-366511 A

上述したように、従来のデータ転送システムでは、複数のイニシエータが同一のターゲットデバイスに対して継続的にデータ転送を続ける場合、ラウンドロビン方式のバス調停を行うと、ターゲットデバイスがビジー状態になるタイミングによっては、特定のイニシエータのトランザクションのみがリトライされ続け、バス使用権の獲得頻度が同じであっても、データ転送頻度が公平にならないという課題があった。   As described above, in a conventional data transfer system, when a plurality of initiators continuously transfer data to the same target device, the timing at which the target device becomes busy when round-robin bus arbitration is performed. In some cases, only the transaction of a specific initiator continues to be retried, and there is a problem that the data transfer frequency is not fair even if the bus use right acquisition frequency is the same.

また、特許文献1のバス調停回路は、上記課題を解決するために提案されたものであるが、バス調停の機能を実現するために必須な構成に加え、ターゲットデバイスのビジー状態を管理するビジー管理部や、リトライ応答されたイニシエータを記憶する記憶部等の専用装置が必要となる。このため、特許文献1の発明をPCIバスのデータ転送システムに適用する際、既製品のホストブリッジに内蔵されるバス調停回路をそのまま用いることができないばかりか、上記専用装置に対応する回路をホストブリッジの外部等に実装しなければならない。   The bus arbitration circuit of Patent Document 1 has been proposed in order to solve the above-described problem. In addition to the configuration essential for realizing the bus arbitration function, the bus arbitration circuit manages the busy state of the target device. A dedicated device such as a management unit or a storage unit for storing the initiator that has made a retry response is required. For this reason, when the invention of Patent Document 1 is applied to a PCI bus data transfer system, a bus arbitration circuit built in an off-the-shelf host bridge cannot be used as it is, and a circuit corresponding to the dedicated device is used as a host. Must be installed outside the bridge.

この発明は、上記のような課題を解決するためになされたもので、ラウンドロビン方式等のバス調停における上記不具合を解消でき、かつ簡易な構成で実現することができるデータ転送システム及びこれに用いるターゲット装置を得ることを目的とする。   The present invention has been made to solve the above-described problems, and can be used for a data transfer system that can solve the above-described problems in round-robin bus arbitration and can be realized with a simple configuration. The object is to obtain a target device.

この発明に係るデータ転送システムは、バス使用要求に応じてラウンドロビン方式によりバス使用権を与えるバス調停部と、ターゲット装置バスを介してアクセス可能な複数のイニシエータ装置とを備え前記イニシエータ装置は、前記バス調停部にバス使用要求を出力して該バス調停部からバス使用権が得られた場合に、前記ターゲット装置にデータ転送要求して該ターゲット装置からデータ転送可能通知が得られた場合に、当該イニシエータ装置から該ターゲット装置にデータ転送し、前記ターゲット装置は、前記複数のイニシエータ装置の数−1に設定された所定のリトライ応答回数までカウントするカウンタを有し、前記イニシエータ装置からデータ転送要求された場合に、当該ターゲット装置が転送されたデータを処理するためにビジー状態であるとき、当該ターゲット装置から該イニシエータ装置に対してリトライ応答し、当該ターゲット装置がビジー状態でなく、且つ前記カウンタが所定のリトライ応答回数までカウントしていないとき、当該ターゲット装置から該イニシエータ装置に対してリトライ応答すると共に、該カウンタによりリトライ応答回数をカウントし、当該ターゲット装置がビジー状態でなく、且つ前記カウンタが所定のリトライ応答回数までカウントしているとき、当該ターゲット装置から該イニシエータ装置に対してデータ転送可能通知すると共に、該カウンタによるカウントを初期化するものである。 Data transfer system according to the invention includes a bus arbitration section that gives a bus access in a round robin fashion in response to a bus use request and a plurality of initiators device accessible via a bus to a target device, the initiator device When a bus use request is output to the bus arbitration unit and a bus use right is obtained from the bus arbitration unit, a data transfer request is obtained from the target device and a data transfer enable notification is obtained from the target device. If, then the data transfer from the initiator device to the target device, the target device has a counter for counting up to a predetermined retry response count set to the number -1 of said plurality of initiator devices, from the initiator device When the data transfer is requested, the target device processes the transferred data. When the target device is busy, the target device makes a retry response to the initiator device, and when the target device is not busy and the counter has not counted the predetermined number of retry responses, the target device A retry response is made to the initiator device and the number of retry responses is counted by the counter. When the target device is not busy and the counter has counted up to a predetermined number of retry responses, the target device In addition to notifying the initiator device that data transfer is possible, the count by the counter is initialized .

この発明によれば、ラウンドロビン方式のバス調停において、複数のイニシエータ装置が同一のターゲット装置に対して継続的にデータ転送する際、ターゲット装置がビジー状態になるタイミングによって特定のイニシエータ装置のトランザクションのみがリトライされ続ける不具合を解消することができる。また、ターゲット装置に簡易な構成を追加するだけで、記効果を有するシステムを実現できるという効果がある。
According to the present invention, in the bus arbitration round robin scheme, when a plurality of initiator device to continuously transfer data to the same target device, the particular initiator device by a timing where the target device is busy transaction The problem that only keeps retrying can be solved. Further, only by adding a simple configuration to the target device, there is an effect that the system can be realized with a pre-Symbol effect.

実施の形態1.
図1は、この発明の実施の形態1によるデータ転送システムの構成を示すブロック図であり、ラウンドロビン方式のバス調停を行う構成を示している。図1において、実施の形態1によるデータ転送システム1は、イニシエータA,B、バス調停部2、及びイニシエータA,BとPCIバス7を介して接続するターゲットデバイス3を備える。また、本発明における特徴的な構成として、ターゲットデバイス3のPCIインタフェース部4に、バス制御部5及びリトライ挿入部6を設ける。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a data transfer system according to Embodiment 1 of the present invention, and shows a configuration for performing round-robin bus arbitration. In FIG. 1, the data transfer system 1 according to the first embodiment includes initiators A and B, a bus arbitration unit 2, and a target device 3 connected to the initiators A and B via a PCI bus 7. Further, as a characteristic configuration in the present invention, a bus control unit 5 and a retry insertion unit 6 are provided in the PCI interface unit 4 of the target device 3.

イニシエータ(イニシエータ装置)A,Bは、PCIバス7を介してデータ転送するデバイスである。バス調停部2は、PCIバス7に接続するイニシエータA,BのうちのいずれにPCIバス7の使用権を与えるのかを決定し、ラウンドロビン方式でバス使用権の調停を行う。   Initiators (initiator devices) A and B are devices that transfer data via the PCI bus 7. The bus arbitration unit 2 determines which of the initiators A and B connected to the PCI bus 7 is to be given the right to use the PCI bus 7 and arbitrates the bus usage right in a round robin manner.

バス使用要求REQ#1〜REQ#3は、PCIバス7のバス使用権を取得するためのリクエスト信号であり、バス使用権GNT#1〜GNT#3は、バス調停によってPCIバス7の使用権を与えるためのグラント信号である。バス使用要求REQ#3及びバス使用権GNT#3は、ターゲットデバイス3がイニシエータA,B側へデータ転送する際のリクエスト信号及びグラント信号である。   The bus use requests REQ # 1 to REQ # 3 are request signals for acquiring the right to use the PCI bus 7, and the right to use the bus GNT # 1 to GNT # 3 is the right to use the PCI bus 7 by bus arbitration. It is a grant signal to give. The bus use request REQ # 3 and the bus use right GNT # 3 are a request signal and a grant signal when the target device 3 transfers data to the initiators A and B.

ターゲットデバイス(ターゲット装置)3は、PCIインタフェース部4により、PCIバス7を介してイニシエータA若しくはイニシエータBとの間でデータを送受信する。PCIインタフェース部4は、PCIバス7との入出力インタフェースを制御する構成要素であり、バス制御部5及びリトライ挿入部6を有する。   The target device (target device) 3 transmits / receives data to / from the initiator A or the initiator B via the PCI bus 7 by the PCI interface unit 4. The PCI interface unit 4 is a component that controls an input / output interface with the PCI bus 7, and includes a bus control unit 5 and a retry insertion unit 6.

バス制御部5は、PCIバス7からのデータ転送要求と自ターゲットデバイス3のビジー状態とをリトライ挿入部6へ通知し、リトライ挿入部6からのビジー情報(図2で後述するBUSY2信号)に基づいて、トランザクションを受けるかリトライするかを決定する。   The bus control unit 5 notifies the retry insertion unit 6 of the data transfer request from the PCI bus 7 and the busy state of the target device 3, and the busy information from the retry insertion unit 6 (BUSY2 signal described later in FIG. 2). Based on this, decide whether to accept or retry the transaction.

リトライ挿入部6は、リトライ応答回数を保持するレジスタを有し、バス制御部5から通知された情報に基づいて、トランザクションをリトライ応答するか否かを決定するとともに、リトライ応答回数を制御する。   The retry insertion unit 6 has a register that holds the number of retry responses, and determines whether to retry a transaction based on information notified from the bus control unit 5 and controls the number of retry responses.

図2は、図1中のターゲットデバイスの構成を概略的に示すブロック図であり、PCIインタフェース部とデバイス内の他の機能部との関係を示している。図2において、機能部8は、PCIバス7を介してイニシエータA若しくはイニシエータBから受信したデータを処理する構成要素であり、トランザクションの処理のためにビジー状態になっているか否かをバス制御部5によって監視される。   FIG. 2 is a block diagram schematically showing the configuration of the target device in FIG. 1, and shows the relationship between the PCI interface unit and other functional units in the device. In FIG. 2, a functional unit 8 is a component that processes data received from the initiator A or the initiator B via the PCI bus 7, and determines whether or not it is busy for transaction processing. 5 is monitored.

バス制御部5は、PCIバス7と機能部8との間のインタフェースとして、ターゲットインタフェース部9及びイニシエータインタフェース部10を備える。ターゲットインタフェース部9は、PCIバス7側から機能部8へのトランザクションを受信するためのインタフェースであり、バス11及び信号線14を介して機能部8と接続している。   The bus control unit 5 includes a target interface unit 9 and an initiator interface unit 10 as an interface between the PCI bus 7 and the function unit 8. The target interface unit 9 is an interface for receiving a transaction from the PCI bus 7 side to the functional unit 8, and is connected to the functional unit 8 via the bus 11 and the signal line 14.

バス11は、PCIバス7側から受信したトランザクションを機能部8へ伝達するバスであり、信号線14は、PCIバス7を介してイニシエータA,Bから受信したデータ転送要求REQ信号を機能部8及びリトライ挿入部6側へ伝える信号線である。   The bus 11 is a bus that transmits a transaction received from the PCI bus 7 side to the functional unit 8, and the signal line 14 receives the data transfer request REQ signal received from the initiators A and B via the PCI bus 7. And a signal line transmitted to the retry insertion section 6 side.

イニシエータインタフェース部10は、機能部8からのトランザクションをPCIバス7側(イニシエータA,B側)へ送信するためのインタフェースであり、バス12を介して機能部8と接続している。バス12は、機能部8からのトランザクションをPCIバス7側へ発行するバスである。   The initiator interface unit 10 is an interface for transmitting a transaction from the function unit 8 to the PCI bus 7 side (initiator A, B side), and is connected to the function unit 8 via the bus 12. The bus 12 is a bus that issues a transaction from the functional unit 8 to the PCI bus 7 side.

また、リトライ挿入部6は、リトライ制御部16、リトライカウンタ17及びリトライ回数格納レジスタ18を備える。リトライ制御部16は、データ転送要求REQ信号、機能部8がビジー状態であることを示すBUSY1信号、リトライカウンタ17のカウント値、及びリトライ回数格納レジスタ18の値を入力し、図3を用いて後述する真理値表に基づいて、PCIバス7側へリトライ応答を行うためのBUSY2信号を決定し、リトライカウンタ17の値を更新する。   The retry insertion unit 6 includes a retry control unit 16, a retry counter 17, and a retry count storage register 18. The retry control unit 16 receives the data transfer request REQ signal, the BUSY1 signal indicating that the function unit 8 is busy, the count value of the retry counter 17, and the value of the retry count storage register 18, and uses FIG. Based on a truth table to be described later, a BUSY2 signal for making a retry response to the PCI bus 7 side is determined, and the value of the retry counter 17 is updated.

リトライカウンタ17は、リトライ応答した回数が設定されるレジスタであり、リトライ応答する度に回数値がデクリメントされ、データ転送のトランザクションを受ける度にリトライ回数格納レジスタ18の値で初期化される。リトライ回数格納レジスタ18は、リトライ応答する回数が初期値(リトライカウンタ17によるカウントの目標値)として固定的に設定される。   The retry counter 17 is a register in which the number of retry responses is set. The count value is decremented each time a retry response is made, and is initialized with the value of the retry count storage register 18 every time a data transfer transaction is received. In the retry count storage register 18, the number of retry responses is fixedly set as an initial value (a target value for counting by the retry counter 17).

リトライ回数格納レジスタ18の初期値は、PCIバス7上にあるイニシエータとなるデバイス(バス使用権を得てターゲットデバイスに同時にアクセス可能なデバイス)の数によって決まり、デバイス数−1となる。例えば、バス7上に7つのイニシエータがあり、そのうち3つのイニシエータが同時にターゲットデバイスにアクセスすることが予め把握されている場合、リトライ回数格納レジスタ18の初期値は、3−1=2となる。   The initial value of the retry count storage register 18 is determined by the number of devices (devices that can access the target device at the same time by acquiring the bus use right) on the PCI bus 7 and is −1. For example, when there are seven initiators on the bus 7 and it is known in advance that three initiators simultaneously access the target device, the initial value of the retry count storage register 18 is 3-1 = 2.

信号線13は、ターゲットインタフェース部9とリトライ制御部16との間を接続し、リトライ制御部16で生成されたBUSY2信号をターゲットインタフェース部9へ伝える信号線である。信号線15は、機能部8とリトライ制御部16との間を接続し、機能部8で生成されたBUSY1信号をリトライ制御部16へ伝える信号線である。   The signal line 13 is a signal line that connects the target interface unit 9 and the retry control unit 16 and transmits the BUSY2 signal generated by the retry control unit 16 to the target interface unit 9. The signal line 15 is a signal line that connects between the function unit 8 and the retry control unit 16 and transmits the BUSY1 signal generated by the function unit 8 to the retry control unit 16.

信号線19は、リトライ制御部16とリトライ回数格納レジスタ18との間を接続し、リトライ制御部16によるリトライ回数格納レジスタ18の値の読み出し、リトライ回数格納レジスタ18への初期値の書き込みを実行するための信号線である。信号線20は、リトライ制御部16とリトライカウンタ17との間を接続し、リトライ制御部16によるリトライカウンタ17の値の読み出し、リトライ回数格納レジスタ18の値の書き込み(初期化)を実行するための信号線である。   The signal line 19 connects between the retry control unit 16 and the retry count storage register 18, and reads the value of the retry count storage register 18 by the retry control unit 16 and writes the initial value to the retry count storage register 18. This is a signal line. The signal line 20 connects between the retry control unit 16 and the retry counter 17, and executes the reading of the value of the retry counter 17 and the writing (initialization) of the value of the retry count storage register 18 by the retry control unit 16. This is a signal line.

図3は、図2中のリトライ制御部の動作基準となる真理値表を示す図である。図3において、Xは、リトライカウンタ17に格納された0以外の値(リトライ応答回数のカウント値)を示している。Yは、リトライ回数格納レジスタ18に格納された初期値(リトライカウンタ17によるカウントの目標値)を示している。X−1は、リトライカウンタ17のカウント値を1デクリメントする場合を示している。   FIG. 3 is a diagram showing a truth table as an operation reference of the retry control unit in FIG. In FIG. 3, X represents a value other than 0 (count value of the number of retry responses) stored in the retry counter 17. Y indicates the initial value (the target value of the count by the retry counter 17) stored in the retry count storage register 18. X-1 indicates a case where the count value of the retry counter 17 is decremented by one.

リトライ制御部16は、データ転送要求REQ信号の論理値、機能部8がビジー状態であることを示すBUSY1信号の論理値、リトライカウンタ17のカウント値、及びリトライ回数格納レジスタ18の値の組み合わせと図3中の真理値表とを比較して、PCIバス7側へリトライ応答を行うためのBUSY2信号の値を決定し、リトライカウンタ17のカウント値を更新する。   The retry control unit 16 combines the logical value of the data transfer request REQ signal, the logical value of the BUSY1 signal indicating that the function unit 8 is busy, the count value of the retry counter 17, and the value of the retry count storage register 18. Compared with the truth table in FIG. 3, the value of the BUSY2 signal for performing a retry response to the PCI bus 7 side is determined, and the count value of the retry counter 17 is updated.

次に動作について説明する。
図4は、実施の形態1によるデータ転送システムのバス調停動作を示すタイミングチャートである。また、図5は、図2中のターゲットデバイスによる動作の流れを示すフローチャートである。これらは、複数のイニシエータA,Bから同一のターゲットデバイス3に対して継続的にデータ転送を続ける場合を示している。
Next, the operation will be described.
FIG. 4 is a timing chart showing the bus arbitration operation of the data transfer system according to the first embodiment. FIG. 5 is a flowchart showing the flow of operation by the target device in FIG. These show a case where data transfer is continuously performed from a plurality of initiators A and B to the same target device 3.

先ず、イニシエータA,Bは、ターゲットデバイス3に対してデータ転送を行うため、バス調停部2に対しバスリクエストREQ#1,REQ#2をアサートする。バス調停部2は、ラウンドロビン方式のバス調停アルゴリズムに基づいて、優先順位の高いイニシエータAへバス使用権GNT#1をアサートし、イニシエータAにPCIバス7の使用権を付与する。この後、イニシエータAは、PCIバス7を介しターゲットデバイス3に対してデータ転送要求REQ信号を送信する。   First, the initiators A and B assert bus requests REQ # 1 and REQ # 2 to the bus arbitration unit 2 in order to transfer data to the target device 3. Based on a round-robin bus arbitration algorithm, the bus arbitration unit 2 asserts the bus usage right GNT # 1 to the initiator A having a higher priority, and grants the usage right of the PCI bus 7 to the initiator A. Thereafter, the initiator A transmits a data transfer request REQ signal to the target device 3 via the PCI bus 7.

ターゲットデバイス3では、イニシエータAからのデータ転送要求REQ信号をターゲットインタフェース部9が受信する。ターゲットインタフェース部9は、信号線14を介してデータ転送要求REQ信号を機能部8及びリトライ挿入部6のリトライ制御部16へ伝える。   In the target device 3, the target interface unit 9 receives the data transfer request REQ signal from the initiator A. The target interface unit 9 transmits the data transfer request REQ signal to the functional unit 8 and the retry control unit 16 of the retry insertion unit 6 via the signal line 14.

リトライ制御部16は、データ転送要求REQ信号の値に基づいて、自ターゲットデバイス3がPCIバス7側からトランザクションを受けているか否かを判定する(ステップST1)。ここで、データ転送要求REQ信号(値0)が入力されており、自ターゲットデバイス3のPCIインタフェース部4がトランザクションを受けていない場合、リトライ制御部16は、ステップST1の処理に戻る。このときの各信号、レジスタの値は、図3に示す真理値表のREQ信号が値0の欄に示す通りである。   Based on the value of the data transfer request REQ signal, the retry control unit 16 determines whether the target device 3 is receiving a transaction from the PCI bus 7 side (step ST1). Here, when the data transfer request REQ signal (value 0) is input and the PCI interface unit 4 of the target device 3 has not received a transaction, the retry control unit 16 returns to the process of step ST1. The values of the signals and registers at this time are as shown in the column where the REQ signal in the truth table shown in FIG.

一方、データ転送要求REQ信号(値1)が入力され、自ターゲットデバイス3のPCIインタフェース部4がトランザクションを受けていると判定すると、リトライ制御部16は、信号線20を介して機能部8から入力されるBUSY1信号の値に基づいて、機能部8がビジー状態であるか否かを判定する(ステップST2)。   On the other hand, when the data transfer request REQ signal (value 1) is input and it is determined that the PCI interface unit 4 of the target device 3 is receiving a transaction, the retry control unit 16 sends the signal from the function unit 8 via the signal line 20. Based on the value of the inputted BUSY1 signal, it is determined whether or not the functional unit 8 is busy (step ST2).

このとき、機能部8がビジー状態であるならば、リトライ制御部16は、PCIバス7側へリトライ応答を行うためのBUSY2信号を値1(オン)に設定し、ターゲットインタフェース部9を介してPCIバス7側へ送信することにより、リトライ応答する(ステップST3)。この後、リトライ制御部16は、ステップST1の処理に戻る。   At this time, if the function unit 8 is busy, the retry control unit 16 sets the BUSY2 signal for performing a retry response to the PCI bus 7 side to the value 1 (on), and the target interface unit 9 By transmitting to the PCI bus 7 side, a retry response is made (step ST3). Thereafter, the retry control unit 16 returns to the process of step ST1.

また、機能部8がビジー状態でない場合、リトライ制御部16は、本発明に特有な処理である図5中に破線で囲った一連の処理Cを実行する。具体的に説明すると、リトライ制御部16は、機能部8がビジー状態でないと判定されると、信号線20を介してリトライカウンタ17のカウント値を読み出し、カウント値が0であるか否かを判定する(ステップST4)。   When the function unit 8 is not busy, the retry control unit 16 executes a series of processes C surrounded by a broken line in FIG. 5, which is a process unique to the present invention. Specifically, when it is determined that the function unit 8 is not busy, the retry control unit 16 reads the count value of the retry counter 17 via the signal line 20 and determines whether the count value is 0 or not. Determine (step ST4).

ステップST4において、リトライカウンタ17のカウント値が0であれば、リトライ制御部16は、BUSY2信号に値0を設定してターゲットインタフェース部9へ送信する。ターゲットインタフェース部9は、PCIバス7を介してバス使用権を獲得しているイニシエータに対しデータ転送可能である旨を通知する。これにより、ターゲットデバイス3は、PCIバス7を介したイニシエータからのデータ転送が開始される(ステップST5)。   In step ST4, if the count value of the retry counter 17 is 0, the retry control unit 16 sets the value 0 in the BUSY2 signal and transmits it to the target interface unit 9. The target interface unit 9 notifies the initiator that has acquired the right to use the bus via the PCI bus 7 that data transfer is possible. Thereby, the target device 3 starts data transfer from the initiator via the PCI bus 7 (step ST5).

リトライ制御部16は、データ転送が開始されると、図3の真理値表に示すように、リトライ回数格納レジスタ18の値(Y)をリトライカウンタ17に格納して初期化する(ステップST6)。この後、リトライ制御部16は、ステップST1の処理に戻って、上記処理を繰り返す。   When data transfer is started, the retry controller 16 stores the value (Y) of the retry count storage register 18 in the retry counter 17 and initializes it as shown in the truth table of FIG. 3 (step ST6). . Thereafter, the retry control unit 16 returns to the process of step ST1 and repeats the above process.

一方、ステップST4において、リトライカウンタ17のカウント値が0でない場合、リトライ制御部16は、BUSY2信号に値1を設定してターゲットインタフェース部9へ送信する。BUSY2信号(値1)を受けると、ターゲットインタフェース部9は、PCIバス7を介してバス使用権を獲得しているイニシエータに対しリトライ応答する(ステップST7)。   On the other hand, when the count value of the retry counter 17 is not 0 in step ST4, the retry control unit 16 sets the value 1 in the BUSY2 signal and transmits it to the target interface unit 9. Upon receiving the BUSY2 signal (value 1), the target interface unit 9 makes a retry response to the initiator that has acquired the right to use the bus via the PCI bus 7 (step ST7).

次に、リトライ制御部16は、リトライカウンタ17のカウント値を1デクリメント(X−1)する(ステップST8)。この後、リトライ制御部16は、ステップST1の処理に戻って、トランザクションを受けた全てのイニシエータからのデータ転送が終了するまで、上記処理を繰り返す。   Next, the retry control unit 16 decrements the count value of the retry counter 17 by 1 (X-1) (step ST8). Thereafter, the retry control unit 16 returns to the process of step ST1 and repeats the above process until data transfer from all initiators that have received the transaction is completed.

従来では、機能部8がビジー状態であるならばリトライ応答し、ビジー状態でない場合、イニシエータからのデータ転送を開始していた。これに対し、この実施の形態1によるリトライ制御部16では、リトライカウンタ17のカウント値が0でなければ、機能部8がビジー状態であるか否かに関わらず、イニシエータからのトランザクションをリトライ応答する。   Conventionally, if the functional unit 8 is busy, a retry response is made. If the functional unit 8 is not busy, data transfer from the initiator is started. In contrast, in the retry control unit 16 according to the first embodiment, if the count value of the retry counter 17 is not 0, the transaction from the initiator is retried regardless of whether the function unit 8 is busy or not. To do.

このように、リトライカウンタ17には、リトライ回数格納レジスタ18の初期値が設定され、この値が0になるまで、PCIバス7の使用権を獲得したいずれのイニシエータからのデータ転送要求があってもリトライ応答する。なお、上記初期値は、デバイス数(バス使用権を得てイニシエータとなり得るデバイスの最大数)−1であり、図4の例では、初期値(リトライ回数)が1となる。   In this way, the retry counter 17 is set with the initial value of the retry count storage register 18, and there is a data transfer request from any initiator that has acquired the right to use the PCI bus 7 until this value becomes zero. Also responds with a retry. Note that the initial value is the number of devices (the maximum number of devices that can become initiators after obtaining the right to use the bus) −1, and in the example of FIG.

図4では、ターゲットデバイス3が、始めにイニシエータAからのトランザクション(データ転送)を受け、機能部8がビジー状態になる。このとき、イニシエータBからのデータ転送要求があっても、ターゲットデバイス3は、イニシエータAからのデータ転送を処理するためにリトライ応答する(図5中のステップST3)。   In FIG. 4, the target device 3 first receives a transaction (data transfer) from the initiator A, and the functional unit 8 becomes busy. At this time, even if there is a data transfer request from the initiator B, the target device 3 makes a retry response to process the data transfer from the initiator A (step ST3 in FIG. 5).

また、リトライカウンタ17のカウント値0でイニシエータAからのデータ転送が開始されるが、データ転送開始後に、リトライ制御部16が、リトライ回数格納レジスタ18の値(図4の例では1)をリトライカウンタ17に設定する。   In addition, data transfer from the initiator A is started at the count value 0 of the retry counter 17, but after the data transfer starts, the retry control unit 16 retry the value of the retry count storage register 18 (1 in the example of FIG. 4). Set to the counter 17.

これにより、機能部8がイニシエータAからの当初のトランザクション処理を完了してビジー状態ではなくなり、引き続きイニシエータAからデータ転送要求があっても、リトライカウンタ17のカウント値(リトライ回数)が1であることから、リトライ制御部16は、イニシエータAにリトライ応答する(図5中のステップST8)。このとき、ターゲットデバイス3は、図4に示すように、ビジー状態ではないが、イニシエータAからのデータ転送を受けないレディ状態となる。   As a result, the functional unit 8 completes the initial transaction processing from the initiator A and is not in a busy state, and the count value (the number of retries) of the retry counter 17 is 1 even when there is a data transfer request from the initiator A. Accordingly, the retry control unit 16 makes a retry response to the initiator A (step ST8 in FIG. 5). At this time, as shown in FIG. 4, the target device 3 is not in a busy state, but is in a ready state in which data transfer from the initiator A is not received.

イニシエータAにリトライ応答すると、リトライ制御部16は、リトライカウンタ17のカウント値(リトライ回数)を1デクリメントする。図4の例では、初期値が1であることから、カウント値が0となる。この後、ターゲットデバイス3が、イニシエータBからのトランザクション(データ転送)を受けると、機能部8がビジー状態でなく(レディ状態)、かつ、リトライカウンタ17のカウント値が0であるため、イニシエータBからのデータ転送が開始される。これにより、機能部8は、イニシエータBからのデータ転送を処理する。   When a retry response is sent to the initiator A, the retry control unit 16 decrements the count value (the number of retries) of the retry counter 17 by one. In the example of FIG. 4, since the initial value is 1, the count value is 0. Thereafter, when the target device 3 receives a transaction (data transfer) from the initiator B, the function unit 8 is not busy (ready state) and the count value of the retry counter 17 is 0. Data transfer from is started. As a result, the functional unit 8 processes data transfer from the initiator B.

従来では、イニシエータAのトランザクションを受けたターゲットデバイスは、その次のタイミングで必ずビジー状態となり、結果として次にトランザクションを開始するイニシエータBがリトライ応答を受け続けることになっていたが、本発明では、図4に示すように、イニシエータAのトランザクションをリトライ応答することで、次のイニシエータBのトランザクションをレディ状態で応答することが可能となる。   Conventionally, the target device that has received the transaction of the initiator A is always busy at the next timing, and as a result, the initiator B that starts the next transaction continues to receive the retry response. As shown in FIG. 4, by responding to the initiator A transaction with a retry, the next initiator B transaction can be responded in a ready state.

上記説明では、PCIバス7上に2つのイニシエータA,Bが存在する場合を述べたが、イニシエータが3つ以上ある場合であっても同様に処理することが可能である。例えば、イニシエータA〜Cの3つある場合(初期値2)であり、ラウンドロビン方式のバス調停でイニシエータAの優先順位が最も高く、続いてイニシエータB、その次がイニシエータCであるものとする。   In the above description, the case where two initiators A and B exist on the PCI bus 7 has been described. However, even when there are three or more initiators, the same processing can be performed. For example, it is assumed that there are three initiators A to C (initial value 2), and the priority order of initiator A is the highest in round-robin bus arbitration, followed by initiator B, and then initiator C. .

先ず、リトライカウンタ17のカウント値が0であると、イニシエータAからのデータ転送が開始され、機能部8は、イニシエータAとのデータ転送処理のためにビジー状態となる。このとき、イニシエータBからデータ転送要求があっても、機能部8がビジー状態であるため、イニシエータBは、リトライ応答される。   First, when the count value of the retry counter 17 is 0, data transfer from the initiator A is started, and the functional unit 8 is in a busy state for data transfer processing with the initiator A. At this time, even if there is a data transfer request from the initiator B, since the functional unit 8 is busy, the initiator B receives a retry response.

また、上記データ転送が開始されると、リトライカウンタ17にはカウント値2が設定され、イニシエータAについてのリトライ回数格納レジスタ18の値は1デクリメントされて1となる。なお、イニシエータB,Cについてのリトライ回数格納レジスタ18の値は初期値2のままである。   When the data transfer is started, a count value 2 is set in the retry counter 17 and the value of the retry count storage register 18 for the initiator A is decremented by 1 to 1. Note that the value of the retry count storage register 18 for the initiators B and C remains the initial value 2.

機能部8は、イニシエータAのデータ転送処理を完了するとビジー状態ではなくなる。このとき、イニシエータCがデータ転送要求すると、リトライカウンタ17にはカウント値2が設定されているので、イニシエータCはリトライ応答される。これにより、リトライカウンタ17のカウント値は1デクリメントされて1となる。   When the function unit 8 completes the data transfer process of the initiator A, the function unit 8 is not in a busy state. At this time, when the initiator C requests data transfer, since the count value 2 is set in the retry counter 17, the initiator C makes a retry response. As a result, the count value of the retry counter 17 is decremented by 1 and becomes 1.

この後、イニシエータAが、引き続きデータ転送要求しても、リトライカウンタ17にはカウント値1が設定されていることから、イニシエータAはリトライ応答される。これにより、リトライカウンタ17のカウント値は1デクリメントされて0となる。つまり、機能部8のレディ状態で、イニシエータC,Aはリトライ応答される。   Thereafter, even if initiator A continues to request data transfer, since the count value 1 is set in retry counter 17, initiator A responds with a retry. As a result, the count value of the retry counter 17 is decremented by 1 and becomes 0. That is, the initiators C and A make a retry response in the ready state of the functional unit 8.

続いて、イニシエータBからデータ転送要求があると、機能部8がビジー状態でなく、かつリトライカウンタ17のカウント値が0であるので、イニシエータBからのデータ転送が開始される。このとき、イニシエータCからデータ転送要求があっても、機能部8がビジー状態であるため、イニシエータCはリトライ応答される。また、上記データ転送が開始されると、イニシエータCについてのリトライ回数格納レジスタ18の値2がリトライカウンタ17のカウント値として設定される。   Subsequently, when there is a data transfer request from the initiator B, since the functional unit 8 is not busy and the count value of the retry counter 17 is 0, data transfer from the initiator B is started. At this time, even if there is a data transfer request from the initiator C, since the functional unit 8 is busy, the initiator C makes a retry response. When the data transfer is started, the value 2 of the retry count storage register 18 for the initiator C is set as the count value of the retry counter 17.

イニシエータBのデータ転送処理を完了すると、機能部8はビジー状態ではなくなる。このとき、イニシエータAがデータ転送要求しても、リトライカウンタ17にはカウント値2が設定されていることから、イニシエータAはリトライ応答される。これにより、リトライカウンタ17のカウント値は1デクリメントされて1となる。   When the data transfer process of the initiator B is completed, the functional unit 8 is not busy. At this time, even if initiator A makes a data transfer request, since the count value 2 is set in the retry counter 17, the initiator A makes a retry response. As a result, the count value of the retry counter 17 is decremented by 1 and becomes 1.

この後、イニシエータBが、引き続きデータ転送要求しても、リトライカウンタ17にはカウント値1が設定されていることから、イニシエータBはリトライ応答される。これにより、リトライカウンタ17のカウント値は1デクリメントされて0となる。つまり、機能部8のレディ状態で、イニシエータA,Bはリトライ応答される。   After this, even if initiator B continues to request data transfer, since the count value 1 is set in the retry counter 17, the initiator B responds with a retry. As a result, the count value of the retry counter 17 is decremented by 1 and becomes 0. That is, the initiators A and B make a retry response in the ready state of the functional unit 8.

続いて、イニシエータCからデータ転送要求があると、機能部8がビジー状態でなく、かつリトライカウンタ17のカウント値が0であるので、イニシエータCからのデータ転送が開始される。このとき、イニシエータAからデータ転送要求があっても、機能部8がビジー状態であるため、イニシエータAはリトライ応答される。また、上記データ転送が開始されると、イニシエータAについてのリトライ回数格納レジスタ18の値2がリトライカウンタ17のカウント値として設定される。   Subsequently, when there is a data transfer request from the initiator C, since the functional unit 8 is not busy and the count value of the retry counter 17 is 0, data transfer from the initiator C is started. At this time, even if there is a data transfer request from the initiator A, since the functional unit 8 is busy, the initiator A makes a retry response. When the data transfer is started, the value 2 of the retry count storage register 18 for the initiator A is set as the count value of the retry counter 17.

イニシエータCのデータ転送処理を完了すると、機能部8はビジー状態ではなくなる。このとき、イニシエータAがデータ転送要求しても、リトライカウンタ17にはカウント値2が設定されていることから、イニシエータAはリトライ応答される。これにより、リトライカウンタ17のカウント値は1デクリメントされて1となる。   When the data transfer process of the initiator C is completed, the functional unit 8 is not busy. At this time, even if initiator A makes a data transfer request, since the count value 2 is set in the retry counter 17, the initiator A makes a retry response. As a result, the count value of the retry counter 17 is decremented by 1 and becomes 1.

このように、ターゲットデバイス3がデータ転送を行う度にリトライ応答回数のカウント値が変化する。逆に言えば、データ転送を行うタイミングが変動する。このため、複数のイニシエータが同じタイミングで交互にバス使用権を取得してターゲットデバイス3へデータ転送を行う場合であっても、特定のパターンにはまりこむことがなくなり、特定のイニシエータが常にリトライ応答を受ける状況を回避できる。   In this way, the count value of the number of retry responses changes every time the target device 3 performs data transfer. In other words, the data transfer timing varies. For this reason, even when a plurality of initiators alternately acquire the right to use the bus at the same timing and perform data transfer to the target device 3, it does not get stuck in a specific pattern, and a specific initiator always responds to a retry response. You can avoid the situation of receiving.

また、上述したように、本発明は、ターゲットデバイス3のPCIインタフェース部4に、PCIバス7とのインタフェースとなるバス制御部5と、入力された信号値とレジスタの値の簡単な比較によってリトライ応答すべきか否かを決定するリトライ挿入部6を設けるだけで実現可能である。   In addition, as described above, the present invention allows the PCI interface unit 4 of the target device 3 to be retried by simply comparing the input signal value and the register value with the bus control unit 5 serving as an interface with the PCI bus 7. This can be realized simply by providing a retry insertion unit 6 that determines whether or not to respond.

例えば、既製品のホストブリッジとFPGA(Field Programmable Gate Array)等のプログラマブルデバイスで構成したPCIデバイスとを組み合わせて、本発明によるデータ転送システムを実現する場合、FPGAのPCIインタフェース部に上記構成(バス制御部5及びリトライ挿入部6)を組み込むことで、データ転送機会の平準化を図ることが可能となる。   For example, when a data transfer system according to the present invention is realized by combining an off-the-shelf host bridge and a PCI device configured with a programmable device such as an FPGA (Field Programmable Gate Array), the above-described configuration (bus By incorporating the control unit 5 and the retry insertion unit 6), the data transfer opportunities can be leveled.

以上のように、この実施の形態1によれば、ターゲットデバイス3が、所定のリトライ応答回数をカウントするリトライカウンタ17を有し、複数のイニシエータA,Bの各々との間でデータ転送を逐次実行するにあたり、データ転送が完了してビジー状態が解除された時点からリトライカウンタ17が所定のリトライ応答回数をカウントするまで、リトライ応答させるための制御信号を出力し、この制御信号に従ってリトライ応答する。このようにすることで、複数のイニシエータが同一のターゲットデバイス3に対して継続的にデータ転送する際、ターゲットデバイス3がビジー状態になるタイミングによって特定のイニシエータのトランザクションのみがリトライされ続ける不具合を解消することができる。   As described above, according to the first embodiment, the target device 3 has the retry counter 17 that counts the predetermined number of retry responses, and sequentially transfers data to and from each of the plurality of initiators A and B. In execution, a control signal for making a retry response is output from the time when the data transfer is completed and the busy state is released until the retry counter 17 counts a predetermined number of retry responses, and a retry response is made according to this control signal. . In this way, when multiple initiators continuously transfer data to the same target device 3, the problem that only the transaction of a specific initiator continues to be retried at the timing when the target device 3 becomes busy is solved. can do.

また、バスインタフェースやレジスタ及び比較回路等の簡単な回路で実現可能なバス制御部5及びリトライ挿入部6をターゲットデバイス3に設けるだけで、上述のような効果を有するデータ転送システム1を実現することができる。これにより、既製品のホストブリッジに内蔵されるバス調停回路を利用することができ、実装の容易さ、低コスト化、汎用性の向上を図ることができる。   In addition, the data transfer system 1 having the above-described effects can be realized simply by providing the target device 3 with the bus control unit 5 and the retry insertion unit 6 that can be realized by a simple circuit such as a bus interface, a register, and a comparison circuit. be able to. This makes it possible to use a bus arbitration circuit built in a ready-made host bridge, and can facilitate mounting, reduce costs, and improve versatility.

この発明の実施の形態1によるデータ転送システムの構成を示すブロック図である。It is a block diagram which shows the structure of the data transfer system by Embodiment 1 of this invention. 図1中のターゲットデバイスの構成を概略的に示すブロック図である。FIG. 2 is a block diagram schematically showing a configuration of a target device in FIG. 1. 図2中のリトライ制御部の動作基準となる真理値表を示す図である。It is a figure which shows the truth table used as the operation | movement reference | standard of the retry control part in FIG. 実施の形態1によるデータ転送システムのバス調停動作を示すタイミングチャートである。3 is a timing chart illustrating a bus arbitration operation of the data transfer system according to the first embodiment. 図2中のターゲットデバイスによる動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement by the target device in FIG. PCIバスにおける従来のデータ転送システム構成を概略的に示すブロック図である。1 is a block diagram schematically showing a configuration of a conventional data transfer system in a PCI bus. 図6中のデータ転送システムによるバス調停動作を示すタイミングチャートである。7 is a timing chart showing a bus arbitration operation by the data transfer system in FIG. 6.

符号の説明Explanation of symbols

1 データ転送システム、2 バス調停部、3 ターゲットデバイス(ターゲット装置)、4 PCIインタフェース部、5 バス制御部、6 リトライ挿入部、7 PCIバス、8 機能部、9 ターゲットインタフェース部、10 イニシエータインタフェース部、11,12 バス、13,14,15,19,20 信号線、16 リトライ制御部、17 リトライカウンタ(カウンタ)、18 リトライ回数格納レジスタ、A,B イニシエータ(イニシエータ装置)、100 データ転送システム、101 バス調停部、102 ターゲットデバイス、103 PCIバス。   1 data transfer system, 2 bus arbitration unit, 3 target device (target device), 4 PCI interface unit, 5 bus control unit, 6 retry insertion unit, 7 PCI bus, 8 function unit, 9 target interface unit, 10 initiator interface unit 11, 12 bus, 13, 14, 15, 19, 20 signal line, 16 retry control unit, 17 retry counter (counter), 18 retry count storage register, A, B initiator (initiator device), 100 data transfer system, 101 bus arbitration unit, 102 target device, 103 PCI bus.

Claims (1)

バス使用要求に応じてラウンドロビン方式によりバス使用権を与えるバス調停部と、
ターゲット装置バスを介してアクセス可能な複数のイニシエータ装置とを備え
前記イニシエータ装置は、
前記バス調停部にバス使用要求を出力して該バス調停部からバス使用権が得られた場合に、前記ターゲット装置にデータ転送要求して該ターゲット装置からデータ転送可能通知が得られた場合に、当該イニシエータ装置から該ターゲット装置にデータ転送し、
前記ターゲット装置は、
前記複数のイニシエータ装置の数−1に設定された所定のリトライ応答回数までカウントするカウンタを有し、
前記イニシエータ装置からデータ転送要求された場合に、
当該ターゲット装置が転送されたデータを処理するためにビジー状態であるとき、当該ターゲット装置から該イニシエータ装置に対してリトライ応答し、
当該ターゲット装置がビジー状態でなく、且つ前記カウンタが所定のリトライ応答回数までカウントしていないとき、当該ターゲット装置から該イニシエータ装置に対してリトライ応答すると共に、該カウンタによりリトライ応答回数をカウントし、
当該ターゲット装置がビジー状態でなく、且つ前記カウンタが所定のリトライ応答回数までカウントしているとき、当該ターゲット装置から該イニシエータ装置に対してデータ転送可能通知すると共に、該カウンタによるカウントを初期化する
ことを特徴とするデータ転送システム。
A bus arbitration unit that gives a bus use right by a round robin method according to a bus use request;
And a plurality of initiators device accessible via a bus to a target device,
The initiator device is
When a bus use request is output to the bus arbitration unit and a bus use right is obtained from the bus arbitration unit, when a data transfer request is obtained from the target device and a data transfer enable notification is obtained from the target device. , Transferring data from the initiator device to the target device,
The target device is
Has a counter which counts up to a predetermined retry response count set to the number -1 of said plurality of initiator devices,
When a data transfer request is made from the initiator device,
When the target device is busy to process the transferred data, the target device sends a retry response to the initiator device,
When the target device is not busy and the counter has not counted up to a predetermined number of retry responses, the target device responds to the initiator device with a retry response, and the counter counts the number of retry responses.
When the target device is not busy and the counter counts up to a predetermined number of retry responses, the target device notifies the initiator device that data transfer is possible and initializes the count by the counter. <br/> A data transfer system characterized by the above.
JP2008127392A 2008-05-14 2008-05-14 Data transfer system Active JP4969513B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008127392A JP4969513B2 (en) 2008-05-14 2008-05-14 Data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008127392A JP4969513B2 (en) 2008-05-14 2008-05-14 Data transfer system

Publications (2)

Publication Number Publication Date
JP2009277000A JP2009277000A (en) 2009-11-26
JP4969513B2 true JP4969513B2 (en) 2012-07-04

Family

ID=41442375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008127392A Active JP4969513B2 (en) 2008-05-14 2008-05-14 Data transfer system

Country Status (1)

Country Link
JP (1) JP4969513B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2752917B2 (en) * 1995-04-26 1998-05-18 四国日本電気ソフトウェア株式会社 Bus connection method
JP4144986B2 (en) * 1999-12-13 2008-09-03 富士通株式会社 Information processing apparatus, transaction processing method, processor, and retry method
JP2004139296A (en) * 2002-10-17 2004-05-13 Nec Engineering Ltd Bus arbitration device
JP2007087247A (en) * 2005-09-26 2007-04-05 Nec Electronics Corp Bus control system
JP4610570B2 (en) * 2007-02-19 2011-01-12 富士通株式会社 Information processing apparatus and transaction processing method

Also Published As

Publication number Publication date
JP2009277000A (en) 2009-11-26

Similar Documents

Publication Publication Date Title
US6772254B2 (en) Multi-master computer system with overlapped read and write operations and scalable address pipelining
JP3231596B2 (en) Bus system with latency and shadow timer
US8041869B2 (en) Method and system for bus arbitration
KR100932359B1 (en) Switch matrix system with multiple bus arbitrations per cycle with high frequency mediator
US5740380A (en) Method and system for apportioning computer bus bandwidth
US5515516A (en) Initialization mechanism for symmetric arbitration agents
US6272580B1 (en) Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system
JP2004521410A (en) System and method for implementing a multi-level interrupt scheme in a computer system
CN105988968B (en) Semiconductor device with a plurality of semiconductor chips
JP2007058716A (en) Data transfer bus system
EP1922628A2 (en) Partially populated, hierarchical crossbar
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
US6804736B2 (en) Bus access arbitration based on workload
US5822549A (en) Computer system and bus controller for controlling access to a computer bus
JP2007122410A (en) Bus arbitration circuit and method
JP4969513B2 (en) Data transfer system
US6973520B2 (en) System and method for providing improved bus utilization via target directed completion
JP5677007B2 (en) Bus arbitration device and bus arbitration method
US7043595B2 (en) Data transfer control device
JP2004078508A (en) Bus arbitration circuit, bus arbitration method, and its program
JP4151362B2 (en) Bus arbitration method, data transfer device, and bus arbitration method
US8713205B2 (en) Data transfer device and data transfer method
JP5111940B2 (en) Information processing apparatus and access control method
US10983927B2 (en) Electronic device for recovering from buffer overrun in a bus system
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120209

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: 20120306

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4969513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250