JPH07319826A - Multi-processor system - Google Patents

Multi-processor system

Info

Publication number
JPH07319826A
JPH07319826A JP6579695A JP6579695A JPH07319826A JP H07319826 A JPH07319826 A JP H07319826A JP 6579695 A JP6579695 A JP 6579695A JP 6579695 A JP6579695 A JP 6579695A JP H07319826 A JPH07319826 A JP H07319826A
Authority
JP
Japan
Prior art keywords
request
circuit
priority
output
requests
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
JP6579695A
Other languages
Japanese (ja)
Inventor
Yuki Date
結城 伊達
Masanobu Inaba
政信 稲葉
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP6579695A priority Critical patent/JPH07319826A/en
Publication of JPH07319826A publication Critical patent/JPH07319826A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To execute request arbitration having high throughput without forming a gap between requests. CONSTITUTION:A priority determining circuit in a multi-processor system receives requests from respective processors and arbitrates the competition of these requests. The requests from respective processors are inputted to a fixed priority circuit 420 through a selector 410. The circuit 420 selects only one request and the selected result is stored in an output register 430. The stored request is detected by an AND circuit 450 and the detected result is stored in a holding register 440. When the request stored in the register 440 exists, a succeeding request is not selected by the selector 410. On the other hand, plural fixed priority circuits 420 in the multi-processor system can determine mutually different priority values in accordance with the using situation of the system.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はマルチプロセッサシステ
ムに関し、特に各プロセッサからのリクエストを調停す
る優先度決定回路を含むマルチプロセッサシステムに関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor system, and more particularly to a multiprocessor system including a priority determining circuit that arbitrates requests from each processor.

【0002】[0002]

【従来の技術】マルチプロセッサシステムでは、複数の
プロセッサから複数のメモリモジュールに対して、また
は複数のプロセッサ同士で、リクエストを送出する必要
が生じる。たとえば、図1のマルチプロセッサシステム
において、優先度決定回路401〜404は、4つの入
力ポートからのリクエスト信号の内からいずれか一つを
選択した信号を出力ポートに出力する。これにより、セ
レクタ501〜504において4つのリクエストの内か
らいずれか一つが選択される。この場合、優先度決定回
路401〜404において、どのように各リクエストを
調停するかについて、従来から種々の方法が提案されて
いる。
2. Description of the Related Art In a multiprocessor system, it becomes necessary to send a request from a plurality of processors to a plurality of memory modules or between a plurality of processors. For example, in the multiprocessor system of FIG. 1, the priority determination circuits 401 to 404 output to the output port a signal in which any one of the request signals from the four input ports is selected. As a result, any one of the four requests is selected by the selectors 501 to 504. In this case, various methods have been conventionally proposed for arbitrating each request in the priority determination circuits 401 to 404.

【0003】最も原始的なものとして、入力ポートに対
して固定的な優先度を与えておいて、常にこの優先度に
従って調停をする固定優先度方式がある。この固定優先
度方式では、常に特定の入力ポートが優遇されてしま
い、システム全体のスループットが向上しないという問
題がある。この場合、たとえば、図6に示すような固定
優先回路が使用される。
The most primitive one is a fixed priority method in which a fixed priority is given to an input port and arbitration is always performed according to this priority. In this fixed priority method, a particular input port is always preferentially treated, and there is a problem that the throughput of the entire system is not improved. In this case, for example, a fixed priority circuit as shown in FIG. 6 is used.

【0004】また、各入力ポートの優先順位をサイクリ
ックに変更していくものとして、ラウンドロビン方式が
ある。このラウンドロビン方式によれば、優先度を入れ
換えていくための回路のために、ハードウェアが量が多
くなってしまうという問題がある。さらに深刻なことに
は、複数のリクエストについてリクエストの追い越しが
頻繁に生じてしまうという問題がある。
Further, there is a round robin method as a method for cyclically changing the priority of each input port. According to this round robin method, there is a problem that the amount of hardware increases due to the circuit for changing the priority. More seriously, there is a problem that requests are frequently overtaken for multiple requests.

【0005】これらの問題を解決するために、例えば、
米国特許番号4,991,084号では、リクエストの
追い越しが発生しないように、一度受け付けられたリク
エスト群が全て出力されたことを確認した上で、次のリ
クエストを受け付けるようにした技術が記載されてい
る。すなわち、図7を参照すると、図1における優先度
決定回路401〜404のそれぞれは、入力されたリク
エスト群を保持するレジスタ930と、このレジスタ9
30に未出力のリクエストが残っていることを検出する
否定論理和ゲート960と、固定的に優先度を与えて各
リクエストを調停する固定優先度調停回路920と、残
っているリクエストがないことを否定論理和ゲート96
0によって検出すると入力ポートから新たなリクエスト
群を取り込む論理積ゲート950とを有している。レジ
スタ930に保持されたリクエストは、調停を受けて出
力されるとリセットされる。これにより、同時に保持さ
れたリクエストの全てが出力されるまで、後続のリクエ
ストはレジスタ930に入ることはできない。すなわ
ち、異なるタイミングで発生したリクエスト同士の間で
は追い越しが生じることがない。
In order to solve these problems, for example,
U.S. Pat. No. 4,991,084 describes a technique for confirming that all the requests that have been accepted once have been output and then accepting the next request so that overtaking of requests does not occur. ing. That is, referring to FIG. 7, each of the priority determination circuits 401 to 404 in FIG. 1 includes a register 930 that holds the input request group and this register 9
A NOR gate 960 that detects that there is a request that has not been output, a fixed priority arbitration circuit 920 that arbitrates each request by giving a fixed priority, and that there are no remaining requests. NOR gate 96
When it is detected by 0, it has a logical product gate 950 which fetches a new request group from the input port. The request held in the register 930 is reset when it is output after being arbitrated. This prevents subsequent requests from entering register 930 until all of the simultaneously held requests have been output. That is, overtaking does not occur between requests that occur at different timings.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、上述の
従来技術では、以下に述べるような問題が生じる。
However, the above-mentioned conventional technique has the following problems.

【0007】図7および図8を参照すると、時刻T1で
ポート1とポート3においてリクエストが発生したとす
ると、次のT2ではそのリクエスト信号がレジスタ93
0に保持される。そして、固定優先度調停回路920に
よってポート1のリクエストが選択されて、出力ポート
1のみに「1」が、他のポートには「0」が出力され
る。したがって、ポート3からのリクエストは保留され
て、次のT3で出力される。
Referring to FIGS. 7 and 8, if a request is issued at port 1 and port 3 at time T1, the request signal is sent to register 93 at the next T2.
It is held at 0. Then, the request of the port 1 is selected by the fixed priority arbitration circuit 920, and “1” is output only to the output port 1 and “0” is output to the other ports. Therefore, the request from the port 3 is held and output at the next T3.

【0008】T3においてポート3からのリクエストが
出力されると、レジスタ930の値が全て「0」とな
る。従って、T4における出力は全て「0」である。否
定論理和ゲート960は、その旨を論理積950に伝え
る。これによって、T2から入力されていたポート2の
リクエストがT5においてレジスタ930に取り込まれ
て、競合なく出力される。
When a request from the port 3 is output at T3, all the values in the register 930 become "0". Therefore, the outputs at T4 are all "0". The NOR gate 960 informs the logical product 950 accordingly. As a result, the request of port 2 input from T2 is fetched in the register 930 at T5 and output without conflict.

【0009】この動作を考察すると、ポート2からのリ
クエストがT2から入力されていたにも拘わらず、T4
ではリクエストが全く発行されていない。この原因は、
レジスタ930の値に基づいて後続のリクエストを受け
とるべきかを判断していることにある。
Considering this operation, even though the request from port 2 was input from T2, T4
So no request has been issued. The cause is
It is based on the value of the register 930 to determine whether to receive the subsequent request.

【0010】また、他の問題として挙げられるのは、各
優先度決定回路401〜404において、固定優先回路
920が同一の優先順序に従うものとして定められてい
ることである。すなわち、優先度決定回路401〜40
4の全てにおいて特定の入力ポートを優先的に扱うこと
により、リクエストの処理に不均衡が生じることにな
る。したがって、システム全体の性能が向上しないとい
う問題が発生する。
Another problem is that, in each of the priority determining circuits 401 to 404, the fixed priority circuit 920 is set to follow the same priority order. That is, the priority determination circuits 401 to 40
By preferentially treating a specific input port in all four, an imbalance occurs in the processing of requests. Therefore, there arises a problem that the performance of the entire system is not improved.

【0011】本発明の目的は、上述した問題点を解決
し、リクエスト間の隙間を空けずに、スループットの高
いリクエスト調停を行うことにある。
An object of the present invention is to solve the above problems and perform request arbitration with high throughput without leaving a gap between requests.

【0012】また、本発明の他の目的は、各入力ポート
からのリクエストが極力均等に処理されるようにリクエ
スト調停を行うことにある。
Another object of the present invention is to perform request arbitration so that requests from each input port are processed as evenly as possible.

【0013】[0013]

【課題を解決するための手段】上記課題を解決するため
に本発明のマルチプロセッサシステムは、複数のプロセ
ッサと、前記プロセッサからのリクエストが出力される
複数のポートと、前記プロセッサからのリクエストを前
記複数のポートごとに調停する複数の優先度決定回路を
有するマルチプロセッサシステムであって、前記複数の
優先度決定回路の各々は、前記プロセッサからのリクエ
ストの一つをある固定優先順位に従って選択する固定優
先回路と、前記固定優先回路によって選択されずに保留
されたリクエストを検出してその検出結果を保持する保
留回路と、前記保留回路に保留されたリクエストがある
と新たなリクエストを前記プロセッサから受け取らない
セレクタとを含む。
In order to solve the above problems, a multiprocessor system of the present invention provides a plurality of processors, a plurality of ports to which requests from the processors are output, and a request from the processors. A multiprocessor system having a plurality of priority determining circuits arbitrating for a plurality of ports, wherein each of the plurality of priority determining circuits selects a request from the processor according to a fixed priority. A priority circuit, a holding circuit that detects a request that is not selected by the fixed priority circuit and holds the detection result, and a new request that is held in the holding circuit, receives a new request from the processor. Including with no selector.

【0014】また、本発明の他のマルチプロセッサシス
テムにおいて、前記保留回路は、前記固定優先回路によ
って選択されずに保留されたリクエストを検出する第1
の検出回路と、前記第1の検出回路により検出された結
果を保持する保留レジスタと、前記保留レジスタに残さ
れているリクエストがあることを検出する第2の検出回
路とをさらに含む。
Further, in another multiprocessor system of the present invention, the holding circuit detects a request which is held without being selected by the fixed priority circuit.
Further includes a detection circuit of No. 3, a holding register that holds the result detected by the first detection circuit, and a second detection circuit that detects that there is a request remaining in the holding register.

【0015】また、本発明の他のマルチプロセッサシス
テムにおいて、前記セレクタは、前記第2の検出回路に
よって前記保留レジスタにリクエストが残されている旨
判断された場合には前記保留レジスタの出力を選択し、
前記第2の検出回路によって前記保留レジスタにリクエ
ストが残されていない旨判断された場合には前記プロセ
ッサからの新たなリクエストを選択する。
Further, in another multiprocessor system of the present invention, the selector selects the output of the holding register when the second detection circuit determines that a request remains in the holding register. Then
When the second detection circuit determines that no request remains in the holding register, a new request from the processor is selected.

【0016】また、本発明の他のマルチプロセッサシス
テムにおいて、前記複数の優先度決定回路の各々の固定
優先回路は、相互に同一の固定的な優先順位に従って前
記プロセッサからのリクエストの一つを選択する。
Further, in another multiprocessor system of the present invention, each of the fixed priority circuits of the plurality of priority determination circuits selects one of the requests from the processors in accordance with the same fixed priority order. To do.

【0017】また、本発明の他のマルチプロセッサシス
テムにおいて、前記複数の優先度決定回路の各々の固定
優先回路は、相互に異なる固定的な優先順位に従って前
記プロセッサからのリクエストの一つを選択する。
Further, in another multiprocessor system of the present invention, each of the fixed priority circuits of the plurality of priority determination circuits selects one of requests from the processor according to a fixed priority order different from each other. .

【0018】[0018]

【実施例】次に本発明のマルチプロセッサシステムの一
実施例について図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the multiprocessor system of the present invention will now be described in detail with reference to the drawings.

【0019】図1を参照すると、本発明が適用されるマ
ルチプロセッサシステムは、4つのプロセッサ101〜
104と、それぞれの入力バッファ201〜204と、
それぞれの行き先アドレスをデコードするデコーダ30
1〜304と、出力ポートにおける競合を調停する優先
度決定回路401〜404と、優先度決定回路401〜
404の出力に従って入力バッファ201〜204から
のリクエストを選択するセレクタ501〜504とを有
している。4つのプロセッサ101〜104からのリク
エストは、行き先アドレスと共に、それぞれ入力バッフ
ァ201〜204に入力される。そして、各行き先アド
レスはデコーダ301〜304によってデコードされて
リクエスト信号として各行き先の優先度決定回路401
〜404に出力される。優先度決定回路401〜404
は、デコーダ301〜304によって入力ポートに与え
られたリクエスト信号に基づいて、一つのリクエストを
選んでそれぞれ対応するセレクタ501〜504に制御
信号として与える。セレクタ501〜504は、優先度
決定回路401〜404からの制御信号に従って、入力
バッファ201〜204からのリクエストを出力する。
セレクタ501〜504の出力結果は、メモリモジュー
ルに接続される場合もあれば、プロセッサに接続される
場合もある。
Referring to FIG. 1, a multiprocessor system to which the present invention is applied has four processors 101 to 101.
104 and the respective input buffers 201-204,
Decoder 30 that decodes each destination address
1 to 304, priority determining circuits 401 to 404 for arbitrating contention in the output port, and priority determining circuits 401 to
It has selectors 501 to 504 for selecting requests from the input buffers 201 to 204 according to the output of 404. The requests from the four processors 101 to 104 are input to the input buffers 201 to 204 together with the destination addresses. Then, each destination address is decoded by the decoders 301 to 304, and as a request signal, the priority determination circuit 401 of each destination.
To 404. Priority decision circuits 401-404
On the basis of the request signals given to the input ports by the decoders 301 to 304, one request is selected and given to the corresponding selectors 501 to 504 as a control signal. The selectors 501 to 504 output the requests from the input buffers 201 to 204 according to the control signals from the priority determination circuits 401 to 404.
The output results of the selectors 501 to 504 may be connected to the memory module or the processor.

【0020】プロセッサ101〜104は、メモリアク
セスリクエストや他のプロセッサへのデータ転送リクエ
ストを、それぞれ対応する入力バッファ201〜204
に出力する。入力バッファ201〜204は、先入れ先
出しバッファとして構成されている。従って、先頭に保
持されたリクエストから順に出力されていく。先行のリ
クエストが保留された場合などには、この入力バッファ
201〜204で後続のリクエストが待機する。
The processors 101 to 104 send memory access requests and data transfer requests to other processors to the corresponding input buffers 201 to 204.
Output to. The input buffers 201 to 204 are configured as first-in first-out buffers. Therefore, the requests held at the beginning are sequentially output. When the preceding request is suspended, the subsequent request waits in the input buffers 201 to 204.

【0021】デコーダ301〜304は2ビットの行き
先アドレスを4ビットにデコードする。デコードされた
信号は1本づつ、対応する出力ポートの優先度決定回路
401〜404に入力される。
The decoders 301 to 304 decode the 2-bit destination address into 4-bit. The decoded signals are input to the priority determining circuits 401 to 404 of the corresponding output ports one by one.

【0022】セレクタ501〜504は、4入力1出力
のセレクタである。入力バッファ201〜204からの
リクエストのビット幅に相当するビット幅を有してい
る。
The selectors 501 to 504 are 4-input 1-output selectors. It has a bit width corresponding to the bit width of the requests from the input buffers 201 to 204.

【0023】図2を参照すると、優先度決定回路401
〜404の各々は、セレクタ410と、このセレクタ4
10の出力結果を調停する固定優先回路420と、この
固定優先回路420の出力を保持する出力レジスタ43
0と、固定優先回路420によって保留されたリクエス
トを検出する論理積回路450と、論理積回路450の
出力を保持する保留レジスタ440と、保留レジスタ4
40にリクエストが保留されているか否かを検出する論
理和回路460とを有している。
Referring to FIG. 2, the priority determination circuit 401
To 404 are the selector 410 and the selector 4
Fixed priority circuit 420 for arbitrating the output result of 10 and output register 43 for holding the output of fixed priority circuit 420
0, a logical product circuit 450 that detects a request pending by the fixed priority circuit 420, a pending register 440 that holds the output of the logical product circuit 450, and a pending register 4
40 and a logical sum circuit 460 for detecting whether or not a request is held.

【0024】なお、ここでは、「セレクタ410」等の
符号を使用して説明するが、特定の優先度決定回路にお
ける構成について限定的に言及する場合には、最下位数
字によって特定することとする。例えば、優先度決定回
路401内のセレクタ410について特定する場合に
は、「セレクタ411」とする。
Here, the description will be made by using the symbols such as "selector 410", but when the configuration in a specific priority determining circuit is limitedly referred to, it is specified by the lowest number. . For example, when specifying the selector 410 in the priority determination circuit 401, the “selector 411” is set.

【0025】セレクタ410の入力の一方は、デコーダ
301〜304からの計4ビットのリクエスト信号であ
り、もう一方は保留レジスタ440の4ビットの出力で
ある。いずれの入力を出力するかは論理和回路460の
出力によって決定する。すなわち、保留レジスタ440
の少なくとも1ビットが「1」であれば論理和回路46
0の出力が「1」となり、この場合には保留レジスタ4
40の値がセレクタ410から出力される。一方、保留
レジスタ440の全てのビットが「0」であれば論理和
回路460の出力が「0」となり、この場合にはデコー
ダ301〜304からのリクエストがセレクタ410か
ら出力される。
One of the inputs of the selector 410 is a 4-bit request signal from the decoders 301 to 304, and the other is a 4-bit output of the holding register 440. Which input is output is determined by the output of the OR circuit 460. That is, the holding register 440
If at least 1 bit of the OR is "1", the OR circuit 46
The output of 0 becomes "1", and in this case, the holding register 4
The value of 40 is output from the selector 410. On the other hand, if all the bits of the holding register 440 are “0”, the output of the OR circuit 460 is “0”, and in this case, the requests from the decoders 301 to 304 are output from the selector 410.

【0026】固定優先回路420は、セレクタ410の
4ビットの出力の内、多くとも1ビットが「1」となる
ように、調停する。すなわち、入力データのうち、全て
のビットが「0」であるか、1ビットのみが「1」であ
る場合には、入力データをそのまま出力する。また、入
力データのうち、複数のビットが「1」である場合に
は、「1」であるビットのいずれか1ビットのみを選択
して、他の全てのビットを「0」とする。このような固
定優先回路の一例は、例えば図6により与えられる。図
6において、上部にあるビットが優先的に選択される。
すなわち、この固定優先回路に上部から順に[011
0]なるデータを与えると、3ビット目の「1」が論理
積回路によりマスクされて、[0100]なるデータが
出力される。
The fixed priority circuit 420 arbitrates so that at most 1 bit of the 4-bit output of the selector 410 becomes "1". That is, when all the bits of the input data are “0” or only one bit is “1”, the input data is output as it is. When a plurality of bits are "1" in the input data, only one of the bits that is "1" is selected and all other bits are set to "0". An example of such a fixed priority circuit is given, for example, by FIG. In FIG. 6, the upper bit is selected preferentially.
In other words, [011
When the data [0] is given, the third bit "1" is masked by the AND circuit, and the data [0100] is output.

【0027】出力レジスタ430は、上述のようにして
固定優先回路420によって調停された結果を保持す
る。この出力レジスタ431〜434の出力は、それぞ
れセレクタ501〜504の制御信号として使用され
る。
The output register 430 holds the result arbitrated by the fixed priority circuit 420 as described above. The outputs of the output registers 431 to 434 are used as control signals of the selectors 501 to 504, respectively.

【0028】論理積回路450は、固定優先回路420
によって保留されたリクエストを検出する。すなわち、
固定優先回路420の出力の反転信号と固定優先回路4
20の入力信号との論理積をとることによって、選択さ
れずに残されたリクエスト信号を出力する。
The logical product circuit 450 is a fixed priority circuit 420.
Detects requests pending by. That is,
Inversion signal of output of fixed priority circuit 420 and fixed priority circuit 4
The request signal left unselected is output by taking the logical product of 20 input signals.

【0029】この論理積回路450の出力は保留レジス
タ440に保持され、次のサイクルにおいて調停され得
る。すなわち、保留レジスタ440のうち少なくとも1
ビットが「1」であれば、セレクタ410で保留レジス
タ440の出力が選択されるので、後続のリクエストは
受け付けられずに、保留されているリクエストが優先し
て処理される。
The output of the AND circuit 450 is held in the hold register 440 and can be arbitrated in the next cycle. That is, at least one of the holding registers 440
If the bit is "1", the output of the holding register 440 is selected by the selector 410, so that the subsequent request is not accepted and the held request is preferentially processed.

【0030】このような構成により、従来技術の問題点
の一つが解決されることを以下に示す。
It will be shown below that one of the problems of the prior art is solved by such a configuration.

【0031】図2および図3を参照すると、時刻T1に
おいてセレクタ410に入力されたリクエストの値[1
010]は、第1ポートと第3ポートにリクエストがあ
ることを意味する。保留レジスタ440の内容が全て
「0」であったと仮定すると、T1におけるリクエスト
はセレクタ410により選択される。また、固定優先回
路420では、第1ポート>第2ポート>第3ポート>
第4ポートの順に高い優先度が定められているものとす
ると、第1ポートが選択されて、T2において、出力レ
ジスタ430に値[1000]が、保留レジスタ440
に値[0010]が保持される。
Referring to FIGS. 2 and 3, the request value [1 [1] input to the selector 410 at time T1.
010] means that there is a request at the first port and the third port. Assuming that the contents of the hold register 440 are all "0", the request at T1 is selected by the selector 410. In the fixed priority circuit 420, the first port> the second port> the third port>
Assuming that the higher priority is set in the order of the fourth port, the first port is selected, and the value [1000] is set in the output register 430 and the holding register 440 is set at T2.
Holds the value [0010].

【0032】このとき、保留レジスタ440の出力に
「1」を含むことから、セレクタ410において保留レ
ジスタ440の値が選択される。この場合、保留レジス
タの値が[0010]であることから、T3において、
出力レジスタ430に[0010]が、保留レジスタ4
40に[0000]がそれぞれ保持される。
At this time, since the output of the hold register 440 includes "1", the value of the hold register 440 is selected by the selector 410. In this case, since the value of the holding register is [0010], at T3,
[0010] is held in the output register 430 by the holding register 4.
40 holds [0000].

【0033】このときには、保留レジスタ440が[0
000]であることから、T3では入力リクエストが選
択される。従って、T4において、後続のリクエスト
[0100]が出力レジスタ430に保持される。
At this time, the holding register 440 is set to [0
000], the input request is selected in T3. Therefore, at T4, the subsequent request [0100] is held in the output register 430.

【0034】上記図3の本発明の一実施例による調停タ
イミングを、図8の従来技術によるものと比較すると、
従来技術ではT4における出力が[0000]となって
1サイクル分リクエスト発行に空きができてしまってい
るのに対し、本発明ではT4において後続のリクエスト
[0100]を発行している。この原因は、従来技術で
はレジスタ930に保持された結果によって判断してい
ることにある。一方、本発明では、保留レジスタ440
に残されたリクエストによって判断しているため、その
残されたリクエストをそのまま調停して次に発行できる
リクエストを選択できる。
Comparing the arbitration timing according to the embodiment of the present invention shown in FIG. 3 with the prior art shown in FIG.
In the prior art, the output at T4 is [0000], and there is a vacancy in issuing a request for one cycle, whereas in the present invention, the subsequent request [0100] is issued at T4. The cause of this is that in the prior art, the judgment is made based on the result held in the register 930. On the other hand, in the present invention, the holding register 440
Since the determination is made based on the remaining request, it is possible to arbitrate the remaining request and select the next request that can be issued.

【0035】次に、本発明のマルチプロセッサシステム
における優先度決定回路の他の特徴について説明する。
Next, another feature of the priority determining circuit in the multiprocessor system of the present invention will be described.

【0036】図1のマルチプロセッサシステムの優先度
決定回路401〜404において、図2の固定優先回路
421〜424は、各優先度決定回路毎に独立に優先度
を定めることができる。例えば、一例としては、固定優
先回路421〜424の全てについて、図6の回路のよ
うに、第1ポート>第2ポート>第3ポート>第4ポー
トの順に高い優先度を定めることが考えられる。また、
他の例として、固定優先回路421には、第1ポート>
第2ポート>第3ポート>第4ポートの順に高い優先度
を定め、固定優先回路422には、第2ポート>第3ポ
ート>第4ポート>第1ポートの順に高い優先度を定
め、固定優先回路423には、第3ポート>第4ポート
>第1ポート>第2ポートの順に高い優先度を定め、固
定優先回路424には、第4ポート>第1ポート>第2
ポート>第3ポートの順に高い優先度を定めることも考
えられる。特にこの後者の方法(以下、「固定的巡回割
当て」という)によれば、各入力ポートに対してより公
平に優先度を付与することができる。
In the priority determination circuits 401 to 404 of the multiprocessor system shown in FIG. 1, the fixed priority circuits 421 to 424 shown in FIG. 2 can set the priority independently for each priority determination circuit. For example, as an example, it is conceivable that, for all of the fixed priority circuits 421 to 424, as in the circuit of FIG. 6, a high priority is set in the order of first port> second port> third port> fourth port. . Also,
As another example, the fixed priority circuit 421 has a first port>
A high priority is set in the order of second port> third port> fourth port, and a high priority is set in the fixed priority circuit 422 in the order of second port> third port> fourth port> first port and fixed. The priority circuit 423 defines a high priority in the order of third port> fourth port> first port> second port, and the fixed priority circuit 424 includes fourth port> first port> second.
It is also possible to set a high priority in the order of port> third port. Particularly, according to the latter method (hereinafter, referred to as “fixed cyclic assignment”), it is possible to impart a fairer priority to each input port.

【0037】まず、図4を参照して、全ての固定優先回
路421〜424について第1ポート>第2ポート>第
3ポート>第4ポートの順に高い優先度を定めた場合の
動作について説明する。図4において、例えば”C[3
→1]”とあるのは、”第3のプロセッサ103から第
1の出力先601に出力されるリクエストC”を表す。
また、各入力において、1段目の信号はプロセッサから
のリクエストを表す。2段目の信号は入力バッファの先
頭に保持されているリクエストを表す。3段目の信号は
入力バッファの先頭から2番目に保持されているリクエ
ストを表す。
First, with reference to FIG. 4, an operation in the case where a high priority is set in the order of first port> second port> third port> fourth port for all the fixed priority circuits 421 to 424 will be described. . In FIG. 4, for example, "C [3
“→ 1]” represents “request C output from the third processor 103 to the first output destination 601”.
Further, in each input, the signal in the first stage represents a request from the processor. The signal in the second stage represents the request held at the head of the input buffer. The signal in the third row represents the request held second from the head of the input buffer.

【0038】時刻T1において、第1のプロセッサから
リクエストA、第2のプロセッサからリクエストB、第
3のプロセッサからリクエストC、第4のプロセッサか
らリクエストDが入力されると、リクエストAとリクエ
ストCとが同一の第1の出力先を有するため、競合が発
生し、優先度決定回路401において両リクエストが調
停される。ここでは、第1ポートからの入力の方が優先
度が高いため、T2においてはリクエストAが第1の出
力先601に出力される。リクエストCは入力バッファ
203に一旦保持され、1サイクル遅れてT3で出力さ
れる。
At time T1, when the request A is input from the first processor, the request B is input from the second processor, the request C is input from the third processor, and the request D is input from the fourth processor, request A and request C are input. Have the same first output destination, contention occurs, and both requests are arbitrated in the priority determination circuit 401. Here, since the input from the first port has a higher priority, the request A is output to the first output destination 601 at T2. The request C is temporarily held in the input buffer 203 and output at T3 with a delay of one cycle.

【0039】時刻T2では、リクエストEとリクエスト
Fとが第2ポートにおいて競合し、第1ポートからのリ
クエストEが優先されてT3で出力される。リクエスト
Fは入力バッファ202に一旦保持され、1サイクル遅
れてT4で出力される。また、入力ポートの第3ポート
では入力バッファ203の先頭にリクエストCが保持さ
れていることから、リクエストGは出力の対象とはなら
ず、T3において入力バッファ203の先頭に保持され
る。
At time T2, request E and request F compete for each other at the second port, and request E from the first port is prioritized and output at T3. The request F is once held in the input buffer 202 and is output at T4 with a delay of one cycle. Further, since the request C is held at the head of the input buffer 203 at the third port of the input ports, the request G is not an output target and is held at the head of the input buffer 203 at T3.

【0040】時刻T3では、第1ポートからのリクエス
トIと第3ポートの入力バッファ203のリクエストG
とが第3ポートにおいて競合し、第1ポートからのリク
エストIが優先される。リクエストGは入力バッファ2
03に保持され続け、T5で出力される。このリクエス
トGが入力バッファ203に保持されているため、リク
エストKは出力の対象とはならず、T4において入力バ
ッファ203の先頭から2番目に保持される。
At time T3, the request I from the first port and the request G from the input buffer 203 of the third port
Compete with each other at the third port, and the request I from the first port has priority. Request G is input buffer 2
It is kept held at 03 and output at T5. Since this request G is held in the input buffer 203, the request K is not an output target, and is held second at the beginning of the input buffer 203 at T4.

【0041】時刻T4では、第1ポートからのリクエス
トMと第2ポートの入力バッファ202のリクエストJ
とが第4ポートにおいて競合し、第1ポートからのリク
エストMが優先される。リクエストJは入力バッファ2
02に保持され続け、T6で出力される。
At time T4, the request M from the first port and the request J from the input buffer 202 of the second port.
Compete with each other at the fourth port, and the request M from the first port is prioritized. Request J is input buffer 2
It is kept held at 02 and is output at T6.

【0042】このようにして各リクエストが順次出力さ
れて、時刻T7でリクエストA〜Pが全て出力される。
In this way, each request is sequentially output, and all the requests A to P are output at time T7.

【0043】次に、図5を参照して、上述した固定的巡
回割当てにより優先度を定めた場合の動作について説明
する。
Next, with reference to FIG. 5, the operation when the priority is determined by the fixed cyclic allocation described above will be described.

【0044】時刻T1において、第1のプロセッサから
リクエストA、第2のプロセッサからリクエストB、第
3のプロセッサからリクエストC、第4のプロセッサか
らリクエストDが入力されると、リクエストAとリクエ
ストCとが同一の第1ポートを出力ポートとするため、
競合が発生し、優先度決定回路401において両リクエ
ストが調停される。ここでは、第1ポートからの入力の
方が優先度が高いため、T2においてはリクエストAが
第1の出力先601に出力される。リクエストCは入力
バッファ203に一旦保持され、1サイクル遅れてT3
で出力される。
At time T1, the request A is input from the first processor, the request B is input from the second processor, the request C is input from the third processor, and the request D is input from the fourth processor. The same first port as the output port,
Contention occurs, and both requests are arbitrated in the priority determination circuit 401. Here, since the input from the first port has a higher priority, the request A is output to the first output destination 601 at T2. The request C is temporarily held in the input buffer 203 and is delayed by one cycle to T3.
Is output with.

【0045】時刻T2では、リクエストEとリクエスト
Fとが第2ポートにおいて競合する。固定的巡回割当て
では、出力ポートの第2ポートにおいては、入力ポート
の第2ポートの方が第1ポートよりも優先度が高いた
め、第2ポートからのリクエストFが優先されてT3で
出力される。リクエストEは入力バッファ201に一旦
保持され、1サイクル遅れてT4で出力される。また、
入力ポートの第3ポートでは入力バッファ203の先頭
にリクエストCが保持されていることから、リクエスト
Gは出力の対象とはならず、T3において入力バッファ
203の先頭に保持される。
At time T2, request E and request F compete for each other at the second port. In the fixed cyclic allocation, in the second port of the output ports, the second port of the input ports has a higher priority than the first port, so the request F from the second port is prioritized and output at T3. It The request E is temporarily held in the input buffer 201 and output at T4 with a delay of one cycle. Also,
Since the request C is held at the head of the input buffer 203 at the third port of the input ports, the request G is not an output target and is held at the head of the input buffer 203 at T3.

【0046】時刻T3では、入力ポートの第1ポートに
おいてリクエストEが入力バッファ201の先頭に保持
されていることから、リクエストIは出力の対象になら
ない。従って、この時刻T3では各リクエスト間での競
合が発生しない。
At time T3, since the request E is held at the head of the input buffer 201 in the first port of the input ports, the request I is not output. Therefore, at this time T3, no competition occurs between the requests.

【0047】同様に時刻T4でも、入力ポートの第1ポ
ートにおいてリクエストIが入力バッファ201の先頭
に保持されていることから、リクエストMは出力の対象
にならない。従って、この時刻T4でも各リクエスト間
での競合が発生しない。
Similarly, at time T4, the request I is not output because the request I is held at the head of the input buffer 201 in the first port of the input ports. Therefore, even at this time T4, no competition occurs between the requests.

【0048】このようにして各リクエストが順次出力さ
れて、時刻T6でリクエストA〜Pが全て出力される。
In this way, each request is sequentially output, and at time T6, all the requests A to P are output.

【0049】ここで、図4と図5を比較すると、優先度
決定回路401〜404の固定優先回路421〜424
の優先度を全て同一として定めた図4に比べて、固定的
巡回割当てにより優先度を定めた図5の方がシステム全
体の性能が向上していることが理解できる。但し、この
例では比較的均等なリクエストが発生した場合であるこ
とに注意する必要がある。入力ポートの第1ポートから
のリクエストが極度に多い場合には、固定優先回路42
1〜424の優先度を全て同一として定めた方が高い性
能を示す可能性がある。
Here, comparing FIG. 4 with FIG. 5, fixed priority circuits 421 to 424 of the priority determination circuits 401 to 404 are shown.
It can be understood that the performance of the entire system is improved in FIG. 5 in which the priorities are set by the fixed cyclic allocation, as compared with FIG. 4 in which all the priorities are set as the same. However, it should be noted that in this example, relatively even requests occur. When the number of requests from the first port of the input ports is extremely large, the fixed priority circuit 42
Higher performance may be exhibited if the priority levels 1 to 424 are all set to be the same.

【0050】このように、本発明の一実施例であるマル
チプロセッサシステムによれば、固定優先回路420に
より選択されずに残されたリクエストを保留レジスタ4
40に保持しておくことにより、保留されているリクエ
ストを優先して処理することができる。また、固定優先
回路420において固定的巡回割当て方式を採用したこ
とにより、各入力ポートに対して公平に優先度を付与す
ることができる。
As described above, according to the multiprocessor system according to the embodiment of the present invention, the request left unselected by the fixed priority circuit 420 is retained in the holding register 4.
By holding in 40, the pending request can be processed with priority. Further, by adopting the fixed cyclic allocation method in the fixed priority circuit 420, the priority can be imparted to each input port fairly.

【0051】[0051]

【発明の効果】以上の説明で明らかなように、本発明に
よると、リクエストを隙間なく出力するように調停する
ことができる。また、各プロセッサからのリクエストを
均等に調停することにより、システム全体の性能を向上
させるという効果がある。
As is apparent from the above description, according to the present invention, it is possible to arbitrate so that requests can be output without a gap. Further, by arbitrating the requests from each processor evenly, there is an effect that the performance of the entire system is improved.

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

【図1】本発明のマルチプロセッサシステムの一実施例
の構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of an embodiment of a multiprocessor system of the present invention.

【図2】本発明の一実施例における優先度決定回路の構
成を示す図である。
FIG. 2 is a diagram showing a configuration of a priority determination circuit according to an embodiment of the present invention.

【図3】本発明の一実施例における優先度決定回路の一
実施例によるリクエスト調停のタイミングを示す図であ
る。
FIG. 3 is a diagram showing timing of request arbitration according to an embodiment of a priority determination circuit in an embodiment of the present invention.

【図4】本発明における優先度決定回路の一実施例によ
る処理の一例を示すタイムチャートである。
FIG. 4 is a time chart showing an example of processing by an embodiment of the priority determination circuit of the present invention.

【図5】本発明における優先度決定回路の一実施例によ
る処理の他の一例を示すタイムチャートである。
FIG. 5 is a time chart showing another example of processing by an embodiment of the priority determination circuit of the present invention.

【図6】固定優先度による調停回路の一例を示す図であ
る。
FIG. 6 is a diagram illustrating an example of an arbitration circuit with fixed priority.

【図7】従来技術による優先度決定回路を示す図であ
る。
FIG. 7 is a diagram showing a priority determination circuit according to a conventional technique.

【図8】従来技術によるリクエスト調停のタイミングを
示す図である。
FIG. 8 is a diagram showing a timing of request arbitration according to a conventional technique.

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

101〜104 プロセッサ 201〜204 入力バッファ 301〜304 デコーダ 401〜404 優先度決定回路 410 セレクタ 420 固定優先回路 430 出力レジスタ 440 保留レジスタ 450 論理積回路 460 論理和回路 501〜504 セレクタ 101-104 processor 201-204 input buffer 301-304 decoder 401-404 priority determination circuit 410 selector 420 fixed priority circuit 430 output register 440 hold register 450 logical product circuit 460 logical sum circuit 501-504 selector

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサと、前記プロセッサか
らのリクエストが出力される複数のポートと、前記プロ
セッサからのリクエストを前記複数のポートごとに調停
する複数の優先度決定回路を有するマルチプロセッサシ
ステムにおいて、 前記複数の優先度決定回路の各々は、前記プロセッサか
らのリクエストの一つをある固定優先順位に従って選択
する固定優先回路と、前記固定優先回路によって選択さ
れずに保留されたリクエストを検出してその検出結果を
保持する保留回路と、前記保留回路に保留されたリクエ
ストがあると新たなリクエストを前記プロセッサから受
け取らないセレクタとを含むことを特徴とするマルチプ
ロセッサシステム。
1. A multiprocessor system comprising: a plurality of processors; a plurality of ports to which requests from the processors are output; and a plurality of priority determining circuits that arbitrate requests from the processors for the plurality of ports. , Each of the plurality of priority determination circuits detects a fixed priority circuit that selects one of the requests from the processor according to a fixed priority order and a request that is not selected by the fixed priority circuit and is held. A multiprocessor system comprising: a holding circuit that holds the detection result; and a selector that does not receive a new request from the processor when there is a pending request in the holding circuit.
【請求項2】 前記保留回路は、前記固定優先回路によ
って選択されずに保留されたリクエストを検出する第1
の検出回路と、前記第1の検出回路により検出された結
果を保持する保留レジスタと、前記保留レジスタに残さ
れているリクエストがあることを検出する第2の検出回
路とをさらに含むことを特徴とする請求項1記載のマル
チプロセッサシステム。
2. The first holding circuit detects a request that is held without being selected by the fixed priority circuit.
Detection circuit, a holding register that holds the result detected by the first detection circuit, and a second detection circuit that detects that there is a request remaining in the holding register. The multiprocessor system according to claim 1.
【請求項3】 前記セレクタは、前記第2の検出回路に
よって前記保留レジスタにリクエストが残されている旨
判断された場合には前記保留レジスタの出力を選択し、
前記第2の検出回路によって前記保留レジスタにリクエ
ストが残されていない旨判断された場合には前記プロセ
ッサからの新たなリクエストを選択することを特徴とす
る請求項2記載のマルチプロセッサシステム。
3. The selector selects the output of the holding register when the second detection circuit determines that a request remains in the holding register,
3. The multiprocessor system according to claim 2, wherein a new request from the processor is selected when the second detection circuit determines that there is no request left in the holding register.
【請求項4】 前記複数の優先度決定回路の各々の固定
優先回路は、相互に同一の固定的な優先順位に従って前
記プロセッサからのリクエストの一つを選択することを
特徴とする請求項1記載のマルチプロセッサシステム。
4. The fixed priority circuit of each of the plurality of priority determination circuits selects one of requests from the processor in accordance with the same fixed priority order. Multiprocessor system.
【請求項5】 前記複数の優先度決定回路の各々の固定
優先回路は、相互に異なる固定的な優先順位に従って前
記プロセッサからのリクエストの一つを選択することを
特徴とする請求項1記載のマルチプロセッサシステム。
5. The fixed priority circuit of each of the plurality of priority determination circuits selects one of requests from the processor in accordance with a fixed priority order different from each other. Multiprocessor system.
JP6579695A 1994-03-30 1995-03-24 Multi-processor system Pending JPH07319826A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6579695A JPH07319826A (en) 1994-03-30 1995-03-24 Multi-processor system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-59696 1994-03-30
JP5969694 1994-03-30
JP6579695A JPH07319826A (en) 1994-03-30 1995-03-24 Multi-processor system

Publications (1)

Publication Number Publication Date
JPH07319826A true JPH07319826A (en) 1995-12-08

Family

ID=26400768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6579695A Pending JPH07319826A (en) 1994-03-30 1995-03-24 Multi-processor system

Country Status (1)

Country Link
JP (1) JPH07319826A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6366662A (en) * 1986-09-08 1988-03-25 Hitachi Ltd Storage controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6366662A (en) * 1986-09-08 1988-03-25 Hitachi Ltd Storage controller

Similar Documents

Publication Publication Date Title
US6671761B2 (en) Bus system
US5155854A (en) System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US8452907B2 (en) Data processing apparatus and method for arbitrating access to a shared resource
US7574573B2 (en) Reactive placement controller for interfacing with banked memory storage
US7426621B2 (en) Memory access request arbitration
US20060026596A1 (en) Context scheduling
US7350005B2 (en) Handling interrupts in a system having multiple data processing units
US20050177689A1 (en) Programmed access latency in mock multiport memory
US7512729B2 (en) Method and apparatus for a high efficiency two-stage rotating priority arbiter with predictable arbitration latency
EP1164493A1 (en) Variable priority arbitration method, for instance for interconnect buses, and respective system
JPH05242019A (en) Look-ahead priority mediation system and its method
US9984014B2 (en) Semiconductor device
JP4976325B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US7688815B2 (en) Method and system for a multi-stage interconnect switch
JP3532533B2 (en) Arbiter and bus system employing the arbiter
US20060242337A1 (en) Alignment of instructions and replies across multiple devices in a cascaded system, using buffers of programmable depths
US5692136A (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
JPH0818565A (en) Data processing unit
JPH07319826A (en) Multi-processor system
JPH06195313A (en) Computer system, and integrated circuit and request selecting circuit being suitable therefor
JPH06161873A (en) Hang-up processings system for plural access points to main memory
JP3641347B2 (en) Competitive arbitration processing method and information processing apparatus
JP3110334B2 (en) Arbitration control device
JP2004220309A (en) Multiprocessor system
JP2004062414A (en) Memory sharing system