JPH09218859A - Multiprocessor control system - Google Patents
Multiprocessor control systemInfo
- Publication number
- JPH09218859A JPH09218859A JP4664896A JP4664896A JPH09218859A JP H09218859 A JPH09218859 A JP H09218859A JP 4664896 A JP4664896 A JP 4664896A JP 4664896 A JP4664896 A JP 4664896A JP H09218859 A JPH09218859 A JP H09218859A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processor
- buffer
- sub
- instruction
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 160
- 239000000872 buffer Substances 0.000 claims abstract description 59
- 230000004044 response Effects 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 17
- 230000006872 improvement Effects 0.000 abstract description 2
- 101100033865 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFA1 gene Proteins 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000002860 competitive effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007616 round robin method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、汎用あるいは特定
の用途を持ったコンピュータシステムにおいて、特に複
数のプロセッサを用いたマルチプロセッサ制御システム
に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system having a general purpose or a specific purpose, and more particularly to a multiprocessor control system using a plurality of processors.
【0002】[0002]
【従来の技術】従来、マルチプロセッサを用いたコンピ
ュータシステムでは、システムの処理能力を上げるため
に、中央処理プロセッサの他に、ある特定の処理を専門
に行うサブプロセッサを一つあるいは複数設け、中央処
理プロセッサとこれらのサブプロセッサとを並列に動作
させることが行われている。これによって、システムの
スループットを向上させていた。2. Description of the Related Art Conventionally, in a computer system using a multiprocessor, in addition to a central processing processor, one or a plurality of subprocessors dedicated to a specific processing are provided in order to increase the processing capacity of the system. The processing processor and these sub-processors are operated in parallel. This has increased the throughput of the system.
【0003】ここで、中央処理プロセッサのことをMP
U(Master Processing Unit)と呼び、サブプロセッサ
のことをSPU(Slave Processing Unit )と呼ぶこと
にする。MPU1は、SPUの制御を含むシステム全体
の制御を行う。SPUは、MPUの指示に基づいて各種
演算処理等を行う。MPUとSPUの間にはCMD・B
UFとRPS・BUFが中継用のバッファとして設けら
れる。CMD・BUF(Command Buffer)は、MPUか
らSPUへの動作の指示や、SPUが演算を行う際に必
要となるパラメータの転送等に使われる。RPS・BU
F(Response Buffer )は、CMD・BUFとは逆にS
PUからMPUへの通信手段として演算終了通知や演算
結果の転送等に使われる。CMD・BUFとRPS・B
UFはSPU一つに対してそれぞれ一組設けられる。C
MD・BUF、RPS・BUFは、RAMやFIFOメ
モリによって構成される。Here, the central processor is referred to as MP
U (Master Processing Unit) and sub processors are called SPU (Slave Processing Unit). The MPU 1 controls the entire system including the control of the SPU. The SPU performs various kinds of arithmetic processing based on the instructions of the MPU. CMD / B between MPU and SPU
The UF and the RPS / BUF are provided as relay buffers. The CMD / BUF (Command Buffer) is used to instruct an operation from the MPU to the SPU, transfer parameters required when the SPU performs an operation, and the like. RPS / BU
F (Response Buffer) is S, which is the opposite of CMD and BUF.
As a communication means from PU to MPU, it is used for notification of calculation completion and transfer of calculation results. CMD / BUF and RPS / B
One set of UF is provided for each SPU. C
The MD / BUF and the RPS / BUF are composed of a RAM and a FIFO memory.
【0004】SPUが行う処理の内容は予め決められて
おり、SPUがその演算を行っていない状態をアイドル
状態と呼ぶ。MPUは、SPUを動作させるような処理
が発生した場合、どのSPUに処理を行わせるかを判断
し、そのSPUのCMD・BUFを通じて処理開始を指
示する。SPUに行わせる処理が複数ある場合には、次
々にアイドル中のSPUを判断して処理開始指示を通知
する。処理開始指示を受けたSPUは、定められた演算
を行った後、MPUに対して処理終了通知をRPS・B
UFを通じて行う。処理終了の後はSPUはアイドル状
態に戻る。The contents of the processing performed by the SPU are predetermined, and a state in which the SPU is not performing the calculation is called an idle state. When a process for operating the SPU occurs, the MPU determines which SPU is to perform the process, and gives an instruction to start the process through the CMD / BUF of the SPU. When there are a plurality of processes to be performed by the SPU, the SPUs that are idle are determined one after another and a process start instruction is sent. The SPU, which has received the processing start instruction, performs a predetermined calculation and then sends a processing end notification to the MPU.
Through UF. After the processing ends, the SPU returns to the idle state.
【0005】[0005]
【発明が解決しようとする課題】ところで、上記のよう
な従来のマルチプロセッサ制御システムには、次のよう
な解決すべき課題があった。上記構成のマルチプロセッ
サ制御方式では、MPUが各SPUの動作を制御する関
係上、各SPUのアイドル状態をMPUが管理していな
ければならない。このため、その制御に関わる処理が繁
雑になり、MPUが他に行わなければならない処理、例
えば磁気ディスク制御等が遅れてしまう。これにより、
システム全体のスループットの向上を妨げるという問題
があった。特にSPUの数が増えた場合その問題が著し
い。従って、処理高速化の目的でSPUを増やしても、
MPUの処理能力の限界から、更なるスループットの向
上が見込めないという問題もあった。By the way, the conventional multiprocessor control system as described above has the following problems to be solved. In the multiprocessor control system with the above configuration, the MPU must manage the idle state of each SPU because the MPU controls the operation of each SPU. For this reason, the processing related to the control becomes complicated, and the processing that the MPU must perform, such as magnetic disk control, is delayed. This allows
There was a problem that it hindered the improvement of the throughput of the entire system. Especially, when the number of SPUs increases, the problem becomes remarkable. Therefore, even if the number of SPUs is increased to increase the processing speed,
There is also a problem that the throughput cannot be further improved due to the limit of the processing capacity of the MPU.
【0006】[0006]
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉任意のタスクについてその処理を制御する中
央処理プロセッサと、この中央処理プロセッサに依頼を
受けて上記処理を実行する複数のサブプロセッサと、上
記中央処理プロセッサの処理開始指示を受け入れて、い
ずれかのサブプロセッサが読み出すまでこの処理開始指
示を保持する命令バッファと、処理を実行したサブプロ
セッサの処理結果を受け入れて、上記中央処理プロセッ
サが読み出すまでこの処理結果を保持する応答バッファ
と、上記命令バッファと全てのサブプロセッサとの間に
配置されて、複数のサブプロセッサが同時に命令バッフ
ァをリードアクセスしたときの競合調整を行う命令バッ
ファ調停回路と、上記全てのサブプロセッサと上記応答
バッファとの間に挿入されて、複数のサブプロセッサが
同時に応答バッファをライトアクセスしたときの競合調
整を行う応答バッファ調停回路とを備え、何も処理を実
行していないアイドル状態の全てのサブプロセッサは、
それぞれ上記命令バッファ調停回路を通じて上記命令バ
ッファをリードアクセスして、上記中央処理プロセッサ
から処理開始指示を受け入れ、その処理結果を上記応答
バッファ調停回路を通じて上記応答バッファに書き込
み、上記中央処理プロセッサは、上記処理開始指示を上
記命令バッファに書き込んだ後、上記応答バッファから
タスクの処理結果を読み出すことを特徴とするマルチプ
ロセッサ制御システム。The present invention employs the following structure to solve the above problems. <Structure 1> A central processing processor that controls the processing of an arbitrary task, a plurality of sub-processors that execute the above processing upon request from the central processing processor, and a processing start instruction of the central processing processor are accepted, An instruction buffer that holds this processing start instruction until one of the sub-processors reads it, a response buffer that holds the processing result of the sub-processor that has executed the processing and holds this processing result until the central processing processor reads it, An instruction buffer arbitration circuit arranged between the instruction buffer and all the sub-processors, which performs contention adjustment when a plurality of sub-processors simultaneously read-accesses the instruction buffer, and between all the sub-processors and the response buffer. Inserted in between, multiple sub-processors respond simultaneously The a response buffer arbitration circuit running a competition adjustment when the write access, nothing all sub-processor idle not running processing,
The instruction buffer arbitration circuit performs read access to the instruction buffer, receives a processing start instruction from the central processing processor, writes the processing result in the response buffer through the response buffer arbitration circuit, and the central processing processor A multiprocessor control system characterized by reading a processing result of a task from the response buffer after writing a processing start instruction in the instruction buffer.
【0007】〈説明〉中央処理プロセッサはMPU、サ
ブプロセッサはSPUと表現する。MPUは、発生した
タスクの処理を、複数のSPUのうちのいずれかに依頼
する。複数のSPUは、それぞれ同時に並行して依頼を
受けた処理を実行する。アイドル状態でないSPUは新
たなタスクの依頼を受けることができない。アイドル状
態のSPUが自発的に命令バッファをリードアクセスす
るので、MPUはどのSPUがアイドル状態かを認識す
る必要はない。命令バッファ調停回路を設けたのは、ア
イドル状態の複数のSPUが任意のタイミングで命令バ
ッファをリードアクセスするとき、競合が生じるからで
ある。また、応答バッファ調停回路を設けたのは、各S
PUがタスクの処理結果を任意のタイミングで応答バッ
ファにライトアクセスする際に競合が生じるからであ
る。<Explanation> The central processing processor is expressed as MPU and the sub-processor is expressed as SPU. The MPU requests one of the SPUs to process the generated task. Each of the plurality of SPUs simultaneously executes the requested processing in parallel. SPUs that are not idle cannot accept new task requests. The SPU in the idle state voluntarily reads and accesses the instruction buffer, so that the MPU does not need to recognize which SPU is in the idle state. The instruction buffer arbitration circuit is provided because contention occurs when a plurality of idle SPUs read-access the instruction buffer at arbitrary timings. Further, the response buffer arbitration circuit is provided for each S
This is because the PU causes conflict when the task processing result is write-accessed to the response buffer at an arbitrary timing.
【0008】〈構成2〉構成1において、複数の中央処
理プロセッサが設けられ、各中央処理プロセッサには、
それぞれ命令バッファと命令バッファ調停回路及び応答
バッファと応答バッファ調停回路の組が接続されて、各
命令バッファ調停回路と応答バッファ調停回路とは、全
てのサブプロセッサに接続されて、各サブプロセッサの
リードアクセスとライトアクセスの競合を調停すること
を特徴とするマルチプロセッサ制御システム。<Structure 2> In Structure 1, a plurality of central processing processors are provided, and each central processing processor includes
A set of an instruction buffer and an instruction buffer arbitration circuit and a response buffer and a response buffer arbitration circuit are connected to each other, and each instruction buffer arbitration circuit and a response buffer arbitration circuit are connected to all sub-processors and read by each sub-processor. A multiprocessor control system characterized by arbitrating contention between access and write access.
【0009】〈説明〉MPUが1台でなく複数台あっ
て、それぞれ所定のタスクの処理を制御している場合に
は、各MPUの処理開始指示を受け入れる命令バッファ
と、その応答を受け入れる応答バッファとを各MPUご
とに設ける。競合調停のための調停回路もそれぞれ個別
に設ける。このとき、複数のSPUは、いずれのMPU
のタスクを処理してもよい。即ち、各MPUは全てのS
PUを共用することができる。<Explanation> When there are not one MPU but a plurality of MPUs and each controls the processing of a predetermined task, an instruction buffer for accepting the processing start instruction of each MPU and a response buffer for accepting its response. And are provided for each MPU. Arbitration circuits for competitive arbitration are also provided individually. At this time, the plurality of SPUs are
Task may be processed. That is, each MPU is
PU can be shared.
【0010】〈構成3〉任意のタスクについてその処理
を制御する中央処理プロセッサと、この中央処理プロセ
ッサに依頼を受けて上記処理を実行する複数のサブプロ
セッサとを備え、上記中央処理プロセッサと複数のサブ
プロセッサとは、相互にデータバスを介してリング状に
接続されており、中央処理プロセッサの出力したタスク
処理を要求する処理データが、先頭のサブプロセッサか
ら順に転送されて、最後のサブプロセッサから中央処理
プロセッサに戻るように転送され、アイドル状態のサブ
プロセッサが上記処理データの転送を受けると、その処
理を実行し、処理を終了したサブプロセッサは、上記処
理データに処理結果を書き込んで転送し、中央処理プロ
セッサは、転送を受けた処理データ中に処理結果が書き
込まれているときは、その処理データを受取り、処理を
要求したままの内容のときは、再度その処理データを転
送することを特徴とするマルチプロセッサ制御システ
ム。<Structure 3> A central processing processor for controlling the processing of an arbitrary task and a plurality of sub-processors for executing the above processing upon receiving a request from the central processing processor are provided. The sub processors are connected to each other in a ring shape via a data bus, and the processing data output by the central processing processor, which requests the task processing, is transferred in order from the first sub processor to the last sub processor. When it is transferred back to the central processing processor, and the sub processor in the idle state receives the transfer of the processing data, the processing is executed, and the sub processor which finished the processing writes the processing result to the processing data and transfers it. When the processing result is written in the transferred processing data, the central processing processor Receives the processed data, when the content of the as-requested processing, multi-processor control system, characterized in that to transfer the processed data again.
【0011】〈説明〉リング状というのは、ループ状あ
るいは両端をつないだチェーン状ということで、MPU
にデータバスを介して最初のSPUが接続され、その後
にデータバスを介して全てのSPUが順に接続され、最
後のSPUがデータバスを介してMPUに接続されてい
る状態をいう。処理データには、MPUによる処理要求
またはSPUによる処理結果が書き込まれて、順に転送
される。アイドルでないSPUは、その処理データをそ
のまま後続するSPUに転送する。最後のSPUがアイ
ドルでなければ、処理データはMPUに戻る。MPUの
処理要求は、データバスを通じて全てのSPUに順に転
送されるから、MPUは、アイドル状態のSPUを意識
する必要がない。<Explanation> The ring shape means a loop shape or a chain shape in which both ends are connected.
The first SPU is connected via the data bus, all the SPUs are connected in turn via the data bus, and the last SPU is connected to the MPU via the data bus. A processing request by the MPU or a processing result by the SPU is written in the processing data and transferred in order. The non-idle SPU transfers the processed data as it is to the succeeding SPU. If the last SPU is not idle, the processed data returns to the MPU. Since the processing request of the MPU is sequentially transferred to all the SPUs via the data bus, the MPU does not need to be aware of the SPU in the idle state.
【0012】[0012]
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例1〉図1は、本発明のシステムの第1の具体例
のブロック図を示す。MPU1とSPU4−1〜4−n
は、それぞれ従来技術と同様に、中央処理プロセッサと
サブプロセッサとを構成する。CMD・BUF(Comman
d Buffer)2は、MPU1からSPU4−1〜4−nへ
の動作の指示やSPU4−1〜4−nが演算を行う際に
必要になるパラメータの転送等に使われる。CMD・B
UF2には、MPU1によって指示等が書き込まれ、後
述するCMD・BUF調停回路5を介してSPU4−1
〜4−nに読み出される。RPS・BUF(Response B
uffer )3は、SPU4−1〜4−nからMPU1への
通信手段として演算終了通知や演算結果の転送等に用い
られる。RPS・BUF3は、後述するRPS・BUF
6を介して、SPU4−1〜4−nによって通知等が書
き込まれ、MPU1によって読み出される。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to specific examples. SPECIFIC EXAMPLE 1 FIG. 1 shows a block diagram of a first specific example of the system of the present invention. MPU1 and SPU4-1 to 4-n
Respectively form a central processor and a sub-processor as in the prior art. CMD / BUF (Comman
The d Buffer) 2 is used to instruct an operation from the MPU 1 to the SPUs 4-1 to 4-n, transfer parameters required when the SPUs 4-1 to 4-n perform an operation, and the like. CMD B
Instructions and the like are written in the UF2 by the MPU1, and the SPU4-1 is sent via a CMD / BUF arbitration circuit 5 described later.
Read to 4-n. RPS / BUF (Response B
3) is used as a communication means from the SPUs 4-1 to 4-n to the MPU 1 to notify the end of calculation, transfer the calculation result, and the like. RPS / BUF3 is an RPS / BUF described later.
Notifications and the like are written by the SPUs 4-1 to 4-n via the SPU 6 and read by the MPU 1.
【0013】CMD・BUF2及びRPS・BUF3
は、SPUの数に関わらず、MPU一つに対して一組設
けられる。CMD・BUF2及びRPS・BUF3は、
RAMやFIFOメモリによって構成され、複数のデー
タを格納できるようになっている。CMD・BUF調停
回路5は、CMD・BUF2とSPU4−1〜4−nの
間に存在し、それぞれのSPUがCMD・BUF2をリ
ードする際のアクセス競合の調停を行う。そのため、C
MD・BUF調停回路5は、全てのSPU4−1〜4−
nに接続されている。調停の方式としては、固定プライ
オリティ方式やラウンドロビン方式等既に良く知られて
いる競合調停技術を用いる。CMD / BUF2 and RPS / BUF3
Is provided for one MPU regardless of the number of SPUs. CMD / BUF2 and RPS / BUF3 are
It is composed of a RAM and a FIFO memory and can store a plurality of data. The CMD / BUF arbitration circuit 5 exists between the CMD / BUF2 and the SPUs 4-1 to 4-n, and arbitrates access competition when each SPU reads the CMD / BUF2. Therefore, C
The MD / BUF arbitration circuit 5 includes all SPUs 4-1 to 4-
n. As the arbitration method, the well-known competitive arbitration technology such as the fixed priority method and the round robin method is used.
【0014】RPS・BUF調停回路6は、RPS・B
UF3とSPU4−1〜4−nの間に存在し、それぞれ
のSPUがRPS・BUF3をライトする際のアクセス
競合の調停を行う。そのため、RPS・BUF調停回路
6は、全てのSPU4−1〜4−nに接続されている。
調停の方式としては、CMD・BUF調停回路5と同様
に固定プライオリティ方式やラウンドロビン方式等既に
知られている技術を用いる。なお、このシステムには、
図示しないメモリやディスプレイコントローラやキーボ
ードコントローラや磁気ディスクコントローラが存在
し、MPU1はこれらの制御も行う。The RPS / BUF arbitration circuit 6 is
It exists between the UF3 and the SPUs 4-1 to 4-n, and performs arbitration of access competition when each SPU writes the RPS / BUF3. Therefore, the RPS / BUF arbitration circuit 6 is connected to all the SPUs 4-1 to 4-n.
As an arbitration method, a known technology such as a fixed priority method or a round robin method is used as in the CMD / BUF arbitration circuit 5. In addition, in this system,
There is a memory, a display controller, a keyboard controller, and a magnetic disk controller (not shown), and the MPU 1 also controls these.
【0015】〈具体例1の動作〉SPU4−1〜4−n
が行う処理の内容は予め決められており、これらのSP
Uがその処理を行っていない状態をアイドル状態と呼
ぶ。いまシステムの運用が開始されたとする。システム
開始直後にはSPU4−1〜4−nが処理すべきタスク
は発生していないものとする。従って、CMD・BUF
2の内容は、MPU1がSPU4−1〜4−nに対して
処理開始要求を行っていないため空である。一方、シス
テムの運用が開始されると、各SPU4−1〜4−nは
処理すべきタスクが発生しているかどうかを知るため
に、CMD・BUF2のリードを行う。この際、複数の
SPU4−1〜4−nがCMD・BUF2のチェックを
行うため、リードアクセスの競合が発生する。CMD・
BUF調停回路5は、各SPU4−1〜4−nからのC
MD・BUF2へのリードアクセスに対して、予め決め
られた競合調停方式によりどれか一つのSPUに対して
リードアクセスの許可を与える。また、この場合には、
CMD・BUF2の内容は空のため、そのSPUにはデ
ータなしのステータスが返る。各SPU4−1〜4−n
は、アイドル状態の時には、常にCMD・BUF2のチ
ェックを行う。そのため、この場合次々にデータなしス
テータスが各SPU4−1〜4−nに返送されることに
なる。<Operation of Concrete Example 1> SPUs 4-1 to 4-n
The contents of the processing performed by the
A state in which U is not performing the processing is called an idle state. It is assumed that the system is now in operation. Immediately after the system is started, it is assumed that the tasks to be processed by SPU4-1 to 4-n have not occurred. Therefore, CMD and BUF
The content of 2 is empty because the MPU 1 has not issued a processing start request to the SPUs 4-1 to 4-n. On the other hand, when the operation of the system is started, each SPU 4-1 to 4-n reads the CMD / BUF 2 in order to know whether or not a task to be processed has occurred. At this time, since a plurality of SPUs 4-1 to 4-n check the CMD / BUF2, a read access conflict occurs. CMD
The BUF arbitration circuit 5 includes the Cs from the SPUs 4-1 to 4-n.
For read access to MD / BUF2, read access permission is given to any one of the SPUs by a predetermined contention arbitration method. Also, in this case,
Since the contents of CMD / BUF2 are empty, the status of no data is returned to the SPU. Each SPU4-1 to 4-n
Always checks the CMD / BUF2 in the idle state. Therefore, in this case, the no-data status is returned to the SPUs 4-1 to 4-n one after another.
【0016】時間が経過してSPU4−1〜4−nのい
ずれかの処理すべきタスクがMPU1の処理中に発生し
たとする。すると、MPU1は、SPU4−1〜4−n
に対して処理開始指示を発する。このとき、MPU1
は、複数あるSPUのうちどのSPUがアイドルであり
あるいはビジーであるか、といった管理を行っていな
い。SPU4−1〜4−nが処理すべきタスクが発生し
た場合、MPU1は、CMD・BUF2に対してSPU
処理開始指示コードを書き込む。各SPU4−1〜4−
nは、常時CMD・BUF2のチェックを行っているた
め、MPU1が処理開始指示コードをCMD・BUF2
に書き込んだ直後、その時にCMD・BUFチェックを
行っていたどれか一つのSPUがこの処理開始指示を受
け取ることになる。処理開始指示を受け取ったSPU
は、その指示に従い処理を行う。CMD・BUF2の内
容は、ある一つのSPUが処理開始指示コードを読み出
した後再び空となる。It is assumed that a task to be processed by one of the SPUs 4-1 to 4-n has occurred during the processing of the MPU 1 after the passage of time. Then, the MPU 1 makes the SPUs 4-1 to 4-n
A processing start instruction is issued to. At this time, MPU1
Does not manage which SPU among a plurality of SPUs is idle or busy. When a task to be processed by the SPUs 4-1 to 4-n occurs, the MPU 1 sends an SPU to the CMD / BUF2.
Write the processing start instruction code. Each SPU4-1 to 4-
Since n always checks CMD / BUF2, MPU1 sends the processing start instruction code to CMD / BUF2.
Immediately after writing to, any one of the SPUs performing the CMD / BUF check at that time will receive this processing start instruction. SPU that received the processing start instruction
Performs processing according to the instruction. The content of the CMD / BUF2 becomes empty again after a certain SPU reads the processing start instruction code.
【0017】MPU1は、SPU4−1〜4−nに処理
させるべきタスクが発生した場合、CMD・BUF2に
次々に処理開始指示コードを書き込むことができる。ア
イドル状態のSPUは、CMD・BUF2のチェックに
よって次々と処理を開始していくため、タスクの数はS
PUの数だけ同時に並行処理することができる。処理の
終ったSPUは、その結果と処理終了コードをRPS・
BUF3に書き込む。この際、RPS・BUF調停回路
6は、予め決められた競合調停方式により調停を行い、
どれか一つのSPUに対してRPS・BUFライト許可
を与える。RPS・BUF3には複数の処理結果を格納
することができる。MPU1は、RPS・BUF3から
結果を読み込むことにより、SPUの処理結果を得るこ
とができる。When a task to be processed by the SPUs 4-1 to 4-n is generated, the MPU 1 can write the processing start instruction code in the CMD BUF 2 one after another. Since the idle SPUs start processing one after another by checking CMD / BUF2, the number of tasks is S
Parallel processing can be performed at the same time as the number of PUs. The SPU that has completed the process sends the result and the process completion code to the RPS /
Write to BUF3. At this time, the RPS / BUF arbitration circuit 6 arbitrates by a predetermined competitive arbitration method,
RPS / BUF write permission is given to any one SPU. A plurality of processing results can be stored in the RPS / BUF3. The MPU 1 can obtain the processing result of the SPU by reading the result from the RPS / BUF3.
【0018】〈具体例1の効果〉以上述べたように、こ
の具体例によればMPU1が各SPU4−1〜4−nの
動作状態を管理しないため、従来その処理に関わってい
た時間を他の処理に振り向けることができる。そのた
め、MPU1は、その他のシステム制御の処理、例えば
図示しない磁気ディスク制御等に専念でき、システム全
体のスループットの向上が期待できる。また、この具体
例によれば、SPU4−1〜4−nの管理をMPUの管
理下から外したため、SPUの増設に伴うMPU1のソ
フトウェア変更を最小で済ますことができる。また、増
設されたSPUのソフトウェアの新規開発も不要である
ことは言うまでもない。同様の理由により、SPU数の
増減が比較的容易であるため、目的とするシステムの性
能やコストやサイズに応じて、システム構成を柔軟に行
うことができるという利点を持つ。<Effect of Concrete Example 1> As described above, according to this concrete example, since the MPU 1 does not manage the operating states of the SPUs 4-1 to 4-n, the time conventionally involved in the processing is Can be used for processing. Therefore, the MPU 1 can concentrate on other system control processing, such as magnetic disk control (not shown), and can be expected to improve the throughput of the entire system. Further, according to this specific example, since the management of the SPUs 4-1 to 4-n is removed from the management of the MPU, the software change of the MPU 1 due to the addition of the SPU can be minimized. Further, it goes without saying that new development of software for the added SPU is unnecessary. For the same reason, since it is relatively easy to increase or decrease the number of SPUs, there is an advantage that the system configuration can be flexibly configured according to the performance, cost and size of the target system.
【0019】〈具体例2〉図2に、本発明のシステムの
第2の具体例のブロック図を示す。この具体例では、M
PUが二つ存在する。即ち、MPU1−1とMPU1−
2が存在する。CMD・BUF2−1,2−2、CMD
・BUF調停回路5−1〜5−2、RPS・BUF3−
1,3−2、RPS・BUF調停回路6−1,6−2
は、それぞれMPU一つに対して一つずつ設けられてい
る。各RPS・BUF3−1,3−2には、対応するR
PS・BUF調停回路6−1,6−2を介してSPU4
−1〜4−nによって通知等が書き込まれ、対応するそ
れぞれのMPU1−1,1−2によって読み出される。<Second Embodiment> FIG. 2 shows a block diagram of a second embodiment of the system of the present invention. In this specific example, M
There are two PUs. That is, MPU1-1 and MPU1-
There are two. CMD / BUF2-1, 2-2, CMD
-BUF arbitration circuits 5-1 and 5-2, RPS-BUF3-
1, 3-2, RPS / BUF arbitration circuit 6-1, 6-2
Are provided for each MPU. A corresponding R is assigned to each RPS / BUF3-1 and 3-2.
SPU4 via PS / BUF arbitration circuits 6-1 and 6-2
Notifications and the like are written by -1 to 4-n, and read by the corresponding MPUs 1-1 and 1-2.
【0020】各CMD・BUF調停回路5−1〜5−2
は、CMD・BUF2−1,2−2とSPU4−1〜4
−nの間に存在し、SPU4−1〜4−nがCMD・B
UF2−1,2−2をリードする際のアクセス競合の調
停を行う。そのため、CMD・BUF調停回路5−1〜
5−2は、全てのSPU4−1〜4−nに接続されてい
る。調停の方式としては、第1の具体例と同様に、固定
プライオリティ方式やラウンドロビン方式等既に知られ
ている技術を用いる。RPS・BUF調停回路6−1,
6−2は、RPS・BUF3−1,3−2とSPU4−
1〜4−nの間に存在し、SPU4−1〜4−nがRP
S・BUF3−1,3−2をライトする際のアクセス競
合の調停を行う。そのため、RPS・BUF調停回路6
−1,6−2は、全てのSPU4−1〜4−nに接続さ
れている。調停の方式は、第1の具体例と同様である。Each CMD / BUF arbitration circuit 5-1 to 5-2
Are CMD / BUF2-1, 2-2 and SPU4-1-4
Exist between -n and SPU4-1 to 4-n are CMD · B.
Arbitration of access contention when reading UF2-1, 2-2. Therefore, the CMD / BUF arbitration circuits 5-1 to 5-1
5-2 is connected to all SPUs 4-1 to 4-n. As the arbitration method, similarly to the first specific example, a known technology such as a fixed priority method or a round robin method is used. RPS / BUF arbitration circuit 6-1,
6-2 is RPS / BUF3-1, 3-2 and SPU4-
1 to 4-n exist, and SPU4-1 to 4-n are RP
Arbitration of access conflict when writing S-BUF3-1 and 3-2. Therefore, the RPS / BUF arbitration circuit 6
-1, 6-2 are connected to all the SPUs 4-1 to 4-n. The arbitration method is the same as in the first specific example.
【0021】CMD・BUF2−1,2−2、CMD・
BUF調停回路5−1〜5−2、及びRPS・BUF3
−1,3−2、RPS・BUF調停回路6−1,6−2
は、SPUの数に関わらず、MPU一つに対して一組設
けられる。CMD・BUF2−1,2−2及びRPS・
BUF3−1,3−2は、RAMやFIFOメモリによ
って構成され、複数のデータを格納できるようになって
いる。この他の部分は第1の具体例と変わるところはな
い。CMD ・ BUF2-1, 2-2, CMD ・
BUF arbitration circuits 5-1 and 5-2, and RPS / BUF3
-1, 3-2, RPS / BUF arbitration circuits 6-1, 6-2
Is provided for one MPU regardless of the number of SPUs. CMD / BUF2-1, 2-2 and RPS /
Each of the BUFs 3-1 and 3-2 is composed of a RAM or a FIFO memory and can store a plurality of data. The other parts are the same as those in the first specific example.
【0022】〈具体例2の動作〉SPU4−1〜4−n
が行う処理の内容は予め決められている。いまシステム
の運用が開始されたとする。MPU1−1,1−2はそ
れぞれ独立に動作する。システム開始直後にはSPU4
−1〜4−nが処理すべきタスクは、MPU1−1、M
PU1−2のどちらにも発生していないものとする。そ
のため、CMD・BUF2−1,2−2の内容は、両M
PU1−1,1−2がSPU4−1〜4−nに対して処
理開始要求を行っていないため空である。<Operation of Concrete Example 2> SPUs 4-1 to 4-n
The content of the processing performed by is predetermined. It is assumed that the system is now in operation. The MPU 1-1 and 1-2 operate independently. SPU4 immediately after system start
The tasks to be processed by -1 to 4-n are MPU1-1, M
It is assumed that it has not occurred in either of PU1-2. Therefore, the contents of CMD BUF2-1, 2-2 are both M
It is empty because PU1-1 and 1-2 have not issued a process start request to SPU4-1 to 4-n.
【0023】一方、システムの運用が開始されると、各
SPU4−1〜4−nは処理すべきタスクが発生してい
るかどうかを知るために、CMD・BUF2−1,2−
2のリードを交互に行う。この際、複数のSPUが両方
のCMD・BUF2−1,2−2のチェックを行うた
め、リードアクセスの競合が発生する。二つのCMD・
BUF調停回路5−1,5−2は、各SPU4−1〜4
−nからのCMD・BUF2−1,2−2へのリードア
クセスに対して、予め決められた競合調停方式によりど
れか一つのSPUに対してリードアクセスの許可を与え
る。また、この場合には、CMD・BUF2−1,2−
2の内容は空のため、SPUにはデータなしのステータ
スが返る。各SPU4−1〜4−nは、アイドル状態の
時には、常にCMD・BUF2−1,2−2のチェック
を交互に行う。そのため、この場合次々にデータなしス
テータスが各SPUに返送される。On the other hand, when the operation of the system is started, each of the SPUs 4-1 to 4-n recognizes whether or not a task to be processed has occurred.
Alternate two leads. At this time, since a plurality of SPUs check both CMD / BUF2-1 and 2-2, contention for read access occurs. Two CMDs
The BUF arbitration circuits 5-1 and 5-2 have the SPUs 4-1 to 4 respectively.
With respect to the read access to the CMD / BUF2-1, 2-2 from -n, the read access permission is given to any one of the SPUs by a predetermined contention arbitration method. In this case, CMD BUF2-1,2-
Since the content of 2 is empty, a status of no data is returned to the SPU. In the idle state, each SPU 4-1 to 4-n always alternately checks CMD / BUF2-1 and 2-2. Therefore, in this case, the no-data status is sequentially returned to each SPU.
【0024】時間が経過してSPUの処理すべきタスク
がMPU1−1の処理中に発生したとする。すると、M
PU1−1は、SPUに対して処理開始指示を発するこ
とになる。このとき、MPU1−1は複数あるSPU4
−1〜4−nのうちどのSPUがアイドルで有りビジー
であるかといった管理を行っていない。SPUが処理す
べきタスクが発生した場合、MPU1−1は、CMD・
BUF2−1に対してSPU処理開始指示コードを書き
込む。各SPU4−1〜4−nは、アイドル状態時CM
D・BUF2−1,2−2のチェックを行っているた
め、MPU1−1が処理開始指示コードをCMD・BU
F2−1に書き込んだ直後、その時にCMD・BUFチ
ェックを行っていたどれか一つのSPUがこの処理開始
指示を受け取ることになる。処理開始指示を受け取った
SPUは、その指示に従い処理を行う。CMD・BUF
2−1の内容はある一つのSPUが処理開始指示コード
を読み込んだため再び空となる。It is assumed that a task to be processed by the SPU has occurred during the processing of the MPU 1-1 after the passage of time. Then M
The PU 1-1 will issue a processing start instruction to the SPU. At this time, the MPU 1-1 has a plurality of SPUs 4
It does not manage which SPU among -1 to 4-n is idle and busy. When a task to be processed by the SPU occurs, the MPU 1-1
The SPU process start instruction code is written to BUF2-1. Each of the SPUs 4-1 to 4-n has a CM in the idle state.
Since the D.BUF2-1 and 2-2 are checked, the MPU1-1 sends the processing start instruction code to the CMD.BU.
Immediately after writing to F2-1, any one of the SPUs that was performing the CMD / BUF check at that time receives this processing start instruction. The SPU that has received the processing start instruction performs processing according to the instruction. CMD / BUF
The content of 2-1 becomes empty again because one SPU has read the processing start instruction code.
【0025】一方、MPU1−2はMPU1−1とは全
く独立に動作しており、SPUに処理させるべきタスク
が発生した場合、CMD・BUF2−2を用いてSPU
に対して指示を送る。MPU1−1,1−2は、SPU
に処理させるべきタスクが発生した場合、CMD・BU
F2−1,2−2に次々に処理開始指示コードを書き込
むことができる。アイドル状態のSPUは、CMD・B
UF2−1,2−2を交互にチェックすることによって
次々と処理を開始していくため、二つのMPU1−1,
1−2が依頼するタスクの数はSPU4−1〜4−nの
数だけ同時に処理することができる。On the other hand, the MPU1-2 operates completely independently of the MPU1-1, and when a task to be processed by the SPU occurs, the SPU is used by using the CMD / BUF2-2.
Send instructions to. MPU1-1 and 1-2 are SPU
When a task to be processed by CMD occurs, CMD BU
Processing start instruction codes can be written in F2-1 and 2-2 one after another. Idle SPU is CMD B
Since the processing is started one after another by alternately checking UF2-1 and UF-2, two MPU1-1 and
The number of tasks requested by 1-2 can be simultaneously processed by the number of SPUs 4-1 to 4-n.
【0026】処理の終ったSPUは、その結果と処理終
了コードを対応するRPS・BUF3−1,3−2に書
き込む。例えば、MPU1からの処理指示を受けて行っ
た処理に対しては、RPS・BUF3−1に書き込む。
この際、RPS・BUF調停回路6−1,6−2は、予
め決められた競合調停方式により調停を行い、どれか一
つのSPUに対してRPS・BUFライト許可を与え
る。RPS・BUF3−1,3−2には複数の処理結果
を格納することができる。MPU1−1,1−2は、R
PS・BUF3−1,3−2から結果を読み込むことに
より、SPUの処理結果を得ることができる。本例で
は、MPUが二つとして記述したが、MPUは二つ以上
いくつあってもこれと全く同様の動作を実現できる。The processed SPU writes the result and the processing end code into the corresponding RPS / BUF3-1 and 3-2. For example, the processing performed in response to the processing instruction from the MPU 1 is written in the RPS / BUF3-1.
At this time, the RPS / BUF arbitration circuits 6-1 and 6-2 perform arbitration by a predetermined contention arbitration method and give RPS / BUF write permission to any one of the SPUs. A plurality of processing results can be stored in the RPS / BUF3-1 and 3-2. MPU1-1 and 1-2 are R
The processing result of the SPU can be obtained by reading the results from the PS / BUF 3-1 and 3-2. Although two MPUs are described in this example, exactly the same operation can be realized even if there are two or more MPUs.
【0027】〈具体例2の効果〉以上説明したように、
この具体例によれば複数台のMPUがそれぞれSPUの
動作状態を管理しないため、SPUをある特定のMPU
に帰属させる必要がなくなり、少ないSPUでも効果的
な使用が可能になり、システム全体のスループットを上
げることができる。<Effect of Concrete Example 2> As described above,
According to this specific example, since the plurality of MPUs do not manage the operating states of the SPUs, the SPUs are not assigned to a specific MPU.
Since it is not necessary to assign it to the SPU, effective use can be achieved with a small number of SPUs, and the throughput of the entire system can be increased.
【0028】〈具体例3〉図3に、本発明のシステムの
第3の具体例のブロック図を示す。ここでは、1個のM
PU1とn個のSPU4−1〜4−nよりなる、コンピ
ュータシステムを例にとって説明する。図中における矢
印はデータ転送の方向を示している。MPU1の送信デ
ータバス13は、MPU1からSPU4−1へと接続さ
れる。MPU1の送信データバス3は、同時にSPU4
−1の受信データバスとなる。SPU4−1の送信デー
タバス15−1は、SPU4−1からSPU4−2へと
接続される。SPU4−1の送信データバス15−1
は、同時にSPU4−2の受信データバスとなる。同様
に、SPU4−2の送信データバス15−2は、図示せ
ぬSPU4−3へと接続され、最終段SPU4−nの送
信データバス15−nは、MPU1へと接続される。S
PU4−nの送信データバス15−nは、同時にMPU
1の受信データバスとなる。<Embodiment 3> FIG. 3 shows a block diagram of a third embodiment of the system of the present invention. Here, one M
A computer system including PU1 and n SPUs 4-1 to 4-n will be described as an example. The arrows in the figure indicate the direction of data transfer. The transmission data bus 13 of MPU1 is connected from MPU1 to SPU4-1. The transmission data bus 3 of the MPU 1 simultaneously transmits the SPU 4
It becomes a reception data bus of -1. The transmission data bus 15-1 of the SPU4-1 is connected from the SPU4-1 to the SPU4-2. Transmission data bus 15-1 of SPU4-1
Simultaneously serves as a reception data bus of SPU4-2. Similarly, the transmission data bus 15-2 of the SPU4-2 is connected to the SPU4-3 (not shown), and the transmission data bus 15-n of the final stage SPU4-n is connected to the MPU1. S
The transmission data bus 15-n of the PU4-n simultaneously receives the MPU.
1 reception data bus.
【0029】MPU1からSPU4−1への割り込み信
号6は、MPU1からSPU4−1へと接続される。S
PU4−1からSPU4−2への割り込み信号17−1
は、SPU4−1よりSPU4−2へと接続される。同
様にSPU4−2からSPU4−3への割り込み信号1
7−2は、SPU4−2からSPU4−3へと接続さ
れ、SPU4−nからMPU1への割り込み信号17−
nは、SPU4−nからMPU1へと接続される。以上
のように、このシステムは、データバスと割り込み信号
が、各プロセッサ間をつなぎ、全体としてループ状の構
成となっている。The interrupt signal 6 from MPU1 to SPU4-1 is connected from MPU1 to SPU4-1. S
Interrupt signal 17-1 from PU4-1 to SPU4-2
Is connected from SPU4-1 to SPU4-2. Similarly, interrupt signal 1 from SPU4-2 to SPU4-3
7-2 is connected from SPU4-2 to SPU4-3, and an interrupt signal 17-from SPU4-n to MPU1.
n is connected from SPU4-n to MPU1. As described above, in this system, the data bus and the interrupt signal connect the processors to each other, and have a loop-like configuration as a whole.
【0030】〈具体例3の動作〉MPU1の機能はこれ
までの機能と同じように、システム全体の制御を行う。
SPU4−1〜4−nは、MPU1からの指示に基づい
て各種演算処理等を行う。この具体例でも、MPU1は
SPU4−1〜4−nの状態を管理しない。MPU1
は、SPU4−1〜4−nに処理させるべきタスクが発
生した場合、送信データバス3を用いて、処理に必要な
データを転送すると共に、割り込み信号6を用いてSP
U4−1にその旨を通知する。<Operation of Concrete Example 3> The function of the MPU 1 controls the entire system in the same manner as the functions up to now.
The SPUs 4-1 to 4-n perform various types of arithmetic processing based on the instruction from the MPU 1. Also in this specific example, the MPU 1 does not manage the states of the SPUs 4-1 to 4-n. MPU1
When a task to be processed by the SPUs 4-1 to 4-n occurs, the transmission data bus 3 is used to transfer the data required for the processing, and the interrupt signal 6 is used to send the SP.
Notify U4-1 accordingly.
【0031】図2に、MPU1がSPU4−1〜4−n
にタスクを依頼するための処理データのフォーマットの
例を示す。処理データ20は、数ワードのデータ列から
構成されており、初めのデータが、そのデータの種類を
示すIDコード21となっている。その内容が例えば、
ID=00の場合には処理A、ID=01の場合には処
理B、ID=02の場合には処理C…というように予め
決めておく。また、後述するSPUからの処理結果の転
送時のIDコードも兼ねており、ID=80の場合には
処理Aの結果、ID=81の場合には処理Bの結果、I
D=82の場合には処理Cの結果…というように決めて
おく。In FIG. 2, the MPU 1 has SPUs 4-1 to 4-n.
Shows an example of the format of processing data for requesting a task. The processed data 20 is composed of a data string of several words, and the first data is an ID code 21 indicating the type of the data. The contents are, for example,
It is determined in advance that process A is performed when ID = 00, process B is performed when ID = 01, process C is performed when ID = 02, and so on. Further, it also serves as an ID code at the time of transfer of a processing result from the SPU, which will be described later. When ID = 80, the result of processing A, when ID = 81, the result of processing B, I
When D = 82, the result of the process C is determined as follows.
【0032】処理データ20の2ワード目は転送データ
23−1〜23−tのワード数22が格納されている。
処理データ20の3ワード目以降が、処理に使用される
転送データ列、あるいは処理結果の転送データ列であ
る。さて、SPU4−1は、MPU1からの割り込み信
号16をトリガとして、MPU1からの処理データ20
を受け取る。SPU4−1はこのとき自分自身がビジー
状態である場合、MPU1からの処理依頼を受け付ける
ことができないため、SPU4−2への送信データバス
15−1を用いてMPU1からの処理データを転送する
と共に、割り込み信号17−1を用いて、SPU4−2
に通知する。The second word of the processing data 20 stores the number of words 22 of the transfer data 23-1 to 23-t.
The third and subsequent words of the processing data 20 are the transfer data string used for the processing or the transfer data string of the processing result. Now, the SPU 4-1 uses the interrupt signal 16 from the MPU 1 as a trigger to process data 20 from the MPU 1.
Receive. If the SPU 4-1 is busy at this time, the SPU 4-1 cannot accept the processing request from the MPU 1, and therefore transfers the processing data from the MPU 1 using the transmission data bus 15-1 to the SPU 4-2. , SPU4-2 using the interrupt signal 17-1
Notify.
【0033】SPU4−1が、アイドル状態の場合、S
PU4−1はMPU1からの処理データのIDコード2
1をチェックし、そのコードに応じた処理を行う。処理
結果には、それに応じたIDコード21を付与し、SP
U4−2への送信データバス15−1を用いて処理デー
タを転送すると共に、割り込み信号17−1を用いてS
PU4−2に通知する。SPU4−2〜4−(n−1)
は、その前段のSPUからの割り込み信号をトリガとし
て、データを受け取る。そして、自分自身がビジー状態
である場合、あるいはIDコードチェックの結果送られ
てきたデータが前段のプロセッサの処理結果である場合
には、そのまま次段のプロセッサにデータを渡し、自分
自身がアイドル状態であり、IDコード21がMPU1
からの処理依頼であった場合には、その処理を行う。処
理結果は、次段のプロセッサへの送信データバスを用い
てデータを転送すると共に、割り込み信号を用いて通知
する。When the SPU4-1 is in the idle state, SPU4-1
PU4-1 is the ID code 2 of the processing data from MPU1.
Check 1 and perform processing according to the code. A corresponding ID code 21 is added to the processing result, and SP is added.
The process data is transferred using the transmission data bus 15-1 to the U4-2, and S is transmitted using the interrupt signal 17-1.
Notify PU4-2. SPU4-2 to 4- (n-1)
Receives data by using an interrupt signal from the SPU in the preceding stage as a trigger. If the self is busy or if the data sent as a result of the ID code check is the processing result of the previous processor, the data is passed to the next processor as it is, and the self is idle. And the ID code 21 is MPU1
If it is a processing request from, the processing is performed. The processing result is transferred by using the transmission data bus to the processor at the next stage and is notified by using the interrupt signal.
【0034】最終段のSPU4−nからの処理データ
は、MPU1に送られる。MPU1はIDコード21を
チェックし、自分自身が依頼した処理の結果であること
を確認し、その結果を図示しないメモリ等に格納する。
各SPU4−1〜4−nが、ビジー状態である場合、M
PU1が依頼した処理が、どのSPUにも処理されずに
MPU1に戻ることがある。この場合は、MPU1はI
Dコード21により、転送されてきたデータが未処理で
あることを判別し、再びSPU4−1〜4−nに対して
処理依頼を行う。The processed data from the SPU4-n at the final stage is sent to the MPU1. The MPU 1 checks the ID code 21, confirms that it is the result of the processing requested by itself, and stores the result in a memory or the like not shown.
If each SPU 4-1 to 4-n is busy, M
The processing requested by PU1 may return to MPU1 without being processed by any SPU. In this case, MPU1 is I
The D code 21 determines that the transferred data is unprocessed, and requests the SPUs 4-1 to 4-n to process again.
【0035】〈具体例3の効果〉以上述べたように、こ
の具体例によれば、MPU1がバス上でシリーズに接続
されたSPU4−1〜4−nの動作状態を管理しないた
め、従来その処理に関わっていた時間を他の処理に振り
向けることができる。そのため、MPUは、その他のシ
ステム制御の処理、例えば図示せぬ磁気ディスク制御等
に専念できるため、システム全体のスループットの向上
が期待できる。また、この具体例によれば、SPUの管
理をMPUの管理下から外したため、SPUの増設に伴
う、MPUのソフトウェア変更を最小で済ますことがで
きる。同様に増設されたSPUのソフトウェアの新規開
発も不要である。また、同様の理由により、SPU数の
増減が比較的容易であるため、目的とするシステムの性
能やコストやサイズに応じて、システム構成を柔軟に行
うことができるという利点を持つ。<Effect of Concrete Example 3> As described above, according to this concrete example, since the MPU 1 does not manage the operating states of the SPUs 4-1 to 4-n connected in series on the bus, the conventional method is not used. The time that was involved in processing can be used for other processing. Therefore, the MPU can concentrate on other system control processing, such as magnetic disk control (not shown), so that the throughput of the entire system can be expected to improve. Further, according to this specific example, since the management of the SPU is removed from the management of the MPU, it is possible to minimize the software change of the MPU accompanying the addition of the SPU. Similarly, new development of software for the added SPU is unnecessary. Further, for the same reason, since the number of SPUs can be relatively easily increased and decreased, there is an advantage that the system configuration can be flexibly configured according to the performance, cost and size of the target system.
【図1】本発明のシステムの第1の具体例を示すブロッ
ク図である。FIG. 1 is a block diagram showing a first specific example of a system of the present invention.
【図2】本発明のシステムの第2の具体例を示すブロッ
ク図である。FIG. 2 is a block diagram showing a second specific example of the system of the present invention.
【図3】本発明のシステムの第3の具体例を示すブロッ
ク図である。FIG. 3 is a block diagram showing a third specific example of the system of the present invention.
【図4】第3の具体例に用いる処理データフォーマット
の例説明図である。FIG. 4 is an explanatory diagram of an example of a processing data format used in a third specific example.
1 MPU 2 CMD・BUF 3 RPS・BUF 4−1〜4−n SPU 5 CMD・BUF調停回路 6 RPS・BUF調停回路 1 MPU 2 CMD / BUF 3 RPS / BUF 4-1 to 4-n SPU 5 CMD / BUF arbitration circuit 6 RPS / BUF arbitration circuit
Claims (3)
る中央処理プロセッサと、 この中央処理プロセッサに依頼を受けて前記処理を実行
する複数のサブプロセッサと、 前記中央処理プロセッサの処理開始指示を受け入れて、
いずれかのサブプロセッサが読み出すまでこの処理開始
指示を保持する命令バッファと、 処理を実行したサブプロセッサの処理結果を受け入れ
て、前記中央処理プロセッサが読み出すまでこの処理結
果を保持する応答バッファと、 前記命令バッファと全てのサブプロセッサとの間に配置
されて、複数のサブプロセッサが同時に命令バッファを
リードアクセスしたときの競合調整を行う命令バッファ
調停回路と、 前記全てのサブプロセッサと前記応答バッファとの間に
挿入されて、複数のサブプロセッサが同時に応答バッフ
ァをライトアクセスしたときの競合調整を行う応答バッ
ファ調停回路とを備え、 何も処理を実行していないアイドル状態の全てのサブプ
ロセッサは、それぞれ前記命令バッファ調停回路を通じ
て前記命令バッファをリードアクセスして、前記中央処
理プロセッサから処理開始指示を受け入れ、その処理結
果を前記応答バッファ調停回路を通じて前記応答バッフ
ァに書き込み、 前記中央処理プロセッサは、前記処理開始指示を前記命
令バッファに書き込んだ後、前記応答バッファからタス
クの処理結果を読み出すことを特徴とするマルチプロセ
ッサ制御システム。1. A central processing processor that controls the processing of an arbitrary task, a plurality of sub-processors that execute the processing upon request of the central processing processor, and a processing start instruction of the central processing processor. ,
An instruction buffer that holds this processing start instruction until one of the sub-processors reads it, a response buffer that receives the processing result of the sub-processor that has executed the processing and holds this processing result until the central processing processor reads it, An instruction buffer arbitration circuit arranged between the instruction buffer and all the sub-processors, which performs contention adjustment when a plurality of sub-processors simultaneously read-accesses the instruction buffer, and between all the sub-processors and the response buffer. And a response buffer arbitration circuit that is inserted between them and performs contention adjustment when a plurality of subprocessors simultaneously write-access the response buffer. Read the instruction buffer through the instruction buffer arbitration circuit. Access, receives a processing start instruction from the central processing processor, writes the processing result to the response buffer through the response buffer arbitration circuit, and the central processing processor writes the processing start instruction to the instruction buffer. A multiprocessor control system for reading the processing result of a task from the response buffer.
セッサには、それぞれ命令バッファと命令バッファ調停
回路及び応答バッファと応答バッファ調停回路の組が接
続されて、 各命令バッファ調停回路と応答バッファ調停回路とは、
全てのサブプロセッサに接続されて、各サブプロセッサ
のリードアクセスとライトアクセスの競合を調停するこ
とを特徴とするマルチプロセッサ制御システム。2. The plurality of central processing processors according to claim 1, wherein a set of an instruction buffer and an instruction buffer arbitration circuit, and a response buffer and a response buffer arbitration circuit are connected to each of the central processing processors. The instruction buffer arbitration circuit and the response buffer arbitration circuit are
A multiprocessor control system, which is connected to all subprocessors and arbitrates competition between read access and write access of each subprocessor.
る中央処理プロセッサと、 この中央処理プロセッサに依頼を受けて前記処理を実行
する複数のサブプロセッサとを備え、 前記中央処理プロセッサと複数のサブプロセッサとは、
相互にデータバスを介してリング状に接続されており、
中央処理プロセッサの出力したタスク処理を要求する処
理データが、先頭のサブプロセッサから順に転送され
て、最後のサブプロセッサから中央処理プロセッサに戻
るように転送され、 アイドル状態のサブプロセッサが前記処理データの転送
を受けると、その処理を実行し、処理を終了したサブプ
ロセッサは、前記処理データに処理結果を書き込んで転
送し、 中央処理プロセッサは、転送を受けた処理データ中に処
理結果が書き込まれているときは、その処理データを受
取り、処理を要求したままの内容のときは、再度その処
理データを転送することを特徴とするマルチプロセッサ
制御システム。3. A central processing processor that controls the processing of an arbitrary task, and a plurality of sub-processors that execute the processing when requested by the central processing processor, the central processing processor and the plurality of sub-processors. Is
They are connected to each other in a ring shape via a data bus,
The processing data requesting task processing output from the central processing processor is transferred in order from the first sub-processor, and from the last sub-processor back to the central processing processor. Upon receiving the transfer, the sub-processor, which executes the process and ends the process, writes the process result to the process data and transfers it, and the central processor writes the process result in the transferred process data. A multiprocessor control system characterized by receiving the processing data when the processing is in progress, and transferring the processing data again when the processing is still requested.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4664896A JPH09218859A (en) | 1996-02-07 | 1996-02-07 | Multiprocessor control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4664896A JPH09218859A (en) | 1996-02-07 | 1996-02-07 | Multiprocessor control system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09218859A true JPH09218859A (en) | 1997-08-19 |
Family
ID=12753143
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4664896A Pending JPH09218859A (en) | 1996-02-07 | 1996-02-07 | Multiprocessor control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09218859A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010016169A1 (en) * | 2008-08-07 | 2010-02-11 | 日本電気株式会社 | Multiprocessor system and method for controlling the same |
| WO2011148920A1 (en) | 2010-05-26 | 2011-12-01 | 日本電気株式会社 | Multiprocessor system, execution control method, execution control program |
| JP2017129921A (en) * | 2016-01-18 | 2017-07-27 | トヨタ自動車株式会社 | Task execution method and task execution system |
| US12014215B2 (en) | 2020-12-02 | 2024-06-18 | Samsung Electronics Co., Ltd. | Active scheduling method and computing apparatus |
-
1996
- 1996-02-07 JP JP4664896A patent/JPH09218859A/en active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010016169A1 (en) * | 2008-08-07 | 2010-02-11 | 日本電気株式会社 | Multiprocessor system and method for controlling the same |
| CN102112972A (en) * | 2008-08-07 | 2011-06-29 | 日本电气株式会社 | Multiprocessor system and method for controlling same |
| US8583845B2 (en) | 2008-08-07 | 2013-11-12 | Nec Corporation | Multi-processor system and controlling method thereof |
| JP5360061B2 (en) * | 2008-08-07 | 2013-12-04 | 日本電気株式会社 | Multiprocessor system and control method thereof |
| WO2011148920A1 (en) | 2010-05-26 | 2011-12-01 | 日本電気株式会社 | Multiprocessor system, execution control method, execution control program |
| US9164951B2 (en) | 2010-05-26 | 2015-10-20 | Nec Corporation | Multiprocessor system, execution control method and execution control program |
| JP2017129921A (en) * | 2016-01-18 | 2017-07-27 | トヨタ自動車株式会社 | Task execution method and task execution system |
| US12014215B2 (en) | 2020-12-02 | 2024-06-18 | Samsung Electronics Co., Ltd. | Active scheduling method and computing apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6711643B2 (en) | Method and apparatus for interrupt redirection for arm processors | |
| US5574868A (en) | Bus grant prediction technique for a split transaction bus in a multiprocessor computer system | |
| KR100708096B1 (en) | How to adjust the bus system and its execution order | |
| US6061757A (en) | Handling interrupts by returning and requeuing currently executing interrupts for later resubmission when the currently executing interrupts are of lower priority than newly generated pending interrupts | |
| JP2000293436A (en) | Support for multiple outstanding requests for multiple targets in pipelined memory systems | |
| JP4168281B2 (en) | Parallel processing system, interconnection network, node and network control program | |
| JP5213485B2 (en) | Data synchronization method and multiprocessor system in multiprocessor system | |
| JPH09218859A (en) | Multiprocessor control system | |
| JP3990569B2 (en) | Data memory control device | |
| JPH064314A (en) | Inter-task synchronizing communication equipment | |
| JP2000227895A (en) | Device and method for transferring image data | |
| JPH01137359A (en) | Processor control system | |
| JPH1185673A (en) | Method and apparatus for controlling shared bus | |
| JPH056333A (en) | Multiprocessor system | |
| JP2002278753A (en) | Data processing system | |
| JPH08115272A (en) | Method and apparatus for remote retrial in data-processing system | |
| JP2635863B2 (en) | Central processing unit | |
| JPH0535507A (en) | Central processing unit | |
| JPH0424733B2 (en) | ||
| JPS603027A (en) | Resource control system of computer processing system | |
| JPH09330301A (en) | Command transfer system | |
| JPH0573473A (en) | Industrial computer system | |
| JPH0628305A (en) | Data transfer controller for multiprocessor system | |
| JPH02224048A (en) | Information processor | |
| JPH09305536A (en) | Bus transfer method and information processor for the same |