Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3068427B2 - Message control unit - Google Patents
[go: Go Back, main page]

JP3068427B2 - Message control unit - Google Patents

Message control unit

Info

Publication number
JP3068427B2
JP3068427B2 JP7055665A JP5566595A JP3068427B2 JP 3068427 B2 JP3068427 B2 JP 3068427B2 JP 7055665 A JP7055665 A JP 7055665A JP 5566595 A JP5566595 A JP 5566595A JP 3068427 B2 JP3068427 B2 JP 3068427B2
Authority
JP
Japan
Prior art keywords
message
buffer
response
request
entries
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7055665A
Other languages
Japanese (ja)
Other versions
JPH08249295A (en
Inventor
潔 四宮
Original Assignee
甲府日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP7055665A priority Critical patent/JP3068427B2/en
Publication of JPH08249295A publication Critical patent/JPH08249295A/en
Application granted granted Critical
Publication of JP3068427B2 publication Critical patent/JP3068427B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、メッセージ制御装置に
関し、特に複数の装置が共通バスに接続されたシステム
において、共通バスへ複数の種類のリクエストを送信す
る複数のバッファを備えるメッセージ制御装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a message control device, and more particularly to a message control device having a plurality of buffers for transmitting a plurality of types of requests to a common bus in a system in which a plurality of devices are connected to a common bus. .

【0002】[0002]

【従来の技術】従来この種の技術では、他装置に対する
リクエスト要求を保持する先入れ先出しバッファ(以下
「FIFO」という)である要求FIFOと他装置から
のリクエストに応答するための応答FIFOという2つ
のFIFOを有して構成されている。たとえば、特開昭
5−189391号公報には多段スイッチネットワーク
によって結合されたシステムの技術が記載されている。
2. Description of the Related Art Conventionally, in this type of technology, there are two FIFOs, a request FIFO which is a first-in first-out buffer (hereinafter referred to as a "FIFO") for holding a request for another device and a response FIFO for responding to a request from another device. Is configured. For example, Japanese Patent Application Laid-Open No. 5-189391 discloses a technique of a system connected by a multistage switch network.

【0003】図4を参照すると、上記従来技術では、複
数のプロセッサメモリエレメント(以下「PME」とい
う)701,702,703,704が、他段スイッチ
交換網705を通じて接続される。多段スイッチ交換網
705は、複数のステージ711,712からなり、各
々のステージはPMEと同数のスイッチ721〜724
から構成される。各々のスイッチは、要求メッセージを
ストアする要求FIFO731と応答メッセージをスト
アする応答FIFO732、要求FIFOと応答FIF
Oから次に送信されるメッセージを選択するメッセージ
セレクタ733を備える。従来技術は、要求FIFOと
応答FIFOの2種類のFIFOを備え、応答FIFO
内のメッセージを常に優先的に次段に送信することによ
り、デッドロックが発生しないように制御している。
[0003] Referring to FIG. 4, in the above prior art, a plurality of processor memory elements (hereinafter, referred to as “PME”) 701, 702, 703, and 704 are connected through a multistage switch switching network 705. The multistage switch switching network 705 includes a plurality of stages 711 and 712, and each stage has the same number of switches 721 to 724 as the PME.
Consists of Each switch includes a request FIFO 731 for storing a request message, a response FIFO 732 for storing a response message, a request FIFO and a response FIFO.
A message selector 733 for selecting the next message to be transmitted from O is provided. The prior art includes two types of FIFOs, a request FIFO and a response FIFO, and a response FIFO.
By sending the message in the upper row to the next stage always, control is performed so that deadlock does not occur.

【0004】[0004]

【発明が解決しようとする課題】上述の従来技術では、
デッドロック問題を解決するため、応答メッセージを優
先的に次の段に送信しているため、スイッチ721〜7
24に、先に到達した要求メッセージが後に到達した応
答メッセージに追い越される現象が発生し、要求メッセ
ージの待ちが大きくなるため、一度負荷が上昇し、スイ
ッチ内の応答メッセージが増加することにより、システ
ムの新規要求メッセージが停滞し、負荷がある程度低下
するまでの間は、システム性能の低下が発生する。
In the above-mentioned prior art,
In order to solve the deadlock problem, the response message is preferentially transmitted to the next stage.
24, a phenomenon occurs in which a request message that arrives first is overtaken by a response message that arrives later, and the waiting time for the request message increases. Therefore, the load increases once, and the number of response messages in the switch increases. Until the new request message stagnates and the load is reduced to some extent, the system performance is reduced.

【0005】これを解決するためには、メッセージを各
スイッチに到達した順に次の段に送信する必要がある。
これが実現できれば、負荷にかかわらず一定の性能を実
現可能となる。しかし、メッセージを到達順に処理する
と、以下のようにデッドロックが生じるおそれがある。
[0005] In order to solve this, it is necessary to transmit messages to the next stage in the order in which they arrive at each switch.
If this can be realized, a certain performance can be realized regardless of the load. However, processing messages in the order of arrival may result in deadlock as follows.

【0006】図5を参照すると、CPU1とCPU2と
の間でデッドロックが発生している状態を示した図にお
いて、例えばREQ12とあるのはCPU1からCPU
2へのリクエスト要求を意味し、また、RES12とあ
るのはCPU1からCPU2への応答を意味する。応答
FIFO732および742はエントリが全てリクエス
トで埋まっており、新たなリクエストを受け付けること
ができない状態になっている。しかも要求FIFO73
1および741の要求の方が先に入力されたものである
ため、この要求が出力されてしまわないと応答FIFO
732または742から出力できない。一方、要求FI
FOは互いにCPU1またはCPU2の相手側を宛先と
した要求を保持しており、デッドロック状態に陥ってい
ることが分かる。
Referring to FIG. 5, in a diagram showing a state in which a deadlock has occurred between CPU 1 and CPU 2, for example, REQ 12
2 means a request, and RES12 means a response from CPU1 to CPU2. In the response FIFOs 732 and 742, all entries are filled with requests, and a new request cannot be accepted. Moreover, the request FIFO 73
Since the requests 1 and 741 were input earlier, the response FIFO must be output unless this request is output.
No output from 732 or 742. On the other hand, the request FI
The FOs hold requests destined for the other side of the CPU 1 or the CPU 2 and it can be seen that the FO is in a deadlock state.

【0007】本発明の目的は、かかるデッドロックの発
生を防止または解消するメッセージ制御装置を提供する
ことにある。
An object of the present invention is to provide a message control device which prevents or eliminates the occurrence of such a deadlock.

【0008】また、本発明の他の目的は、上記メッセー
ジ間の追い越しの発生を防止するメッセージ制御装置を
提供することにある。
It is another object of the present invention to provide a message control device for preventing occurrence of overtaking between the above messages.

【0009】[0009]

【課題を解決するための手段】上記課題を解決するため
に本発明のメッセージ制御装置は、複数のエントリを有
て他の装置への要求メッセージを保持する要求バッフ
ァと、複数のエントリを有して他の装置への応答メッセ
ージを保持する応答バッファと、複数のエントリを有し
他の装置からの要求メッセージを保持する受付バッフ
ァと、この受付バッファが満杯になったことを検出する
検出手段と、前記要求バッファおよび前記応答バッファ
のいずれかに保持されているメッセージを選択して当該
メッセージの宛先である他の装置に対して出力する選択
器とを含み、前記選択器は、前記検出手段が前記受付バ
ッファの満杯状態を検出しない場合には最も早くから前
記要求バッファまたは前記応答バッファに入力されたメ
ッセージを出力し、前記検出手段が前記受付バッファの
満杯状態を検出した場合には前記応答バッファに保持さ
れているメッセージを優先的に出力する。
In order to solve the above problems, a message control device according to the present invention has a request buffer having a plurality of entries and holding a request message to another device, and a plurality of entries. A response buffer for holding a response message to another device, and a plurality of entries.
A reception buffer for holding a request message from another device Te, select a detection means for detecting that the reception buffer is full, a message stored in one of the request buffer and the response buffer Pertinent
A selector for outputting to another device that is a destination of a message, the selector including the request buffer or the response buffer from the earliest when the detecting unit does not detect the full state of the reception buffer. The input message is output, and when the detection means detects that the reception buffer is full, the message held in the response buffer is output with priority.

【0010】また、本発明の他のメッセージ制御装置
は、複数のエントリを有して他の装置への要求メッセー
ジを保持する要求バッファと、複数のエントリを有し
他の装置への応答メッセージを保持する応答バッファ
と、この応答バッファの各エントリ毎に設けられて所定
の値がセットされるフラグと、複数のエントリを有し
他の装置からの要求メッセージを保持する受付バッファ
と、この受付バッファが満杯になったことを検出すると
優先的に出力されるべき旨を示す値を前記フラグの全て
に対してセットする検出手段と、前記要求バッファおよ
び前記応答バッファのいずれかに保持されているメッセ
ージを選択して当該メッセージの宛先である他の装置に
対して出力する選択器とを含み、前記選択器は、前記応
答バッファに最も早く入力されたメッセージに対応する
フラグにおいて優先的に出力されるべき旨を示す値がセ
ットされていない場合には前記要求バッファまたは前記
応答バッファに最も早く入力されたメッセージを出力
し、前記応答バッファに最も早く入力されたメッセージ
に対応するフラグにおいて優先的に出力されるべき旨
示す値がセットされている場合には前記応答バッファに
最も早く入力された応答メッセージを出力する。
[0010] Another message control apparatus of the present invention includes a request buffer for holding a request message to another device having a plurality of entries, a plurality of entries
A response buffer for holding a response message to another device, and a predetermined buffer provided for each entry in the response buffer
, A reception buffer having a plurality of entries and holding a request message from another device, and a priority output when the reception buffer is detected to be full. A value indicating that all of the flags
Detecting means for setting a message stored in one of the request buffer and the response buffer, and selecting the message stored in the other buffer as a destination of the message.
And a selector for outputting the message corresponding to the earliest message input to the response buffer.
A value indicating that the flag should be output with priority is set in the flag.
Tsu if not bets outputs earliest input message to the request buffer or the <br/> response buffer are output preferentially in flag corresponding to the earliest input message in the response buffer To do
If the value indicated is set to output a response message earliest input to the response buffer.

【0011】また、本発明の他のメッセージ制御装置
は、複数のエントリを有して他の装置への要求メッセー
ジを保持する要求バッファと、この要求バッファからの
読出し位置を示す読出しポインタと、前記要求バッファ
への書込み位置を示す書込みポインタと、複数のエント
リを有して他の装置への応答メッセージとともにそのと
きの前記書込みポインタの値を保持する応答バッファ
と、この応答バッファの各エントリ毎に設けられて所定
の値がセットされるフラグと、複数のエントリを有し
他の装置からの要求メッセージを保持する受付バッファ
と、この受付バッファが満杯になったことを検出すると
優先的に出力されるべき旨を示す値を前記フラグの全て
に対してセットする検出手段と、前記読出しポインタの
値と前記応答バッファに保持された書込みポインタの値
とを比較して一致したエントリに対応する前記フラグに
対して優先的に出力されるべき旨を示す値をセットする
比較手段と、前記要求バッファおよび前記応答バッファ
のいずれかに保持されているメッセージを選択して当該
メッセージの宛先である他の装置に対して出力する選択
器とを含み、前記選択器は、前記応答バッファに最も早
く入力されたメッセージに対応するフラグにおいて優先
的に出力されるべき旨を示す値がセットされていない場
合には前記要求バッファに最も早く入力された要求メッ
セージを出力し、前記応答バッファに最も早く入力され
たメッセージに対応するフラグにおいて優先的に出力さ
れるべき旨を示す値がセットされている場合には前記
答バッファに最も早く入力された応答メッセージを出力
する。
Further, another message control device of the present invention includes a request buffer having a plurality of entries and holding a request message to another device, a read pointer indicating a reading position from the request buffer, A write pointer indicating a write position in the request buffer, a response buffer having a plurality of entries and holding a value of the write pointer at that time together with a response message to another device; Provided predetermined
, A reception buffer having a plurality of entries and holding a request message from another device, and a priority output when the reception buffer is detected to be full. A value indicating that all of the flags
A detecting means for setting relative to the flag corresponding to the entry matched by comparing the value of the write pointer is held in the response buffer with the value of the read pointer
The selected comparison means for setting a value indicating that to be preferentially output against a message stored in one of the request buffer and the response buffer
A selector for outputting to another device that is a destination of the message , wherein the selector has a value indicating that the message is to be preferentially output in a flag corresponding to the message input first in the response buffer. is but outputs a request message earliest input to the request buffer if not set, the value indicating that to be preferentially output in flag corresponding to the earliest input message in the response buffer If that is set to output a response message earliest input to the response <br/> answer buffer.

【0012】また、本発明の他のメッセージ制御装置に
おいては、前記要求バッファ、前記応答バッファ、およ
び前記受付バッファのそれぞれは、先入れ先出しバッフ
ァにより構成される。
Further, in another message control device of the present invention, each of the request buffer, the response buffer, and the reception buffer is constituted by a first-in first-out buffer.

【0013】[0013]

【0014】[0014]

【実施例】次に本発明のメッセージ制御装置の一実施例
について図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of the message control device of the present invention will be described in detail with reference to the drawings.

【0015】図1を参照すると、本発明の一実施例で
は、システムバス200に複数の中央処理装置201,
202および主記憶装置205,206、および入出力
装置203,204が接続されている。各装置は、シス
テムバス200に送信するメッセージを待ち合わせる要
求FIFO114および応答FIFO108を備える。
また、各装置は、システムバス200に接続された他装
置からのメッセージを受け付ける受付REG105、他
装置からのメッセージが自装置に対するものであるかを
判定するアドレスアレイ104、判定結果と他装置のメ
ッセージを格納する受付FIFO107,受付FIFO
107の制御をする受付FIFO制御部106、受付F
IFO107の状態からデッドロックを検出するデッド
ロック条件検出部111、デッドロック条件を検出時に
応答FIFO108の優先順位を高める印を付けるため
のマークフラグ110、応答FIFO108の各エント
リに保持された書込みポインタの値と要求FIFO用読
出しポインタ112の値とを比較するポインタ比較装置
109、順序制御用マークフラグの出力線116の値に
より要求FIFO114または応答FIFO108のシ
ステムバスを選択するFIFOセレクタ115、複数の
演算処理装置101,102、および、演算処理装置1
01,102からのメッセージを選択するメッセージセ
レクタ103を有している。
Referring to FIG. 1, in one embodiment of the present invention, a plurality of central processing units 201,
202, main storage devices 205 and 206, and input / output devices 203 and 204 are connected. Each device includes a request FIFO 114 and a response FIFO 108 for waiting for a message to be transmitted to the system bus 200.
Also, each device has a reception REG 105 for receiving a message from another device connected to the system bus 200, an address array 104 for determining whether a message from the other device is addressed to its own device, a determination result and a message of the other device. FIFO 107 for storing the
The reception FIFO control unit 106 that controls the reception 107, the reception F
A deadlock condition detecting unit 111 for detecting a deadlock from the state of the FIFO 107, a mark flag 110 for marking the priority of the response FIFO 108 when the deadlock condition is detected, and a write pointer for each entry of the response FIFO 108 A pointer comparator 109 for comparing the value with the value of the request FIFO read pointer 112; a FIFO selector 115 for selecting the system bus of the request FIFO 114 or the response FIFO 108 according to the value of the output line 116 of the order control mark flag; Devices 101 and 102 and arithmetic processing device 1
It has a message selector 103 for selecting messages from 01 and 102.

【0016】受付FIFO107が他の装置から受け付
けた要求は、(図示しない)メモリアクセス等を経て応
答メッセージとなり、応答FIFO108に保持され
る。
The request received by the reception FIFO 107 from another device becomes a response message via a memory access (not shown) or the like, and is held in the response FIFO 108.

【0017】応答FIFO108は応答メッセージとそ
のときの書込みポインタ113の値とを対にして各エン
トリに保持する。この応答FIFO108の各エントリ
には順序制御マークフラグ110が1対1に対応してい
る。
The response FIFO 108 holds the response message and the value of the write pointer 113 at that time in each entry as a pair. The order control mark flag 110 has a one-to-one correspondence with each entry of the response FIFO 108.

【0018】要求FIFO114は、セレクタ103か
ら要求を受け取ると、書込みポインタ113の示すエン
トリに該要求を保持する。書込みポインタ113はその
後1つカウントアップされる。要求FIFO114はセ
レクタ115に選択されると、読出しポインタ112の
示すエントリから要求を出力する。読出しポインタ11
2はその後1つカウントアップされる。すなわち、要求
FIFO114はリングバッファ構成になっており、読
出しポインタ112と書込みポインタ113とにより制
御される。
Upon receiving a request from the selector 103, the request FIFO 114 holds the request in the entry indicated by the write pointer 113. Thereafter, the write pointer 113 is counted up by one. When the request FIFO 114 is selected by the selector 115, the request FIFO 114 outputs a request from the entry indicated by the read pointer 112. Read pointer 11
2 is then incremented by one. That is, the request FIFO 114 has a ring buffer configuration and is controlled by the read pointer 112 and the write pointer 113.

【0019】順序制御マークフラグ110は、応答メッ
セージの1エントリ毎に備えられ、以下の2つの場合に
1にセットされる。1つ目は、ポインタ比較装置109
によって一致が検出されたエントリに個別にセットされ
る場合である。これは要求FIFO114または応答F
IFO108に要求または応答が入力された順序を保証
するためのものである。前述のように応答FIFO10
8は、応答メッセージに加えて、入力された時点の書込
みポインタ113の値を対にして各エントリに保持して
おり、この書込みポインタの値を参照することによっ
て、要求FIFO114と応答FIFO108との間の
順序関係を保証することができる。
The order control mark flag 110 is provided for each entry of the response message, and is set to 1 in the following two cases. The first is the pointer comparison device 109
Is set individually for the entry for which a match has been detected. This is the request FIFO 114 or the response F
This is to guarantee the order in which the requests or responses are input to the IFO 108. Response FIFO 10 as described above
8 holds a pair of the value of the write pointer 113 at the time of input in addition to the response message in each entry. By referring to the value of the write pointer, a value between the request FIFO 114 and the response FIFO 108 is stored. Order relation can be guaranteed.

【0020】例えば、第1の要求→第1の応答→第2の
応答→第2の要求、の順にFIFOに入力があったとす
ると、要求FIFO114の第1エントリに第1の要求
が入力された後、応答FIFO108の第1のエントリ
に第1の応答が、第2のエントリに第2の応答がそれぞ
れ入力される。このとき、応答FIFO108の書込み
ポインタの部分には共にそのときの書込みポインタ11
3の値である”2”が保持される。その後、要求FIF
O114の第2エントリに第2の要求が入力される。こ
れを読み出す際には、まず要求FIFO114から第1
の要求が出力されると、読出しポインタ112が”2”
になり、ポインタ比較装置109によって第1のエント
リと第2のエントリにおいて一致が検出されるため、対
応する順序制御マークフラグ110が1にセットされ
る。これにより、セレクタ115は応答FIFO108
側を選択するようになり、第1の応答に続いて第2の応
答が出力される。
For example, if there is an input to the FIFO in the order of first request → first response → second response → second request, the first request is input to the first entry of the request FIFO 114. Thereafter, the first response is input to the first entry of the response FIFO 108, and the second response is input to the second entry. At this time, the write pointer 11 of the response FIFO 108
"2", which is the value of 3, is held. Then the request FIF
The second request is input to the second entry of O114. When reading this, first, from the request FIFO 114, the first
Is output, the read pointer 112 becomes "2".
Becomes, because the match is detected in the first entry and the second entry by the pointer comparator 109, the corresponding sequence control mark flag 110 is set to 1. As a result, the selector 115 sets the response FIFO 108
Side is selected, and a second response is output following the first response.

【0021】順序制御マークフラグ110が1にセット
される2つ目の場合は、デッドロック条件検出部111
がデッドロック発生の可能性を検出した場合である。こ
の場合には、全ての順序制御マークフラグ110が1に
セットされる。すなわち、デッドロックの発生を予知し
た場合には、その時の応答FIFO108内の応答を優
先的に出力する。
In the second case where the order control mark flag 110 is set to 1, the deadlock condition detecting section 111
Is a case where the possibility of occurrence of deadlock is detected. In this case, all the order control mark flags 110 are set to 1. That is, when the occurrence of the deadlock is predicted, the response in the response FIFO 108 at that time is output with priority.

【0022】デッドロック発生の予知は以下のように行
われる。受付FIFO制御部106は、受付FIFO1
07が満杯の状態にあることをデッドロック条件検出部
111に送信する。これに応答して、デッドロック条件
検出部111は、受付FIFO107が満杯である場
合、デッドロックの可能性があると判定して、応答FI
FO108の全エントリの順序制御マークフラグ110
を1にセットする指示を順序制御マークフラグ110に
出す。これに応答して、順序制御マークフラグ110
は、全エントリの順序制御マークフラグ110を1にセ
ットする。
The occurrence of deadlock is predicted as follows. The reception FIFO control unit 106 receives the reception FIFO 1
07 is transmitted to the deadlock condition detecting unit 111 in a full state. In response to this, when the reception FIFO 107 is full, the deadlock condition detection unit 111 determines that there is a possibility of deadlock, and
Order control mark flag 110 for all entries of FO 108
To the order control mark flag 110. In response, the order control mark flag 110
Sets the order control mark flag 110 of all entries to one.

【0023】このようにして1にセットされた順序制御
マークフラグ110は、各々対応するリクエストが発行
されると共に0にクリアされていく。
The order control mark flag 110 thus set to 1 is cleared to 0 at the time when the corresponding request is issued.

【0024】このように順序制御マークフラグ110を
セットすることにより、デッドロック発生の可能性を予
知しない限り、要求FIFO114または応答FIFO
108に入力された順序を保ちながら、両FIFOから
システムバス200へ応答または要求を出力することが
できる。
By setting the order control mark flag 110 in this manner, the request FIFO 114 or the response FIFO 114 can be used unless the possibility of deadlock is predicted.
Responses or requests can be output from both FIFOs to the system bus 200 while maintaining the order of input to 108.

【0025】次に本発明の上記一実施例の動作について
図面を参照して詳細に説明する。
Next, the operation of the embodiment of the present invention will be described in detail with reference to the drawings.

【0026】図1から図3を参照すると、まず、演算処
理装置101または102が要求メッセージを発行する
と(ステップ501)、発行されたメッセージをメッセ
ージセレクタ103が選択する(ステップ502)。こ
の選択は、例えばラウンドロビン等により行われる。そ
して、この選択されたメッセージによりアドレスアレイ
104を検索する(ステップ503)。これにより、要
求メッセージをシステムバス200に送信すべきか否か
を判断する(ステップ504)。検索した結果、要求さ
れたデータを当該中央処理装置201が保持していない
場合、要求メッセージを要求FIFO114に格納する
(ステップ505)。また、当該中央処理装置201が
要求されたデータを保持していた場合、中央処理装置内
のデータを演算処理装置101または102に返却して
処理が終了する。バッファ順位制御マークフラグ110
の内容を確認し(ステップ506)、バッファ順位制御
マークフラグ=1の場合、応答FIFO108の内容を
FIFOセレクタ115が選択して(ステップ50
7)、応答メッセージをシステムバス200に送信し
(ステップ508)、次に要求FIFO114側がFI
FOセレクタ115により選択されるのを待つ。順序制
御マークフラグ=0の場合には、FIFOセレクタ11
5が要求FIFO114を選択して(ステップ50
9)、要求メッセージをシステムバス200に出力する
(ステップ510)。この出力された要求メッセージ
は、他の中央処理装置202、入出力装置203または
204、又は主記憶装置205または206が、その受
付REG105に保持する(ステップ511)。このよ
うにして受け付けたメッセージは、アドレスアレイ10
4の検索に使用され(ステップ512)、これにより自
装置への要求であるかどうかを判断する(ステップ51
3)。自装置以外への要求の場合には、処理を終了す
る。自装置への要求である場合には、そのメッセージを
受付FIFO107へ格納する(ステップ514)。そ
して、(図示しない)メモリアクセス等により要求メッ
セージへの応答を作成して、これを応答メッセージとし
て応答FIFO108に格納する(ステップ515)。
Referring to FIGS. 1 to 3, first, when the arithmetic processing unit 101 or 102 issues a request message (step 501), the message selector 103 selects the issued message (step 502). This selection is performed by, for example, round robin. Then, the address array 104 is searched by the selected message (step 503). Thus, it is determined whether a request message should be transmitted to system bus 200 (step 504). If the central processing unit 201 does not hold the requested data as a result of the search, the request message is stored in the request FIFO 114 (step 505). When the central processing unit 201 holds the requested data, the data in the central processing unit is returned to the arithmetic processing unit 101 or 102, and the process is terminated. Buffer order control mark flag 110
(Step 506), and when the buffer order control mark flag = 1, the FIFO selector 115 selects the contents of the response FIFO 108 (step 50).
7) A response message is transmitted to the system bus 200 (step 508), and then the request FIFO 114
Wait for the selection by the FO selector 115. If the order control mark flag = 0, the FIFO selector 11
5 selects the request FIFO 114 (step 50
9) Output a request message to the system bus 200 (step 510). The output request message is held in the reception REG 105 by the other central processing unit 202, the input / output device 203 or 204, or the main storage device 205 or 206 (step 511). The message received in this manner is stored in the address array 10
4 (step 512), thereby determining whether the request is for the own device (step 51).
3). If the request is for a device other than the own device, the process ends. If the request is for the own device, the message is stored in the reception FIFO 107 (step 514). Then, a response to the request message is created by memory access (not shown) or the like, and this is stored in the response FIFO 108 as a response message (step 515).

【0027】このようにして入力された要求FIFO1
14または応答FIFO108からの読出しに当たって
は、順序制御マークフラグ110の内容を確認する(ス
テップ516)。当該フラグ=0の場合、FIFOセレ
クタ115が要求FIFO114を選択して(ステップ
524)、要求メッセージをシステムバス200に出力
する(ステップ525)。これを当該フラグが1になる
まで繰り返す。順序制御マークフラグ=1の場合、FI
FOセレクタ517が応答FIFOを選択して(ステッ
プ517)、応答メッセージをシステムバス200に出
力する(ステップ518)。この出力された要求メッセ
ージは、他の中央処理装置202、入出力装置203ま
たは204、又は主記憶装置205または206が、そ
の受付REG105に保持する(ステップ519)。こ
のようにして受け付けたメッセージは、アドレスアレイ
104の検索に使用され(ステップ520)、これによ
り自装置への要求であるかどうかを判断する(ステップ
521)。自装置以外への要求の場合には、処理を終了
する。自装置への要求である場合には、そのメッセージ
を受付FIFO107へ格納する(ステップ522)。
そして、要求メッセージの送信元である演算処理装置1
01または102へ応答メッセージを返却する(ステッ
プ523)。
The request FIFO 1 thus input
14 or when the reading of the response FIFO 108, to check the contents of the sequence control mark flag 11 0 (step 516). If the flag = 0, the FIFO selector 115 selects the request FIFO 114 (step 524), and outputs a request message to the system bus 200 (step 525). This is repeated until the flag becomes 1. When the order control mark flag = 1, FI
The FO selector 517 selects a response FIFO (step 517), and outputs a response message to the system bus 200 (step 518). The output request message is held in the reception REG 105 by the other central processing unit 202, the input / output device 203 or 204, or the main storage device 205 or 206 (step 519). The message received in this manner is used for searching the address array 104 (step 520), and it is determined whether the message is a request to the own device (step 521). If the request is for a device other than the own device, the process ends. If the request is for the own device, the message is stored in the reception FIFO 107 (step 522).
Then, the processing unit 1 that is the transmission source of the request message
A response message is returned to 01 or 102 (step 523).

【0028】このように、本発明の一実施例であるメッ
セージ制御装置によれば、デッドロック条件検出部11
1によりデッドロック発生の可能性を検出して順序制御
マークフラグ110をセットすることにより、応答FI
FO108から優先的に出力させてデッドロックを回避
することができる。また、応答FIFO108に入力時
の要求FIFO114への書込みポインタ113の値を
保持しておくことにより、要求FIFO114と応答F
IFO108との間のメッセージの追い越しを防止する
ことができる。
As described above, according to the message control device of one embodiment of the present invention, the deadlock condition detecting unit 11
1 detects the possibility of deadlock occurrence and sets the order control mark flag 110, so that the response FI
Deadlock can be avoided by giving priority to output from the FO. In addition, by holding the value of the write pointer 113 to the request FIFO 114 at the time of input in the response FIFO 108, the request FIFO 114 and the response F
It is possible to prevent passing of the message to and from the IFO 108.

【0029】[0029]

【発明の効果】以上の説明で明らかなように、本発明に
よると、デッドロック発生の可能性を検出して応答FI
FO側から優先的に出力させることにより、デッドロッ
クを回避することができる。また、応答FIFO入力時
に要求FIFOへの書込みポインタの値を保持しておく
ことにより、要求FIFOと応答FIFOとの間のメッ
セージの追い越しを防止することができる。
As is apparent from the above description, according to the present invention, the response FI is detected by detecting the possibility of deadlock.
Deadlock can be avoided by giving priority to output from the FO side. Also, by holding the value of the write pointer to the request FIFO when the response FIFO is input, it is possible to prevent the passing of the message between the request FIFO and the response FIFO.

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

【図1】本発明のメッセージ制御装置の一実施例の構成
を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an embodiment of a message control device of the present invention.

【図2】本発明の一実施例のメッセージ制御装置の動作
を表す図である。
FIG. 2 is a diagram illustrating an operation of a message control device according to an embodiment of the present invention.

【図3】本発明の一実施例のメッセージ制御装置の動作
を表す他の図である。
FIG. 3 is another diagram showing the operation of the message control device according to the embodiment of the present invention.

【図4】従来技術によるシステム構成の一例を表す図で
ある。
FIG. 4 is a diagram illustrating an example of a system configuration according to the related art.

【図5】従来技術によるメッセージ制御装置におけるデ
ッドロック発生の状態を表した図である。
FIG. 5 is a diagram showing a state of occurrence of a deadlock in a conventional message control device.

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

101,102 演算処理装置 103 メッセージセレクタ 104 アドレスアレイ 105 受け付けREG 106 受け付けFIFO制御部 107 受け付けFIFO 108 応答FIFO 109 ポインタ比較器 110 順序制御マークフラグ 111 デッドロック条件検出部 112 要求FIFOリードポインタ 113 要求FIFOライトポインタ 114 要求FIFO 115 FIFOセレクタ 116 順序制御信号 117 システムバス出力信号 118 システムバス入力信号 200 システムバス 201,202 中央処理装置 203,204 入出力処理装置 205,206 主記憶装置 701〜704 プロセッサ・メモリ・エレメント 705 クロスバネットワーク 711,712 クロスバネットワークの各ステージ 721〜724 スイッチ 731 要求FIFO 732 応答FIFO 733 メッセージセレクタ 101, 102 Processing unit 103 Message selector 104 Address array 105 Receiving REG 106 Receiving FIFO control unit 107 Receiving FIFO 108 Response FIFO 109 Pointer comparator 110 Order control mark flag 111 Deadlock condition detecting unit 112 Request FIFO read pointer 113 Request FIFO write Pointer 114 Request FIFO 115 FIFO selector 116 Sequence control signal 117 System bus output signal 118 System bus input signal 200 System bus 201, 202 Central processing unit 203, 204 Input / output processing unit 205, 206 Main storage device 701-704 Processor memory Element 705 Crossbar network 711,712 Each stage of the crossbar network 721-724 Switch 731 Request FIFO 732 Response FIFO 733 Message selector

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 15/16-15/177

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のエントリを有して他の装置への
求メッセージを保持する要求バッファと、 複数のエントリを有して他の装置への応答メッセージを
保持する応答バッファと、 複数のエントリを有し他の装置からの要求メッセージ
を保持する受付バッファと、 この受付バッファが満杯になったことを検出する検出手
段と、 前記要求バッファおよび前記応答バッファのいずれかに
保持されているメッセージを選択して当該メッセージの
宛先である他の装置に対して出力する選択器とを含み、 前記選択器は、前記検出手段が前記受付バッファの満杯
状態を検出しない場合には最も早くから前記要求バッフ
ァまたは前記応答バッファに入力されたメッセージを出
力し、前記検出手段が前記受付バッファの満杯状態を検
出した場合には前記応答バッファに保持されているメッ
セージを優先的に出力することを特徴とするメッセージ
制御装置。
1. A response buffer that holds a request buffer for holding a main <br/> determined message to other devices having a plurality of entries, the response message includes a plurality of entries to other devices A reception buffer having a plurality of entries and holding a request message from another device; a detection unit for detecting that the reception buffer has become full; and any of the request buffer and the response buffer of the message by selecting a message that is held
A selector for outputting to another device that is a destination , wherein the selector is input to the request buffer or the response buffer from the earliest when the detection unit does not detect the full state of the reception buffer. A message control unit that outputs a message stored in the response buffer when the detection unit detects a full state of the reception buffer.
【請求項2】 複数のエントリを有して他の装置への
求メッセージを保持する要求バッファと、 複数のエントリを有して他の装置への応答メッセージを
保持する応答バッファと、 この応答バッファの各エントリ毎に設けられて所定の値
がセットされるフラグと、 複数のエントリを有し他の装置からの要求メッセージ
を保持する受付バッファと、 この受付バッファが満杯になったことを検出すると優先
的に出力されるべき旨を示す値を前記フラグの全てに対
してセットする検出手段と、 前記要求バッファおよび前記応答バッファのいずれかに
保持されているメッセージを選択して当該メッセージの
宛先である他の装置に対して出力する選択器とを含み、 前記選択器は、前記応答バッファに最も早く入力された
メッセージに対応するフラグにおいて優先的に出力され
るべき旨を示す値がセットされていない場合には前記
求バッファまたは前記応答バッファに最も早く入力され
たメッセージを出力し、前記応答バッファに最も早く入
力されたメッセージに対応するフラグにおいて優先的に
出力されるべき旨を示す値がセットされている場合には
前記応答バッファに最も早く入力された応答メッセージ
を出力することを特徴とするメッセージ制御装置。
2. A response buffer that holds a request buffer for holding a main <br/> determined message to other devices having a plurality of entries, the response message includes a plurality of entries to other devices And a predetermined value provided for each entry of the response buffer.
Shown but a flag is set, a receiving buffer for storing a request message from another apparatus having a plurality of entries, the effect to be preferentially output to detect that the reception buffer is full Value to all of the above flags
Detecting means for setting the message, and selecting a message held in one of the request buffer and the response buffer to select the message.
A selector for outputting to a destination other device , wherein the selector sets a value indicating that the message is to be preferentially output in a flag corresponding to the message input first in the response buffer. the main <br/> outputs earliest input message to determined buffer or the response buffer is outputted preferentially in flag corresponding to the earliest input message in the response buffer if it is not If the value indicating that it should be set is set
A message control device for outputting a response message input first to said response buffer.
【請求項3】 複数のエントリを有して他の装置への
求メッセージを保持する要求バッファと、 この要求バッファからの読出し位置を示す読出しポイン
タと、 前記要求バッファへの書込み位置を示す書込みポインタ
と、 複数のエントリを有して他の装置への応答メッセージと
ともにそのときの前記書込みポインタの値を保持する応
答バッファと、 この応答バッファの各エントリ毎に設けられて所定の値
がセットされるフラグと、 複数のエントリを有し他の装置からの要求メッセージ
を保持する受付バッファと、 この受付バッファが満杯になったことを検出すると優先
的に出力されるべき旨を示す値を前記フラグの全てに対
してセットする検出手段と、前記 読出しポインタの値と前記応答バッファに保持され
た書込みポインタの値とを比較して一致したエントリに
対応する前記フラグに対して優先的に出力されるべき旨
を示す値をセットする比較手段と、 前記要求バッファおよび前記応答バッファのいずれかに
保持されているメッセージを選択して当該メッセージの
宛先である他の装置に対して出力する選択器とを含み、 前記選択器は、前記応答バッファに最も早く入力された
メッセージに対応するフラグにおいて優先的に出力され
るべき旨を示す値がセットされていない場合には前記
求バッファに最も早く入力された要求メッセージを出力
し、前記応答バッファに最も早く入力されたメッセージ
に対応するフラグにおいて優先的に出力されるべき旨
示す値がセットされている場合には前記応答バッファに
最も早く入力された応答メッセージを出力することを特
徴とするメッセージ制御装置。
3. A request buffer having a plurality of entries and holding a request message to another device, a read pointer indicating a reading position from the request buffer, and writing to the request buffer. A write pointer indicating a position; a response buffer having a plurality of entries and holding the value of the write pointer together with a response message to another device; and a predetermined buffer provided for each entry of the response buffer . value
Shown but a flag is set, a receiving buffer for storing a request message from another apparatus having a plurality of entries, the effect to be preferentially output to detect that the reception buffer is full Value to all of the above flags
A detecting means for setting to, matched entry by comparing the value of the write pointer is held in the response buffer with the value of the read pointer
That priority should be given to the corresponding flag
Comparing means for setting a value indicating the message, and selecting a message held in one of the request buffer and the response buffer and selecting the message
A selector for outputting to a destination other device , wherein the selector sets a value indicating that the message is to be preferentially output in a flag corresponding to the message input first in the response buffer. It is when outputs no earliest entered request message to the main <br/> determined buffer, the effect to be preferentially output in flag corresponding to the earliest input message in the response buffer
Message controller when the value indicated is set and outputs a response message earliest input to the response buffer.
【請求項4】 前記要求バッファ、前記応答バッファ、
および前記受付バッファのそれぞれは、先入れ先出しバ
ッファにより構成されることを特徴とする請求項記載
のメッセージ制御装置。
4. The request buffer, the response buffer,
4. The message control device according to claim 3 , wherein each of the reception buffers is configured by a first-in first-out buffer.
JP7055665A 1995-03-15 1995-03-15 Message control unit Expired - Fee Related JP3068427B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7055665A JP3068427B2 (en) 1995-03-15 1995-03-15 Message control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7055665A JP3068427B2 (en) 1995-03-15 1995-03-15 Message control unit

Publications (2)

Publication Number Publication Date
JPH08249295A JPH08249295A (en) 1996-09-27
JP3068427B2 true JP3068427B2 (en) 2000-07-24

Family

ID=13005159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7055665A Expired - Fee Related JP3068427B2 (en) 1995-03-15 1995-03-15 Message control unit

Country Status (1)

Country Link
JP (1) JP3068427B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490630B1 (en) * 1998-05-08 2002-12-03 Fujitsu Limited System and method for avoiding deadlock in multi-node network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5439503A (en) * 1977-09-05 1979-03-27 Hitachi Ltd Priority selection system in ring transmission line
JPS58182778A (en) * 1982-04-19 1983-10-25 Nec Corp Decentralized processing system
JPS6373459A (en) * 1986-09-17 1988-04-04 Fanuc Ltd Data processing method
JPH01151350U (en) * 1988-04-08 1989-10-19
JP2911931B2 (en) * 1989-12-29 1999-06-28 日本電気株式会社 Data transfer conflict avoidance method in interprocessor communication
JPH05210513A (en) * 1992-01-31 1993-08-20 Nec Corp State monitoring type interruption control system
JP3460090B2 (en) * 1992-04-23 2003-10-27 富士通株式会社 Bus interface control circuit
JP3360856B2 (en) * 1992-12-18 2003-01-07 富士通株式会社 Processor

Also Published As

Publication number Publication date
JPH08249295A (en) 1996-09-27

Similar Documents

Publication Publication Date Title
US5046000A (en) Single-FIFO high speed combining switch
US5781927A (en) Main memory arbitration with priority scheduling capability including multiple priorty signal connections
US6181705B1 (en) System and method for management a communications buffer
US4494190A (en) FIFO buffer to cache memory
KR950033892A (en) Data processing systems
US6170003B1 (en) Apparatus and method for communicating messages between data processing nodes using remote reading of message queues
US5835779A (en) Message transmission among processing units using interrupt control technique
US5944788A (en) Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules
JP3057591B2 (en) Multiprocessor system
JPH07262151A (en) Parallel processor system and packet discarding method suitable therefor
JP3068427B2 (en) Message control unit
US6341313B1 (en) Flow controlling method and apparatus for network between processors
US6625678B1 (en) Livelock avoidance method
JP3005456B2 (en) Vector processing equipment
KR20000006575A (en) system and method for managing buffers using free pointer FIFO&#39;s containing pointers to empty buffers
US5901290A (en) Data transfer apparatus for transferring data fixedly in predetermined time interval without a transmitter checking a signal from a receiver
US5592680A (en) Abnormal packet processing system
EP0141753A2 (en) Adjustable buffer for data communications in data processing system
US6345332B1 (en) Bus interchange apparatus and dual system for accessing a fault information register without regard to buffer conditions
KR100199033B1 (en) Multiple Interrupt Control Units and Methods for the Compromised PCI Bus
US6092125A (en) Method and apparatus for transferring data from devices not supporting burst data transfers in burst mode
US11443783B2 (en) Semiconductor device
JP2926859B2 (en) Parallel processing system
JP3149143B2 (en) Access arbitration method
JP2739949B2 (en) Communication buffer device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000411

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees