[go: up one dir, main page]

JPH11102348A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JPH11102348A
JPH11102348A JP9261512A JP26151297A JPH11102348A JP H11102348 A JPH11102348 A JP H11102348A JP 9261512 A JP9261512 A JP 9261512A JP 26151297 A JP26151297 A JP 26151297A JP H11102348 A JPH11102348 A JP H11102348A
Authority
JP
Japan
Prior art keywords
bus
processor
processors
shared memory
address
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
JP9261512A
Other languages
Japanese (ja)
Inventor
Kanzo Noda
完三 野田
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP9261512A priority Critical patent/JPH11102348A/en
Publication of JPH11102348A publication Critical patent/JPH11102348A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the bus traffic and to improve the throughput by allowing processors of a common memory multiprocessor system to access the same address of a common memory at the same time. SOLUTION: This multiprocessor system includes a bus arbitrating circuit 7a which selects one processor and gives the access right thereto at requests to access the common memory 8 made by processors 1 and 2 and bus control means 4a and 5a which input common memory read data on a common bus 12 to the processor in the unselected state in synchronism with common memory read cycles of the processor selected by the bus arbitrating means.

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 bus control device and a boot method in a system in which a plurality of processors share a bus.

【0002】[0002]

【従来の技術】マルチプロセッサシステムにおいて、複
数のプロセッサとメモリを共有バスを介して接続した場
合、各プロセッサからの共有メモリに対するアクセス要
求の競合が発生し、この競合を調停するための調停回路
を備えた構成が用いられる。この調停回路については、
複数のプロセッサが効率よく共有メモリをアクセス出来
て、システム性能が向上するように、各種の調停方式が
提案されている。
2. Description of the Related Art In a multiprocessor system, when a plurality of processors and a memory are connected via a shared bus, a contention for an access request to the shared memory from each processor occurs, and an arbitration circuit for arbitrating this contention is provided. A provided configuration is used. For this arbitration circuit,
Various arbitration methods have been proposed so that a plurality of processors can efficiently access a shared memory and improve system performance.

【0003】しかしながら、一般的な調停方式はバスの
空き状態を複数のプロセッサに均等に割り振ることを目
的にしたものであって、各プロセッサの共有メモリのア
クセス速度を向上させるものではなかった。そこで、各
プロセッサの共有メモリアクセス速度を向上させ、バス
トラフィックを削減して、システムの処理性能を向上さ
せるために、バス幅を広げる、バスの分離、共有メモリ
の分割、バスと共有メモリの間にデータバッファを設け
るなどの技術が一般的に知られており、種々の方式が提
案されている。
However, the general arbitration system aims at evenly allocating the empty state of the bus to a plurality of processors, and does not improve the access speed of the shared memory of each processor. Therefore, to increase the shared memory access speed of each processor, reduce the bus traffic, and improve the processing performance of the system, increase the bus width, separate the bus, divide the shared memory, There is generally known a technique of providing a data buffer in a computer, and various schemes have been proposed.

【0004】又、特開平5−20262号公報では、ス
プリットトランザクション方式のバスを採用してバスト
ラフィックを削減する技術が提案されている。スプリッ
トトランザクション方式とは、リードやライトトランザ
クションの間バスを占有することなく、トランザクショ
ンを分割する方式である。例えば、リード時にはアドレ
スを含んだリード要求トランザクションとデータを含ん
だレスポンストランザクションに分割し、メモリが要求
されたアドレスからデータを読み出している間、他のバ
スマスタのバス使用を可能にし、システム性能の向上を
実現するものである。
Japanese Patent Laid-Open Publication No. Hei 5-20262 proposes a technique for reducing bus traffic by employing a split transaction bus. The split transaction method is a method of dividing a transaction without occupying a bus between read and write transactions. For example, at the time of reading, the data is divided into a read request transaction containing an address and a response transaction containing data, and while the memory is reading data from the requested address, another bus master can use the bus to improve system performance. Is realized.

【0005】上記特開平5−20262号公報の技術
は、スプリットトランザクション方式のバスにおいて、
自プロセッサのリードターゲットアドレスと共有バス上
で実行される他プロセッサのリード要求アドレスが一致
した場合に、バスアクセス権要求送出を中止して、他C
PUのリード要求のレスポンスを待ってそのデータを自
プロセッサに取り込むことにより、同時期に発生した同
一メモリアドレスへのリードを同じサイクルで処理する
ことでバストラフィックを削減する技術である。
[0005] The technique disclosed in Japanese Patent Application Laid-Open No. H5-220262 is disclosed in Japanese Patent Application Laid-Open No. H5-220262.
If the read target address of the own processor and the read request address of another processor executed on the shared bus match, the transmission of the bus access right request is stopped and
This is a technology for reducing bus traffic by waiting for a response to a PU read request and loading the data into its own processor, thereby processing the same memory address read that occurred at the same time in the same cycle.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、上記特
開平5−20262号公報の技術は、共有バスにスプリ
ットトランザクション方式のバスを使用することを前提
にした技術である。現在、マイクロプロセッサと呼ばれ
る1チッププロセッサはスプリットトランザクション方
式のバスを採用しておらず、汎用のマイクロプロセッサ
を使用したマルチプロセッサシステムに上記従来技術を
適用するためには各プロセッサ側及び共有メモリ側にス
プリットトランザクション方式のバスを制御するための
複雑なバス制御回路が必要になり、ハードウエア量が増
え、コストの増加を招くため、小規模なマルチプロセッ
サシステムには適していなかった。
However, the technique disclosed in Japanese Patent Application Laid-Open No. H5-220262 is based on the premise that a shared transaction bus is used as a shared bus. At present, a one-chip processor called a microprocessor does not employ a split transaction bus, and in order to apply the above-described conventional technology to a multiprocessor system using a general-purpose microprocessor, it is necessary for each processor and a shared memory to be used. A complicated bus control circuit for controlling the bus of the split transaction method is required, which increases the amount of hardware and increases the cost, and is not suitable for a small-scale multiprocessor system.

【0007】又、バス幅を広げる、バスの分離、共有メ
モリの分割、バスと共有メモリの間にデータバッファを
設けるなどの技術についても、複雑な制御回路が必要で
あり、ハードウエア量が増加し、コスト的にも不利であ
り、やはり小規模なマルチプロセッサシステムには適し
ていなかった。そのため、非スプリットトランザクショ
ン方式の汎用マイクロプロセッサを使用した小規模なマ
ルチプロセッサシステムに適用可能であり、簡単なハー
ドウエアにて実現可能で、バストラフィックを削減して
共有メモリアクセスの処理性能を向上させるバス制御回
路が必要であった。
In addition, complicated techniques are required for techniques such as increasing the bus width, separating the bus, dividing the shared memory, and providing a data buffer between the bus and the shared memory, and the amount of hardware increases. However, it is disadvantageous in terms of cost and is not suitable for a small multiprocessor system. Therefore, the present invention can be applied to a small-scale multiprocessor system using a general-purpose microprocessor of a non-split transaction type, can be realized with simple hardware, and reduces bus traffic and improves processing performance of shared memory access. A bus control circuit was required.

【0008】[0008]

【課題を解決するための手段】請求項1に記載のマルチ
プロセッサシステムは、上記課題を解決するため、複数
のプロセッサに同時動作を指示する指示手段と、上記複
数プロセッサから発生する共有メモリアクセス要求に応
じて、1つのプロセッサを選択してアクセス権を与える
バス調停手段と、上記バス調停手段により選択されたプ
ロセッサの共有メモリリードサイクルに同期して、共有
バス上の共有メモリリードデータを非選択状態のプロセ
ッサへ取込むバス制御手段とを備え、上記複数のプロセ
ッサの共有メモリリード要求を同一バスサイクルにて同
時に実行することを特徴とする。
According to a first aspect of the present invention, there is provided a multiprocessor system comprising: an instruction unit for instructing a plurality of processors to operate simultaneously; and a shared memory access request generated by the plurality of processors. Bus arbitration means for selecting one processor to give access right according to the above, and deselecting shared memory read data on the shared bus in synchronization with a shared memory read cycle of the processor selected by the bus arbitration means Bus control means for taking in a processor in a state, wherein the shared memory read requests of the plurality of processors are simultaneously executed in the same bus cycle.

【0009】請求項2に記載のマルチプロセッサシステ
ムは、上記課題を解決するため、請求項1記載のマルチ
プロセッサシステムにおいて、上記バス調停手段は、上
記複数のプロセッサから異なったタイミングで発生する
共有メモリリード要求を、同期化するためのウエイト信
号送出手段を備えたことを特徴とする。
According to a second aspect of the present invention, there is provided a multiprocessor system according to the first aspect, wherein the bus arbitration means generates a shared memory generated from the plurality of processors at different timings. A wait signal transmitting means for synchronizing the read request is provided.

【0010】請求項3に記載のマルチプロセッサシステ
ムは、上記課題を解決するため、請求項1、又は2記載
のマルチプロセッサシステムにおいて、上記バス調停手
段は上記指示手段により同時動作が指定された状態で共
有メモリのライト要求が発生すると、1つのプロセッサ
にアクセスを許可すると共に、他のプロセッサには応答
のみ返すことにより、複数のプロセッサの共有メモリへ
のライト要求を、同一バスサイクルにて、同時に実行す
ることを特徴とする。
According to a third aspect of the present invention, there is provided a multiprocessor system as set forth in the first or second aspect, wherein the bus arbitration means has a simultaneous operation designated by the instruction means. When a write request to the shared memory occurs, access is granted to one processor and only a response is returned to the other processor, so that write requests to the shared memory by a plurality of processors can be simultaneously performed in the same bus cycle. It is characterized by executing.

【0011】請求項4記載のマルチプロセッサシステム
は、上記課題を解決するため、請求項1乃至3記載のマ
ルチプロセッサシステムにおいて、上記バス調停手段は
アドレス比較手段を備え、上記複数のプロセッサからの
アクセス要求アドレスの不一致を検出して、複数プロセ
ッサの同時動作を終了することを特徴とする。
According to a fourth aspect of the present invention, there is provided a multiprocessor system according to any one of the first to third aspects, wherein the bus arbitration unit includes an address comparison unit, and the access from the plurality of processors is performed. A feature is that simultaneous operation of a plurality of processors is terminated by detecting a mismatch of request addresses.

【0012】請求項5記載のマルチプロセッサシステム
は、上記課題を解決するため、請求項1乃至3記載のマ
ルチプロセッサシステムにおいて、上記バス調停手段は
アドレス比較手段を備え、上記複数のプロセッサからの
アクセス要求アドレスの一致を検出し,比較一致の場合
のみ同時動作を行うことを特徴とする。
According to a fifth aspect of the present invention, there is provided a multiprocessor system as set forth in any one of the first to third aspects, wherein the bus arbitration means includes an address comparison means, and the access from the plurality of processors. It is characterized in that the coincidence of the request addresses is detected and the simultaneous operation is performed only in the case of the comparison coincidence.

【0013】請求項6記載のマルチプロセッサシステム
は、上記課題を解決するため、請求項1乃至5記載のマ
ルチプロセッサシステムにおいて、上記複数のプロセッ
サの起動プログラムを記憶した共有メモリを持ち、シス
テムリセットが解除されたとき、複数のプロセッサが同
時に前記共有メモリに記憶された起動プログラムを実行
することを特徴とする。
According to a sixth aspect of the present invention, there is provided a multiprocessor system according to any one of the first to fifth aspects, further comprising a shared memory storing a boot program of the plurality of processors, wherein a system reset is performed. When released, a plurality of processors execute the start-up program stored in the shared memory at the same time.

【0014】[0014]

【発明の実施の形態】以下、図面を参照して、本発明の
マルチプロセッサシステムの実施の形態を詳細に説明す
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a multiprocessor system according to the present invention will be described in detail with reference to the drawings.

【0015】[実施の形態1]図1は、本発明のマルチ
プロセッサシステムの実施の形態1を示す構成図であ
る。図1において、本発明のマルチプロセッサシステム
は、プロセッサ1、及びプロセッサ2の2つのプロセッ
サ、各プロセッサのローカルバス102、202に接続
されるローカルメモリ101、201、各プロセッサを
共有バス12に接続するためのバス制御回路4a、5
a、各プロセッサからの共有バスアクセス要求を調停す
るためのバス調停回路7aとから構成される。又、上記
バス制御回路4a,5aと、上記バス調停回路7aとの
間は制御線10、11で接続される。
[First Embodiment] FIG. 1 is a configuration diagram showing a first embodiment of a multiprocessor system according to the present invention. 1, the multiprocessor system of the present invention connects two processors, a processor 1 and a processor 2, local memories 101 and 201 connected to local buses 102 and 202 of each processor, and each processor to a shared bus 12. Control circuits 4a, 5
a, a bus arbitration circuit 7a for arbitrating a shared bus access request from each processor. Further, control lines 10 and 11 are connected between the bus control circuits 4a and 5a and the bus arbitration circuit 7a.

【0016】図2は、上記バス制御回路4aの構成図で
ある。図2において、バス制御回路4aは、プロセッサ
1のローカルバス102と共有バス12を接続するもの
であり、アドレスデコーダ405、バッファゲート40
1〜403、タイミング制御回路404、ゲート回路4
20〜423、Dタイプフリップフロップ410から構
成される。又、図示しないが、バス制御回路5aの構成
もバス制御回路4aと同じである。
FIG. 2 is a block diagram of the bus control circuit 4a. 2, a bus control circuit 4a connects the local bus 102 and the shared bus 12 of the processor 1, and includes an address decoder 405, a buffer gate 40
1 to 403, a timing control circuit 404, a gate circuit 4
20 to 423, and a D-type flip-flop 410. Although not shown, the configuration of the bus control circuit 5a is the same as that of the bus control circuit 4a.

【0017】図3は、上記バス調停回路7aの構成図で
ある。図3において、バス調停回路7aは、各プロセッ
サの共有バスアクセスを調停するためのものであり、調
停回路701、タイミング制御回路702、ゲート回路
710〜713から構成される。
FIG. 3 is a configuration diagram of the bus arbitration circuit 7a. In FIG. 3, a bus arbitration circuit 7a is for arbitrating shared bus access of each processor, and includes an arbitration circuit 701, a timing control circuit 702, and gate circuits 710 to 713.

【0018】図4は、本発明のマルチプロセッサシステ
ムの実施の形態1の動作を説明するためのタイミングチ
ャートである。共有メモリ8は、各プロセッサからアク
セス可能なように共有バス12に接続され、図示してい
ないがROMおよびRAMで構成される。共有メモリ8
のROM部分には起動プログラムなどの各プロセッサの
動作プログラムが格納されている。又、図示していない
が、各プロセッサには共通のRESET信号、CLK信
号が供給されている。
FIG. 4 is a timing chart for explaining the operation of the first embodiment of the multiprocessor system of the present invention. The shared memory 8 is connected to the shared bus 12 so as to be accessible from each processor, and includes a ROM and a RAM (not shown). Shared memory 8
In the ROM portion, operation programs of each processor such as a start program are stored. Although not shown, each processor is supplied with a common RESET signal and CLK signal.

【0019】マルチプロセッサシステムの起動は、電源
投入及びシステムリセットにより開始され、RESET
信号が各プロセッサ及び各制御回路に供給される。プロ
セッサ1にRESET信号が入ると、プロセッサ1は内
部レジスタなどの初期化を行い、スタートベクタのリー
ド動作を開始する。スタートベクタはプログラムの実行
開始アドレスを示すものであり、メモリアドレス000000
00h番地に格納されている。この動作は、プロセッサ2
でも同様であり、システム起動時の各プロセッサの動作
は、スタックポインタ、メモリマネージメントユニッ
ト、割込レジスタ、ローカルメモリ領域などの初期設定
や、動作プログラムのローカルメモリへのロードなどで
あり、各プロセッサが同じプログラムの実行を同時に行
う。
The activation of the multiprocessor system is started by turning on the power and resetting the system.
A signal is supplied to each processor and each control circuit. When the RESET signal is input to the processor 1, the processor 1 initializes internal registers and the like, and starts a read operation of a start vector. The start vector indicates the program execution start address, and the memory address 000000
It is stored at address 00h. This operation is performed by the processor 2
The same applies to the operation of each processor when the system is started, including initialization of the stack pointer, memory management unit, interrupt register, local memory area, etc., and loading of the operation program to the local memory. Execute the same program at the same time.

【0020】RESET信号により各プロセッサが起動
されると、プロセッサ1とプロセッサ2から、時刻t1
のタイミングでそれぞれスタートベクタであるメモリア
ドレス00000000h番地のリード要求が発生し、アドレス
A31〜0、アドレスが有効であることを示すAEN(A
ddress Enable)信号がアクティブとなる。時刻t1にお
いて、プロセッサ1のリード要求が発生すると、アドレ
スデコーダ405が共有メモリのアドレスが選択された
ことを検出し、AEN信号がアクティブなのでANDゲ
ート421の条件がとれBRQ1信号がアクティブとな
る。
When each processor is started by the RESET signal, the processor 1 and the processor 2 transmit the time t1
, A read request for the memory address 00000000h, which is the start vector, is generated, and the addresses A31 to A0 and AEN (A
ddress Enable) signal becomes active. At time t1, when a read request from the processor 1 occurs, the address decoder 405 detects that the address of the shared memory has been selected, and since the AEN signal is active, the condition of the AND gate 421 is satisfied and the BRQ1 signal becomes active.

【0021】又、RESET信号によってフリップフロ
ップ410がプリセットされ、各プロセッサの同時動作
モードを示すSYNC1信号がアクティブとなっている
ので、READ信号がアクティブになった時点でAND
ゲート423の出力RDRQ1信号がアクティブとな
り、BRQ1信号と共にバス調停回路7aへ出力され
る。同様に、プロセッサ2において、BRQ2信号、R
DRQ2信号がアクティブとなりバス調停回路7aに出
力される。
Since the flip-flop 410 is preset by the RESET signal and the SYNC1 signal indicating the simultaneous operation mode of each processor is active, the AND signal is activated when the READ signal becomes active.
The output RDRQ1 signal of the gate 423 becomes active and is output to the bus arbitration circuit 7a together with the BRQ1 signal. Similarly, in processor 2, the BRQ2 signal, R
The DRQ2 signal becomes active and is output to the bus arbitration circuit 7a.

【0022】バス調停回路7aでは、バス要求信号であ
るBRQ1、BRQ2信号が入力されると調停回路70
1にて所定の優先順位に従ってどちらかの要求が選択さ
れる、ここではBRQ1が選択され、その応答信号であ
るADEN1信号がアクティブとなると共に、RDRQ
1、RDRQ2信号によりORゲート711、713を
経由してタイミング制御回路702にてCLK信号に同
期してDTEN1、DTEN2信号がアクティブとな
る。
In the bus arbitration circuit 7a, the arbitration circuit 70 receives the bus request signals BRQ1 and BRQ2.
1, one of the requests is selected according to a predetermined priority. Here, BRQ1 is selected, the ADEN1 signal as a response signal thereof is activated, and the RDRQ1 is selected.
1, the DTEN1 and DTEN2 signals become active in synchronization with the CLK signal in the timing control circuit 702 via the OR gates 711 and 713 in response to the RDRQ2 signal.

【0023】これによりバッファゲート401、402
がイネーブルとなり、プロセッサ1のアドレス信号A3
1−0、タイミング制御回路404にて所定のタイミン
グに調整されたAEN信号、リードコマンドであるRE
AD信号が共有バス12上に出力され、データバスD3
1−0が共有バス12に接続され、共有メモリ8のアド
レス00000000h番地の読み取りが開始される。共有バス
12上では、所定のアクセスタイムtac経過後、時刻
t2のタイミングにて、共有メモリ8からデータが出力
される。
As a result, the buffer gates 401, 402
Is enabled, and the address signal A3 of the processor 1 is
1-0, the AEN signal adjusted at a predetermined timing by the timing control circuit 404, and the read command RE
The AD signal is output on the shared bus 12 and the data bus D3
1-0 is connected to the shared bus 12, and reading of the address 00000000h of the shared memory 8 is started. On the shared bus 12, data is output from the shared memory 8 at a timing of time t2 after a predetermined access time tac has elapsed.

【0024】本発明のマルチプロセッサシステムの実施
の形態1のプロセッサ1、2のメモリアクセスサイクル
は、アクセスサイクル要求信号であるWAIT信号がア
クティブにならなければ、T1、T2の2クロックサイ
クルで行われる。このため、時刻t3にてREAD信号
がネゲートされると共に、共有バス12上の共有メモリ
8の読み取りデータをバス制御回路4aを経由してプロ
セッサ1がリードする。
The memory access cycle of the processors 1 and 2 according to the first embodiment of the multiprocessor system of the present invention is performed in two clock cycles of T1 and T2 unless the WAIT signal which is an access cycle request signal becomes active. . Therefore, at time t3, the READ signal is negated, and the processor 1 reads the read data of the shared memory 8 on the shared bus 12 via the bus control circuit 4a.

【0025】同様に、プロセッサ2においてはADEN
2信号はネゲートされており、DTEN2信号のみアク
ティブなので共有バス12のデータバスだけがローカル
バス202と接続され、プロセッサ1が読取った共有メ
モリデータの取込みが行われ、結果的に共有メモリ8の
データのリードが行われ、各プロセッサにおいて、共有
メモリの同一アドレスのデータを同時にリードする事が
可能になる。共有メモリのアドレス00000000h番地はス
タートベクタであり、ここにはプログラムスタートアド
レスが格納されている、今読み出したデータが00001000
0hであったので、各プロセッサは、共有メモリ8のアド
レス00001000h番地から命令のフェッチ動作を開始す
る。
Similarly, in processor 2, ADEN
2 signal is negated and only the DTEN2 signal is active, so only the data bus of the shared bus 12 is connected to the local bus 202, and the shared memory data read by the processor 1 is taken in. As a result, the data of the shared memory 8 is read. , And each processor can simultaneously read data at the same address in the shared memory. The address 00000000h of the shared memory is a start vector, in which a program start address is stored.
Since it is 0h, each processor starts an instruction fetch operation from the address 00001000h of the shared memory 8.

【0026】時刻t4において、各プロセッサから同じ
タイミングでアドレス000010000h番地のリード要求が発
生し、アドレスA31〜0、アドレスが有効であること
を示すAEN信号がアクティブとなる。前記のバスサイ
クル1と同様の動作で、プロセッサ1とプロセッサ2が
共有メモリ8のアドレス00001000h番地の命令フェッチ
を同時に行う。ここでは、調停回路701にてバスサイ
クル1ではBRQ1が、バスサイクル2ではBRQ2が
選択された場合のタイミングチャートを記載してある
が、調停回路701の調停方式は、固定の優先順位にし
たり、優先順位を可変にするラウンドロビン方式など、
所望の調停方式を適用可能である。
At time t4, each processor issues a read request at the address 000010000h at the same timing, and the addresses A31 to A0 and the AEN signal indicating that the address is valid become active. By the same operation as that in the bus cycle 1, the processor 1 and the processor 2 simultaneously fetch an instruction at the address 00001000h of the shared memory 8. Here, a timing chart in the case where BRQ1 is selected in the bus cycle 1 and BRQ2 in the bus cycle 2 is described in the arbitration circuit 701, but the arbitration method of the arbitration circuit 701 is set to a fixed priority, Round robin method with variable priority, etc.
Any desired arbitration scheme can be applied.

【0027】このようにして、順次共有メモリ上の命令
を読み取ってプログラムの実行を各プロセッサが同時に
行うことが可能になる。初期設定などの各プロセッサの
同時実行処理が終了すると、各プロセッサは同時動作を
指定するSYNCフラグをリセットする。プロセッサ1
に於いては、SYNCフラグは、バス制御回路4aにあ
るDタイプフリップフロップ410の出力SYNC1信
号であり、RESET信号によりアクテイブとなる。S
YNCフラグは、プロセサ1のメモリアドレス空間に割
り付けられており、プログラムにて自由にセット/リセ
ット可能である。これは、プロセッサ2においても同様
である。
In this way, it becomes possible for each processor to simultaneously read instructions in the shared memory and execute the program. When the simultaneous execution processing of each processor such as the initial setting is completed, each processor resets a SYNC flag designating the simultaneous operation. Processor 1
In the example, the SYNC flag is an output SYNC1 signal of the D-type flip-flop 410 in the bus control circuit 4a, and is activated by the RESET signal. S
The YNC flag is allocated to the memory address space of the processor 1 and can be freely set / reset by a program. This is the same in the processor 2.

【0028】SYNCフラグであるSYNC1、2信号
が各プロセッサによりリセットされると、同時動作モー
ドが終了し、以降の共有メモリアクセスはバス調停回路
7aによって、アクセス要求が調停され、各々のアクセ
スが独立に実行され、一方のプロセッサが共有メモリア
クセスを行っているときには他方のプロセッサはウエイ
ト状態となる。このように、同時動作モードが終了する
と、通常のマルチプロセッサシステムの動作となる。
When the SYNC flags SYNC1 and SYNC2 are reset by the respective processors, the simultaneous operation mode is terminated. In the subsequent shared memory access, an access request is arbitrated by the bus arbitration circuit 7a, and each access is independent. When one processor is performing shared memory access, the other processor is in a wait state. Thus, when the simultaneous operation mode ends, the operation of the ordinary multiprocessor system starts.

【0029】[実施の形態2]次に、本発明のマルチプ
ロセッサシステムの実施の形態2について説明する。本
発明のマルチプロセッサシステムは、3つのプロセッサ
で構成される。図5に全体構成図、図6にバス制御回路
4bの構成図、図7にバス調停回路7bの構成図を示
す。
[Second Embodiment] Next, a multiprocessor system according to a second embodiment of the present invention will be described. The multiprocessor system of the present invention is composed of three processors. FIG. 5 is an overall configuration diagram, FIG. 6 is a configuration diagram of the bus control circuit 4b, and FIG. 7 is a configuration diagram of the bus arbitration circuit 7b.

【0030】図6において、バス制御回路4bは、プロ
セッサ1のローカルバス102と共有バス12を接続す
るものであり、アドレスデコーダ405、バッファゲー
ト401〜403、タイミング制御回路404、ゲート
回路420〜424、Dタイプフリップフロップ411
から構成される。又、図示しないが、バス制御回路5
b、6bの構成もバス制御回路4bと同じである。
In FIG. 6, a bus control circuit 4b connects the local bus 102 of the processor 1 and the shared bus 12, and includes an address decoder 405, buffer gates 401 to 403, a timing control circuit 404, and gate circuits 420 to 424. , D-type flip-flop 411
Consists of Although not shown, the bus control circuit 5
The configurations of b and 6b are the same as those of the bus control circuit 4b.

【0031】図7は、上記バス調停回路7bの構成を示
す図である。図7において、バス調停回路7bは、各プ
ロセッサの共有バスアクセスを調停するためのものであ
り、調停回路701、タイミング制御回路702、アド
レス比較回路703、ゲート回路715〜734から構
成される。
FIG. 7 is a diagram showing a configuration of the bus arbitration circuit 7b. In FIG. 7, a bus arbitration circuit 7b is for arbitrating shared bus access of each processor and includes an arbitration circuit 701, a timing control circuit 702, an address comparison circuit 703, and gate circuits 715 to 734.

【0032】図8は、実施の形態2の動作を説明するた
めのタイミングチャートである。上記実施の形態1と同
様に、プロセッサ1にRESET信号が入ると、プロセ
ッサ1は内部レジスタなどの初期化を行い、スタートベ
クタのリード動作のため、メモリアドレス00000000h番
地のリードを開始する。同様にプロセッサ2、3におい
てもメモリアドレス00000000h番地のリードを開始す
る。各プロセッサからのメモリアドレス00000000h番地
のリード要求は、共通のクロックに同期したタイミング
で発生するが、必ず同時に発生するものではなく、図8
のバスサイクル1に示すように、プロセッサによっては
1クロックサイクルの遅延を伴う。これは、各プロセッ
サによりRESET信号を検出するタイミングが微妙に
違う為である。
FIG. 8 is a timing chart for explaining the operation of the second embodiment. As in the first embodiment, when the RESET signal is input to the processor 1, the processor 1 initializes internal registers and the like, and starts reading the memory address 00000000h for the read operation of the start vector. Similarly, the processors 2 and 3 start reading the memory address 00000000h. The read request of the memory address 00000000h from each processor is generated at the timing synchronized with the common clock, but is not always generated at the same time, and is not always performed at the same time.
As shown in the bus cycle 1 of FIG. 1, some processors have a delay of one clock cycle. This is because the timing at which the RESET signal is detected by each processor is slightly different.

【0033】プロセッサ1、3からは時刻t1、プロセ
ッサ2からは時刻t2のタイミングでそれぞれスタート
ベクタであるメモリアドレス00000000h番地のリード要
求が発生し、アドレスA31〜0、アドレスが有効であ
ることを示すAEN信号がアクティブとなる。時刻t1
において、プロセッサ1のリード要求が発生すると、実
施の形態1と同様にBRQ1、RDRQ1信号がアクテ
ィブとなり、バス調停回路7bへ出力される。同様に、
プロセッサ3において、BRQ3、RDRQ3信号がア
クテイブとなりバス調停回路7bに出力される。
At the time t1 from the processors 1 and 3, a read request for the memory address 00000000h, which is the start vector, is generated at the time t2 from the processor 2, and the addresses A31 to 0 indicate that the addresses are valid. The AEN signal becomes active. Time t1
, When a read request from the processor 1 occurs, the BRQ1 and RDRQ1 signals become active and output to the bus arbitration circuit 7b as in the first embodiment. Similarly,
In the processor 3, the BRQ3 and RDRQ3 signals are activated and output to the bus arbitration circuit 7b.

【0034】バス調停回路7bでは、バス要求信号であ
るBRQ1、BRQ3信号が入力されると調停回路70
1にて所定の優先順位に従ってどちらかの要求が選択さ
れる、ここではBRQ1が選択され、その応答信号であ
るADEN1信号がアクティブとなると共に、RDRQ
1、RDRQ3信号によりORゲート717、723、
タイミング制御回路702を経由してDTEN1、DT
EN3信号がアクティブとなる。これにより、プロセッ
サ1のアドレス信号A31−0、リードコマンドである
READ信号が共有バス12上に出力され、共有メモリ
8のアドレス00000000h番地の読み取りが開始される。
In the bus arbitration circuit 7b, when the bus request signals BRQ1 and BRQ3 are inputted, the arbitration circuit 70
1, one of the requests is selected according to a predetermined priority. Here, BRQ1 is selected, the ADEN1 signal as a response signal thereof is activated, and the RDRQ1 is selected.
1, OR gates 717, 723,
DTEN1, DT via the timing control circuit 702
The EN3 signal becomes active. As a result, the address signal A31-0 of the processor 1 and the READ signal as the read command are output onto the shared bus 12, and reading of the address 00000000h of the shared memory 8 is started.

【0035】共有バス12上では、所定のアクセスタイ
ムtac経過後、時刻t3のタイミングにて、共有メモ
リ8からデータが出力される。又、DTEN1、DTE
N3信号によりバス制御回路4b、6bのバッファゲー
ト401がイネーブル状態になり、プロセッサ1及びプ
ロセッサ3のデータバスD31−0が共有バス12に接
続される。又、ANDゲート727、733の条件がと
れ、ORゲート726出力であるBWAIT1信号、O
Rゲート732出力であるBWAIT3信号がそれぞれ
アクティブとなる。
On the shared bus 12, data is output from the shared memory 8 at a time t3 after a predetermined access time tac has elapsed. Also, DTEN1, DTE
The buffer gate 401 of the bus control circuits 4b and 6b is enabled by the N3 signal, and the data bus D31-0 of the processor 1 and the processor 3 is connected to the shared bus 12. Also, the conditions of the AND gates 727 and 733 are satisfied, and the BWAIT1 signal output from the OR gate 726, O
The BWAIT3 signal output from the R gate 732 becomes active.

【0036】BWAIT1信号は、バス制御回路4bに
入力されバッファゲート403がBRQ1信号によっ
て、すでにイネーブル状態になっているのでプロセッサ
1に対して、リードサイクルを待たせる為のWAIT信
号がアクティブとなり、プロセサ1からの共有メモリ8
のリード動作に対してウエイトサイクルが挿入される。
同様に、プロセッサ3にもウエイトサイクルが挿入され
る。プロセッサ2は、プロセッサ1より1クロック遅れ
て、時刻t2においてリード要求が発生し、前記のプロ
セサ1の場合と同様にBRQ2、RDRQ2信号がアク
ティブとなる。
The BWAIT1 signal is input to the bus control circuit 4b, and the buffer gate 403 is already enabled by the BRQ1 signal. Therefore, the WAIT signal for causing the processor 1 to wait for a read cycle becomes active. Shared memory 8 from 1
A wait cycle is inserted for the read operation.
Similarly, a wait cycle is inserted into the processor 3. The processor 2 issues a read request at time t2, one clock later than the processor 1, and the BRQ2 and RDRQ2 signals become active as in the case of the processor 1.

【0037】この時、バス調停回路7bにおいて、DT
EN2信号がアクティブになり、プロセッサ2のデータ
バスD31−0が共有バスに接続されると共に、NAN
Dゲート724の条件がとれるため、BWAIT1信号
がネゲートされ、プロセッサ1のWAIT信号がネゲー
トされ、プロセッサ1のウエイトサイクルが終了する。
プロセッサ1においては、WAIT信号がネゲートされ
ると、次のサイクルはT2サイクルとなり、時刻t4に
てREAD信号がネゲートされると共に、共有バス12
上の共有メモリ8の読み取りデータをバス制御回路4b
を経由してプロセッサ1がリードする。同様に、プロセ
ッサ3においてもWAIT信号がネゲートされ、プロセ
ッサ2とともに共有メモリ12の読み取りデータのリー
ドが行われる。この時、プロセッサ2及び3においては
実施の形態1と同様に共有バス12のデータバスのみが
ローカルバスに接続される。
At this time, in the bus arbitration circuit 7b, DT
The EN2 signal becomes active, the data bus D31-0 of the processor 2 is connected to the shared bus, and
Since the condition of the D gate 724 is satisfied, the BWAIT1 signal is negated, the WAIT signal of the processor 1 is negated, and the wait cycle of the processor 1 ends.
In the processor 1, when the WAIT signal is negated, the next cycle is the T2 cycle, and at time t4, the READ signal is negated and the shared bus 12 is turned off.
The read data of the shared memory 8 is transferred to the bus control circuit 4b
Is read by the processor 1 via. Similarly, the WAIT signal is negated in the processor 3 and the read data of the shared memory 12 is read together with the processor 2. At this time, in the processors 2 and 3, only the data bus of the shared bus 12 is connected to the local bus as in the first embodiment.

【0038】又、実施の形態2においては、各プロセッ
サからの共有メモリのリード時だけでなく、ライト時に
も同時動作可能になっている。これは、システムの初期
設定やプログラムロードなどにおいても、サブルーチン
の動作が可能なようにしたものであり、各プロセッサが
同時に同一サブルーチンを実行した場合、プロセッサ内
部レジスタのスタック領域への待避動作が可能になって
いる。各プロセッサが同期して、同一プログラムの実行
を行った場合、各プロセッサがサブルーチンコールを行
うとプログラムカウンタ等の内部レジスタの値は各プロ
セッサで同一の値を示しており、スタック領域が共有領
域に割り付けられていれば、同一タイミングにて同一共
有メモリアドレスへの同一データのライト要求が発生す
る。この場合、ライト動作の同時実行が有効となる。
Further, in the second embodiment, simultaneous operation is possible not only when the shared memory is read from each processor but also when the shared memory is written. This allows subroutine operations to be performed even during system initialization or program loading.If each processor executes the same subroutine at the same time, it can save the processor internal registers to the stack area. It has become. When each processor executes the same program synchronously, when each processor makes a subroutine call, the values of the internal registers such as the program counter indicate the same value in each processor, and the stack area is in the shared area. If they are allocated, a write request of the same data to the same shared memory address occurs at the same timing. In this case, simultaneous execution of the write operation is effective.

【0039】ライト同時動作の様子は、図8のタイムチ
ャートに示すが、プロセッサ1、プロセッサ2、プロセ
ッサ3から、時刻t5のタイミングでそれぞれメモリア
ドレス00002000h番地のライト要求が発生し、アドレス
A31〜0、アドレスが有効であることを示すAEN信
号がアクティブとなる。時刻t5において、プロセッサ
1のライト要求が発生すると、アドレスデコーダ405
が共有メモリのアドレスの選択を検出し、AEN信号が
アクティブなのでANDゲート421の条件がとれBR
Q1信号がアクティブとなり、ライト要求であるのでA
NDゲート424の条件がとれ、WTRQ1信号がアク
ティブとなる。
The state of the simultaneous write operation is shown in the time chart of FIG. 8, and a write request of the memory address 00002000h is generated from the processor 1, the processor 2 and the processor 3 at the timing of time t5, and the addresses A31 to A0 are output. , The AEN signal indicating that the address is valid becomes active. At time t5, when a write request from the processor 1 occurs, the address decoder 405
Detects the selection of the address of the shared memory, and since the AEN signal is active, the condition of the AND gate 421 is satisfied and BR
Since the Q1 signal becomes active and is a write request, A
The condition of the ND gate 424 is satisfied, and the WTRQ1 signal becomes active.

【0040】同様に、プロセッサ2、3において、BR
Q2、WTRQ2、BRQ3、WTRQ3信号がアクテ
ィブとなりバス調停回路7bに出力される。バス調停回
路7bでは、バス要求信号であるBRQ1、BRQ2、
BRQ3信号が入力されると調停回路701にて所定の
優先順位に従ってどれかの要求が選択される、ここでは
BRQ1が選択され、その応答信号であるADEN1信
号がアクティブとなると共に、WTRQ1信号により、
ANDゲート715の条件がとれ、ORゲート717、
タイミング制御回路702を経由してDTEN 信号が
アクティブとなる。
Similarly, in the processors 2 and 3, the BR
The signals Q2, WTRQ2, BRQ3, and WTRQ3 become active and are output to the bus arbitration circuit 7b. In the bus arbitration circuit 7b, the bus request signals BRQ1, BRQ2,
When the BRQ3 signal is input, one of the requests is selected in the arbitration circuit 701 according to a predetermined priority. Here, the BRQ1 is selected, the ADEN1 signal as a response signal thereof is activated, and the WTRQ1 signal is used.
The condition of the AND gate 715 is satisfied, and the OR gate 717,
The DTEN signal becomes active via the timing control circuit 702.

【0041】これによりバッファゲート401、402
がイネーブルとなり、プロセッサ1のアドレス信号A3
1−0、タイミング制御回路404にて所定のタイミン
グに調整されたAEN信号、ライトコマンドであるWR
ITE信号が共有バス12上に出力され、データバスD
31−0が共有バス12に接続され、共有メモリ8のア
ドレス00002000h番地への書込みが開始される。共有バ
ス12上では、WRITE信号の立ち下がりタイミング
である時刻t6のタイミングにて、共有メモリ8にプロ
セッサ1からデータが書き込まれる。ここで、プロセッ
サ2、3はプロセッサ1と同じアドレス、同じデータの
書込要求であったので、ADEN2、3、DTEN2,
3信号はネゲートされたままであり、バスを接続するこ
となく、アクセスの応答を返す(実施の形態2において
はWAIT信号をアクティブにしない)だけで書込処理
が可能になる。
As a result, the buffer gates 401 and 402
Is enabled, and the address signal A3 of the processor 1 is
1-0, the AEN signal adjusted at a predetermined timing by the timing control circuit 404, and the write command WR
An ITE signal is output on the shared bus 12 and the data bus D
31-0 is connected to the shared bus 12, and writing to the address 00002000h of the shared memory 8 is started. On the shared bus 12, data is written from the processor 1 to the shared memory 8 at the timing of time t6, which is the falling timing of the WRITE signal. Here, since the processors 2 and 3 are the same address and the same data write request as the processor 1, ADEN2, 3, DTEN2,
The three signals remain negated, and the writing process can be performed only by returning an access response (in the second embodiment, not activating the WAIT signal) without connecting the bus.

【0042】このようにして、順次共有メモリ8上の命
令を読み取ってプログラムの実行を各プロセッサが同時
に行い、初期設定などの各プロセッサの同時実行処理が
終了すると、各プロセッサは各プロセッサ独自の処理ル
ーチンの実行を開始する。この時、各プロセッサは同一
のタイミング、時刻t7にて共有メモリ8の個別アドレ
スのリード要求を発生する。
In this way, each processor simultaneously reads instructions in the shared memory 8 and executes the program at the same time. When the simultaneous execution processing of each processor such as initialization is completed, each processor executes its own processing. Start execution of the routine. At this time, each processor issues a read request for the individual address of the shared memory 8 at the same timing, at time t7.

【0043】図8では、プロセッサ1からはアドレス00
010000h番地、プロセッサ2からはアドレス00020000h番
地、プロセッサ3からはアドレス00030000h番地のリー
ド要求が発生した様子が示されている。時刻t7におい
て、バス調停回路7bのアドレス比較回路703によっ
て各プロセッサからのアドレスが比較され,すべてのプ
ロセッサからのRDRQ1、2、3信号がそろった時点
で、不一致が検出されるとSYNCRST信号がアクテ
ィブとなり、バス制御回路4bにあるDタイプフリップ
フロップ411がリセットされ、同時動作モードが終了
するとともに、SYNC1、2、3、RDQRQ1、
2、3信号がすべてネゲートされる。
In FIG. 8, the processor 1 sends an address 00
A read request at address 010000h, an address at address 00020000h from processor 2, and a read request at address 00030000h from processor 3 are shown. At time t7, the addresses from the respective processors are compared by the address comparison circuit 703 of the bus arbitration circuit 7b, and when the RDRQ1, 2, and 3 signals from all the processors are aligned and a mismatch is detected, the SYNCRST signal becomes active. And the D-type flip-flop 411 in the bus control circuit 4b is reset, the simultaneous operation mode ends, and SYNC1, 2, 3, RDQRQ1,.
A few signals are all negated.

【0044】同時に、プロセッサ1のアクセス要求が調
停回路701によって選択され、ADEN1信号がアク
ティブになり、ANDゲート716の条件がとれ、DT
EN1信号もアクテイブとなる。これにより、プロセッ
サ1のリード要求が選択されて、共有メモリ8のアドレ
ス00010000h番地の読み取り動作を実行する。
At the same time, the access request of the processor 1 is selected by the arbitration circuit 701, the ADEN1 signal becomes active, the condition of the AND gate 716 is satisfied, and DT
The EN1 signal is also activated. Thereby, the read request of the processor 1 is selected, and the read operation of the address 00010000h of the shared memory 8 is executed.

【0045】この時、プロセッサ2においては、ADE
N2、SYNC2信号がネゲートされているので、AN
Dゲート728の条件がとれ、BWAIT2信号がアク
ティブとなる。同様にプロセッサ3においては、BWA
IT3信号がアクティブとなり、プロセサ2、3はWA
IT信号によりウエイト状態となり、プロセッサ1のリ
ードサイクルが終了するまで待たされる。以降、調停回
路によってアクセス要求の調停が行われ、所定の優先順
位に従って順番に共有メモリのアクセスが行われる。
At this time, in the processor 2, the ADE
Since the N2 and SYNC2 signals are negated, AN
The condition of the D gate 728 is satisfied, and the BWAIT2 signal becomes active. Similarly, in processor 3, BWA
The IT3 signal becomes active, and processors 2 and 3
The wait state is set by the IT signal, and the process waits until the read cycle of the processor 1 ends. Thereafter, the arbitration circuit arbitrates the access requests, and accesses the shared memory in order according to a predetermined priority.

【0046】[実施の形態3]次に、本発明のマルチプ
ロセッサシステムの実施の形態3について説明する。実
施の形態3において、マルチプロセッサシステムの構成
図、バス制御回路4bの構成図は、上記実施の形態2と
同様に図5、図6に示し、図9に本実施の形態3のバス
調停回路7cの構成を示す。図5において、実施の形態
2との違いは、バス制御回路7bがバス制御回路7cに
変わっただけである。図9に示すように、バス調停回路
7cは、各プロセッサの共有バスアクセスを調停するた
めのものであり、調停回路701、タイミング制御回路
702、アドレス比較回路703、ゲート回路734〜
743から構成される。
Third Embodiment Next, a third embodiment of the multiprocessor system according to the present invention will be described. In the third embodiment, the configuration diagram of the multiprocessor system and the configuration diagram of the bus control circuit 4b are shown in FIGS. 5 and 6 similarly to the second embodiment, and FIG. 9 shows the bus arbitration circuit of the third embodiment. 7c shows the configuration of FIG. In FIG. 5, the difference from the second embodiment is that the bus control circuit 7b is replaced with a bus control circuit 7c. As shown in FIG. 9, the bus arbitration circuit 7c is for arbitrating shared bus access of each processor, and includes an arbitration circuit 701, a timing control circuit 702, an address comparison circuit 703, and gate circuits 734 to 734.
743.

【0047】図10は、実施の形態3の動作を説明する
ためのタイミングチャートである。時刻t1のタイミン
グにおいて、プロセッサ1、2、3から共有メモリ8の
メモリアドレス00001000h番地のリード要求が発生する
と、上記実施の形態1及び2と同様に各プロセッサか
ら、BRQ1、2、3、RDRQ1、2、3信号がアク
ティブとなり、バス調停回路7cへ出力される。バス調
停回路7cでは、バス要求信号であるBRQ1、2、3
信号が入力されると調停回路701にて所定の優先順位
に従ってどれかの要求が選択される。
FIG. 10 is a timing chart for explaining the operation of the third embodiment. At the timing of the time t1, when a read request for the memory address 00001000h of the shared memory 8 is generated from the processors 1, 2, and 3, the BRQs 1, 2, 3, RDRQ1, and RDRQ1 are transmitted from the processors as in the first and second embodiments. A few signals become active and are output to the bus arbitration circuit 7c. In the bus arbitration circuit 7c, the bus request signals BRQ1, 2, 3
When a signal is input, an arbitration circuit 701 selects any request according to a predetermined priority.

【0048】ここではBRQ1が選択され、その応答信
号であるADEN1信号がアクティブとなると共に、ア
ドレス比較回路703にて各プロセッサのリード要求ア
ドレスが比較される、この例では全てのプロセッサがア
ドレス00001000h番地の読み取りを要求しているので、
アドレス一致信号がアクティブとなり、ANDゲート7
35、737、739に入力され、RDRQ1、2、3
信号によりORゲート736、738、740、タイミ
ング制御回路702を経由してDTEN1、2、3信号
がアクティブとなる。これにより、プロセッサ1のアド
レス信号A31−0、リードコマンドであるREAD信
号が共有バス12上に出力され、共有メモリ8のアドレ
ス00001000h番地の読み取りが開始される。
Here, BRQ1 is selected, and the response signal ADEN1 becomes active, and the address comparison circuit 703 compares the read request addresses of the processors. In this example, all the processors are at the address 00001000h. Request to read
The address match signal becomes active, and the AND gate 7
35, 737, and 739, and RDRQ1, 2, and 3
The signals make the DTEN1,2,3 signals active through the OR gates 736,738,740 and the timing control circuit 702. As a result, the address signal A31-0 of the processor 1 and the READ signal as a read command are output on the shared bus 12, and reading of the address 00001000h of the shared memory 8 is started.

【0049】共有バス12上では、所定のアクセスタイ
ムtac経過後、時刻t2のタイミングにて、共有メモ
リ8からデータが出力される。又、DTEN1、2、3
信号によりプロセッサ1、2、3のバッファゲート40
1がイネーブル状態になり、プロセッサ1、2、3のデ
ータバスD31−0が共有バス12に接続され、時刻t
3のタイミングにてREAD信号がネゲートされると共
に、共有バス12上の共有メモリ8の読み取りデータを
バス制御回路4bを経由してプロセッサ1がリードす
る。同様に、プロセッサ2、プロセッサ3においても共
有バス8上のデータを取込んで共有メモリ8のリードが
行われる。
On the shared bus 12, data is output from the shared memory 8 at a time t2 after a predetermined access time tac has elapsed. Also, DTEN1,2,3
The signal, the buffer gate 40 of the processor 1, 2, 3
1 is enabled, the data buses D31-0 of the processors 1, 2, and 3 are connected to the shared bus 12, and the time t
At timing 3, the READ signal is negated, and the processor 1 reads the read data of the shared memory 8 on the shared bus 12 via the bus control circuit 4b. Similarly, in the processors 2 and 3, the data on the shared bus 8 is fetched and the shared memory 8 is read.

【0050】次に時刻t4のタイミングにて、各プロセ
ッサから異なるアドレスのリード要求が発生すると、前
記バスサイクルと同様に各プロセッサから、BRQ1、
2、3、RDRQ1、2、3信号がアクティブとなり、
バス調停回路7cへ出力される。調停回路701では、
BRQ1が選択され、その応答信号であるADEN1信
号がアクティブとなると共に、アドレス比較回路703
にて各プロセッサのリード要求アドレスが比較される、
この例ではプロセッサ1は00010000h番地、プロセッサ
2は00020000h番地、プロセッサ3は00030000h番地の読
み取りを要求しているので、アドレス一致信号はアクテ
ィブとならず、DTEN2、3信号はネゲートされたま
まである。
Next, at time t4, when a read request for a different address is issued from each processor, BRQ1, BRQ1,
2, 3, RDRQ1, 2, 3 signals become active,
Output to the bus arbitration circuit 7c. In the arbitration circuit 701,
BRQ1 is selected, the response signal ADEN1 becomes active, and the address comparison circuit 703 is selected.
The read request address of each processor is compared at
In this example, since the processor 1 requests the reading of the address 00010000h, the processor 2 requests the reading of the address 00020000h, and the processor 3 requests the reading of the address 00030000h, the address match signal does not become active and the signals DTEN2 and DTEN3 remain negated.

【0051】既にプロセッサ1が選択され、ADEN1
信号がアクティブになっているので、ORゲート736
が有効となりDTEN1信号がアクティブとなる。これ
により、プロセッサ1のリード要求が選択され共有メモ
リ8のアドレス00010000h番地が共有バス12上に出力
され、共有メモリ8のアドレス00010000h番地の読み取
りが開始される。共有バス12上では、所定のアクセス
タイムtac経過後、時刻t5のタイミングにて、共有
メモリ8からデータが出力される。又、DTEN1信号
によりバッファゲート401がイネーブル状態になり、
プロセッサ1のデータバスD31−0が共有バス12に
接続され、時刻t6のタイミングにてREAD信号がネ
ゲートされると共に、共有バス12上の共有メモリ8の
読み取りデータをバス制御回路4bを経由してプロセッ
サ1がリードする。
Processor 1 is already selected and ADEN1
Since the signal is active, the OR gate 736
Becomes valid, and the DTEN1 signal becomes active. As a result, the read request of the processor 1 is selected, the address 00010000h of the shared memory 8 is output onto the shared bus 12, and the reading of the address 00010000h of the shared memory 8 is started. On the shared bus 12, data is output from the shared memory 8 at a timing of time t5 after a predetermined access time tac has elapsed. The buffer gate 401 is enabled by the DTEN1 signal,
The data bus D31-0 of the processor 1 is connected to the shared bus 12, the READ signal is negated at time t6, and the read data of the shared memory 8 on the shared bus 12 is transferred via the bus control circuit 4b. The processor 1 leads.

【0052】この時、プロセッサ2、3においては、A
DEN2、3信号及びアドレス一致信号がネゲートされ
ており、ANDゲート742、743が有効となり、B
WAIT2、BWAIT3信号がアクテイブとなること
により、各々のプロセッサに対するWAIT信号がアク
ティブとなり、ウエイト状態になっている。
At this time, in the processors 2 and 3, A
The DEN2 and DEN3 signals and the address match signal are negated, and the AND gates 742 and 743 become valid,
When the WAIT2 and BWAIT3 signals become active, the WAIT signal for each processor becomes active and the processor enters a wait state.

【0053】次に、時刻t7のタイミングにて、プロセ
ッサ1からは次にアドレス00001004h番地のリード要求
が発生し、BRQ1、RDRQ1信号がアクティブにな
るが、調停回路701では、次にプロセッサ2からの要
求であるBRQ2信号が選択され、その応答信号ADE
N2信号がアクティブになりプロセサ2のリード要求が
選択され共有メモリ8のアドレス00020000h番地の読み
取りが実行される。この時、プロセサ1、3はウエイト
状態になっている。
Next, at the timing of time t7, the processor 1 next issues a read request at the address 00001004h, and the BRQ1 and RDRQ1 signals become active. The BRQ2 signal, which is a request, is selected, and its response signal ADE
The N2 signal becomes active, a read request from the processor 2 is selected, and reading of the address 00020000h of the shared memory 8 is executed. At this time, the processors 1 and 3 are in the wait state.

【0054】続いて、時刻t8のタイミングにて、プロ
セッサ2からはアドレス00001004h番地のリード要求が
発生するが、前記と同様にこのバスサイクルではプロセ
ッサ3が選択され、共有メモリ8のアドレス0003000000
h番地の読み取りが実行される。この時、プロセッサ
1、2はウエイト状態になっている。
Subsequently, at the timing of time t8, the processor 2 issues a read request at the address 00001004h, but the processor 3 is selected in this bus cycle and the address 000300000 in the shared memory 8 as described above.
The reading of address h is executed. At this time, the processors 1 and 2 are in the wait state.

【0055】その後、時刻t9のタイミングにて、プロ
セッサ3からアドレス00001004h番地のリード要求が発
生すると、既にプロセッサ1、2からはアドレス000010
004h番地の要求が発生しており、全てのプロセッサのリ
ード要求アドレスが00001004h番地であるので、前記バ
スサイクル1と同様に、アドレス比較回路704にて各
プロセッサのリード要求アドレスが比較され、アドレス
一致信号がアクティブとなり、DTEN1、2、3信号
がアクティブとなる。これにより、プロセッサ1、2、
3のリード要求が同時に実行される。
Thereafter, when the processor 3 issues a read request at the address 00001004h at the timing of the time t9, the processors 1 and 2 have already sent the address 000010 from the processor 1.
Since the request at address 004h has occurred and the read request addresses of all the processors are at address 00001004h, the read request addresses of the processors are compared by the address comparison circuit 704 in the same manner as in the bus cycle 1, and the address matches. The signal becomes active, and the DTEN1, 2, and 3 signals become active. Thereby, the processors 1, 2,
3 read requests are executed simultaneously.

【0056】その後、同様に各プロセッサからのリード
要求アドレスを比較して、全てのプロセッサが同じアド
レスならば同時動作を行い、異なるアドレスの場合には
所定の優先度に従って共有メモリのアクセスを行うこと
が可能になる。
Thereafter, the read request addresses from the processors are similarly compared, and if all the processors have the same address, the simultaneous operation is performed. If the addresses are different, the shared memory is accessed according to a predetermined priority. Becomes possible.

【0057】[0057]

【発明の効果】以上のように、本発明のマルチプロセッ
サシステムによれば、複数のプロセッサが共有メモリの
アクセスを行うマルチプロセッサシステムにおいて、共
有メモリの同一アドレスアクセスを同時に実行可能にな
り、共有バスのバストラフィックが削減される。特に、
システム立ち上がり時の各プロセッサの共通動作が並行
して行える為、システム起動時間の短縮が可能になる。
又、プログラム、共有データなど同一データの複数プロ
セッサへの同時転送が可能になり、データ転送時間が短
縮され、システム性能の向上が図れる。
As described above, according to the multiprocessor system of the present invention, in a multiprocessor system in which a plurality of processors access the shared memory, the same address access of the shared memory can be executed simultaneously, and the shared bus Bus traffic is reduced. Especially,
Since the common operation of each processor at the time of system startup can be performed in parallel, the system startup time can be reduced.
Further, the same data such as a program and shared data can be simultaneously transferred to a plurality of processors, so that the data transfer time can be reduced and the system performance can be improved.

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

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

【図2】図1のバス制御回路4aの構成図である。FIG. 2 is a configuration diagram of a bus control circuit 4a of FIG.

【図3】図1のバス調停回路7aの構成図である。FIG. 3 is a configuration diagram of a bus arbitration circuit 7a of FIG. 1;

【図4】本発明のマルチプロセッサシステムの実施の形
態1の動作を示すタイミングチャートである。
FIG. 4 is a timing chart showing an operation of the multiprocessor system according to the first embodiment of the present invention;

【図5】本発明のマルチプロセッサシステムの実施の形
態2及び3の全体構成図である。
FIG. 5 is an overall configuration diagram of Embodiments 2 and 3 of the multiprocessor system of the present invention.

【図6】図5のバス制御回路4bの構成図である。FIG. 6 is a configuration diagram of a bus control circuit 4b of FIG. 5;

【図7】図5のバス調停回路7bの構成図である。FIG. 7 is a configuration diagram of a bus arbitration circuit 7b of FIG. 5;

【図8】本発明のマルチプロセッサシステムの実施の形
態2の動作を示すタイミングチャートである。
FIG. 8 is a timing chart showing an operation of the multiprocessor system according to the second embodiment of the present invention.

【図9】本発明のマルチプロセッサシステムの実施の形
態3に係るバス調停回路7cの構成図である。
FIG. 9 is a configuration diagram of a bus arbitration circuit 7c according to a third embodiment of the multiprocessor system of the present invention.

【図10】本発明のマルチプロセッサシステムの実施の
形態3の動作を示すタイミングチャートである。
FIG. 10 is a timing chart showing an operation of the multiprocessor system according to the third embodiment of the present invention.

【符号の説明】 1、2、3 プロセッサ 4a、5a、4b、5b、6b バス制御回路 7a、7b、7c バス調停回路 8 共有バス 10、11 制御情報線 101、201、301 ローカルメモリ 102、202、302 ローカルバス 401、402、403 バッファゲート 404 タイミング制御回路 405 アドレスデコーダ 410、411 フリップフロップ 420〜424 ゲート回路 701 調停回路 702 タイミング制御回路 703 アドレス比較回路 710〜743 ゲート回路[Description of Signs] 1, 2, 3 Processors 4a, 5a, 4b, 5b, 6b Bus control circuit 7a, 7b, 7c Bus arbitration circuit 8 Shared bus 10, 11 Control information line 101, 201, 301 Local memory 102, 202 , 302 Local bus 401, 402, 403 Buffer gate 404 Timing control circuit 405 Address decoder 410, 411 Flip-flop 420-424 Gate circuit 701 Arbitration circuit 702 Timing control circuit 703 Address comparison circuit 710-743 Gate circuit

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサに同時動作を指示する
指示手段と、 上記複数のプロセッサから発生する共有メモリアクセス
要求に応じて、1つのプロセッサを選択してアクセス権
を与えるバス調停手段と、 上記バス調停手段により選択されたプロセッサの共有メ
モリリードサイクルに同期して、共有バス上の共有メモ
リリードデータを非選択状態のプロセッサへ取込むバス
制御手段とを備え、 上記複数のプロセッサの共有メモリリード要求を、同一
バスサイクルにて同時に実行することを特徴とするマル
チプロセッサシステム。
An instruction means for instructing a plurality of processors to perform simultaneous operations; a bus arbitration means for selecting one processor and granting an access right in response to a shared memory access request generated from the plurality of processors; Bus control means for taking in the shared memory read data on the shared bus to the unselected processor in synchronization with the shared memory read cycle of the processor selected by the bus arbitration means; A multiprocessor system wherein requests are executed simultaneously in the same bus cycle.
【請求項2】 上記バス調停手段は、複数のプロセッサ
から異なったタイミングで発生する共有メモリリード要
求を、同期化するためのウエイト信号送出手段を備えた
ことを特徴とする請求項1記載のマルチプロセッサシス
テム。
2. The multi-path arbitration means according to claim 1, wherein said bus arbitration means comprises wait signal sending means for synchronizing shared memory read requests generated at different timings from a plurality of processors. Processor system.
【請求項3】 上記バス調停手段は、上記指示手段によ
り同時動作が指定された状態で共有メモリのライト要求
が発生すると、1つのプロセッサにアクセスを許可する
と共に、他のプロセッサには応答のみ返すことにより、
複数のプロセッサの共有メモリへのライト要求を、同一
バスサイクルにて同時に実行することを特徴とする請求
項1、又は2記載のマルチプロセッサシステム。
3. The bus arbitration means permits access to one processor and returns only a response to the other processor when a write request to the shared memory is generated in a state where the simultaneous operation is designated by the instruction means. By doing
3. The multiprocessor system according to claim 1, wherein write requests to a shared memory of a plurality of processors are executed simultaneously in the same bus cycle.
【請求項4】 上記バス調停手段は、アドレス比較手段
を備え、上記複数のプロセッサからのアクセス要求アド
レスの不一致を検出して、複数のプロセッサの同時動作
を終了することを特徴とする請求項1乃至3記載のマル
チプロセッサシステム。
4. The bus arbitration unit includes an address comparison unit, and detects a mismatch between access request addresses from the plurality of processors, and terminates the simultaneous operation of the plurality of processors. 4. The multiprocessor system according to any one of claims 3 to 3.
【請求項5】 上記バス調停手段は、アドレス比較手段
を備え、上記複数のプロセッサからのアクセス要求アド
レスの一致を検出し,比較一致の場合のみ同時動作を行
うことを特徴とする請求項1乃至3記載のマルチプロセ
ッサシステム。
5. The bus arbitration unit includes an address comparison unit, detects a match of an access request address from the plurality of processors, and performs a simultaneous operation only in the case of a comparison match. 4. The multiprocessor system according to 3.
【請求項6】 上記複数のプロセッサの起動プログラム
を記憶した共有メモリを持ち、システムリセットが解除
されたとき、複数のプロセッサが同時に上記共有メモリ
に記憶された起動プログラムを実行することを特徴とす
る、請求項1乃至5記載のマルチプロセッサシステム。
6. A shared memory storing a boot program of the plurality of processors, wherein the plurality of processors simultaneously execute the boot program stored in the shared memory when a system reset is released. The multiprocessor system according to claim 1.
JP9261512A 1997-09-26 1997-09-26 Multiprocessor system Pending JPH11102348A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9261512A JPH11102348A (en) 1997-09-26 1997-09-26 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9261512A JPH11102348A (en) 1997-09-26 1997-09-26 Multiprocessor system

Publications (1)

Publication Number Publication Date
JPH11102348A true JPH11102348A (en) 1999-04-13

Family

ID=17362942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9261512A Pending JPH11102348A (en) 1997-09-26 1997-09-26 Multiprocessor system

Country Status (1)

Country Link
JP (1) JPH11102348A (en)

Similar Documents

Publication Publication Date Title
US5710891A (en) Pipelined distributed bus arbitration system
JP2569323B2 (en) Coprocessors-Architecture
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US6282598B1 (en) PCI bus system wherein target latency information are transmitted along with a retry request
US5892978A (en) Combined consective byte update buffer
EP0354998B1 (en) Timer channel for use in a multiple channel timer system
EP0355463B1 (en) Timer channel with multiple timer reference features
KR100708096B1 (en) How to adjust the bus system and its execution order
JP2003114825A (en) Memory control method, memory control circuit using the control method, and integrated circuit incorporating the memory control circuit
US6738837B1 (en) Digital system with split transaction memory access
US20060059489A1 (en) Parallel processing system, interconnection network, node and network control method, and program therefor
US5913231A (en) Method and system for high speed memory address forwarding mechanism
JPH06318178A (en) Cache tag controller for cache tag memory and control method therefor
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JP3153078B2 (en) Data processing device
JPH06214945A (en) Computer system and high-speed transfer method of information
JPH11102348A (en) Multiprocessor system
JP3240863B2 (en) Arbitration circuit
WO2002093392A1 (en) Data processor
JP4190629B2 (en) Multiprocessor system
US5784580A (en) System and method for communicating between devices
JPH1185673A (en) Method and apparatus for controlling shared bus
JPH06231032A (en) Access control device
JPH06314231A (en) Shared memory access control method
JP2000250852A (en) Bus arbitrating device, bus system and bus arbitrating method