JPH05242047A - Method and device for series arbitration of multi-processor system - Google Patents

Method and device for series arbitration of multi-processor system

Info

Publication number
JPH05242047A
JPH05242047A JP4418192A JP4418192A JPH05242047A JP H05242047 A JPH05242047 A JP H05242047A JP 4418192 A JP4418192 A JP 4418192A JP 4418192 A JP4418192 A JP 4418192A JP H05242047 A JPH05242047 A JP H05242047A
Authority
JP
Japan
Prior art keywords
bus
processor
signal
circuit
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4418192A
Other languages
Japanese (ja)
Inventor
Junichi Takai
純一 高井
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co 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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP4418192A priority Critical patent/JPH05242047A/en
Publication of JPH05242047A publication Critical patent/JPH05242047A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To simply and inexpensively construct a safe system by renouncing the own bus obtaining right, and transferring a bus permitting signal to the next processor, when an active input of an emergency informing signal asserted by other processor. CONSTITUTION:Processors 70 (70a-70n) contain an arithmetic processing part 74, a bus request obtaining circuit 71 for obtaining the right of using of a bus by a request from this arithmetic processing part 74, output buffer circuits 75a, 75b, an input buffer circuit 76a, a NAND circuit 78a and a NAND circuit 78b. Also, these processors 70 (70a-70n) are provided with an emergency informing timer circuit 80 having a time constant being shorter than that of bus timer circuits 73 (73a-73n) and for driving an output before the timer circuits 73 become time-out, an output buffer circuit 75c, an input buffer circuit 76b, inverting circuits 77b, 77c, NAND circuits 78c, 78d, and a NOR circuit 79.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、マイクロコンピュータ
・システムの構築方法に係り、特に複数のプロセッサを
使用した、マルチ・プロセッサ・システムを構築する場
合の調停方法およびその装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for constructing a microcomputer system, and more particularly to an arbitration method and apparatus for constructing a multi-processor system using a plurality of processors.

【0002】[0002]

【従来の技術】複数のプロセッサを使用するマルチ・プ
ロセッサ・システムに於いて、システム内に唯一存在す
るシステム・バスをどのプロセッサが使用するのかを判
定する処理のことを調停(アービートレーション)処理
と呼ぶ。
2. Description of the Related Art In a multi-processor system using a plurality of processors, an arbitration process is a process for determining which processor uses a system bus that is unique in the system. Call.

【0003】調停処理には、並列調停方式と直列調停方
式の2種類が広く知られており、通常、これらの内の何
れかまたは、双方を組み合わせた形で利用されている。
並列調停方式は、更に集中調停方式と分散調停方式とが
あるが、ここでは、説明の簡便を図り、集中調停方式を
取り上げて説明する。
Two types of arbitration processing, a parallel arbitration method and a serial arbitration method, are widely known, and generally, any one of them or a combination of both is used.
The parallel arbitration method further includes a central arbitration method and a distributed arbitration method. Here, for the sake of simplicity of explanation, the central arbitration method will be taken up and described.

【0004】図4は一般の集中型の並列調停方式による
マルチ・プロセッサ・システムを示すもので、図4にお
いて、51はシステムバス、52は調停動作を司どるた
めのアービタ回路、70a〜70nはプロセッサであ
る。また、図4において、53a〜53nは各プロセッ
サがバスの使用を要求するためのバス要求(リクエス
ト)信号、54a〜54nはアービタ回路52によって
調停された結果であるバス許可(グラント)信号、56
は何れかのプロセッサがバスを使用中であることを示す
ビジー信号である。
FIG. 4 shows a general multiprocessor system using a centralized parallel arbitration method. In FIG. 4, 51 is a system bus, 52 is an arbiter circuit for controlling arbitration operation, and 70a to 70n are shown. It is a processor. 4, 53a to 53n are bus request (request) signals for each processor to request the use of the bus, 54a to 54n are bus grant (grant) signals which are the result of arbitration by the arbiter circuit 52, and 56.
Is a busy signal indicating that either processor is using the bus.

【0005】このように並列型の調停方式の場合は、プ
ロセッサのバス要求レベル(信号)がプロセッサの数だ
け存在し、これらのレベル間の調停がアービタ回路52
によって行われる。バスの使用を要求するプロセッサ
は、それぞれの持っているバス要求信号53a〜53n
をアサートする。これらの信号は、全てアービタ回路5
2に入力されており、このアービタ回路では、予め定め
られた、プライオリティ(優先)判定ルールに従って、
調停処理を行い、何れか1つのプロセッサに対してバス
許可信号54a〜54nの内の何れかを与える。これに
より、バス許可信号を与えられたプロセッサが次のサイ
クルでバスを使用できる。バス許可信号を与えられたプ
ロセッサは、ビジー信号を監視し、これがネゲートされ
るとバスを使用できる。バスの使用開始と同時に、この
プロセッサがビジー信号をアサートする。
As described above, in the case of the parallel type arbitration method, there are as many bus request levels (signals) as there are processors, and arbitration between these levels is performed by the arbiter circuit 52.
Done by The bus request signals 53a to 53n possessed by the processors requesting the use of the bus.
Assert. These signals are all arbiter circuit 5
2 is input to this arbiter circuit according to a predetermined priority (priority) determination rule.
Arbitration processing is performed, and any one of the bus permission signals 54a to 54n is given to any one of the processors. As a result, the processor given the bus permission signal can use the bus in the next cycle. The processor given the bus grant signal monitors the busy signal and can use the bus when it is negated. As soon as the bus is used, this processor asserts a busy signal.

【0006】図5は一般の直列調停方式によるマルチ・
プロセッサ・システムを示し、図5において図4のもの
と同一部材または相当部分10は同一符号が付されてい
るが、55a〜55nは、バス許可(グラント)出力信
号であって、このバス許可出力信号は次のプロセッサの
バス許可入力信号となる。よって、信号55aは信号5
4bと、信号55bは信号54cと、信号55cは信号
54nと同じ信号である。
[0006] FIG. 5 shows a multi-channel system using a general serial arbitration method.
5 shows a processor system, and the same members or corresponding portions 10 as those in FIG. 4 are designated by the same reference numerals in FIG. 5, but 55a to 55n are bus permission (grant) output signals. The signal becomes the bus grant input signal of the next processor. Therefore, the signal 55a is the signal 5
4b, the signal 55b is the same signal 54c, and the signal 55c is the same signal 54n.

【0007】図に示すように、直列調停方式の場合に
は、複数のプロセッサは、同一のバス要求線に対してバ
ス要求信号を出力する。このため、バス要求のレベルは
単一であることになり、アービタ回路52は、バス要求
信号を折り返すか、または、プロセッサに対するバス許
可信号54aを常にアサートしていてもかまわない。
As shown in the figure, in the case of the serial arbitration method, a plurality of processors output a bus request signal to the same bus request line. Therefore, the level of the bus request is single, and the arbiter circuit 52 may loop the bus request signal or may always assert the bus grant signal 54a for the processor.

【0008】バスを要求するプロセッサは、それぞれの
持っているバス要求信号53a〜53nをアサートす
る。これらの信号は、ワイアードORを取られて1本の
バス要求となる。上に述べた様に、バス許可信号54a
は、バス要求が折り返されるか、常にアサートされてい
るので、このシステムでは、プロセッサ70aがバス要
求を出せば必ず次のサイクルでバスを使用できる(ビジ
ー信号がネゲートされればバスの使用を開始できる)。
The processor requesting the bus asserts the respective bus request signals 53a to 53n. These signals are wired-ORed into one bus request. As described above, the bus permission signal 54a
Since the bus request is looped back or is always asserted, in this system, the bus can be used in the next cycle whenever the processor 70a issues the bus request (when the busy signal is negated, the bus is started to be used). it can).

【0009】プロセッサ70b以降がバスを要求してい
る場合、プロセッサ70aは自分がバス要求を持ってい
ない場合に、バス許可入力信号54aのレベルをバス許
可出力信号55aに伝達する。同様に各プロセッサは自
分がバス要求を出力していない場合にバス許可入力信号
がアクティブになった場合には、バス許可出力信号をア
サートする。
When the processor 70b or later requests the bus, the processor 70a transmits the level of the bus grant input signal 54a to the bus grant output signal 55a when it does not have the bus request. Similarly, each processor asserts the bus grant output signal when the bus grant input signal becomes active when it is not outputting the bus request.

【0010】このルールに従って、バス許可信号が順次
伝達されていくが、バス使用要求を出しているプロセッ
サがこの許可信号を受け取ると、次のサイクルでバスを
使用できることになる。みずからバス要求信号をアサー
トし、バス許可信号を与えられたプロセッサは、ビジー
信号を監視し、これがネゲートされるとバスを使用でき
る。バスの使用開始と同時に、このプロセッサがビジー
信号をアサートする。
According to this rule, the bus permission signals are sequentially transmitted, but when the processor issuing the bus use request receives this permission signal, the bus can be used in the next cycle. The processor that asserts the bus request signal and receives the bus grant signal monitors the busy signal and can use the bus when it is negated. As soon as the bus is used, this processor asserts a busy signal.

【0011】この許可信号の信号伝達方式を、一般にデ
イジー・チェーン方式と呼んでいる。この方式による
と、ある番号のプロセッサは、自分より番号の若いプロ
セッサが全てバスを要求していない場合に限ってバスの
使用権を与えられることになる。言い換えると、このシ
ステムでは、デイジー・チェーン回路の最も上流にある
プロセッサ(本図では、70a)が最も優先度が高く、
デイジー・チェーンの下流になるほど(番号が増える
程)優先度が下がることになる。
The signal transmission system of this permission signal is generally called a daisy chain system. According to this method, a processor with a certain number is given the right to use the bus only when all the processors with a number smaller than itself do not request the bus. In other words, in this system, the most upstream processor (70a in this figure) in the daisy chain circuit has the highest priority,
The further down the daisy chain (the higher the number), the lower the priority.

【0012】直列調停方式は、上に述べた通り、アービ
タ回路が実際には不要であり、バス要求信号を折り返す
か、またはレベルを固定しても構わないため、非常に簡
単、かつ安価にマルチ・プロセッサ・システムが構築で
きることが特長である。
As described above, the serial arbitration method does not require an arbiter circuit in practice, and the bus request signal may be folded back or the level may be fixed. Therefore, the serial arbitration method is very simple and inexpensive. -The feature is that a processor system can be constructed.

【0013】ところが、この方式では、バス許可信号の
デイジー・チェーンという方式が用いられるため、各プ
ロセッサの持つデイジー・チェーン回路で信号遅延が生
じ、これが、最終のプロセッサに伝達されるまで調停が
終了しないことから、プロセッサ台数に比例して調停時
間がかかり、プロセッサ台数が多い規模の大きなシステ
ムに不向きであった(プロセッサ数1〜4台程度に有
効)。
However, in this method, since a method called a daisy chain of bus permission signals is used, a signal delay occurs in the daisy chain circuit of each processor, and arbitration ends until this is transmitted to the final processor. Therefore, arbitration time is required in proportion to the number of processors, which is not suitable for a large-scale system with many processors (effective for about 1 to 4 processors).

【0014】一方、並列調停方式の場合には、集中式の
アービタ回路で一度に優先判定を行うために、調停時間
は、プロセッサの台数にあまり影響を受けず、ほぼ一定
の時間でこれを行うことができる。しかし、各プロセッ
サの他に、複雑なアービタ回路を必要としたり、各プロ
セッサとアービタ回路の間で専用のバス配線を必要とす
るために、物理的、経済的面から、プロセッサの台数に
制限が出てきている。一般的には、中規模のマルチ・プ
ロセッサ・システム(プロセッサ数2〜8台)に適した
方式である。
On the other hand, in the case of the parallel arbitration method, since the centralized arbiter circuit makes the priority determination at once, the arbitration time is not affected much by the number of processors, and the arbitration time is performed in a substantially constant time. be able to. However, in addition to each processor, a complicated arbiter circuit is required and a dedicated bus wiring is required between each processor and the arbiter circuit, which limits the number of processors physically and economically. Is coming out. Generally, this method is suitable for a medium-scale multi-processor system (the number of processors is 2 to 8).

【0015】これ以上のプロセッサを実装する大規模シ
ステムの場合、上記の直列調停方式と並列調停方式を組
み合わせ、並列調停で調停される各優先レベルのバス許
可信号をデイジー・チェーン接続して、直列接続台数×
並列レベル数のプロセッサを接続する例もある。
In the case of a large-scale system having more processors, a combination of the serial arbitration method and the parallel arbitration method described above is used to daisy-chain the bus grant signals of each priority level arbitrated by the parallel arbitration, thereby making a serial connection. Number of connected units ×
There is also an example in which processors with parallel level numbers are connected.

【0016】図6は図5のマルチ・プロセッサ・システ
ムのプロセッサ部の構成を詳しく示したもので、71a
〜71nはバス要求の出力とバス獲得判定を行うバス要
求獲得回路、72a〜72nは各プロセッサにおけるバ
ス許可信号のデイジー・チェーン回路、73a〜73n
は各プロセッサにおいてバス使用権を獲得できるまでの
時間を監視するバスタイマ回路である。57a〜57n
は各プロセッサ上のバス・タイマが異常に長い待ち状態
を検出した時に発生するバス・タイムアウト信号であ
る。
FIG. 6 shows in detail the configuration of the processor portion of the multiprocessor system shown in FIG.
˜71n are bus request acquisition circuits for performing bus request output and bus acquisition determination, 72a to 72n are daisy chain circuits of bus grant signals in each processor, and 73a to 73n.
Is a bus timer circuit that monitors the time until the bus usage right is acquired in each processor. 57a-57n
Is a bus timeout signal generated when the bus timer on each processor detects an abnormally long wait state.

【0017】図7は従来の直列調停方式を有する各プロ
セッサ70(70a〜70n)の実際の回路例であっ
て、プロセッサ70は演算処理部74、この演算処理部
74からのバス要求でバスの使用権を獲得するためのバ
ス要求獲得回路71(71a〜71n)、出力バッファ
回路75a,75b、入力バッファ回路76、インバー
ト回路77、およびナンドゲート78aおよび78bを
備えている。
FIG. 7 shows an actual circuit example of each processor 70 (70a to 70n) having the conventional serial arbitration method. The processor 70 is an arithmetic processing unit 74, and a bus request from the arithmetic processing unit 74 causes the bus to operate. The bus request acquisition circuit 71 (71a to 71n) for acquiring the right of use, the output buffer circuits 75a and 75b, the input buffer circuit 76, the inversion circuit 77, and the NAND gates 78a and 78b are provided.

【0018】信号A〜Eはバス上の信号であり、Aはバ
ス要求を示す「BREQ L」信号、Bはバス使用中を
示す「BUSY L」信号、Cはバス許可入力「BGI
NL」信号、Dはバス許可出力「BGOUT L」、E
はバス獲得異常を外部に知らせる「BTOUT L」信
号である。
Signals A to E are signals on the bus, A is a "BREQ L" signal indicating a bus request, B is a "BUSY L" signal indicating that the bus is in use, and C is a bus permission input "BGI."
NL "signal, D is bus enable output" BGOUT L ", E
Is a "BTOUT L" signal for notifying the bus acquisition abnormality to the outside.

【0019】まず、演算処理部74がバスを使用する要
求をバス要求獲得回路71に与えると、バス・タイマ回
路73は、「バス要求信号」81をアサートする。する
と、出力バッファ75aによって外部バス信号A(「B
REQ L」信号)が駆動される。
First, when the arithmetic processing unit 74 gives a request to use the bus to the bus request acquisition circuit 71, the bus timer circuit 73 asserts a "bus request signal" 81. Then, the output buffer 75a causes the external bus signal A ("B
REQ L ”signal) is driven.

【0020】システム上のアービタ回路によるバス許可
信号(または、この「BREQ L」信号の折り返し)
は、バス信号Cとして、このプロセッサに与えられる。
Bus enable signal by the arbiter circuit on the system (or return of this "BREQ L" signal)
Is provided to this processor as a bus signal C.

【0021】信号Cがアクティブになると、すでに信号
81もアクティブであるため、インバーテッドNAND
回路78aによって、信号84がアサートされる。これ
が、「バス獲得信号」である。この信号がアクティブに
なり、かつ回路73を介して監視しているバス上の「B
USY L」信号がインアクティブであると、演算処理
部74はバスを使用することができる。実際にバスの使
用を開始すると、自ら信号81をアクティブとし、出力
バッファ75bによって「BUSY L」信号をアサー
トすることによって、他プロセッサに対し、バスを使用
中であることを知らされる。
When the signal C becomes active, the signal 81 is already active.
Signal 84 is asserted by circuit 78a. This is the "bus acquisition signal". This signal becomes active and is monitored via circuit 73 at "B" on the bus.
When the "USY L" signal is inactive, the arithmetic processing unit 74 can use the bus. When the bus is actually used, the signal 81 is activated by itself and the output buffer 75b asserts the "BUSY L" signal to notify the other processors that the bus is in use.

【0022】ナンド回路78b部分では、C信号側はア
クティブとなっているが、バス要求信号81は、インバ
ート回路77によってインバートされて与えられている
ために、出力はネゲートされたままである。従って、バ
ス信号Dの「バス許可出力」はアクティブにはならな
い。
In the NAND circuit 78b portion, the C signal side is active, but since the bus request signal 81 is inverted by the inversion circuit 77 and given, the output remains negated. Therefore, the "bus grant output" of the bus signal D does not become active.

【0023】一方このプロセッサがバスを要求中でない
(信号81がインアクティブ)場合にバス許可信号Cが
アクティブになった場合には、ナンド回路78の入力
は、双方ともアクティブ状態になるため、バス信号D
(「BGOUT L」信号)をアサートする。これによ
って、このプロセッサよりもプライオリティの低いプロ
セッサにもバス許可が与えられる。この回路77,78
bがデイジー・チェーン回路である。
On the other hand, when the bus permission signal C becomes active when the processor is not requesting the bus (the signal 81 is inactive), both inputs of the NAND circuit 78 become the active state. Signal D
Assert (“BGOUT L” signal). As a result, the bus grant is given to a processor having a lower priority than this processor. This circuit 77, 78
b is a daisy chain circuit.

【0024】バス・タイマ回路73は、信号81がアク
ティブになってバス要求を出した時点で計時動作に入
り、信号82がアクティブになってバス使用を宣言した
時点でこの動作をS停止する。もし、予め定められた時
間内に、計時動作が停止されない場合は、バス上の信号
E(「BTOUT L」信号)を駆動して外部に異常を
通知する。
The bus / timer circuit 73 enters a timing operation when the signal 81 becomes active and issues a bus request, and stops this operation at the time when the signal 82 becomes active and bus use is declared. If the timekeeping operation is not stopped within a predetermined time, the signal E (“BTOUT L” signal) on the bus is driven to notify the abnormality to the outside.

【0025】図8は図6と図7に示すマルチ・プロセッ
サ・システムの動作の一例を示すもので、信号名称は、
図6に従っており、各信号は全て「低レベル(Lレベ
ル)」で意味ありとする。この例は、プロセッサ70a
とプロセッサ70bが毎回バスを開放しているものの、
絶えずバスを使用する内部要求を持っているため、交互
にバスを使用してしまって、プロセッサ70c,70n
がいつまで経ってもバスを使用できずにバス・タイムア
ウトを検出している様子を示す。
FIG. 8 shows an example of the operation of the multi-processor system shown in FIGS. 6 and 7. The signal names are
In accordance with FIG. 6, all signals are “low level (L level)” and have meaning. In this example, the processor 70a
And although the processor 70b opens the bus every time,
Since there is an internal request to constantly use the bus, the buses are alternately used, and the processors 70c, 70n
Shows that the bus cannot be used forever and the bus timeout is detected.

【0026】図8のタイム・チャート内に付記されてい
る番号順に動作を説明する。
The operation will be described in the order of the numbers added in the time chart of FIG.

【0027】(1)プロセッサ70aがバスを要求し、
バス要求番号53aをアサートする。
(1) The processor 70a requests the bus,
Assert the bus request number 53a.

【0028】(2)プロセッサ70bがバスを要求し、
バス要求信号53bをアサートする。
(2) The processor 70b requests the bus,
Assert the bus request signal 53b.

【0029】(3)プロセッサ70cがバスを要求し、
バス要求信号53cをアサートする。プロセッサ70c
のバス・タイマ回路が起動され、計時動作を開始する。
(3) The processor 70c requests the bus,
Assert the bus request signal 53c. Processor 70c
The bus timer circuit of is started and the time counting operation is started.

【0030】(4)プロセッサ70nがバスを要求し、
バス要求信号53nをアサートする。プロセッサ70n
のバス・タイマ回路が起動され、計時動作を開始する。
(4) The processor 70n requests the bus,
Assert the bus request signal 53n. Processor 70n
The bus timer circuit of is started and the time counting operation is started.

【0031】(5)プロセッサ70aに対するバス許可
信号は、常にアクティブ状態とする。
(5) The bus permission signal for the processor 70a is always in the active state.

【0032】(6)プロセッサ70aはバスを獲得した
ので、バス使用を開始し、ビジー信号56をアサートす
る。
(6) Since the processor 70a has acquired the bus, it starts using the bus and asserts the busy signal 56.

【0033】(7)プロセッサ70aはバス要求をネゲ
ートする。
(7) The processor 70a negates the bus request.

【0034】(8)プロセッサ70aがバス要求をネゲ
ートしたので、プロセッサ70bに対してバス許可信号
が伝達される。
(8) Since the processor 70a negates the bus request, the bus grant signal is transmitted to the processor 70b.

【0035】(9)プロセッサ70aは、バスの使用を
終えるとビジー信号56をネゲートする。この時点でア
クティブなバス要求と許可を有するプロセッサが次にバ
スを獲得する。ここでは、プロセッサ70b,70c,
70nがバス要求を出しているが、バス許可はプロセッ
サ70bに与えられているので、70bが次にバスを使
用できる。
(9) The processor 70a negates the busy signal 56 when it finishes using the bus. The processor with the active bus request and grant at this point then wins the bus. Here, the processors 70b, 70c,
Although 70n issues a bus request, the bus permission is given to the processor 70b, so that 70b can use the bus next time.

【0036】(10)プロセッサ70bは、バスを獲得
し、バス要求をネゲートする。
(10) The processor 70b acquires the bus and negates the bus request.

【0037】(11)プロセッサ70bのバス要求がネ
ゲートされたので、一旦、プロセッサ70cに対するバ
ス許可信号がアサートされる。
(11) Since the bus request of the processor 70b is negated, the bus permission signal for the processor 70c is once asserted.

【0038】(12)プロセッサ70bはバスを獲得し
たので、バス使用を開始し、ビジー信号56をアサート
する。
(12) Since the processor 70b has acquired the bus, it starts using the bus and asserts the busy signal 56.

【0039】(13)プロセッサ70aが次のバス要求
をアサートする。
(13) The processor 70a asserts the next bus request.

【0040】(14)プロセッサ70bに与えられてい
たバス許可がネゲートされる。
(14) The bus permission given to the processor 70b is negated.

【0041】(15)プロセッサ70cに与えられてい
たバス許可がネゲートされる。
(15) The bus permission given to the processor 70c is negated.

【0042】(16)プロセッサ70bは、バスの使用
を終えるとビジー信号56をネゲートする。この時点で
アクティブなバス要求と許可を有するプロセッサが次に
バスを獲得する。ここでは、プロセッサ70a,70
c,70nがバス要求を出しているが、バス許可はプロ
セッサ70aに与えられているので、70aが次にバス
を使用できる。
(16) The processor 70b negates the busy signal 56 when it finishes using the bus. The processor with the active bus request and grant at this point then wins the bus. Here, the processors 70a, 70
Although c and 70n issue the bus request, the bus permission is given to the processor 70a, so that 70a can use the bus next time.

【0043】(17)プロセッサ70aはバスを獲得し
たので、バス使用を開始し、ビジー信号56をアサート
する。
(17) Since the processor 70a has acquired the bus, it starts using the bus and asserts the busy signal 56.

【0044】(18)(1)〜(17)の動作が連続す
ると、(3)からバス要求を出し続けているプロセッサ
70cは、いつまでも待ってもバスを獲得できず、この
バス・タイマ回路は、タイムアップして、バス・タイム
アウト信号57cが出力される。
(18) When the operations of (1) to (17) are continued, the processor 70c, which continues to issue the bus request from (3), cannot acquire the bus even if it waits forever, and this bus timer circuit , The bus time-out signal 57c is output.

【0045】(19)(1)〜(17)の動作が連続す
ると、(4)からバス要求を出し続けているプロセッサ
70nは、いつまで待ってもバスを獲得できず、このバ
ス・タイマ回路は、タイムアップして、バス・タイムア
ウト信号57cが出力される。
(19) When the operations of (1) to (17) are continued, the processor 70n which keeps issuing the bus request from (4) cannot acquire the bus no matter how long it waits, and this bus timer circuit , The bus time-out signal 57c is output.

【0046】[0046]

【発明が解決しようとする課題】マルチ・プロセッサ・
システムを構築するため調停処理の方式のうち、直列調
停方式は、前述の通り、比較的小規模なしシステムを構
築する場合には、低価格でこれを実現できるために、有
効な手段である。また、大規模なシステムでは、これ
と、並列調停方式を組み合わされた形で使用されるが、
一般的であり、重要性の高い方式である。
[Problems to be Solved by the Invention] Multiprocessor
Among the arbitration processing methods for constructing the system, the serial arbitration method is an effective means for realizing this at a low price when constructing a relatively small-scale system, as described above. In a large-scale system, this is used in combination with the parallel arbitration method.
This is a general and highly important method.

【0047】ところが、この方式の場合は、ブライオリ
ティの高いプロセッサがバスを連続して使用している場
合には、プライオリティの低いプロセッサがいつまでも
バスを使用できないという「バス飢餓状態」が発生する
可能性を持っている。
However, in the case of this system, when a high-priority processor continuously uses the bus, a "bus starvation state" may occur in which a low-priority processor cannot use the bus forever. I have sex.

【0048】このため、通常各プロセッサは、連続して
バスを使用し続けることを避けるために、バスサイクル
の実行毎にバスを開放する「毎回バス開放モード」で動
作させる。ところが、この方法を用いても、プライオリ
ティの最も高いプロセッサと次にプライオリティの高い
プロセッサが連続してバスを使用している場合には、こ
の2台のプロセッサが交互にバスを利用できるだけで、
3台目以降のプロセッサはいつまでもバスを使用できず
に、バス・タイムアウト状態になってしまう。
For this reason, each processor normally operates in the "every time bus release mode" in which the bus is released every time a bus cycle is executed in order to avoid continuous use of the bus. However, even if this method is used, if the processor with the highest priority and the processor with the next highest priority use the bus continuously, the two processors can only use the bus alternately,
The third and subsequent processors cannot use the bus forever, resulting in a bus timeout condition.

【0049】プロセッサに於けるバス・タイムアウト
は、致命的な異常として扱われ、システムの運用を停止
する要因である。そのため、システム設計者は、このよ
うな「バス飢餓状態」の発生を防ぐために、プロセッサ
の使用台数を制限したり、プロセッサのアプリケーショ
ン上、連続したバス使用がブライオリティの高いプロセ
ッサで発生しないように留意したりする必要があった。
The bus time-out in the processor is treated as a fatal abnormality and is a factor to stop the operation of the system. Therefore, in order to prevent such "bus starvation" from occurring, system designers must limit the number of processors used and ensure that continuous bus usage does not occur in high-priority processors due to processor applications. It was necessary to pay attention.

【0050】しかし、この「バス飢餓状態」の回避は、
非同期に発生する複数の事象をそれぞれのプロセッサが
独自に処理するような、リアルタイム処理のためのマル
チ・プロセッサ・システムでは、非常に困難な課題であ
った。
However, the avoidance of this "bus starvation" is as follows.
This is a very difficult problem in a multi-processor system for real-time processing in which each processor independently processes a plurality of events that occur asynchronously.

【0051】本発明は上記従来の問題点に鑑みてなされ
たもので、その目的は、上記従来の技術の問題点を解決
することである。
The present invention has been made in view of the above-mentioned conventional problems, and an object thereof is to solve the above-mentioned conventional problems.

【0052】[0052]

【課題を解決するための手段】本発明は、上記目的を達
成するために、複数のプロセッサの処理情報をシステム
バスを通して授受するとともに、各プロセッサは、それ
ぞれ前記システムバスの使用を要求するバス要求信号を
出力し、次段のプロセッサ間で前記システムバスの使用
を許可するバス許可信号を授受し合うマルチ・プロセッ
サ・システムにおいて、各プロセッサ70は、バス要求
を指令する演算処理部74と、この演算処理部74から
の要求でバス使用権を獲得するためのバス獲得回路71
と、バスタイムアウトを検出するバスタイマ回路73
と、このバスタイマ回路73の時定数よりも短い時定数
を有する緊急通知タイマ回路80と、この緊急通知タイ
マ回路80の緊急時のバス獲得要求信号を処理して該当
するプロセッサにバス許可信号を与えるデイジー・チェ
ーン回路72によって直列調停装置を構成する。
In order to achieve the above object, the present invention transmits and receives processing information of a plurality of processors through a system bus, and each processor requests a use of the system bus. In a multi-processor system that outputs a signal and exchanges a bus permission signal for permitting the use of the system bus between the processors in the next stages, each processor 70 includes an arithmetic processing unit 74 for instructing a bus request, Bus acquisition circuit 71 for acquiring the bus use right in response to a request from the arithmetic processing unit 74
And a bus timer circuit 73 for detecting a bus timeout
And an emergency notification timer circuit 80 having a time constant shorter than that of the bus timer circuit 73, and processing an emergency bus acquisition request signal of the emergency notification timer circuit 80 to give a bus permission signal to the corresponding processor. The daisy chain circuit 72 constitutes a serial arbitration device.

【0053】[0053]

【作用】本発明においては、バス許可信号のディジー・
チェーンを用いたマルチ・プロセッサ・システムにおい
て、各プロセッサは、演算処理部のバス要求指令に基づ
いてバス使用権を獲得し、緊急時のバス獲得信号を出力
するとともに、物理的配置によって定められたプライオ
リティによって当該プロセッサが次のバス使用権を認め
られる状態にあっても、他のプロセッサがアサートした
緊急通知信号のアクティブ入力があったとき、自らのバ
ス獲得権を放棄し、次のプロセッサに対してバス許可信
号を伝達する。
In the present invention, the bus enable signal daisy
In a multi-processor system using a chain, each processor acquires the right to use the bus based on the bus request command of the arithmetic processing unit, outputs the bus acquisition signal in an emergency, and is determined by the physical arrangement. Even if the relevant processor is granted the right to use the next bus by priority, it will relinquish its own right to acquire the bus and receive the right to use the next processor when there is an active input of the emergency notification signal asserted by another processor. The bus permission signal.

【0054】[0054]

【実施例】以下に本発明の実施例を図1〜図3を参照し
ながら説明する。
Embodiments of the present invention will be described below with reference to FIGS.

【0055】図2は本発明の実施例による調停方法を実
行するためのマルチ・プロセッサ・システムの構成を示
すもので、図5と図6のものと同一又は相当部分には同
一符号が付されている。また、図1は図2のシステムに
おけるプロセッサの構成を示すもので、図7のものと同
一又は相当部分には同一符号が付されている。
FIG. 2 shows the structure of a multi-processor system for executing the arbitration method according to the embodiment of the present invention. The same or corresponding parts as those of FIGS. 5 and 6 are designated by the same reference numerals. ing. Further, FIG. 1 shows the configuration of the processor in the system of FIG. 2, and the same or corresponding parts as those of FIG. 7 are designated by the same reference numerals.

【0056】図1に示すように、プロセッサ70(70
a〜70n)は、前述したように、演算処理部74、こ
の演算処理部74からの要求でバスの使用権を獲得する
ためのバス要求獲得回路71、出力バッファ回路75
a,75b、入力バッファ回路76a、入力バッファ回
路76a、ナンド回路78aおよびナンド回路78a,
78bを含む。
As shown in FIG. 1, the processor 70 (70
a to 70n) are, as described above, the arithmetic processing unit 74, the bus request acquisition circuit 71 for acquiring the right to use the bus in response to the request from the arithmetic processing unit 74, and the output buffer circuit 75.
a, 75b, an input buffer circuit 76a, an input buffer circuit 76a, a NAND circuit 78a, and a NAND circuit 78a,
Including 78b.

【0057】さらに、本実施例は、プロセッサ70(7
0a〜70n)が、さらに、バス・タイマ回路73(7
3a〜73n)よりも短い時定数を持ち該バス・タイマ
回路がタイムアウトする前に出力を駆動する緊急通知タ
イマ回路80,出力バッファ回路75c,入力バッファ
回路76b,インバート回路77b,77c,ナンド回
路78c,78dおよびノア回路79を備えていること
を特徴とするものである。
Further, in this embodiment, the processor 70 (7
0a to 70n) is further added to the bus timer circuit 73 (7
3a to 73n) and an emergency notification timer circuit 80 having a time constant shorter than 3a to 73n) and driving an output before the bus timer circuit times out, an output buffer circuit 75c, an input buffer circuit 76b, invert circuits 77b and 77c, a NAND circuit 78c. , 78d and a NOR circuit 79 are provided.

【0058】信号A〜Eは従来と同じバス上の信号であ
り、Aはバス要求を示す「BREQL」、Bはバス使用
中を示す「BUSY L」信号、Cはバス許可入力「B
GIN L」信号、Dはバス許可出力「BGOUT
L」信号、Eはバス獲得異常を外部に知らせる「BTO
UT L」信号である。更に信号Fは、本発明によって
加えられた信号で緊急時のバス獲得要求信号「EMGC
Y L」である。
Signals A to E are signals on the same bus as before, A is "BREQL" indicating a bus request, B is a "BUSY L" signal indicating that the bus is in use, and C is a bus permission input "B".
“GIN L” signal, D is bus permission output “BGOUT
"L" signal, E is "BTO
UT L "signal. Further, the signal F is a signal added by the present invention, which is an emergency bus acquisition request signal "EMGC".
Y L ".

【0059】図1に示すプロセッサは図2に示すように
接続されている。図2と図1の関連において、図1の信
号Aは図2のビイジー信号56に対応し、信号Bはバス
要求信号53a〜53nに、信号Cはバス許可入力信号
54a〜54nに、信号Dはバス許可出力信号55a〜
55nに、信号Eはバス・タイムアウト信号57a〜5
7nに対応する。また、図2において58は緊急信号
「EMGCY L」であり、59a〜59nは各プロセ
ッサの緊急入出力信号である。
The processors shown in FIG. 1 are connected as shown in FIG. 2 and FIG. 1, the signal A of FIG. 1 corresponds to the busy signal 56 of FIG. 2, the signal B is the bus request signals 53a to 53n, the signal C is the bus permission input signals 54a to 54n, and the signal D. Is the bus permission output signal 55a-
55n, the signal E is the bus timeout signals 57a-5
It corresponds to 7n. Further, in FIG. 2, 58 is an emergency signal “EMGCY L”, and 59a to 59n are emergency input / output signals of each processor.

【0060】図1のプロセッサにおいて、まず、演算処
理部74がバスを使用する要求をバス要求獲得回路71
に与えると、バス要求獲得回路71「バス要求信号」8
1をアサートする。すると、出力バッファ回路75aに
よって外部バス信号A(「BREQ L」信号)が駆動
される。
In the processor of FIG. 1, first, the arithmetic processing unit 74 issues a request for using the bus to the bus request acquisition circuit 71.
To the bus request acquisition circuit 71 "bus request signal" 8
Assert one. Then, the output buffer circuit 75a drives the external bus signal A (“BREQ L” signal).

【0061】システム上のアービタ回路によるバス許可
信号(または、この「BREQ L」信号の折り返し)
は、バス信号Cとして、このプロセッサに与えられる。
信号Cがアクティブになると、すでに信号81もアクテ
ィブであるため、インバータ77bの出力信号85がア
クティブであれば、インバーテッドNAND回路78a
によって、信号84がアサートされる。これが、「バス
獲得信号」である。
Bus enable signal by the arbiter circuit on the system (or return of this "BREQ L" signal)
Is provided to this processor as a bus signal C.
When the signal C becomes active, the signal 81 is already active. Therefore, if the output signal 85 of the inverter 77b is active, the inverted NAND circuit 78a is activated.
Causes signal 84 to be asserted. This is the "bus acquisition signal".

【0062】インバータ77bの入力信号は、インバー
テッドNAND回路78aの出力信号86であるが、こ
の信号は、『自分以外のプロセッサが緊急信号「EMG
CYL」信号をアサートした』ことを示している。信号
85がアクティブである条件は、他のプロセッサがどれ
も「EMGCY L」信号をアサートしていないか、ま
たは、自分自信がこれをアサートしているということで
ある。
The input signal of the inverter 77b is the output signal 86 of the inverted NAND circuit 78a.
Has asserted the "CYL" signal. " The condition that signal 85 is active is that none of the other processors have asserted the "EMGCY L" signal or that they are asserting this.

【0063】このバス獲得信号がアクティブになり、か
つ入力バッファ回路76aを介して監視しているバス上
の「BUSY L」信号がインアクティブであると、演
算処理部74はバスを使用することができる。実際にバ
スの使用を開始すると、自らが信号82をアクティブと
し、出力バッファ75bによって「BUSY L」信号
をアサートすることによって、他プロセッサに対し、バ
スを使用中であることを知らせる。
When the bus acquisition signal becomes active and the "BUSY L" signal on the bus monitored via the input buffer circuit 76a is inactive, the arithmetic processing unit 74 can use the bus. it can. When the bus is actually used, the signal itself is activated and the output buffer 75b asserts the "BUSY L" signal to notify the other processors that the bus is in use.

【0064】ナンド回路78b部分では、C信号側はア
クティブとなっているが、信号81は、インバート回路
77aによってインバートされて与えられているため
に、出力はネゲートされたままである。従ってナンド回
路78c出力87がアクティブにならない限り、バス信
号Dの「バス許可出力」はアクティブにはならない。回
路78cがアクティブになる条件は、『自分以外のプロ
セッサが緊急信号「EMGCY L」信号をアサートし
た』ことを示す信号86がアクティブであり、かつバス
許可入力C信号がアクティブになった場合である。
In the NAND circuit 78b portion, the C signal side is active, but since the signal 81 is inverted by the inversion circuit 77a and given, the output remains negated. Therefore, the "bus grant output" of the bus signal D will not become active unless the NAND circuit 78c output 87 becomes active. The condition that the circuit 78c becomes active is that the signal 86 indicating that "a processor other than itself asserts the emergency signal" EMGCY L "signal" is active and the bus permission input C signal becomes active. ..

【0065】一方、このプロセッサがバスを要求中でな
い(バス要求信号89がインアクティブ)場合にバス許
可信号Cがアクティブになった場合には、ナンド回路7
8bの入力は、双方ともアクティブ状態になるため、信
号88がアサートされ、バス信号D(「BGOUT
L」信号)もアクティブになる。これによって、このプ
ロセッサよりもプライオリティの低いプロセッサにもバ
ス許可が与えられる。
On the other hand, when the bus permission signal C becomes active when the processor is not requesting the bus (bus request signal 89 is inactive), the NAND circuit 7 is activated.
Both inputs of 8b are in the active state, so that the signal 88 is asserted and the bus signal D (“BGOUT
The "L" signal) also becomes active. As a result, the bus grant is given to a processor having a lower priority than this processor.

【0066】バス・タイマ回路73は、バス要求信号8
1がアクティブになってバス要求を出した時点で計時動
作に入り、信号82がアクティブになってバス使用を宣
言した時点でこの動作をS停止する。もし、予め定めら
れた時間内に、計時動作が停止されない場合は、バス上
の信号E(「BTOUT L」信号)を駆動して外部に
異常を通知する。ここまでの回路動作はおおよそ図7の
従来回路と同様である。
The bus timer circuit 73 uses the bus request signal 8
When 1 becomes active and issues a bus request, the timing operation starts, and when signal 82 becomes active and bus use is declared, this operation is stopped. If the timekeeping operation is not stopped within a predetermined time, the signal E (“BTOUT L” signal) on the bus is driven to notify the abnormality to the outside. The circuit operation up to this point is approximately the same as the conventional circuit in FIG.

【0067】本発明によって付加される部分において、
まず、「緊急通知タイマ回路」80は、前述のようにバ
ス・タイマ回路73よりも時定数を短く設定されたタイ
マ回路で、起動と停止の条件はバス・タイマ回路73と
同じである。即ち、バス・タイマ回路73が異常検出し
て外部にタイムアウトを通知し、システムが致命的な障
害による停止を起こす前にこの「緊急通知タイマ回路」
によってバス上の「EMCCY L」信号Fがアクティ
ブになる。
In the part added by the present invention,
First, the “emergency notification timer circuit” 80 is a timer circuit whose time constant is set shorter than that of the bus timer circuit 73 as described above, and the conditions for starting and stopping are the same as those of the bus timer circuit 73. In other words, the "emergency notification timer circuit" is used before the bus / timer circuit 73 detects an abnormality, notifies the outside of the time-out, and causes the system to stop due to a fatal failure.
Activates the "EMCCY L" signal F on the bus.

【0068】出力バッファ75cは「EMCCY L」
信号Fを駆動し、入力バッファ回路76bはこの信号を
内部に取り込む。インバータ回路77cは、「緊急通知
タイマ回路」80の出力89の位相を反転する。
The output buffer 75c is "EMCCY L".
The signal F is driven, and the input buffer circuit 76b takes in this signal internally. The inverter circuit 77c inverts the phase of the output 89 of the "emergency notification timer circuit" 80.

【0069】「EMCCY L」信号Fは、複数のプロ
セッサによって駆動されるワイアードORの信号であ
り、これを取り込んだ信号90と信号91をインバーテ
ッドNAND回路78dに通した信号86は、『自分以
外のプロセッサが緊急信号「EMCCY L」信号をア
サートした』ことを示している。
The "EMCCY L" signal F is a signal of a wired OR driven by a plurality of processors. The signal 90 and the signal 91 which take this signal are passed to the inverted NAND circuit 78d. Processor has asserted the emergency signal "EMCCY L" signal. "

【0070】この信号86がアクティブ状態の時は、こ
れがインバータ77bで反転されてナンド回路77bに
入るため、このプロセッサがバス要求を出していて、か
つバス許可信号入力Cがアクティブになっても、バス獲
得信号84はアサートされない。
When this signal 86 is active, it is inverted by the inverter 77b and enters the NAND circuit 77b. Therefore, even if this processor issues a bus request and the bus permission signal input C becomes active, The bus acquisition signal 84 is not asserted.

【0071】また、この時回路78cの入力は双方共、
アクティブとなるので、信号87がアサートされ、ナン
ド回路78bの出力状態に関わらず、ノア回路79の出
力、即ち、バス許可信号出力Dがアサートされる。
At this time, the inputs of the circuit 78c are
Since it becomes active, the signal 87 is asserted and the output of the NOR circuit 79, that is, the bus permission signal output D is asserted regardless of the output state of the NAND circuit 78b.

【0072】これが、この発明の基本動作であり、この
回路構成によって、『例え、物理的配置によって定めら
れたプライオリティによって、自分が次のバス使用権を
認められる状態にあったとしても、「EMCCY L」
信号のアクティブ入力があった場合には、自らのバス獲
得を放棄し、次のプロセッサに対してバス許可信号を伝
達する』と言うルールが成立する。
This is the basic operation of the present invention. With this circuit configuration, "Even if the user is allowed to use the next bus by the priority determined by the physical arrangement," EMCCY " L "
If there is an active input of a signal, it abandons its own bus acquisition and transmits a bus grant signal to the next processor ”.

【0073】このため、本回路構成を採った直列調停方
式のマルチ・プロセッサ・システムにおいては、物理的
にプライオリティが上位にあるプロセッサがバスを連続
して使用することによって、プライオリティの低いプロ
セッサが、なかなかバスを使用できないことがあったと
しても、本来のバス・タイムアウト異常によってシステ
ム停止を引き起こされる前に、このプライオリティの低
いプロセッサから「EMCCY L」信号Fが出力さ
れ、上位プロセッサのバス使用が中断してこの信号を出
力したプロセッサがバスを獲得できる。
For this reason, in the serial arbitration type multi-processor system adopting this circuit configuration, the processor having the higher physical priority continuously uses the bus, so that the processor having the lower priority is Even if the bus cannot be used for a long time, the low-priority processor outputs the "EMCCY L" signal F and interrupts the bus usage of the upper processor before the system is stopped due to the original bus timeout abnormality. Then, the processor that outputs this signal can acquire the bus.

【0074】図8に示した、従来の直列調停方式のシス
テムに於ける、バス・タイムアウト発生の様子に対比し
て、本回路構成による場合の調停の様子を表したものが
図3である。信号名等は、図2の記号を使用している。
FIG. 3 shows the state of arbitration in the case of the present circuit configuration, in contrast to the state of bus timeout occurrence in the conventional serial arbitration system shown in FIG. Signal names and the like use the symbols in FIG.

【0075】図3のタイム・チャート内に付記されてい
る番号順に動作を説明する。
The operation will be described in the order of the numbers added in the time chart of FIG.

【0076】(1)プロセッサ70aがバスを要求し、
バス要求番号53aをアサートする。
(1) The processor 70a requests the bus,
Assert the bus request number 53a.

【0077】(2)プロセッサ70bがバスを要求し、
バス要求信号53bをアサートする。
(2) The processor 70b requests the bus,
Assert the bus request signal 53b.

【0078】(3)プロセッサ70cがバスを要求し、
バス要求番号53cをアサートする。プロセッサ70c
のバス・タイマ回路が起動され、計時動作を開始する。
(3) The processor 70c requests the bus,
Assert the bus request number 53c. Processor 70c
The bus timer circuit of is started and the time counting operation is started.

【0079】(4)プロセッサ70nがバスを要求し、
バス要求信号53nをアサートする。プロセッサ70n
のバス・タイマ回路が起動され、計時動作を開始する。
(4) The processor 70n requests the bus,
Assert the bus request signal 53n. Processor 70n
The bus timer circuit of is started and the time counting operation is started.

【0080】(5)プロセッサ70aに対するバス許可
信号は、常にアクティブ状態とする。
(5) The bus permission signal for the processor 70a is always active.

【0081】(6)プロセッサ70aはバスを獲得した
ので、バス使用を開始し、ビジー信号56をアサートす
る。
(6) Since the processor 70a has acquired the bus, it starts using the bus and asserts the busy signal 56.

【0082】(7)プロセッサ70aはバス要求をネゲ
ートする。
(7) The processor 70a negates the bus request.

【0083】(8)プロセッサ70aがバス要求をネゲ
ートしたので、プロセッサ70bに対してバス許可信号
が伝達される。
(8) Since the processor 70a negates the bus request, the bus grant signal is transmitted to the processor 70b.

【0084】(9)プロセッサ70aは、バスの使用を
終えるとビジー信号56をネゲートする。この時点でア
クティブなバス要求と許可を有するプロセッサが次にバ
スを獲得する。ここでは、プロセッサ70b,70c,
70nがバス要求を出しているが、バス許可はプロセッ
サ70bに与えられているので、70bが次にバスを使
用できる。
(9) The processor 70a negates the busy signal 56 when the use of the bus is completed. The processor with the active bus request and grant at this point then wins the bus. Here, the processors 70b, 70c,
Although 70n issues a bus request, the bus permission is given to the processor 70b, so that 70b can use the bus next time.

【0085】(10)プロセッサ70bは、バスを獲得
し、バス要求をネゲートする。
(10) The processor 70b acquires the bus and negates the bus request.

【0086】(11)プロセッサ70bのバス要求がネ
ゲートされたので、一旦、プロセッサ70cに対するバ
ス許可信号がアサートされる。
(11) Since the bus request of the processor 70b is negated, the bus permission signal for the processor 70c is once asserted.

【0087】(12)プロセッサ70bはバスを獲得し
たので、バス使用を開始し、ビジー信号56をアサート
する。
(12) Since the processor 70b has acquired the bus, it starts using the bus and asserts the busy signal 56.

【0088】(13)プロセッサ70aが次のバス要求
をアサートする。
(13) The processor 70a asserts the next bus request.

【0089】(14)プロセッサ70bに与えられてい
たバス許可がネゲートされる。
(14) The bus permission given to the processor 70b is negated.

【0090】(15)プロセッサ70cに与えられてい
たバス許可がネゲートされる。
(15) The bus permission given to the processor 70c is negated.

【0091】(16)プロセッサ70bは、バスの使用
を終えるとビジー信号56をネゲートする。この時点で
アクティブなバス要求と許可を有するプロセッサが次に
バスを獲得する。ここでは、プロセッサ70a,70
c,70nがバス要求を出しているが、バス許可はプロ
セッサ70aに与えられているので、70aが次にバス
を使用できる。
(16) The processor 70b negates the busy signal 56 when it finishes using the bus. The processor with the active bus request and grant at this point then wins the bus. Here, the processors 70a, 70
Although c and 70n issue the bus request, the bus permission is given to the processor 70a, so that 70a can use the bus next time.

【0092】(17)プロセッサ70aはバスを獲得し
たので、バス使用を開始し、ビジー信号56をアサート
する。ここまでの動作は、図8と同等である。
(17) Since the processor 70a has acquired the bus, it starts using the bus and asserts the busy signal 56. The operation up to this point is the same as in FIG.

【0093】(18)バス獲得が継続して行われないと
(19)の時点でプロセッサ70bによるバス・タイム
アウト予想されるが、これに先立って緊急通知信号59
cがアサートされる。バス上の「EMGCY L」信号
がアクティブとなる。
(18) If bus acquisition is not continued, it is expected that the processor 70b will time out the bus at the time of (19), but prior to this, the emergency notification signal 59
c is asserted. The "EMGCY L" signal on the bus becomes active.

【0094】(19)本例では、プロセッサ70aがバ
スを使用中で、バス要求をネゲートしているため、プロ
セッサ70bに対するバス許可信号59a(59b)は
既にアクティブであるが、「EMGCY L」信号がア
サートによっても強制的に59aはアクティブにされ
る。
(19) In this example, since the processor 70a is using the bus and negates the bus request, the bus grant signal 59a (59b) to the processor 70b is already active, but the "EMGCY L" signal is output. Is asserted to force 59a to become active.

【0095】(20)59aが既にアクティブであり、
かつ「EMGCY L」信号がアサートされることによ
って、強制的に59b(59c)がアクティブになる。
(20) 59a is already active,
Also, the assertion of the "EMGCY L" signal forces 59b (59c) to become active.

【0096】(21)次にビジー信号の立ち上がりで、
プロセッサ70cがバスを獲得する。これにより、プロ
セッサ70cは、バス要求信号59cをネゲートする。
(21) Next, at the rising edge of the busy signal,
The processor 70c acquires the bus. As a result, the processor 70c negates the bus request signal 59c.

【0097】(22)プロセッサ70cは、バスの使用
を開始し、ビジー信号56をアサートする。
(22) The processor 70c starts using the bus and asserts the busy signal 56.

【0098】(23)プロセッサ70cがビジー信号を
アサートしたことによって、プロセッサ70c上の緊急
通知タイマと、バス・タイマは計時動作を停止する。緊
急通知番号59cはネゲートされる。これにより、バス
・タイマのタイムアウトが起こる(19)のタイミング
の前にバス・タイマは停止し、タイムアウト異常は発生
しない。
(23) When the processor 70c asserts the busy signal, the emergency notification timer and the bus timer on the processor 70c stop the time counting operation. The emergency notification number 59c is negated. As a result, the bus timer stops before the timing (19) when the bus timer times out, and the timeout error does not occur.

【0099】(24)プロセッサ70aは次のバス要求
を出す。
(24) The processor 70a issues the next bus request.

【0100】(25)プロセッサ70bに対するバス許
可信号55aがネゲートされる。
(25) The bus permission signal 55a to the processor 70b is negated.

【0101】(26)「EMGCY L」信号のネゲー
トによって、プロセッサ70cに対するバス許可信号5
5bがネゲートされる。
(26) Bus grant signal 5 to the processor 70c by negating the "EMGCY L" signal.
5b is negated.

【0102】(27)プロセッサ70cは、バスの使用
を終えるとビジー信号56をネゲートする。この時点で
次のプロセッサがバスを獲得する。この場合はプロセッ
サ70aが再度バス獲得する。
(27) The processor 70c negates the busy signal 56 when the use of the bus is completed. At this point the next processor wins the bus. In this case, the processor 70a acquires the bus again.

【0103】(28)バス獲得が継続して行われないと
(30)の時点でプロセッサ70cによるバス・タイム
アウト予想されるが、これに先立って緊急通知信号59
nがアサートされる。(バス上の「EMGCY L」信
号がアクティブとなる。) (29)本例では、プロセッサ70aがバスを使用中
で、バス要求をネゲートしているため、プロセッサ70
bに対するバス許可信号59a(59b)は既にアクテ
ィブであるが、「EMGCY L」信号のアサートによ
っても強制的に55aはアクティブにされる。
(28) If bus acquisition is not continued, it is expected that the processor 70c will time out the bus at the time of (30), but prior to this, the emergency notification signal 59
n is asserted. (The "EMGCY L" signal on the bus becomes active.) (29) In this example, the processor 70a is using the bus and negates the bus request.
The bus permission signal 59a (59b) for b is already active, but 55a is forcibly activated by asserting the "EMGCY L" signal.

【0104】(30)55aが既にアクティブであり、
かつ「EMGCY L」信号がアサートされることによ
って、強制的に59b(59c)がアサートされる。
(30) 55a is already active,
Moreover, 59b (59c) is forcibly asserted by asserting the "EMGCY L" signal.

【0105】(31)55bが既にアクティブであり、
かつ「EMGCY L」信号がアサートされることによ
って、強制的に55c(54n)がアサートされる。
(31) 55b is already active,
Moreover, 55c (54n) is forcibly asserted by asserting the "EMGCY L" signal.

【0106】(32)次のビジー信号の立ち上がりで、
プロセッサ70nがバスを獲得する。これにより、プロ
セッサ70nは、バス要求信号53nをネゲートする。
(32) At the next rising edge of the busy signal,
The processor 70n acquires the bus. As a result, the processor 70n negates the bus request signal 53n.

【0107】(33)プロセッサ70nは、バスの使用
を開始し、ビジー信号56をアサートする。
(33) The processor 70n starts using the bus and asserts the busy signal 56.

【0108】(34)プロセッサ70nがビジー信号を
アサートしたことによって、プロセッサ70n上の緊急
通知タイマと、バス・タイマは計時動作を停止する。緊
急通知信号59nはネゲートされる。これにより、バス
・タイマのタイムアウトが起こる(30)のタイミング
の前にバス・タイマは停止し、タイムアウト異常は発生
しない。
(34) When the processor 70n asserts the busy signal, the emergency notification timer and the bus timer on the processor 70n stop the time counting operation. The emergency notification signal 59n is negated. As a result, the bus timer stops before the timing (30) when the bus timer times out, and the timeout error does not occur.

【0109】(35)「EMGCY L」信号のネゲー
トによって、プロセッサ70cに対するバス許可信号5
5bがネゲートされる。
(35) Bus grant signal 5 to the processor 70c by negating the "EMGCY L" signal.
5b is negated.

【0110】(36)「EMGCY L」信号のネゲー
トによって、プロセッサ70nに対するバス許可信号5
5cがネゲートされる。
(36) By negating the "EMGCY L" signal, the bus grant signal 5 to the processor 70n
5c is negated.

【0111】(37)プロセッサ70aは次のバス要求
を出す。
(37) The processor 70a issues the next bus request.

【0112】(38)プロセッサ70bに対するバス許
可信号55aがネゲートされる。
(38) The bus permission signal 55a for the processor 70b is negated.

【0113】(39)プロセッサ70nは、バスの使用
を終えるとビジー信号56をネゲートするるこの時点で
次のプロセッサがバスを獲得する。この場合はプロセッ
サ70aが再度バス獲得する。
(39) When the processor 70n finishes using the bus, it negates the busy signal 56. At this point, the next processor acquires the bus. In this case, the processor 70a acquires the bus again.

【0114】[0114]

【発明の効果】本発明は以上の如くであって、下記のよ
うな効果が得られる。
The present invention is as described above, and the following effects can be obtained.

【0115】(A)簡便かつ安価にマルチ・プロセッサ
・システムを構築可能な直列調停方式において、従来か
ら問題とされていた、バス飢餓状態の連続によるバス・
タイムアウトの発生を事前に阻止し、システム全体を停
止に至らしめる致命的異常が不用意に発生することを防
止する。これにより、バス飢餓状態のない安全なマルチ
・プロセッサ・システムを簡便かつ安価に構築できるよ
うになる。
(A) In the serial arbitration method capable of constructing a multi-processor system easily and inexpensively, a bus problem caused by continuous bus starvation has been a problem in the past.
It prevents the occurrence of a timeout in advance and prevents the fatal anomaly that would cause the entire system to stop. As a result, a safe multi-processor system without bus starvation can be constructed easily and inexpensively.

【0116】(B)特に、産業向け制御装置の分野で
は、複数のプロセッサにより、数多くの割り込み要因を
持ったリアルタイム制御が行われるが、これを直列調停
方式で構成する場合、バス飢餓状態を防止するために、
それぞれのプロセッサのバス使用率を絶対安全な値に設
定しようとすると、全ての割り込み要素が同時に多発す
ることを想定して、相当小さな値を選択しなければなら
なくなる。これは、極稀な、バス頻度の急増を想定して
バス使用率を落とすことになり非常に効率が悪い。この
発明の方式は、このような場合に最も効果を発揮するも
のである。
(B) Particularly in the field of industrial control devices, real-time control with a large number of interrupt factors is performed by a plurality of processors. If this is configured by the serial arbitration method, bus starvation is prevented. In order to
In order to set the bus utilization of each processor to an absolutely safe value, it is necessary to select a considerably small value on the assumption that all interrupt elements occur frequently at the same time. This is extremely inefficient because the bus usage rate is reduced assuming a very rare increase in bus frequency. The method of the present invention is most effective in such a case.

【0117】(C)もともと、平均的なバス使用率が適
度な値(例えば20〜30%程度)のプロセッサのマル
チ化を考える時、これらプロセッサが最も頻繁にバスを
使用する頻繁の最大値の和が、100%を越えるシステ
ムは、従来の直列調停方式では実現不可能(バス飢餓状
態によってバス・タイムアウトを発生させないようにす
るため)であった。これを実現するには、プロセッサの
台数を減らすか、それぞれのバス使用率を落とすしか方
法はなかった。ところが、本方式によれば、プロセッサ
の最大バス使用率の総和が例え100%を越えていたと
しても、この発生頻度が余り高くなく、一時的に発生し
てその後に緩和されるような場合には充分にこれを実現
可能になる。即ち、バス飢餓状態を防止するために、一
過性のバス使用率の飽和状態を想定してバス使用頻度の
設計をする必要がなくなり、平均的なバス使用率を用い
ても安全なシステムの設計を行うことができる。これに
より、全体的にバス使用率を高めたパフォーマンスのよ
いシステム設計が可能になる。
(C) Originally, when considering the multiplicity of processors with an average bus usage rate of a suitable value (for example, about 20 to 30%), the maximum value of the frequent maximum value in which these processors use the bus most frequently is considered. A system in which the sum exceeds 100% cannot be realized by the conventional serial arbitration method (to prevent a bus timeout from occurring due to a bus starvation state). The only way to achieve this was to reduce the number of processors or reduce the bus utilization of each. However, according to this method, even if the sum of the maximum bus usage rates of the processors exceeds 100%, the frequency of occurrence is not so high and it occurs temporarily and then relaxes. Will be fully able to do this. In other words, in order to prevent bus starvation, it is not necessary to design the bus usage frequency assuming a transient saturation of the bus usage rate, and a system that is safe even with an average bus usage rate is used. Design can be done. This enables a high performance system design with an overall high bus utilization.

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

【図1】本発明の実施例によるマルチ・プロセッサ・シ
ステムの直列調停装置の要部であるプロセッサの構成
図。
FIG. 1 is a configuration diagram of a processor which is a main part of a serial arbitration device of a multi-processor system according to an embodiment of the present invention.

【図2】本発明の実施例によるマルチ・プロセッサ・シ
ステムの直列調停装置のブロック図。
FIG. 2 is a block diagram of a serial arbitration device of a multi-processor system according to an embodiment of the present invention.

【図3】本発明の実施例によるマルチ・プロセッサ・シ
ステムの直列調停装置の動作説明図。
FIG. 3 is an operation explanatory diagram of the serial arbitration device of the multi-processor system according to the embodiment of the present invention.

【図4】一般の並列調停方式によるマルチ・プロセッサ
・システムのブロック図。
FIG. 4 is a block diagram of a multiprocessor system using a general parallel arbitration method.

【図5】一般の直列調停方式によるマルチ・プロセッサ
・システムのブロック図。
FIG. 5 is a block diagram of a multiprocessor system using a general serial arbitration method.

【図6】従来のマルチ・プロセッサ・システムの直列調
停装置のブロック図。
FIG. 6 is a block diagram of a serial arbitration device of a conventional multi-processor system.

【図7】従来のマルチ・プロセッサ・システムの直列調
停装置の要部であるプロセッサの構成図。
FIG. 7 is a configuration diagram of a processor which is a main part of a serial arbitration device of a conventional multi-processor system.

【図8】従来のマルチ・プロセッサ・システムの直列調
停装置の動作説明図。
FIG. 8 is an operation explanatory diagram of a serial arbitration device of a conventional multi-processor system.

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

51…システムバス、52…アービタ回路、A(56)
…ビジー信号、B(53a〜53n)…バス要求信号、
C(54a〜54n)バス許可信号、D(55a〜55
n)…バス許可入力信号、E(57a〜57n)…バス
タイムアウト信号、F…緊急時のバス獲得要求信号、5
8…緊急信号、59a〜59n…緊急入出力信号、70
(70a〜70n)…プロセッサ、71(71a〜71
n)…バス要求獲得回路、72…ディジー・チェーン回
路、73(73a〜73n)…バスタイマ回路、74…
演算処理部、75a〜75c…出力バッファ回路、76
a,76b…入力バッファ回路、77a〜77c…イン
バート回路、78a〜78d…ナンド回路、79…ノア
回路、80…緊急通知タイマ回路。
51 ... System bus, 52 ... Arbiter circuit, A (56)
... busy signal, B (53a to 53n) ... bus request signal,
C (54a to 54n) bus permission signal, D (55a to 55)
n) ... Bus permission input signal, E (57a to 57n) ... Bus timeout signal, F ... Emergency bus acquisition request signal, 5
8 ... emergency signal, 59a to 59n ... emergency input / output signal, 70
(70a to 70n) ... Processor, 71 (71a to 71)
n) ... bus request acquisition circuit, 72 ... daisy chain circuit, 73 (73a to 73n) ... bus timer circuit, 74 ...
Arithmetic processing unit, 75a to 75c ... Output buffer circuit, 76
a, 76b ... Input buffer circuit, 77a-77c ... Invert circuit, 78a-78d ... NAND circuit, 79 ... NOR circuit, 80 ... Emergency notification timer circuit.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサの処理情報をシステム
バスを通して授受するとともに、各プロセッサは、それ
ぞれ前記システムバスの使用を要求するバス要求信号を
出力し、次段のプロセッサ間で前記システムバスの使用
を許可するバス許可信号を授受し合うマルチ・プロセッ
サ・システムにおいて、 各プロセッサは、演算処理部のバス要求指令に基づいて
バス使用権を獲得し、緊急時のバス獲得信号を出力する
とともに、物理的配置によって定められたプライオリテ
ィによって当該プロセッサが次のバス使用権を認められ
る状態にあっても、他のプロセッサがアサートした緊急
通知信号のアクティブ入力があったとき、自らのバス獲
得権を放棄し、次のプロセッサに対してバス許可信号を
伝達することを特徴とする、 マルチ・プロセッサ・システムの直列調停方法。
1. Processing information of a plurality of processors is transmitted and received through a system bus, and each processor outputs a bus request signal requesting use of the system bus, and the processor of the next stage uses the system bus. In a multi-processor system that sends and receives bus grant signals that permit the bus, each processor acquires the bus usage right based on the bus request command from the arithmetic processing unit, outputs the bus acquisition signal in an emergency, and Even if the processor is in a state in which the next bus usage right is recognized by the priority determined by the physical allocation, it will relinquish its own bus acquisition right when there is an active input of the emergency notification signal asserted by another processor. , A multi-processor characterized by transmitting a bus grant signal to the next processor Series arbitration method of the system.
【請求項2】 複数のプロセッサの処理情報をシステム
バスを通して授受するとともに、各プロセッサは、それ
ぞれ前記システムバスの使用を要求するバス要求信号を
出力し、次段のプロセッサ間で前記システムバスの使用
を許可するバス許可信号を授受し合うマルチ・プロセッ
サ・システムにおいて、 各プロセッサ(70)は、バス要求を指令する演算処理
部(74)と、この演算処理部(74)からの要求でバ
ス使用権を獲得するためのバス獲得回路(71)と、バ
スタイムアウトを検出するバスタイマ回路(73)と、
このバスタイマ回路(73)の時定数よりも短い時定数
を有する緊急通知タイマ回路(80)と、この緊急通知
タイマ回路(80)の緊急時のバス獲得要求信号を処理
して該当するプロセッサにバス許可信号を与えるデイジ
ー・チェーン回路(72)によって構成されていること
を特徴とする、 マルチ・プロセッサ・システムの直列調停装置。
2. Processing information of a plurality of processors is transmitted and received through a system bus, and each processor outputs a bus request signal requesting the use of the system bus, and the processor of the next stage uses the system bus. In a multi-processor system for exchanging a bus permission signal for permitting each bus, each processor (70) uses an arithmetic processing unit (74) for instructing a bus request, and a bus use by a request from this arithmetic processing unit (74). A bus acquisition circuit (71) for acquiring the right, a bus timer circuit (73) for detecting a bus timeout,
An emergency notification timer circuit (80) having a time constant shorter than the time constant of the bus timer circuit (73) and a bus acquisition request signal in an emergency of the emergency notification timer circuit (80) are processed to provide a bus to a corresponding processor. Serial arbitration device for a multi-processor system, characterized in that it is constituted by a daisy chain circuit (72) for giving a permission signal.
JP4418192A 1992-03-02 1992-03-02 Method and device for series arbitration of multi-processor system Pending JPH05242047A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4418192A JPH05242047A (en) 1992-03-02 1992-03-02 Method and device for series arbitration of multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4418192A JPH05242047A (en) 1992-03-02 1992-03-02 Method and device for series arbitration of multi-processor system

Publications (1)

Publication Number Publication Date
JPH05242047A true JPH05242047A (en) 1993-09-21

Family

ID=12684408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4418192A Pending JPH05242047A (en) 1992-03-02 1992-03-02 Method and device for series arbitration of multi-processor system

Country Status (1)

Country Link
JP (1) JPH05242047A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165175A (en) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> Apparatus and method for controlling use right of bus
JP2015135599A (en) * 2014-01-17 2015-07-27 Necエンジニアリング株式会社 Bus control circuit, information processor, and common bus collision avoidance method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165175A (en) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> Apparatus and method for controlling use right of bus
US8185679B2 (en) 2009-01-15 2012-05-22 International Business Machines Corporation Controlling bus access
JP2015135599A (en) * 2014-01-17 2015-07-27 Necエンジニアリング株式会社 Bus control circuit, information processor, and common bus collision avoidance method

Similar Documents

Publication Publication Date Title
EP0318221B1 (en) Controlling responding by users of an intercommunications bus
US5274785A (en) Round robin arbiter circuit apparatus
JP2003515221A (en) Bus arbitration in low power systems
JP2013097659A (en) Semiconductor data processor, time trigger communication system and communication system
US5138709A (en) Spurious interrupt monitor
US5455912A (en) High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus
JPH05242047A (en) Method and device for series arbitration of multi-processor system
JPH05242048A (en) Method and device for series arbitration of multi-processor system
JPH0696014A (en) Bus using priority order controller
EP1424634A2 (en) Avoidance of extended bus occupancy through simple control operation
JP3101023B2 (en) Bus right control method
JPH10320349A (en) Processor and data transfer system using the processor
JPH04141757A (en) Bus control system
JP3626292B2 (en) Bus interface control method
JPH07210505A (en) Bus arbitrating system
JP2947195B2 (en) Interrupt mask control method
JPH02143363A (en) Common memory control system in multiprocessor
US20230305872A1 (en) Efficient central processing unit overcommit for virtual machines with symmetric multi-processing
JP3124544B2 (en) Bus controller
JPH0454664A (en) Controller having plural cpus
JPH01108637A (en) Data processor
JPH0991247A (en) Bus arbiter
JPS60564A (en) Memory access competition controlling system
JP2976358B2 (en) Bus acquisition control method
JPH02123448A (en) Bus mediation circuit