JP2002169786A - Transaction issuing control method for parallel computer system - Google Patents

Transaction issuing control method for parallel computer system

Info

Publication number
JP2002169786A
JP2002169786A JP2000368911A JP2000368911A JP2002169786A JP 2002169786 A JP2002169786 A JP 2002169786A JP 2000368911 A JP2000368911 A JP 2000368911A JP 2000368911 A JP2000368911 A JP 2000368911A JP 2002169786 A JP2002169786 A JP 2002169786A
Authority
JP
Japan
Prior art keywords
bctx
uctx
transaction
request
functional unit
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.)
Pending
Application number
JP2000368911A
Other languages
Japanese (ja)
Inventor
Hiroo Fujisaki
博夫 藤崎
Hideo Suzuki
英雄 鈴木
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000368911A priority Critical patent/JP2002169786A/en
Publication of JP2002169786A publication Critical patent/JP2002169786A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent a deadlock due to the issuing order of BCTx and the deadlock occurred in the congestion of BCTx receive buffers in a parallel computer system where a broadcast transaction (BCTx) and a unicast transaction (UCTx) are defined and to increase chances of issuing the BCTx. SOLUTION: Respective function units 1, 2 and 3 are provided with a control means issuing the UCTx generated later even if the BCTx cannot be issued, a control means confirming that the BCTx receive buffers of all the function units in a distribution destination have capacity for receiving all BCTx and issuing them and the control means 16, 26 and 36 issuing the BCTx for only one time when the self-function unit does not issue a BCTx request if an ABRDY signal is moved from on to off.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数の機能ユニッ
ト(プロセッサ、メモリ、IOバスユニットなど)を装
備し、これらがクロスバースイッチを介して接続された
並列計算機システムにおけるブロードキャストトランザ
クションおよびユニキャストトランザクションの発行制
御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a broadcast transaction and a unicast transaction in a parallel computer system equipped with a plurality of functional units (processor, memory, IO bus unit, etc.) and connected through a crossbar switch. Issue control method.

【0002】[0002]

【従来の技術】一般に複数の機能ユニットとこれらを接
続するクロスバースイッチ構成の並列計算機システムに
おいては、機能ユニット間のやり取りに、ユニキャスト
トランザクション(UCTx)とプロードキゃストトラ
ンザクション(BCTx)が定義され使用される。UC
Txは宛先が1つのトランザクションで、BCTxは宛
先が複数のトランザクションである。
2. Description of the Related Art In general, in a parallel computer system having a crossbar switch configuration connecting a plurality of functional units and connecting them, a unicast transaction (UCTx) and a broadcast request transaction (BCTx) are defined for the exchange between the functional units. used. UC
Tx is a transaction with one destination, and BCTx is a transaction with multiple destinations.

【0003】UCTxを発行する機能ユニットは、通
常、宛先となる機能ユニットが事前にデータバッファを
準備しておくので、このバッファが空いているかどうか
の確認をUCTx発行時に行う必要はないものとする。
一方、BCTxは非同期に発生し、配布先のすべての機
能ユニットのBCTx受信バッファに空きがあるとは限
らないので、配布する場合は、配布先の機能ユニットの
BCTx受信バッファが空きを確認する必要があるとす
る。また、配布されたBCTxを複数の機能ユニットが
解析し、結果の返答を出せるのはただ一つの機能ユニッ
トで、UCTxを使用して返事が返される動作仕様が含
まれているものとする。
In a functional unit that issues UCTx, normally, a functional unit serving as a destination prepares a data buffer in advance, so it is not necessary to confirm whether or not this buffer is empty when issuing UCTx. .
On the other hand, since BCTx occurs asynchronously and there is not always a free space in the BCTx reception buffers of all the functional units of the distribution destination, when distributing, it is necessary to confirm that the BCTx reception buffers of the functional units of the distribution destination are free. There is Also, it is assumed that the distributed BCTx is analyzed by a plurality of functional units, and that only one functional unit can output a result, and that the operation specification includes an operation specification in which a reply is returned using UCTx.

【0004】このような前提で、UCTxとBCTxが
混在する並列計算機システムにおいては、デッドロック
がBCTxの発行順番に起因して発生する場合がある。
また、BCTx受信バッファの競合でもデッドロックが
発生する場合がある。
[0004] Under such a premise, in a parallel computer system in which UCTx and BCTx coexist, a deadlock may occur due to the issue order of BCTx.
In addition, deadlock may occur even when the contention of the BCTx reception buffer occurs.

【0005】ある機能ユニットで、BCTxが先に発生
し、その後にUCTxが発生したとする。この時間的な
発生順番でトランザクションの発行処理を行うと、BC
Tx受信バッファがいくら待っても空かない場合があ
る。
[0005] It is assumed that BCTx occurs first in a certain functional unit and then UCTx occurs. When the transaction issuance process is performed in this temporal order, BC
There is a case where the Tx reception buffer is not empty no matter how long it waits.

【0006】時間的に先に発生したBCTxは、まず、
機能ユニットのトランザクション発行回路に投入され、
ここに投入されるとクロスバースイッチに向けてリクエ
ストが出るものとする。
The BCTx generated earlier in time is first
Input to the transaction issuing circuit of the functional unit,
It is assumed that a request is issued to the crossbar switch when inserted here.

【0007】今、BCTxを投入し、リクエストを出す
前に配布先の機能ユニットのBCTx受信バッファ空き
を確認したら、空きありから空きなしに変化したとす
る。この変化は自分のBCTx受信バッファが他の機能
ユニットからのBCTxが受信され格納されたため空き
なしとなったものとする。すると、先にトンランザクシ
ョン発行回路を占有したBCTxはリクエストを出せな
い。また、後から発生したBCTx受信バッファを空け
るであろうUCTxもトランザクション回路には投入で
きないから、BCTx受信バッファは空きにならず、い
くら待ってもBCTxの配布はできない。すなわち、こ
こで固まることになる。
[0009] Now, it is assumed that the BCTx receiving buffer of the functional unit of the distribution destination is confirmed to be empty before the BCTx is input and the request is issued, and that the state changes from empty to empty. This change is assumed that the BCTx reception buffer of the own device has no space since the BCTx from another functional unit is received and stored. Then, the BCTx that previously occupied the transaction issuing circuit cannot issue a request. Further, since UCTx, which will later empty the BCTx receiving buffer, cannot be input to the transaction circuit, the BCTx receiving buffer does not become empty and the BCTx cannot be distributed no matter how long. That is, it is hardened here.

【0008】次に、BCTxは、すべての配布先のBC
Tx受信バッファに空きがないならトランザクション発
行回路には投入せず、空きがあるなら投入するとする。
また、UCTxは、BCTxの後に発生していてもBC
Txの投入ができず保留されているような場合は、UC
Txを先に投入できるようにしたとする。
[0008] Next, the BCTx is used for all the distribution destination BCs.
If there is no free space in the Tx reception buffer, it is not input to the transaction issuing circuit, and if there is free space, it is input.
Further, even if UCTx occurs after BCTx,
If Tx cannot be input and it is suspended, UC
It is assumed that Tx can be input first.

【0009】ところが、BCTxを空きがあるときトラ
ンザクション発行回路に投入するとしても、BCTxを
1つしか受信できないような空きだと、BCTxリクエ
ストの受付ができないものが出てしまう。これは複数の
機能ユニットでBCTxの競合が起こるからである。す
ると、受付できなかったBCTxは、機能ユニットのト
ランザクション発行回路に残るので、後続のUCTxの
発行を妨げる。このBCTxリクエストが、その時点で
自分のBCTx受信バッファが空きなし状態にされるよ
うな場合だと、いくら待っても受け付けられることはな
く、ここでも固まってしまう。
However, even if BCTx is input to the transaction issuing circuit when there is a vacancy, if the BCTx is vacant so that only one BCTx can be received, some BCTx requests cannot be accepted. This is because BCTx competition occurs in a plurality of functional units. Then, the unreceivable BCTx remains in the transaction issuing circuit of the functional unit, thereby preventing subsequent issuance of UCTx. If the BCTx request is such that its own BCTx reception buffer is left empty at that time, it will not be accepted no matter how long it waits, and it will solidify here as well.

【0010】なお、BCTx受信バッファがいつも1つ
空きになったら通知する仕掛けで、空きができた時、あ
らかじめにはBCTxの事前リクエスト信号相当を例え
ばクロスバースイッチ部に集め、1つを選択して許可信
号を機能ユニットに返すなら、BCTxがトランザクシ
ョン発行回路に滞留することを避けられる。どの機能ユ
ニットのBCTx受信バッファにも、2つの空きがあっ
たら通知する仕掛けにするなら、2つの機能ユニットに
許可信号を返す必要がある。いずれにしても、クロスバ
ースイッチ側に専用の許可信号作成回路を必要とする。
[0010] A mechanism for notifying when one BCTx receiving buffer is always available. When the BCTx receiving buffer becomes available, a signal corresponding to the prior request of BCTx is collected in advance in, for example, a crossbar switch unit, and one is selected. If the permission signal is returned to the functional unit, the BCTx can be prevented from staying in the transaction issuing circuit. If the BCTx reception buffer of any functional unit is to be notified when there are two empty spaces, it is necessary to return a permission signal to the two functional units. In any case, a dedicated permission signal generation circuit is required on the crossbar switch side.

【0011】[0011]

【発明が解決しようとする課題】本発明の第1の課題
は、BCTxとUCTxの発行順番に起因するデッドロ
ックを防止することにある。具体的には、配布先のBC
Tx受信バッファに空きがなく、時刻的に先に発生した
BCTxが送付できない場合、時刻的に後で発生したU
CTxがBCTxを追い越してリクエストを出せるよう
にすることである。これは、BCTxが発生し次にUC
Txが発生したような場合、トランザクション発行処理
を、場合によっては、その発生順ではなく、トランザク
ション配布条件の成立順にすることである。
SUMMARY OF THE INVENTION A first object of the present invention is to prevent deadlock due to the order of issuance of BCTx and UCTx. Specifically, the BC of the distribution destination
If there is no free space in the Tx reception buffer and the BCTx that occurred earlier in time cannot be sent,
The purpose is to allow CTx to overtake BCTx and issue a request. This is because BCTx occurs and then UC
In the case where Tx occurs, the transaction issuance processing may be performed in the order in which the transaction distribution conditions are satisfied, not in the order of occurrence in some cases.

【0012】本発明の第2の課題は、BCTx受信バッ
ファの競合に起因するデッドロックを防止することにあ
る。具体的には、BCTxのトランザクション発行回路
への投入は、配布先の機能ユニットのBCTx受信バッ
ファに空きがある時であって、発行したすべての機能ユ
ニットのBCTxリクエストが受付けられるようにする
ことである。これは、BCTx受信バッファが空きなし
になったとき、UCTxの発行処理に必要な資源(回
路)をBCTxが占有して、BCTx受信バッファの空
き待ち回路を作らないことである。バッファの空きエリ
アの容量が、すべての機能ユニットからリクエストを受
け付けられる分だけ常に用意されるなら、クロスバース
イッチ側に専用の許可信号作成回路は不要である。
A second object of the present invention is to prevent deadlock due to contention of a BCTx reception buffer. Specifically, the BCTx is input to the transaction issuing circuit when the BCTx receiving buffer of the distribution destination functional unit has a free space, and the BCTx requests of all the issued functional units are accepted. is there. This means that when the BCTx reception buffer becomes full, BCTx occupies resources (circuits) necessary for the UCTx issuance processing, and does not create a circuit for waiting for the BCTx reception buffer to become empty. If the capacity of the free area of the buffer is always prepared by the amount that can accept requests from all the functional units, a dedicated permission signal generation circuit is not required on the crossbar switch side.

【0013】本発明の第3の課題は、BCTx受信バッ
ファの有効利用を図ることにある。すべてのBCTxを
格納できる空きがあることを通知する信号で、BCTx
を発行するかどうか判定するやり方において、この信号
がバッファ空きなしを表示していても、実際は空きがあ
ってリクエストを出せる場合がある。この条件を検出し
てBCTx発行の契機を増やすことにある。バッファの
空きをn個単位に行うとする。n個より少なくなった
ら、空きなし状態になるが、実際にn個のリクエストが
来ているとは限らない。この空き通知信号は、同時にn
個のリクエストを出してもよいかどうかを示しているだ
けである。よって、空きなしでも、条件によってはBC
Txを投入できる場合がある。
A third object of the present invention is to effectively use a BCTx reception buffer. A signal notifying that there is room to store all BCTx,
In the method of determining whether or not to issue a request, there is a case where even if this signal indicates that the buffer is not full, there is actually a vacancy and a request can be issued. The purpose is to detect this condition and increase the chance of issuing BCTx. It is assumed that the buffer is vacated in units of n units. When the number becomes less than n, the state becomes empty, but it does not mean that n requests actually come. This vacancy notification signal is transmitted simultaneously with n
It only indicates whether or not you can make requests. Therefore, even if there is no space, BC
In some cases, Tx can be input.

【0014】[0014]

【課題を解決するための手段】第1の課題に対処するた
め、本発明の一実施形態では、各機能ユニットに、別々
に蓄積されたUCTxとBCTxのどちらか一方の出力
を選択してトランザクション発行回路に入力し、BCT
xをトランザクション発行回路に投入できない時であっ
ても、BCTxより後に発生したUCTxを投入可能に
する制御手段を設ける。
In order to address the first problem, in one embodiment of the present invention, each of the functional units selects one of the outputs of UCTx and BCTx which are separately stored, and executes a transaction. Input to the issuing circuit and BCT
Control means is provided for enabling UCTx generated after BCTx to be input even when x cannot be input to the transaction issuing circuit.

【0015】また、第2の課題に対処するため、本発明
の同じく一実施形態では、各機能ユニットに、配布先す
べての機能ユニットのBCTx受信バッファに、少なく
てもBCTxリクエストを発行するすべての機能ユニッ
トのリクエストを受信できるバッファの空きがあること
を確認してBCTxの投入条件とする制御手段を設け
る。
Further, in order to address the second problem, in one embodiment of the present invention, at least all the BCTx requests that issue BCTx requests to the BCTx reception buffers of all the distribution destination functional units are provided to each functional unit. A control means is provided for confirming that there is a free space in a buffer capable of receiving a request from the functional unit and for setting a condition for inputting BCTx.

【0016】さらに、第3の課題に対処するため、本発
明の同じく一実施形態では、各機能ユニットに、トラン
ザクション発行回路へのBCTx投入条件が、投入でき
る状態からできない状態に移行した時、自機能ユニット
がBCTxリクエストを発行していないなら、BCTx
を少なくとも1回に限り発行できる制御手段を設ける。
Further, in order to cope with the third problem, in one embodiment of the present invention, when the condition for inputting the BCTx to the transaction issuing circuit shifts from a state in which it can be input to a state in which it cannot be input, the function unit automatically executes the operation. If the functional unit has not issued a BCTx request, BCTx
Is provided at least once.

【0017】[0017]

【発明の実施の形態】以下、本発明の一実施の形態につ
いて図面を参照して詳細に説明する。図1は、本発明に
よる並列計算機システムの構成例を示す図である。図1
において、1、2、3は命令プロセッサやその他の機能
ユニット(処理ノード)、4はこれら機能ユニットを結
ぶクロスバースイッチである。機能ユニットは一般に複
数個が用意されるが、説明の便宜上、ここでは3個とし
てある。機能ユニット1、2、3間の情報のやり取り
は、クロスバースイッチ4を介しトランザクションを使
って行われる。トランザクションにはブロードキャスト
トランザクション(BCTx)とユニキャストトランザ
クション(UCTx)がある。ここで、BCTxは3つ
の機能ユニット1、2、3にすべて配布されるとする。
UCTxは特定の機能ユニットへ送付される。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a diagram showing a configuration example of a parallel computer system according to the present invention. FIG.
, 1, 2 and 3 are instruction processors and other functional units (processing nodes), and 4 is a crossbar switch connecting these functional units. Generally, a plurality of functional units are prepared, but three units are provided here for convenience of explanation. The exchange of information between the functional units 1, 2 and 3 is performed using a transaction via the crossbar switch 4. The transaction includes a broadcast transaction (BCTx) and a unicast transaction (UCTx). Here, it is assumed that BCTx is distributed to all three functional units 1, 2, and 3.
UCTx is sent to a specific functional unit.

【0018】トランザクションはパケット形式をとり、
図3に示すようにヘッダ部とボデイ部からなる。ヘッダ
部は例えば8バイトで、トランザクションの行き先(宛
先)、BCTxやUCTxの区別、リード・ライト、そ
の他のコマンド、ボディ部の長さなどの情報が示され
る。ボデイ部はアドレスとデータからなる。アドレス
は、例えば8バイトであってメモリアドレスやレジスタ
アドレスが示される。データは、8バイト長から64バ
イト長などいくつかあって、メモリやレジスタの読み出
しデータや書き込みデータの場合に付加される。
Transactions take the form of packets,
As shown in FIG. 3, it comprises a header part and a body part. The header portion is, for example, 8 bytes, and indicates information such as the destination of the transaction, the distinction between BCTx and UCTx, read / write, other commands, and the length of the body portion. The body part is composed of an address and data. The address is, for example, 8 bytes and indicates a memory address or a register address. There are several types of data such as 8-byte length to 64-byte length, which are added in the case of read data or write data of a memory or a register.

【0019】各機能ユニット1、2、3とも、UCTx
送信バッファ10、20、30とBCTx送信バッファ
11、21、31とが分離されて設けてあり、UCTx
とBCTxが発生したら、各々が別々に蓄積される。U
CTx送信バッファ10、20、30には読み出しレジ
スタ14、24、34が接続され、例えば8バイト単位
に、それぞれUCTx送信バッファ10、20、30か
ら読み出されたUCTxが格納される。この読み出しレ
ジスタをUレジスタと呼ぶことにする。BCTx送信バ
ッファ11、21、31にも読み出しレジスタ15、2
5、35が接続され、これはBレジスタと呼ぶことにす
る。
Each of the functional units 1, 2, and 3 has UCTx
The transmission buffers 10, 20, 30 and the BCTx transmission buffers 11, 21, 31 are provided separately, and the UCTx
And BCTx, each is stored separately. U
The read registers 14, 24, 34 are connected to the CTx transmission buffers 10, 20, 30, and store the UCTx read from the UCTx transmission buffers 10, 20, 30, for example, in units of 8 bytes. This read register is called a U register. The BCTx transmission buffers 11, 21, 31 also have read registers 15, 2,
5, 35 are connected, which will be called the B register.

【0020】各機能ユニット1、2、3には、トランザ
クション発行回路がある。これは、セレクタ100、2
00、300と送信レジスタ(Dレジスタ)17、2
7、37、および制御回路16、26、36から構成さ
れる。制御回路16、26、36は、トランザクション
発行回路にUCTxあるいはBCTxを投入できるか判
定し、投入できる場合、Uレジスタ14、24、34の
UCTxあるいはBレジスタ15、25、35のBCT
xをDレジスタ17、27、37に設定する。また、制
御回路16、26、36は、HRQ(ヘッダリクエス
ト)をクロスバースイッチ4に通知し、クロスバースイ
ッチ4内の経路の確保を要求する。
Each of the functional units 1, 2, and 3 has a transaction issuing circuit. This is the selector 100, 2
00, 300 and transmission register (D register) 17, 2
7, 37, and control circuits 16, 26, and 36. The control circuits 16, 26 and 36 determine whether UCTx or BCTx can be input to the transaction issuing circuit, and if they can be input, the UCTx of the U registers 14, 24 and 34 or the BCT of the B registers 15, 25 and 35
x is set in the D registers 17, 27 and 37. Further, the control circuits 16, 26, and 36 notify the crossbar switch 4 of the HRQ (header request), and request a route in the crossbar switch 4.

【0021】クロスバースイッチ4は、ここでは3つの
機能ユニット1、2、3に対応して、3つの入力ポート
と3つの出力ポートからなる。各入力ポートには受信レ
ジスタ51、61、71がある。これは各機能ユニット
1、2、3からのUCTxあるいはBCTxのヘッダも
しくはボデイを受けるレジスタ(Inレジスタ)であ
る。また、各入力ポートには入力ポート制御回路50、
60、70がある。一方、各出力ポートにはセレクタ5
2、62、72があり、そこで選択された経路のデータ
は送信レジスタ53、63、73(Otレジスタ)に入
力される。各Otレジスタ53、63、73の出力は各
機能ユニット1、2、3に戻される。
The crossbar switch 4 comprises three input ports and three output ports, corresponding to the three functional units 1, 2, and 3 here. Each input port has a reception register 51, 61, 71. This is a register (In register) that receives the header or body of UCTx or BCTx from each of the functional units 1, 2, and 3. Each input port has an input port control circuit 50,
There are 60 and 70. On the other hand, each output port has a selector 5
2, 62, and 72, and the data of the selected path is input to the transmission registers 53, 63, and 73 (Ot registers). The output of each Ot register 53, 63, 73 is returned to each functional unit 1, 2, 3.

【0022】図1では省略したが、クロスバースイッチ
4の出力ポートには制御部があり、各入力ポート制御部
50、60、70からの要求を受けセレクタ52、6
2、72のどの経路を選択するか優先度で決めている。
UCTxでは、1つの入力ポートから1つの出力ポート
が選択されるが、BCTxでは1つの入力ポートのIn
レジスタは、すべての出力ポートのセレクタ50、6
2、72で選択され、すべてのOtレジスタ53、6
3、73に転送され、各機能ユニット1、2、3に配布
される。
Although not shown in FIG. 1, the output port of the crossbar switch 4 has a control unit, and receives a request from each of the input port control units 50, 60, 70 to select the selector 52, 6
Which route of 2, 72 is selected is determined by the priority.
In UCTx, one output port is selected from one input port. In BCTx, one input port In is selected.
Registers are provided for selectors 50 and 6 of all output ports.
2 and 72, all Ot registers 53 and 6
3 and 73, and distributed to each of the functional units 1, 2, and 3.

【0023】各機能ユニット1、2、3とも、UCTx
受信バッファ12、22、32とBCTx受信バッファ
13、23、33とが分離されて設けてある。各機能ユ
ニット1、2、3は、クロスバースイッチ4から配布さ
れて来るデータを受信レジスタ(Rレジスタ)18、2
8、38で受け、UCTxならUCTx受信バッファ1
2、22、32に格納し、BCTxならBCTx受信バ
ッファ13、23、33に格納する。
Each of the functional units 1, 2, and 3 has UCTx
The receiving buffers 12, 22, 32 and the BCTx receiving buffers 13, 23, 33 are provided separately. Each of the functional units 1, 2, and 3 receives the data distributed from the crossbar switch 4 and receives the data from the reception registers (R registers) 18, 2
Received at 8, 38, if UCTx, UCTx receive buffer 1
2, 22, and 32, and if it is BCTx, it is stored in the BCTx reception buffers 13, 23, and 33.

【0024】なお、各機能ユニット1、2、3のDレジ
スタ17、27、37とクロスバースイッチ4の各入力
ポートのInレジスタ51、61、71間、各出力ポー
トのOtレジスタ53、63、73と各機能ユニット
1、2、3のRレジスタ18、28、38間は、8バイ
トのデータ線でデータをやり取りしている。
The D registers 17, 27, 37 of the functional units 1, 2, 3 and the In registers 51, 61, 71 of the input ports of the crossbar switch 4, the Ot registers 53, 63, Data is exchanged between the R 73 and the R registers 18, 28, 38 of the functional units 1, 2, 3 via an 8-byte data line.

【0025】各機能ユニット1、2、3には、常時、そ
れぞれBCTx受信バッファ13、23、33の空き状
態を検出しているバッファ空き状態検出回路19、2
9、39がある。このバッファ空き状態検出回路19、
29、39にて、それぞれBCTx受信バッファ13、
23、33にすべての機能ユニット1、2、3からのB
CTxを受信できる空きバッファが有る場合、BRDY
(バッファレデイ)信号が生成される。この信号は、当
該機能ユニットのBCTx受信バッファに空きがあり、
すべての機能ユニットからのBCTxを受け付ける準備
ができていることを示す信号である。バッファ空き状態
検出回路の動作については後述する。
Each of the functional units 1, 2, and 3 has a buffer empty state detecting circuit 19, 2 which constantly detects the empty state of the BCTx receiving buffers 13, 23, 33, respectively.
There are 9, 39. This buffer empty state detection circuit 19,
At 29 and 39, respectively, the BCTx reception buffer 13,
23, 33, B from all functional units 1, 2, 3
If there is a free buffer that can receive CTx, BRDY
A (buffer ready) signal is generated. This signal indicates that there is free space in the BCTx reception buffer of the functional unit,
This signal indicates that the BCTx from all the functional units is ready to be received. The operation of the buffer empty state detection circuit will be described later.

【0026】各機能ユニット1、2、3のBRDY信号
は、クロスバースイッチ4に送付され、ANDゲート8
0に入り、その出力がABRDY信号となって各機能ユ
ニット1、2、3の制御回路16、26、36に送られ
る。ここで、各BRDY信号のANDを取るのは、すべ
ての機能ユニット1、2、3の各BCTx受信バッファ
13、23、33がすべてBRDYでないと、BCTx
を実行できないからである。各機能ユニット1、2、3
の制御回路16、26、36では、このABRDY信号
にもとづいて、BCTxリクエストをクロスバースイッ
チ4に発行するかどうか判定する。
The BRDY signal of each of the functional units 1, 2, and 3 is sent to the crossbar switch 4, and the AND gate 8
0, and the output is sent as an ABRDY signal to the control circuits 16, 26, 36 of the respective functional units 1, 2, 3. Here, the AND operation of each BRDY signal is performed when the BCTx reception buffers 13, 23, and 33 of all the functional units 1, 2, and 3 are not all BRDY.
Cannot be executed. Each functional unit 1, 2, 3
The control circuits 16, 26, 36 determine whether or not to issue a BCTx request to the crossbar switch 4 based on the ABRDY signal.

【0027】さらに、各機能ユニット1、2、3は、そ
れぞれ制御回路16、26、36内に制御フリップフロ
ップ(QSAI)を有している。このQSAIは、BR
DY信号(ABRDY信号)がオフでもBCTxリクエ
ストを発行できるオンオフ条件を示したものである。こ
れについては後述する。
Further, each of the functional units 1, 2, and 3 has a control flip-flop (QSAI) in the control circuits 16, 26, and 36, respectively. This QSAI is BR
It shows an on / off condition in which a BCTx request can be issued even when the DY signal (ABRDY signal) is off. This will be described later.

【0028】図2は、各機能ユニット1、2、3におけ
るトランザクション発行回路内の制御回路16、26、
36の動作フローチャートである。ここでは機能ユニッ
ト(0)1の制御回路16を例に説明する。
FIG. 2 shows the control circuits 16 and 26 in the transaction issuing circuit in each of the functional units 1, 2, and 3.
36 is an operation flowchart of FIG. Here, the control circuit 16 of the functional unit (0) 1 will be described as an example.

【0029】制御回路16では、常時、Uレジスタ14
とBレジスタ15を監視して、トランザクション発行回
路にUCTxを投入するか、BCTxを投入するかを判
定している(ステップ101、106)。ここでは、U
レジスタ14にUCTxが存在し、投入するトランザク
ションがUCTxと決定されたとする。この場合、制御
回路16は、ヘッダリクエストHRQ(0)をクロスバ
ースイッチ4に送付し、Uレジスタ14に最初に読み出
されたヘッダ部を、セレクタ100を介してDレジスタ
17に設定しクロスバースイッチ4に伝える(ステップ
102)。その後、クロスバースイッチ4側からACP
信号が来るのを待つ(ステップ103)。これがACP
待ちシーケンスである。待ち時間は、クロスバースイッ
チの経路獲得の競合状態などで決まる。
In the control circuit 16, the U register 14 is always
And the B register 15 to determine whether to input UCTx or BCTx to the transaction issuing circuit (steps 101 and 106). Here, U
It is assumed that UCTx exists in the register 14 and the transaction to be input is determined to be UCTx. In this case, the control circuit 16 sends the header request HRQ (0) to the crossbar switch 4 and sets the header portion read first in the U register 14 to the D register 17 via the selector 100, and The information is transmitted to the switch 4 (step 102). After that, the ACP from the crossbar switch 4 side
Wait for a signal (step 103). This is ACP
This is a waiting sequence. The waiting time is determined by, for example, the race condition of the path acquisition of the crossbar switch.

【0030】クロスバースイッチ4側では、トランザク
ションがUCTxかはヘッダの内容を見て判定してい
る。ヘッダリクエストHRQ(0)に対して、クロスバ
ースイッチ4は、経路の準備ができると、ACP信号を
機能ユニット(0)1へ送ってくる。
The crossbar switch 4 determines whether the transaction is UCTx by looking at the contents of the header. In response to the header request HRQ (0), the crossbar switch 4 sends an ACP signal to the functional unit (0) 1 when the path is ready.

【0031】ACP信号が来ると、制御回路16の制御
下で、UCTxバッファ10からボディ部をUレジスタ
14へ順次読み出し、セレクタ100、Dレジスタ17
を介してクロスバースイッチ4に転送する(ステップ1
04)。これが転送シーケンスである。転送シーケンス
をUCTxのワード数分繰り返した後、終了シーケンス
を実行する(ステップ105)。終了シーケンスでは、
所定のサイクルを計数し、次のHRQをいつ出すかのピ
ッチを決める。
When the ACP signal arrives, the body portion is sequentially read from the UCTx buffer 10 to the U register 14 under the control of the control circuit 16, and the selector 100 and the D register 17 are read.
(Step 1)
04). This is the transfer sequence. After repeating the transfer sequence for the number of words of UCTx, an end sequence is executed (step 105). In the end sequence,
A predetermined cycle is counted to determine the pitch at which the next HRQ will be issued.

【0032】UCTxの終了シーケンスがおわると、制
御回路16は、Bレジスタ16にBCTxが存在するか
判定し(ステップ106)、存在しなければ、ステップ
101に戻る。そして、Uレジスタ15あるいはBレジ
スタ16にUCTxあるいはBCTxが読み出されるま
で、ステップ101、106をループする。
When the UCTx end sequence is over, the control circuit 16 determines whether or not BCTx exists in the B register 16 (step 106). Then, steps 101 and 106 are looped until UCTx or BCTx is read out to the U register 15 or the B register 16.

【0033】ここではBレジスタ16にBCTxが存在
したとする。この場合、制御回路16は、まず、ABR
DY信号がオンか判定する(ステップ107)。ABR
DY信号がオンの場合、各機能ユニット1、2、3で
は、BCTx受信バッファ13、23、33にいずれも
空きがあり、すべての機能ユニットからのBCTxを受
け付ける準備ができている。そこで、制御回路16で
は、ヘッダリクエストHRQ(0)をクロスバースイッ
チ4に送付し、同時にBレジスタ14のBCTx(ヘッ
ダ部)をDレジスタ17に設定し、クロスバースイッチ
4に伝える(ステップ109)。その後、ACP待ちシ
ーケンス(ステップ110)、転送シーケンス(ステッ
プ111)、終了シーケンス(ステップ112)を実行
する。これらは、UCTxの場合と基本的に同様であ
る。ただし、BCTxの終了シーケンスで所定サイクル
計数している間に、各機能ユニット1、2、3では、そ
れぞれBCTx受信バッファ13、23、33の空き状
態が更新されるとする。
Here, it is assumed that BCTx exists in the B register 16. In this case, the control circuit 16 first sets the ABR
It is determined whether the DY signal is on (step 107). ABR
When the DY signal is on, each of the functional units 1, 2, and 3 has a free space in the BCTx receiving buffers 13, 23, and 33, and is ready to receive BCTx from all the functional units. Therefore, the control circuit 16 sends the header request HRQ (0) to the crossbar switch 4, and at the same time, sets the BCTx (header portion) of the B register 14 in the D register 17 and transmits the same to the crossbar switch 4 (step 109). . Thereafter, an ACP waiting sequence (Step 110), a transfer sequence (Step 111), and an end sequence (Step 112) are executed. These are basically the same as in the case of UCTx. However, it is assumed that the functional units 1, 2, and 3 update the empty state of the BCTx receiving buffers 13, 23, and 33, respectively, while counting the predetermined cycles in the BCTx end sequence.

【0034】一方、ステップ107でABRDY信号が
オフだった場合、制御回路16は、次にQSAI(0)
がオンか判定する(ステップ108)。QSAI(0)
がオンの場合、ABRDY(BRDY信号)がオフでも
BCTxリクエストを発行できることを意味している。
そこで、制御回路16では、上述のABRDY信号がオ
ンの場合と同様に、引き続いてステップ109〜112
を実行する。また、QSAIがオフの場合には、BCT
xを実行することなく、ステップ101に戻る。この場
合、Bレジスタ16に存在するBCTxの処理は、その
後、ABRDY信号がオンになるまで待たされることに
なる。また、このときUレジスタ14にUCTxが存在
すれば、該UCTxがBCTxより先に処理される。
On the other hand, if the ABRDY signal is off at step 107, the control circuit 16 next proceeds to QSAI (0)
Is turned on (step 108). QSAI (0)
Is on, it means that a BCTx request can be issued even if ABRDY (BRDY signal) is off.
Therefore, the control circuit 16 continues to execute steps 109 to 112 as in the case where the ABRDY signal is on.
Execute When QSAI is off, BCT
The process returns to step 101 without executing x. In this case, the processing of the BCTx existing in the B register 16 is thereafter waited until the ABRDY signal is turned on. At this time, if UCTx exists in the U register 14, the UCTx is processed before BCTx.

【0035】図4は、各BCTx受信バッファ13、2
3、33の空き状態検出回路19、29、39の動作を
説明する図である。ここでは、機能ユニット(0)1の
BCTx受信バッファ13を例に説明する。
FIG. 4 shows each BCTx receiving buffer 13, 2.
FIG. 3 is a diagram illustrating the operation of empty state detection circuits 19, 29, and 39 of Nos. 3 and 33. Here, the BCTx reception buffer 13 of the functional unit (0) 1 will be described as an example.

【0036】BCTx受信バッファ13のBRDY信号
が終了シーケンスで落ちる(オフになる)のであれば、
その機能ユニット(0)1は続けてBCTxをトランザ
クション発行回路に投入できない。この場合、BCTx
受信バッファ13の準備すべき最小のバッファ空きエリ
アは3個でよい。仮にBCTx受信バッファ13の空き
状態が、終了シーケンスより後に更新されるなら、その
間、当該機能ユニット(0)1から次のBCTxが発行
できることになる。この場合、BCTx受信バッファ1
3が準備する空きエリア数の最小数は、機能ユニットの
個数(ここでは3個)より多くを必要とする。図4で
は、BCTx受信バッファ13を機能ユニットの個数3
より大きくして倍の6個としたものである。図4におい
て、wpは書き込みポインタ、rpは読み出しポインタ
である。バッファ空き状態検出回路19は、空きエリア
を、6−(wp−rp)で計算し、その値が6、5、
4、3ならBRDY(0)信号をオンにする。その値が
2、1、0ならBRDY(0)信号をオフにする。
If the BRDY signal of the BCTx reception buffer 13 falls (turns off) in the end sequence,
The functional unit (0) 1 cannot continuously input BCTx to the transaction issuing circuit. In this case, BCTx
The minimum buffer empty area to be prepared in the reception buffer 13 may be three. If the empty state of the BCTx reception buffer 13 is updated after the end sequence, the next BCTx can be issued from the functional unit (0) 1 during that time. In this case, the BCTx reception buffer 1
The minimum number of empty areas prepared by 3 requires more than the number of functional units (here, three). In FIG. 4, the BCTx reception buffer 13 has the number of functional units of 3
It is larger and doubled to six. In FIG. 4, wp is a write pointer, and rp is a read pointer. The buffer empty state detection circuit 19 calculates the empty area by 6- (wp-rp), and the value is 6, 5,
If it is 4, 3, the BRDY (0) signal is turned on. If the value is 2, 1, 0, the BRDY (0) signal is turned off.

【0037】図4の例では、書き込みポインタwpが2
を指しており、0番地と1番地へ書き込みがあったこと
を示している。読み出しポインタrpは0を指してお
り、0番地のBCTxの内容を読んでいるこを示してい
る。したがって、空きエリアは6−(2−0)=4とな
り、BRDY信号はオンとされる。すなわち、この場
合、BCTx受信バッファ13は、すべての機能ユニッ
ト分(3個分)のBCTxを受信できる。
In the example of FIG. 4, the write pointer wp is 2
, Indicating that writing has been made to addresses 0 and 1. The read pointer rp points to 0, indicating that the contents of BCTx at address 0 are being read. Therefore, the free area becomes 6- (2-0) = 4, and the BRDY signal is turned on. That is, in this case, the BCTx reception buffer 13 can receive the BCTx of all the functional units (three).

【0038】図5は、フリップフロップQSAIによ
り、BRDY信号がオフでもBCTxリクエストを発行
できるオンオフ条件を示したものである。QSAIは、
各機能ユニット毎に設けられており、ABRDY信号が
落ちたサイクルで、当該機能ユニットがBCTxリクエ
スト発行シーケンス中(ACP待ちシーケンス、転送シ
ーケンス、終了シーケンスのいずれか)でないならオン
にする。これにより、ABRDY信号がオフでも、1回
に限りBCTxのリクエストを発行することが可能にな
る。なお、このQSAIは、ACPが来たサイクルでオ
フに戻す。
FIG. 5 shows an on / off condition that a BCTx request can be issued by the flip-flop QSAI even when the BRDY signal is off. QSAI is
The function unit is provided for each functional unit, and is turned on if the ABRDY signal is not in the BCTx request issuing sequence (ACP waiting sequence, transfer sequence, or end sequence) in the cycle in which the ABRDY signal is dropped. Thus, even if the ABRDY signal is off, it is possible to issue the BCTx request only once. The QSAI is turned off in the cycle in which the ACP comes.

【0039】図6および図7は、本発明によるトランザ
クション発行制御の動作タイムチャートの具体例を示し
たものである。なお、図6および図7はともに、トラン
ザクション発行回路のシーケンスはACP待ちをa、転
送中をb、終了をcで表している。
FIGS. 6 and 7 show a specific example of an operation time chart of the transaction issuance control according to the present invention. In both FIGS. 6 and 7, the sequence of the transaction issuing circuit is represented by a for ACP waiting, b for transferring, and c for termination.

【0040】図6は、BCTxが先に発生しても、後か
ら発生したUCTxがこれを追い抜いてUCTxトラン
ザクションが先に発行される様子を示している。
FIG. 6 shows that even if BCTx occurs first, UCTx generated later overtakes it, and the UCTx transaction is issued first.

【0041】先頭の時刻0では、機能ユニット(0)1
のBCTx受信バッファ13の空きが2となっていて、
BRDY(0)信号はオフになっているとする。従っ
て、ABRDY信号もオフである。また、QSAI
(0)もオフであるとする。
At time 0 at the beginning, functional unit (0) 1
Of the BCTx reception buffer 13 is 2
It is assumed that the BRDY (0) signal is off. Therefore, the ABRDY signal is also off. Also, QSAI
It is assumed that (0) is also off.

【0042】いま、機能ユニット(0)1において、時
刻1でBレジスタ15にBCTxが出力され、時刻Aで
Uレジスタ14にUCTxが確定したとする。なお、機
能ユニット(0)1は、UCTx返答要のBCTxを受
信しており、当該UCTxは、その返答として出力され
たものであるとする。一般にUCTx返答要の場合、該
UCTxが出ていくまで、BCTxデータをBCTx受
信バッファに残しておき、UCTxが応答先に出された
ことを契機に、BCTx受信バッファのBCTxデータ
が消去される。
Assume that in the functional unit (0) 1, BCTx is output to the B register 15 at time 1 and UCTx is determined in the U register 14 at time A. It is assumed that the functional unit (0) 1 has received BCTx which requires a UCTx response, and that the UCTx has been output as a response. Generally, when a UCTx response is required, the BCTx data is left in the BCTx reception buffer until the UCTx comes out, and when the UCTx is sent to the response destination, the BCTx data in the BCTx reception buffer is deleted.

【0043】図6において、時刻1では、機能ユニット
(0)1のトランザクション発行回路はだれも使用して
いないが、BCTxがトランザクション発行回路に投入
されることはない。すなわち、図2のフローチャートの
ステップ106で、BCTxがありと判定されてステッ
プ107へ行くが、ABRDY信号がオフなので、ステ
ップ108へ進み、ここでQSAI(0)信号もオフな
ので、ステップ101に戻り、この時点でUCTxがま
だ来てないので、再びステップ106へ飛ぶ。以下、こ
れを繰り返し、結局、BCTxが発生しても、ABRD
Y信号がオフなら、BCTxは発行されない。
In FIG. 6, at time 1, no transaction issuance circuit of the functional unit (0) 1 is used, but BCTx is not input to the transaction issuance circuit. That is, in step 106 of the flowchart of FIG. 2, it is determined that BCTx is present, and the process goes to step 107. However, since the ABRDY signal is off, the process goes to step 108. Here, since the QSAI (0) signal is also off, the process returns to step 101. Since UCTx has not come yet at this point, the process jumps to step 106 again. Hereinafter, this is repeated, and even if BCTx occurs, ABRD
If the Y signal is off, BCTx is not issued.

【0044】一方、後から発生したUCTxは、図2の
ステップ101で、UCTxがありと判定されて、時刻
Fでトランザクション発行回路に投入される。この結
果、ステップ102でクロスバースイッチへヘッダリク
エストHRQ(0)が出され、ステップ103で、AC
P(0)待ちに入る。クロスバースイッチ4で経路の優
先度が取られ、転送が可能になると、ACP(0)信号
が来る。ステップ104で、ボデイデータのD00を送
付する。本UCTxの送付先は機能ユニット(1)2と
すると、機能ユニット(1)2のRレジスタ28の入力
には、データD00が時刻(2回目)5に確定する。
On the other hand, the UCTx generated later is determined in step 101 in FIG. 2 as having the UCTx, and is input to the transaction issuing circuit at time F. As a result, a header request HRQ (0) is issued to the crossbar switch in step 102, and the AC
It enters P (0) wait. When the priority of the route is taken by the crossbar switch 4 and the transfer becomes possible, an ACP (0) signal comes. At step 104, the body data D00 is sent. Assuming that the destination of the UCTx is the functional unit (1) 2, the data D00 is determined at the time (second time) 5 in the input of the R register 28 of the functional unit (1) 2.

【0045】機能ユニット(0)のUCTxが発行され
たことにより、BCTx受信バッファ13中の該当BC
Txデータが消去されるため、BCTx受信バッファ1
3の空きエリアが1つ増えるから、時刻B(2回目)
で、空きの容量が2から3になる。そのため、ここでB
RDY(0)信号がオンになる。また、ABRDY信号
もオフからオンになる。これ以降、BCTxの発行が可
能になる。
When the UCTx of the functional unit (0) is issued, the corresponding BC in the BCTx reception buffer 13 is output.
Since the Tx data is deleted, the BCTx reception buffer 1
Time B (2nd time) because one empty area of 3 increases
Thus, the free space is reduced from 2 to 3. Therefore, here B
The RDY (0) signal turns on. Also, the ABRDY signal is turned on from off. Thereafter, BCTx can be issued.

【0046】図7は、機能ユニット(0)1と機能ユニ
ット(1)2が時刻1でBCTxリクエストを出し、機
能ユニット(2)3が時刻1(2回目)でBCTxリク
エストを出し、全体としてBCTx受信バッファがレデ
イでない状態になっても、機能ユニット(2)3がBC
Txを出せる様子を示している。
FIG. 7 shows that the functional unit (0) 1 and the functional unit (1) 2 issue a BCTx request at time 1 and the functional unit (2) 3 issues a BCTx request at time 1 (second time). Even if the BCTx reception buffer is not ready, the functional unit (2) 3
This shows how Tx can be output.

【0047】先頭の時刻0では、機能ユニット(0)1
のBCTx受信バッファ13は空きが3個とする。ま
た、機能ユニット(1)2と機能ユニット(2)3のB
CTx受信バッファの空きは6個とする。したがって、
BRDY(0)、BRDY(1)、BRDY(2)はい
ずれもオンで、ABRDYもオンである。なお、QSA
I(0)、QSAI(1)、QSAI(2)はいずれも
オフ(リセット)とする。
At time 0 at the beginning, functional unit (0) 1
The BCTx reception buffer 13 has three vacancies. In addition, B of functional unit (1) 2 and functional unit (2) 3
There are six CTx reception buffers available. Therefore,
BRDY (0), BRDY (1) and BRDY (2) are all on, and ABRDY is also on. In addition, QSA
I (0), QSAI (1), and QSAI (2) are all turned off (reset).

【0048】いま、機能ユニット(0)1のBCTxリ
クエストがクロスバースイッチ4で受け付けられ、時刻
7でACP(0)が来て転送シーケンスに入り、次に時
刻Eで終了シーケンスに入ったとする。機能ユニット
(0)1のBCTx受信バッファ13の空きは3個から
2個になり、この時点で、機能ユニット(0)1はバッ
ファレデイすなはちBRDY(0)信号をオフにする。
機能ユニット(1)2と機能ユニット(2)3の空きは
5個となる。BRDY(1)信号とBRDY(2)信号
はオンのままである。ABRDY信号は、BRDY
(0)信号がオフになったため、この時点でオンからオ
フにかわる。
Now, it is assumed that the BCTx request of the functional unit (0) 1 is accepted by the crossbar switch 4, the ACP (0) arrives at time 7 and enters the transfer sequence, and then enters the end sequence at time E. The free space in the BCTx receiving buffer 13 of the functional unit (0) 1 is reduced from three to two. At this point, the functional unit (0) 1 turns off the BRDY (0) signal, that is, the buffer ready.
The functional unit (1) 2 and the functional unit (2) 3 have five empty spaces. The BRDY (1) and BRDY (2) signals remain on. The ABRDY signal is BRDY
(0) Since the signal has been turned off, it changes from on to off at this point.

【0049】機能ユニット(1)2のHRQ(1)は、
機能ユニット(0)1と同じ時期(時刻1)に発行され
ているが、ACP(1)が来るのは、機能ユニット
(0)1の転送シーケンスが終了した後で、時刻Cとな
っている。ACP(0)とACP(1)の順番は、クロ
スバースイッチ4の優先度に依存している。HRQ
(0)とHRQ(1)とで、ACP待ちシーケンスaの
時間的な長さが異なるのはこのためである。
The HRQ (1) of the functional unit (1) 2 is
It is issued at the same time as the functional unit (0) 1 (time 1), but the ACP (1) comes at the time C after the transfer sequence of the functional unit (0) 1 ends. . The order of ACP (0) and ACP (1) depends on the priority of the crossbar switch 4. HRQ
This is why the time length of the ACP waiting sequence a differs between (0) and HRQ (1).

【0050】BCTxは、ACPが来れば、配布先のす
べての機能ユニットに配布される。ここでは、機能ユニ
ット(0)1のBCTxのボデイデータD0が3つの機
能ユニットに配布される。機能ユニット(0)1のRレ
ジスタ18の入力、機能ユニット(1)のRレジスタ2
8の入力、機能ユニット(2)3のRレジスタ38の入
力を見ると、同じボディデータD0が配布される。機能
ユニット(1)2のボデイデータD1も同様である。
When the ACP comes, the BCTx is distributed to all the functional units at the distribution destination. Here, the body data D0 of BCTx of the functional unit (0) 1 is distributed to three functional units. Input of R register 18 of functional unit (0) 1, R register 2 of functional unit (1)
Looking at the input of 8 and the input of the R register 38 of the functional unit (2) 3, the same body data D0 is distributed. The same applies to the body data D1 of the functional unit (1) 2.

【0051】機能ユニット(1)2のBCTx終了シー
ケンスが走ると、機能ユニット(0)1のBCTx受信
バッファ13の空きは1個、機能ユニット(1)2と機
能ユニット(2)3のBCTx受信バッファ23、33
空きは、ともに4個となる。
When the BCTx end sequence of the functional unit (1) 2 runs, the BCTx reception buffer 13 of the functional unit (0) 1 has one free space and the BCTx reception of the functional unit (1) 2 and the functional unit (2) 3 Buffers 23, 33
There are four vacancies.

【0052】機能ユニット(0)1がBRDY(0)を
オフすると、ABRDY信号がオフとなるが(時刻
E)、該ABRDY信号がオフとなった先頭サイクルで
BCTx発行シーケンスを実行していないのは、機能ユ
ニット(2)3のみであり、そのQSAI(2)がオン
となる。このため、機能ユニット(2)3のBCTx
は、ABRDYがオフになった後、時刻1(2回目)で
発生するが、図2のステップ108でYESとなり、機
能ユニット(2)3は、BCTxをトンランザクション
発行回路に投入し、HRQ(2)を出すことができる。
HRQ(2)に対し、クロスバースイッチ4からACP
(2)が来ると、QSAI(2)はオフにもどる。 機
能ユニット(2)3のBCTx終了シーケンスが走る
と、機能ユニット(0)のBCTx受信バッファ13の
空きは0個、機能ユニット(1)2と機能ユニット
(2)3のBCTx受信バッファ23、33の空きは4
個となる。なお、BCTxの受信処理は、この間、どの
機能ユニット1、2、3でも進んでいないと仮定してい
る。
When the functional unit (0) 1 turns off BRDY (0), the ABRDY signal turns off (time E), but the BCTx issuance sequence is not executed in the first cycle in which the ABRDY signal turns off. Is only the functional unit (2) 3, and its QSAI (2) is turned on. Therefore, the BCTx of the functional unit (2) 3
Occurs at time 1 (second time) after ABRDY is turned off, but the answer to step 108 in FIG. 2 is YES, and the functional unit (2) 3 inputs the BCTx to the transaction issuing circuit, and outputs the HRQ ( 2) can be issued.
For HRQ (2), ACP from crossbar switch 4
When (2) comes, QSAI (2) returns to off. When the BCTx end sequence of the functional unit (2) 3 runs, the BCTx receiving buffer 13 of the functional unit (0) has no space, and the BCTx receiving buffers 23 and 33 of the functional unit (1) 2 and the functional unit (2) 3 have no space. Space is 4
Individual. It is assumed that the BCTx reception process has not progressed in any of the functional units 1, 2, and 3 during this time.

【0053】このように、ABRDYがオンからオフに
なり、本来ならBCTxリクエストを発行できない状態
に移行したときでも、その時点でBCTxリクエストを
発行していない機能ユニットは、1回に限りBCTxを
発行することができる。
As described above, even when ABRDY is turned off from on and the state in which a BCTx request cannot be normally issued is issued, a functional unit that has not issued a BCTx request at that time issues BCTx only once. can do.

【0054】実施例のように、機能ユニットが3個で、
各機能ユニットのBCTx受信バッファが6個とする
と、機能ユニットのどれか1つしかリクエストを出さな
いなら、空きの個数が6、5、4、3まで使用できるか
ら全部でBCTx受信バッファの4個のエリアを使用で
きる。3つの機能ユニットが同時競合してリクエストを
出すなら、各機能ユニットはBCTx受信バッファの2
個のエリアを使用できる。また、条件が悪くても1個の
エリアは使用できる。
As in the embodiment, there are three functional units,
Assuming that each functional unit has six BCTx receive buffers, if only one of the functional units issues a request, the number of empty units can be used up to 6, 5, 4, and 3, so that a total of four BCTx receive buffers are used. Area can be used. If three functional units are simultaneously competing and issuing a request, each functional unit will have two of the BCTx receive buffers.
Number of areas can be used. One area can be used even if the conditions are poor.

【0055】[0055]

【発明の効果】本発明の並列機算機システムのトランザ
クション発行制御BCTxとUCTxの発行順番に起因
するデッドロックを防止することができる。また、少な
い空きエリアを取り合うBCTx受信バッファ競合に起
因するデッドロックも防止でき、さらには、BCTx発
行の契機を増やすことができる。
According to the present invention, it is possible to prevent a deadlock due to the issue order of the transaction issuance controls BCTx and UCTx in the parallel computer system of the present invention. In addition, deadlock due to contention of the BCTx receiving buffer for competing for a small free area can be prevented, and further, the opportunity for issuing the BCTx can be increased.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施の形態を示す並列計算機システ
ムのハードウエア構成図である。
FIG. 1 is a hardware configuration diagram of a parallel computer system according to an embodiment of the present invention.

【図2】本発明によるトランザクション発行制御のフロ
ーチャート例を示す図である。
FIG. 2 is a diagram showing an example of a flowchart of transaction issue control according to the present invention.

【図3】トランザクションのフォーマット例を示す図で
ある。
FIG. 3 is a diagram showing a format example of a transaction.

【図4】BCTx受信バッファの空き状態検出回路の動
作を説明する図である。
FIG. 4 is a diagram for explaining the operation of an empty state detection circuit of a BCTx reception buffer;

【図5】BCTxリクエストを発行可能にするFF(Q
SAI)のオンオフ条件を示す図である。
FIG. 5 shows an FF (Q
FIG. 3 is a diagram showing on / off conditions of SAI).

【図6】本発明によるトランザクション発行動作タイム
チャートの具体例を示す図である。
FIG. 6 is a diagram showing a specific example of a transaction issuance operation time chart according to the present invention.

【図7】本発明によるトランザクション発行動作タイム
チャートの他の具体例を示す図である。
FIG. 7 is a diagram showing another specific example of a transaction issuance operation time chart according to the present invention.

【符号の説明】[Explanation of symbols]

1,2,3 機能ユニット 4 クロスバースイッチ 10,20,30 UCTx送信バッファ 11,21,31 BCTx送信バッファ 12,22,32 UCTx受信バッファ 13,23,33 BCTx受信バッファ 14,24,34 読み出しレジスタ(U) 15,25,35 読み出しレジスタ(B) 16,26,36 トランザクション発行制御回路 17,27,37 送信レジスタ(D) 18,28,38 受信レジスタ(R) 19,29,39 BCTx受信バッファ空き状態検出
回路 50,60,70 入力ポート制御回路 51,61,71 受信レジスタ(In) 52,62,72 3入力1出力出力セレクタ 53,63,73 送信レジスタ(Ot) 80:ANDゲート
1, 2, 3 Functional unit 4 Crossbar switch 10, 20, 30 UCTx transmission buffer 11, 21, 31 BCTx transmission buffer 12, 22, 32 UCTx reception buffer 13, 23, 33 BCTx reception buffer 14, 24, 34 Read register (U) 15, 25, 35 Read register (B) 16, 26, 36 Transaction issue control circuit 17, 27, 37 Transmit register (D) 18, 28, 38 Receive register (R) 19, 29, 39 BCTx receive buffer Empty state detection circuit 50, 60, 70 Input port control circuit 51, 61, 71 Receive register (In) 52, 62, 723 3-input 1-output selector 53, 63, 73 Transmit register (Ot) 80: AND gate

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数の機能ユニットと、各機能ユニット
を接続するクロスバースイッチから構成され、機能ユニ
ット間のやり取りにブロードキャストトランザクション
(以下、BCTx)とユニキャストトランザクション
(以下、UCTx)が定義される並列計算機システムに
おけるトランザクション発行制御方法であって、 通常はBCTx、UCTxについて発生順にリクエスト
を発行し、BCTxのリクエストが発行できない場合、
該BCTxより後に発生したUCTxのリクエストを先
に発行することを特徴とする並列計算機システムのトラ
ンザクション発行制御方法。
1. A communication system comprising a plurality of functional units and a crossbar switch for connecting the functional units, wherein a broadcast transaction (hereinafter, BCTx) and a unicast transaction (hereinafter, UCTx) are defined for exchange between the functional units. A transaction issuance control method in a parallel computer system, in which requests are normally issued in the order of occurrence for BCTx and UCTx, and when a BCTx request cannot be issued,
A transaction issuance control method for a parallel computer system, wherein a UCTx request generated after the BCTx is issued first.
【請求項2】 請求項1記載の並列計算機システムのト
ランザクション発行制御方法において、 BCTxリクエストの発行は、配布先すべての機能ユニ
ットに、少なくともBCTxリクエストを発行するすべ
ての機能ユニットのBCTxリクエストを受信できるバ
ッファの空きがあることを条件とすることを特徴とする
並列計算機システムのトランザクション発行制御方法。
2. The transaction issuance control method for a parallel computer system according to claim 1, wherein the issuance of the BCTx request is such that all the functional units that issue the BCTx request can receive the BCTx requests of all the functional units that issue the BCTx request. A transaction issuance control method for a parallel computer system, characterized in that a buffer is available.
【請求項3】 請求項2記載の並列計算機システムのト
ランザクション発行制御方法において、 BCTxリクエストが発行できる状態からできない状態
に移行した時、自機能ユニットがBCTxリクエストを
発行していない場合少なくとも1回に限りBCTxを発
行できるようにすることを特徴とする並列計算機システ
ムのトランザクション発行方法。
3. The transaction issuance control method for a parallel computer system according to claim 2, wherein when the state shifts from a state in which the BCTx request can be issued to a state in which the BCTx request cannot be issued, at least one time when the own function unit has not issued the BCTx request. A transaction issuance method for a parallel computer system, wherein a BCTx can be issued as long as possible.
JP2000368911A 2000-12-04 2000-12-04 Transaction issuing control method for parallel computer system Pending JP2002169786A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000368911A JP2002169786A (en) 2000-12-04 2000-12-04 Transaction issuing control method for parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000368911A JP2002169786A (en) 2000-12-04 2000-12-04 Transaction issuing control method for parallel computer system

Publications (1)

Publication Number Publication Date
JP2002169786A true JP2002169786A (en) 2002-06-14

Family

ID=18839040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000368911A Pending JP2002169786A (en) 2000-12-04 2000-12-04 Transaction issuing control method for parallel computer system

Country Status (1)

Country Link
JP (1) JP2002169786A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533378B2 (en) 2008-03-21 2013-09-10 Fujitsu Limited Information processing device, data transfer circuit, and control method of information processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533378B2 (en) 2008-03-21 2013-09-10 Fujitsu Limited Information processing device, data transfer circuit, and control method of information processing device

Similar Documents

Publication Publication Date Title
US6950438B1 (en) System and method for implementing a separate virtual channel for posted requests in a multiprocessor computer system
US5832215A (en) Data gathering/scattering system for a plurality of processors in a parallel computer
US5020020A (en) Computer interconnect system with transmit-abort function
US6715023B1 (en) PCI bus switch architecture
EP0391583B1 (en) Dual-path computer interconnect system with four-ported packet memory control
US7551564B2 (en) Flow control method and apparatus for single packet arrival on a bidirectional ring interconnect
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
US6888843B2 (en) Response virtual channel for handling all responses
US6938094B1 (en) Virtual channels and corresponding buffer allocations for deadlock-free computer system operation
US20080109573A1 (en) RDMA systems and methods for sending commands from a source node to a target node for local execution of commands at the target node
US5918055A (en) Apparatus and method for managing digital resources by passing digital resource tokens between queues
WO2002073407A1 (en) Communications system and method with non-blocking shared interface
JPS63168732A (en) Non-locking queue mechanism
US6721324B1 (en) Switch control system in ATM switching system
US4769769A (en) Communication system including a first-in-first-out buffer
US6950892B2 (en) Method and system for managing distributed arbitration for multicycle data transfer requests
JPH05242019A (en) Look-ahead priority mediation system and its method
US6571301B1 (en) Multi processor system and FIFO circuit
EP1314094A2 (en) System and method for separate virtual channels for posted requests in a multiprocessor system
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
JP2002169786A (en) Transaction issuing control method for parallel computer system
US7167939B2 (en) Asynchronous system bus adapter for a computer system having a hierarchical bus structure
EP0378422B1 (en) Look ahead bus transfer request
JPS5913762B2 (en) Information bus control device
JPH0528856B2 (en)