JPH09218859A - マルチプロセッサ制御システム - Google Patents
マルチプロセッサ制御システムInfo
- 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
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【解決手段】 MPU1は、発生したタスクの処理を、
複数のSPU4−1〜4−nのうちのいずれかに依頼す
る。複数のSPU4−1〜4−nは、それぞれ同時に並
行して依頼を受けた処理を実行する。アイドル状態でな
いSPUは新たなタスクの依頼を受けることができな
い。 【効果】 アイドル状態のSPUが自発的に命令バッフ
ァをリードアクセスするので、MPUはどのSPUがア
イドル状態かを認識する必要はない。
複数のSPU4−1〜4−nのうちのいずれかに依頼す
る。複数のSPU4−1〜4−nは、それぞれ同時に並
行して依頼を受けた処理を実行する。アイドル状態でな
いSPUは新たなタスクの依頼を受けることができな
い。 【効果】 アイドル状態のSPUが自発的に命令バッフ
ァをリードアクセスするので、MPUはどのSPUがア
イドル状態かを認識する必要はない。
Description
【0001】
【発明の属する技術分野】本発明は、汎用あるいは特定
の用途を持ったコンピュータシステムにおいて、特に複
数のプロセッサを用いたマルチプロセッサ制御システム
に関するものである。
の用途を持ったコンピュータシステムにおいて、特に複
数のプロセッサを用いたマルチプロセッサ制御システム
に関するものである。
【0002】
【従来の技術】従来、マルチプロセッサを用いたコンピ
ュータシステムでは、システムの処理能力を上げるため
に、中央処理プロセッサの他に、ある特定の処理を専門
に行うサブプロセッサを一つあるいは複数設け、中央処
理プロセッサとこれらのサブプロセッサとを並列に動作
させることが行われている。これによって、システムの
スループットを向上させていた。
ュータシステムでは、システムの処理能力を上げるため
に、中央処理プロセッサの他に、ある特定の処理を専門
に行うサブプロセッサを一つあるいは複数設け、中央処
理プロセッサとこれらのサブプロセッサとを並列に動作
させることが行われている。これによって、システムの
スループットを向上させていた。
【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メ
モリによって構成される。
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メ
モリによって構成される。
【0004】SPUが行う処理の内容は予め決められて
おり、SPUがその演算を行っていない状態をアイドル
状態と呼ぶ。MPUは、SPUを動作させるような処理
が発生した場合、どのSPUに処理を行わせるかを判断
し、そのSPUのCMD・BUFを通じて処理開始を指
示する。SPUに行わせる処理が複数ある場合には、次
々にアイドル中のSPUを判断して処理開始指示を通知
する。処理開始指示を受けたSPUは、定められた演算
を行った後、MPUに対して処理終了通知をRPS・B
UFを通じて行う。処理終了の後はSPUはアイドル状
態に戻る。
おり、SPUがその演算を行っていない状態をアイドル
状態と呼ぶ。MPUは、SPUを動作させるような処理
が発生した場合、どのSPUに処理を行わせるかを判断
し、そのSPUのCMD・BUFを通じて処理開始を指
示する。SPUに行わせる処理が複数ある場合には、次
々にアイドル中のSPUを判断して処理開始指示を通知
する。処理開始指示を受けたSPUは、定められた演算
を行った後、MPUに対して処理終了通知をRPS・B
UFを通じて行う。処理終了の後はSPUはアイドル状
態に戻る。
【0005】
【発明が解決しようとする課題】ところで、上記のよう
な従来のマルチプロセッサ制御システムには、次のよう
な解決すべき課題があった。上記構成のマルチプロセッ
サ制御方式では、MPUが各SPUの動作を制御する関
係上、各SPUのアイドル状態をMPUが管理していな
ければならない。このため、その制御に関わる処理が繁
雑になり、MPUが他に行わなければならない処理、例
えば磁気ディスク制御等が遅れてしまう。これにより、
システム全体のスループットの向上を妨げるという問題
があった。特にSPUの数が増えた場合その問題が著し
い。従って、処理高速化の目的でSPUを増やしても、
MPUの処理能力の限界から、更なるスループットの向
上が見込めないという問題もあった。
な従来のマルチプロセッサ制御システムには、次のよう
な解決すべき課題があった。上記構成のマルチプロセッ
サ制御方式では、MPUが各SPUの動作を制御する関
係上、各SPUのアイドル状態をMPUが管理していな
ければならない。このため、その制御に関わる処理が繁
雑になり、MPUが他に行わなければならない処理、例
えば磁気ディスク制御等が遅れてしまう。これにより、
システム全体のスループットの向上を妨げるという問題
があった。特にSPUの数が増えた場合その問題が著し
い。従って、処理高速化の目的でSPUを増やしても、
MPUの処理能力の限界から、更なるスループットの向
上が見込めないという問題もあった。
【0006】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉任意のタスクについてその処理を制御する中
央処理プロセッサと、この中央処理プロセッサに依頼を
受けて上記処理を実行する複数のサブプロセッサと、上
記中央処理プロセッサの処理開始指示を受け入れて、い
ずれかのサブプロセッサが読み出すまでこの処理開始指
示を保持する命令バッファと、処理を実行したサブプロ
セッサの処理結果を受け入れて、上記中央処理プロセッ
サが読み出すまでこの処理結果を保持する応答バッファ
と、上記命令バッファと全てのサブプロセッサとの間に
配置されて、複数のサブプロセッサが同時に命令バッフ
ァをリードアクセスしたときの競合調整を行う命令バッ
ファ調停回路と、上記全てのサブプロセッサと上記応答
バッファとの間に挿入されて、複数のサブプロセッサが
同時に応答バッファをライトアクセスしたときの競合調
整を行う応答バッファ調停回路とを備え、何も処理を実
行していないアイドル状態の全てのサブプロセッサは、
それぞれ上記命令バッファ調停回路を通じて上記命令バ
ッファをリードアクセスして、上記中央処理プロセッサ
から処理開始指示を受け入れ、その処理結果を上記応答
バッファ調停回路を通じて上記応答バッファに書き込
み、上記中央処理プロセッサは、上記処理開始指示を上
記命令バッファに書き込んだ後、上記応答バッファから
タスクの処理結果を読み出すことを特徴とするマルチプ
ロセッサ制御システム。
するため次の構成を採用する。 〈構成1〉任意のタスクについてその処理を制御する中
央処理プロセッサと、この中央処理プロセッサに依頼を
受けて上記処理を実行する複数のサブプロセッサと、上
記中央処理プロセッサの処理開始指示を受け入れて、い
ずれかのサブプロセッサが読み出すまでこの処理開始指
示を保持する命令バッファと、処理を実行したサブプロ
セッサの処理結果を受け入れて、上記中央処理プロセッ
サが読み出すまでこの処理結果を保持する応答バッファ
と、上記命令バッファと全てのサブプロセッサとの間に
配置されて、複数のサブプロセッサが同時に命令バッフ
ァをリードアクセスしたときの競合調整を行う命令バッ
ファ調停回路と、上記全てのサブプロセッサと上記応答
バッファとの間に挿入されて、複数のサブプロセッサが
同時に応答バッファをライトアクセスしたときの競合調
整を行う応答バッファ調停回路とを備え、何も処理を実
行していないアイドル状態の全てのサブプロセッサは、
それぞれ上記命令バッファ調停回路を通じて上記命令バ
ッファをリードアクセスして、上記中央処理プロセッサ
から処理開始指示を受け入れ、その処理結果を上記応答
バッファ調停回路を通じて上記応答バッファに書き込
み、上記中央処理プロセッサは、上記処理開始指示を上
記命令バッファに書き込んだ後、上記応答バッファから
タスクの処理結果を読み出すことを特徴とするマルチプ
ロセッサ制御システム。
【0007】〈説明〉中央処理プロセッサはMPU、サ
ブプロセッサはSPUと表現する。MPUは、発生した
タスクの処理を、複数のSPUのうちのいずれかに依頼
する。複数のSPUは、それぞれ同時に並行して依頼を
受けた処理を実行する。アイドル状態でないSPUは新
たなタスクの依頼を受けることができない。アイドル状
態のSPUが自発的に命令バッファをリードアクセスす
るので、MPUはどのSPUがアイドル状態かを認識す
る必要はない。命令バッファ調停回路を設けたのは、ア
イドル状態の複数のSPUが任意のタイミングで命令バ
ッファをリードアクセスするとき、競合が生じるからで
ある。また、応答バッファ調停回路を設けたのは、各S
PUがタスクの処理結果を任意のタイミングで応答バッ
ファにライトアクセスする際に競合が生じるからであ
る。
ブプロセッサはSPUと表現する。MPUは、発生した
タスクの処理を、複数のSPUのうちのいずれかに依頼
する。複数のSPUは、それぞれ同時に並行して依頼を
受けた処理を実行する。アイドル状態でないSPUは新
たなタスクの依頼を受けることができない。アイドル状
態のSPUが自発的に命令バッファをリードアクセスす
るので、MPUはどのSPUがアイドル状態かを認識す
る必要はない。命令バッファ調停回路を設けたのは、ア
イドル状態の複数のSPUが任意のタイミングで命令バ
ッファをリードアクセスするとき、競合が生じるからで
ある。また、応答バッファ調停回路を設けたのは、各S
PUがタスクの処理結果を任意のタイミングで応答バッ
ファにライトアクセスする際に競合が生じるからであ
る。
【0008】〈構成2〉構成1において、複数の中央処
理プロセッサが設けられ、各中央処理プロセッサには、
それぞれ命令バッファと命令バッファ調停回路及び応答
バッファと応答バッファ調停回路の組が接続されて、各
命令バッファ調停回路と応答バッファ調停回路とは、全
てのサブプロセッサに接続されて、各サブプロセッサの
リードアクセスとライトアクセスの競合を調停すること
を特徴とするマルチプロセッサ制御システム。
理プロセッサが設けられ、各中央処理プロセッサには、
それぞれ命令バッファと命令バッファ調停回路及び応答
バッファと応答バッファ調停回路の組が接続されて、各
命令バッファ調停回路と応答バッファ調停回路とは、全
てのサブプロセッサに接続されて、各サブプロセッサの
リードアクセスとライトアクセスの競合を調停すること
を特徴とするマルチプロセッサ制御システム。
【0009】〈説明〉MPUが1台でなく複数台あっ
て、それぞれ所定のタスクの処理を制御している場合に
は、各MPUの処理開始指示を受け入れる命令バッファ
と、その応答を受け入れる応答バッファとを各MPUご
とに設ける。競合調停のための調停回路もそれぞれ個別
に設ける。このとき、複数のSPUは、いずれのMPU
のタスクを処理してもよい。即ち、各MPUは全てのS
PUを共用することができる。
て、それぞれ所定のタスクの処理を制御している場合に
は、各MPUの処理開始指示を受け入れる命令バッファ
と、その応答を受け入れる応答バッファとを各MPUご
とに設ける。競合調停のための調停回路もそれぞれ個別
に設ける。このとき、複数のSPUは、いずれのMPU
のタスクを処理してもよい。即ち、各MPUは全てのS
PUを共用することができる。
【0010】〈構成3〉任意のタスクについてその処理
を制御する中央処理プロセッサと、この中央処理プロセ
ッサに依頼を受けて上記処理を実行する複数のサブプロ
セッサとを備え、上記中央処理プロセッサと複数のサブ
プロセッサとは、相互にデータバスを介してリング状に
接続されており、中央処理プロセッサの出力したタスク
処理を要求する処理データが、先頭のサブプロセッサか
ら順に転送されて、最後のサブプロセッサから中央処理
プロセッサに戻るように転送され、アイドル状態のサブ
プロセッサが上記処理データの転送を受けると、その処
理を実行し、処理を終了したサブプロセッサは、上記処
理データに処理結果を書き込んで転送し、中央処理プロ
セッサは、転送を受けた処理データ中に処理結果が書き
込まれているときは、その処理データを受取り、処理を
要求したままの内容のときは、再度その処理データを転
送することを特徴とするマルチプロセッサ制御システ
ム。
を制御する中央処理プロセッサと、この中央処理プロセ
ッサに依頼を受けて上記処理を実行する複数のサブプロ
セッサとを備え、上記中央処理プロセッサと複数のサブ
プロセッサとは、相互にデータバスを介してリング状に
接続されており、中央処理プロセッサの出力したタスク
処理を要求する処理データが、先頭のサブプロセッサか
ら順に転送されて、最後のサブプロセッサから中央処理
プロセッサに戻るように転送され、アイドル状態のサブ
プロセッサが上記処理データの転送を受けると、その処
理を実行し、処理を終了したサブプロセッサは、上記処
理データに処理結果を書き込んで転送し、中央処理プロ
セッサは、転送を受けた処理データ中に処理結果が書き
込まれているときは、その処理データを受取り、処理を
要求したままの内容のときは、再度その処理データを転
送することを特徴とするマルチプロセッサ制御システ
ム。
【0011】〈説明〉リング状というのは、ループ状あ
るいは両端をつないだチェーン状ということで、MPU
にデータバスを介して最初のSPUが接続され、その後
にデータバスを介して全てのSPUが順に接続され、最
後のSPUがデータバスを介してMPUに接続されてい
る状態をいう。処理データには、MPUによる処理要求
またはSPUによる処理結果が書き込まれて、順に転送
される。アイドルでないSPUは、その処理データをそ
のまま後続するSPUに転送する。最後のSPUがアイ
ドルでなければ、処理データはMPUに戻る。MPUの
処理要求は、データバスを通じて全てのSPUに順に転
送されるから、MPUは、アイドル状態のSPUを意識
する必要がない。
るいは両端をつないだチェーン状ということで、MPU
にデータバスを介して最初のSPUが接続され、その後
にデータバスを介して全てのSPUが順に接続され、最
後のSPUがデータバスを介してMPUに接続されてい
る状態をいう。処理データには、MPUによる処理要求
またはSPUによる処理結果が書き込まれて、順に転送
される。アイドルでないSPUは、その処理データをそ
のまま後続するSPUに転送する。最後のSPUがアイ
ドルでなければ、処理データはMPUに戻る。MPUの
処理要求は、データバスを通じて全てのSPUに順に転
送されるから、MPUは、アイドル状態のSPUを意識
する必要がない。
【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によって読み出される。
例を用いて説明する。 〈具体例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によって読み出される。
【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に接続されている。調停の方式としては、固定プライ
オリティ方式やラウンドロビン方式等既に良く知られて
いる競合調停技術を用いる。
は、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に接続されている。調停の方式としては、固定プライ
オリティ方式やラウンドロビン方式等既に良く知られて
いる競合調停技術を用いる。
【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はこれらの制御も行う。
UF3とSPU4−1〜4−nの間に存在し、それぞれ
のSPUがRPS・BUF3をライトする際のアクセス
競合の調停を行う。そのため、RPS・BUF調停回路
6は、全てのSPU4−1〜4−nに接続されている。
調停の方式としては、CMD・BUF調停回路5と同様
に固定プライオリティ方式やラウンドロビン方式等既に
知られている技術を用いる。なお、このシステムには、
図示しないメモリやディスプレイコントローラやキーボ
ードコントローラや磁気ディスクコントローラが存在
し、MPU1はこれらの制御も行う。
【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に返送されることに
なる。
が行う処理の内容は予め決められており、これらの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に返送されることに
なる。
【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が処理開始指示コードを読み出
した後再び空となる。
ずれかの処理すべきタスクが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が処理開始指示コードを読み出
した後再び空となる。
【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の処理結果を得るこ
とができる。
させるべきタスクが発生した場合、CMD・BUF2に
次々に処理開始指示コードを書き込むことができる。ア
イドル状態のSPUは、CMD・BUF2のチェックに
よって次々と処理を開始していくため、タスクの数はS
PUの数だけ同時に並行処理することができる。処理の
終ったSPUは、その結果と処理終了コードをRPS・
BUF3に書き込む。この際、RPS・BUF調停回路
6は、予め決められた競合調停方式により調停を行い、
どれか一つのSPUに対してRPS・BUFライト許可
を与える。RPS・BUF3には複数の処理結果を格納
することができる。MPU1は、RPS・BUF3から
結果を読み込むことにより、SPUの処理結果を得るこ
とができる。
【0018】〈具体例1の効果〉以上述べたように、こ
の具体例によればMPU1が各SPU4−1〜4−nの
動作状態を管理しないため、従来その処理に関わってい
た時間を他の処理に振り向けることができる。そのた
め、MPU1は、その他のシステム制御の処理、例えば
図示しない磁気ディスク制御等に専念でき、システム全
体のスループットの向上が期待できる。また、この具体
例によれば、SPU4−1〜4−nの管理をMPUの管
理下から外したため、SPUの増設に伴うMPU1のソ
フトウェア変更を最小で済ますことができる。また、増
設されたSPUのソフトウェアの新規開発も不要である
ことは言うまでもない。同様の理由により、SPU数の
増減が比較的容易であるため、目的とするシステムの性
能やコストやサイズに応じて、システム構成を柔軟に行
うことができるという利点を持つ。
の具体例によればMPU1が各SPU4−1〜4−nの
動作状態を管理しないため、従来その処理に関わってい
た時間を他の処理に振り向けることができる。そのた
め、MPU1は、その他のシステム制御の処理、例えば
図示しない磁気ディスク制御等に専念でき、システム全
体のスループットの向上が期待できる。また、この具体
例によれば、SPU4−1〜4−nの管理をMPUの管
理下から外したため、SPUの増設に伴うMPU1のソ
フトウェア変更を最小で済ますことができる。また、増
設されたSPUのソフトウェアの新規開発も不要である
ことは言うまでもない。同様の理由により、SPU数の
増減が比較的容易であるため、目的とするシステムの性
能やコストやサイズに応じて、システム構成を柔軟に行
うことができるという利点を持つ。
【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によって読み出される。
第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によって読み出される。
【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の具体例と同様である。
は、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の具体例と同様である。
【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の具体例と変わるところはな
い。
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の具体例と変わるところはな
い。
【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に対して処
理開始要求を行っていないため空である。
が行う処理の内容は予め決められている。いまシステム
の運用が開始されたとする。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に対して処
理開始要求を行っていないため空である。
【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に返送される。
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に返送される。
【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が処理開始指示コード
を読み込んだため再び空となる。
が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が処理開始指示コード
を読み込んだため再び空となる。
【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の
数だけ同時に処理することができる。
く独立に動作しており、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の
数だけ同時に処理することができる。
【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は二つ以上
いくつあってもこれと全く同様の動作を実現できる。
了コードを対応する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は二つ以上
いくつあってもこれと全く同様の動作を実現できる。
【0027】〈具体例2の効果〉以上説明したように、
この具体例によれば複数台のMPUがそれぞれSPUの
動作状態を管理しないため、SPUをある特定のMPU
に帰属させる必要がなくなり、少ないSPUでも効果的
な使用が可能になり、システム全体のスループットを上
げることができる。
この具体例によれば複数台のMPUがそれぞれSPUの
動作状態を管理しないため、SPUをある特定のMPU
に帰属させる必要がなくなり、少ないSPUでも効果的
な使用が可能になり、システム全体のスループットを上
げることができる。
【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の受信データバスとなる。
第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の受信データバスとなる。
【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へと接続される。以上
のように、このシステムは、データバスと割り込み信号
が、各プロセッサ間をつなぎ、全体としてループ状の構
成となっている。
号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へと接続される。以上
のように、このシステムは、データバスと割り込み信号
が、各プロセッサ間をつなぎ、全体としてループ状の構
成となっている。
【0030】〈具体例3の動作〉MPU1の機能はこれ
までの機能と同じように、システム全体の制御を行う。
SPU4−1〜4−nは、MPU1からの指示に基づい
て各種演算処理等を行う。この具体例でも、MPU1は
SPU4−1〜4−nの状態を管理しない。MPU1
は、SPU4−1〜4−nに処理させるべきタスクが発
生した場合、送信データバス3を用いて、処理に必要な
データを転送すると共に、割り込み信号6を用いてSP
U4−1にその旨を通知する。
までの機能と同じように、システム全体の制御を行う。
SPU4−1〜4−nは、MPU1からの指示に基づい
て各種演算処理等を行う。この具体例でも、MPU1は
SPU4−1〜4−nの状態を管理しない。MPU1
は、SPU4−1〜4−nに処理させるべきタスクが発
生した場合、送信データバス3を用いて、処理に必要な
データを転送すると共に、割り込み信号6を用いてSP
U4−1にその旨を通知する。
【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の結果…というように決めて
おく。
にタスクを依頼するための処理データのフォーマットの
例を示す。処理データ20は、数ワードのデータ列から
構成されており、初めのデータが、そのデータの種類を
示すIDコード21となっている。その内容が例えば、
ID=00の場合には処理A、ID=01の場合には処
理B、ID=02の場合には処理C…というように予め
決めておく。また、後述するSPUからの処理結果の転
送時のIDコードも兼ねており、ID=80の場合には
処理Aの結果、ID=81の場合には処理Bの結果、I
D=82の場合には処理Cの結果…というように決めて
おく。
【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
に通知する。
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
に通知する。
【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
からの処理依頼であった場合には、その処理を行う。処
理結果は、次段のプロセッサへの送信データバスを用い
てデータを転送すると共に、割り込み信号を用いて通知
する。
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
からの処理依頼であった場合には、その処理を行う。処
理結果は、次段のプロセッサへの送信データバスを用い
てデータを転送すると共に、割り込み信号を用いて通知
する。
【0034】最終段のSPU4−nからの処理データ
は、MPU1に送られる。MPU1はIDコード21を
チェックし、自分自身が依頼した処理の結果であること
を確認し、その結果を図示しないメモリ等に格納する。
各SPU4−1〜4−nが、ビジー状態である場合、M
PU1が依頼した処理が、どのSPUにも処理されずに
MPU1に戻ることがある。この場合は、MPU1はI
Dコード21により、転送されてきたデータが未処理で
あることを判別し、再びSPU4−1〜4−nに対して
処理依頼を行う。
は、MPU1に送られる。MPU1はIDコード21を
チェックし、自分自身が依頼した処理の結果であること
を確認し、その結果を図示しないメモリ等に格納する。
各SPU4−1〜4−nが、ビジー状態である場合、M
PU1が依頼した処理が、どのSPUにも処理されずに
MPU1に戻ることがある。この場合は、MPU1はI
Dコード21により、転送されてきたデータが未処理で
あることを判別し、再びSPU4−1〜4−nに対して
処理依頼を行う。
【0035】〈具体例3の効果〉以上述べたように、こ
の具体例によれば、MPU1がバス上でシリーズに接続
されたSPU4−1〜4−nの動作状態を管理しないた
め、従来その処理に関わっていた時間を他の処理に振り
向けることができる。そのため、MPUは、その他のシ
ステム制御の処理、例えば図示せぬ磁気ディスク制御等
に専念できるため、システム全体のスループットの向上
が期待できる。また、この具体例によれば、SPUの管
理をMPUの管理下から外したため、SPUの増設に伴
う、MPUのソフトウェア変更を最小で済ますことがで
きる。同様に増設されたSPUのソフトウェアの新規開
発も不要である。また、同様の理由により、SPU数の
増減が比較的容易であるため、目的とするシステムの性
能やコストやサイズに応じて、システム構成を柔軟に行
うことができるという利点を持つ。
の具体例によれば、MPU1がバス上でシリーズに接続
されたSPU4−1〜4−nの動作状態を管理しないた
め、従来その処理に関わっていた時間を他の処理に振り
向けることができる。そのため、MPUは、その他のシ
ステム制御の処理、例えば図示せぬ磁気ディスク制御等
に専念できるため、システム全体のスループットの向上
が期待できる。また、この具体例によれば、SPUの管
理をMPUの管理下から外したため、SPUの増設に伴
う、MPUのソフトウェア変更を最小で済ますことがで
きる。同様に増設されたSPUのソフトウェアの新規開
発も不要である。また、同様の理由により、SPU数の
増減が比較的容易であるため、目的とするシステムの性
能やコストやサイズに応じて、システム構成を柔軟に行
うことができるという利点を持つ。
【図1】本発明のシステムの第1の具体例を示すブロッ
ク図である。
ク図である。
【図2】本発明のシステムの第2の具体例を示すブロッ
ク図である。
ク図である。
【図3】本発明のシステムの第3の具体例を示すブロッ
ク図である。
ク図である。
【図4】第3の具体例に用いる処理データフォーマット
の例説明図である。
の例説明図である。
1 MPU 2 CMD・BUF 3 RPS・BUF 4−1〜4−n SPU 5 CMD・BUF調停回路 6 RPS・BUF調停回路
Claims (3)
- 【請求項1】 任意のタスクについてその処理を制御す
る中央処理プロセッサと、 この中央処理プロセッサに依頼を受けて前記処理を実行
する複数のサブプロセッサと、 前記中央処理プロセッサの処理開始指示を受け入れて、
いずれかのサブプロセッサが読み出すまでこの処理開始
指示を保持する命令バッファと、 処理を実行したサブプロセッサの処理結果を受け入れ
て、前記中央処理プロセッサが読み出すまでこの処理結
果を保持する応答バッファと、 前記命令バッファと全てのサブプロセッサとの間に配置
されて、複数のサブプロセッサが同時に命令バッファを
リードアクセスしたときの競合調整を行う命令バッファ
調停回路と、 前記全てのサブプロセッサと前記応答バッファとの間に
挿入されて、複数のサブプロセッサが同時に応答バッフ
ァをライトアクセスしたときの競合調整を行う応答バッ
ファ調停回路とを備え、 何も処理を実行していないアイドル状態の全てのサブプ
ロセッサは、それぞれ前記命令バッファ調停回路を通じ
て前記命令バッファをリードアクセスして、前記中央処
理プロセッサから処理開始指示を受け入れ、その処理結
果を前記応答バッファ調停回路を通じて前記応答バッフ
ァに書き込み、 前記中央処理プロセッサは、前記処理開始指示を前記命
令バッファに書き込んだ後、前記応答バッファからタス
クの処理結果を読み出すことを特徴とするマルチプロセ
ッサ制御システム。 - 【請求項2】 請求項1において、 複数の中央処理プロセッサが設けられ、各中央処理プロ
セッサには、それぞれ命令バッファと命令バッファ調停
回路及び応答バッファと応答バッファ調停回路の組が接
続されて、 各命令バッファ調停回路と応答バッファ調停回路とは、
全てのサブプロセッサに接続されて、各サブプロセッサ
のリードアクセスとライトアクセスの競合を調停するこ
とを特徴とするマルチプロセッサ制御システム。 - 【請求項3】 任意のタスクについてその処理を制御す
る中央処理プロセッサと、 この中央処理プロセッサに依頼を受けて前記処理を実行
する複数のサブプロセッサとを備え、 前記中央処理プロセッサと複数のサブプロセッサとは、
相互にデータバスを介してリング状に接続されており、
中央処理プロセッサの出力したタスク処理を要求する処
理データが、先頭のサブプロセッサから順に転送され
て、最後のサブプロセッサから中央処理プロセッサに戻
るように転送され、 アイドル状態のサブプロセッサが前記処理データの転送
を受けると、その処理を実行し、処理を終了したサブプ
ロセッサは、前記処理データに処理結果を書き込んで転
送し、 中央処理プロセッサは、転送を受けた処理データ中に処
理結果が書き込まれているときは、その処理データを受
取り、処理を要求したままの内容のときは、再度その処
理データを転送することを特徴とするマルチプロセッサ
制御システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4664896A JPH09218859A (ja) | 1996-02-07 | 1996-02-07 | マルチプロセッサ制御システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4664896A JPH09218859A (ja) | 1996-02-07 | 1996-02-07 | マルチプロセッサ制御システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09218859A true JPH09218859A (ja) | 1997-08-19 |
Family
ID=12753143
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4664896A Pending JPH09218859A (ja) | 1996-02-07 | 1996-02-07 | マルチプロセッサ制御システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09218859A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010016169A1 (ja) * | 2008-08-07 | 2010-02-11 | 日本電気株式会社 | マルチプロセッサシステム及びその制御方法 |
| WO2011148920A1 (ja) | 2010-05-26 | 2011-12-01 | 日本電気株式会社 | マルチプロセッサシステム、実行制御方法、実行制御プログラム |
| JP2017129921A (ja) * | 2016-01-18 | 2017-07-27 | トヨタ自動車株式会社 | タスク実行方法およびタスク実行システム |
| 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/ja active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010016169A1 (ja) * | 2008-08-07 | 2010-02-11 | 日本電気株式会社 | マルチプロセッサシステム及びその制御方法 |
| CN102112972A (zh) * | 2008-08-07 | 2011-06-29 | 日本电气株式会社 | 多处理器系统及其控制方法 |
| US8583845B2 (en) | 2008-08-07 | 2013-11-12 | Nec Corporation | Multi-processor system and controlling method thereof |
| JP5360061B2 (ja) * | 2008-08-07 | 2013-12-04 | 日本電気株式会社 | マルチプロセッサシステム及びその制御方法 |
| WO2011148920A1 (ja) | 2010-05-26 | 2011-12-01 | 日本電気株式会社 | マルチプロセッサシステム、実行制御方法、実行制御プログラム |
| US9164951B2 (en) | 2010-05-26 | 2015-10-20 | Nec Corporation | Multiprocessor system, execution control method and execution control program |
| JP2017129921A (ja) * | 2016-01-18 | 2017-07-27 | トヨタ自動車株式会社 | タスク実行方法およびタスク実行システム |
| 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 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
| 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 (ja) | パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート | |
| JP5213485B2 (ja) | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム | |
| JP3990569B2 (ja) | データメモリ制御装置 | |
| JPH064314A (ja) | タスク間同期通信装置 | |
| JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
| JPH01137359A (ja) | プロセッサの制御方法 | |
| JPH056333A (ja) | マルチプロセサシステム | |
| JP2002278753A (ja) | データ処理システム | |
| JPH08115272A (ja) | データ処理システムにおける遠隔再試行方法及び装置 | |
| JPS603027A (ja) | コンピユ−タ処理システムにおける資源管理方式 | |
| JPS6143369A (ja) | マルチプロセツサシステム | |
| JP2635863B2 (ja) | 中央処理装置 | |
| JPH0535507A (ja) | 中央処理装置 | |
| JPH0424733B2 (ja) | ||
| JPH09330301A (ja) | コマンド転送方式 | |
| JPH0573473A (ja) | 産業用コンピユータシステム | |
| JPH0628305A (ja) | マルチプロセッサシステムのデータ転送制御装置 | |
| JPH02224048A (ja) | 情報処理装置 | |
| JPH09305536A (ja) | バス転送方法及びそのための情報処理装置 | |
| JPH09231188A (ja) | マルチクラスタ情報処理システム | |
| JPH04306757A (ja) | マイクロプロセッサ |