JPH0512219A - プロセス転送方式 - Google Patents
プロセス転送方式Info
- Publication number
- JPH0512219A JPH0512219A JP19069491A JP19069491A JPH0512219A JP H0512219 A JPH0512219 A JP H0512219A JP 19069491 A JP19069491 A JP 19069491A JP 19069491 A JP19069491 A JP 19069491A JP H0512219 A JPH0512219 A JP H0512219A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- slave
- transfer
- fifo
- slave processor
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012546 transfer Methods 0.000 claims abstract description 35
- 238000013404 process transfer Methods 0.000 claims description 23
- 239000002674 ointment Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】スレーブプロセッサに実行させるプロセスを転
送する際のオーバーヘッドの低減。 【構成】マスタプロセッサ101 がスレーブプロセッサ10
5Aに実行させるべきプロセスを生成し、そのプロセスI
Dをスレーブ105AのFIFO107Aに書き込む。FIFO
107Aが空ではなくかつスレーブがバスを使用していない
という条件が成立すると、ANDゲート109Aの出力によ
りID出力回路111Aがスレーブ105AのプロセッサIDを
バスに出力し、ORゲート113 からのラッチストローブ
によりFIFO117 に書き込む。すると、FIFO117
が空ではないことが信号線119 経由でマスタ101 に通知
される。マスタ101はこのFIFOからプロセッサID
を読出し、対応するFIFO107AからプロセスIDを読
み出して、対応するプロセスのコード、データ、制御情
報をスレーブ105Aに転送する。
送する際のオーバーヘッドの低減。 【構成】マスタプロセッサ101 がスレーブプロセッサ10
5Aに実行させるべきプロセスを生成し、そのプロセスI
Dをスレーブ105AのFIFO107Aに書き込む。FIFO
107Aが空ではなくかつスレーブがバスを使用していない
という条件が成立すると、ANDゲート109Aの出力によ
りID出力回路111Aがスレーブ105AのプロセッサIDを
バスに出力し、ORゲート113 からのラッチストローブ
によりFIFO117 に書き込む。すると、FIFO117
が空ではないことが信号線119 経由でマスタ101 に通知
される。マスタ101はこのFIFOからプロセッサID
を読出し、対応するFIFO107AからプロセスIDを読
み出して、対応するプロセスのコード、データ、制御情
報をスレーブ105Aに転送する。
Description
【0001】
【産業上の利用分野】本発明はマスタプロセッサがスレ
ーブプロセッサに対してプロセスを転送して実行させる
際のプロセス転送方式に関する。
ーブプロセッサに対してプロセスを転送して実行させる
際のプロセス転送方式に関する。
【0002】
【従来技術及びその問題点】マスタプロセッサに1つま
たは複数のスレーブプロセッサが接続され、マスタプロ
セッサがこれらのスレーブプロセッサにプロセスを割り
当てて実行させる情報処理システムは古くから知られて
いる。そのようなシステムのハードウエアの構成例を示
す概略ブロック図を図3に示す。
たは複数のスレーブプロセッサが接続され、マスタプロ
セッサがこれらのスレーブプロセッサにプロセスを割り
当てて実行させる情報処理システムは古くから知られて
いる。そのようなシステムのハードウエアの構成例を示
す概略ブロック図を図3に示す。
【0003】図3において、マスタプロセッサ301 はバ
ス305 を介して状態レジスタ303 、複数のスレーブプロ
セッサA、B、C、Dに接続されている。これらのスレ
ーブプロセッサA〜Dは、夫々信号線307A、B 、C 、D
を介して、プロセスの転送受入れ可能状態を示す信号を
状態レジスタ303 中の対応するスレーブプロセッサに割
り当てられたビット位置に与えている。状態レジスタ30
3 はマスタプロセッサ301 のメモリ空間あるいは入出力
レジスタ空間の適当なアドレスにマッピングされてお
り、マスタプロセッサ301 はメモリ読出命令あるいは入
出力命令により状態レジスタ303 を読み出して、スレー
ブプロセッサA〜Dに対して現在転送が可能であるか否
かを知ることができる。プロセスの転送もバス305 を介
して行われる。これらのスレーブプロセッサはマスタプ
ロセッサ301 からは入出力デバイスに見えるので、入出
力デバイスに対するデータ転送の際に可能な各種の形態
でこの転送を実現することができる。プロセスの転送と
は、具体的には実行されるプログラムのコード、このプ
ログラムに与えるデータ、更に制御用の各種の情報をス
レーブプロセッサに与えることである。また、プログラ
ムコードをスレーブプロセッサ側が持っている場合は、
コードそのものの代わりに実行すべきコードを識別する
情報を与えてもよい。
ス305 を介して状態レジスタ303 、複数のスレーブプロ
セッサA、B、C、Dに接続されている。これらのスレ
ーブプロセッサA〜Dは、夫々信号線307A、B 、C 、D
を介して、プロセスの転送受入れ可能状態を示す信号を
状態レジスタ303 中の対応するスレーブプロセッサに割
り当てられたビット位置に与えている。状態レジスタ30
3 はマスタプロセッサ301 のメモリ空間あるいは入出力
レジスタ空間の適当なアドレスにマッピングされてお
り、マスタプロセッサ301 はメモリ読出命令あるいは入
出力命令により状態レジスタ303 を読み出して、スレー
ブプロセッサA〜Dに対して現在転送が可能であるか否
かを知ることができる。プロセスの転送もバス305 を介
して行われる。これらのスレーブプロセッサはマスタプ
ロセッサ301 からは入出力デバイスに見えるので、入出
力デバイスに対するデータ転送の際に可能な各種の形態
でこの転送を実現することができる。プロセスの転送と
は、具体的には実行されるプログラムのコード、このプ
ログラムに与えるデータ、更に制御用の各種の情報をス
レーブプロセッサに与えることである。また、プログラ
ムコードをスレーブプロセッサ側が持っている場合は、
コードそのものの代わりに実行すべきコードを識別する
情報を与えてもよい。
【0004】このようなシステムのある種のものでは、
マスタプロセッサがプロセスを生成してそれをスレーブ
プロセッサのメモリに転送し、スレーブプロセッサにそ
のプロセスを実行させる。従来のこのようなシステムで
は、プロセスを生成したマスタプロセッサは、それをロ
ードすべきスレーブプロセッサからの状態信号を確認す
る。確認の結果、プロセスを転送可能である場合には転
送し、転送不可能の場合にはそのスレーブプロセッサが
転送可能となるまで状態信号をポーリングし続け、転送
可能状態となったときに転送を開始する。
マスタプロセッサがプロセスを生成してそれをスレーブ
プロセッサのメモリに転送し、スレーブプロセッサにそ
のプロセスを実行させる。従来のこのようなシステムで
は、プロセスを生成したマスタプロセッサは、それをロ
ードすべきスレーブプロセッサからの状態信号を確認す
る。確認の結果、プロセスを転送可能である場合には転
送し、転送不可能の場合にはそのスレーブプロセッサが
転送可能となるまで状態信号をポーリングし続け、転送
可能状態となったときに転送を開始する。
【0005】また、別の従来システムでは、スレーブプ
ロセッサにロードして実行させるべきプロセスをソフト
ウエアキューに入れ、スレーブプロセッサの状態信号が
転送可能状態となったときに、プロセスをキューから取
り出して当該スレーブプロセッサに転送する。
ロセッサにロードして実行させるべきプロセスをソフト
ウエアキューに入れ、スレーブプロセッサの状態信号が
転送可能状態となったときに、プロセスをキューから取
り出して当該スレーブプロセッサに転送する。
【0006】しかしながら、最初に説明した従来技術で
は、スレーブプロセッサのポーリングに要する時間がか
かり、プロセス転送に伴うマスタプロセッサの不可が大
きかった。また、2番目に説明した従来技術でも、ソフ
トウエアでキューを操作することに伴うオーバーヘッド
のためにマスタプロセッサの負荷が大きくなるという問
題があった。
は、スレーブプロセッサのポーリングに要する時間がか
かり、プロセス転送に伴うマスタプロセッサの不可が大
きかった。また、2番目に説明した従来技術でも、ソフ
トウエアでキューを操作することに伴うオーバーヘッド
のためにマスタプロセッサの負荷が大きくなるという問
題があった。
【0007】
【発明の目的】本発明は、上述した従来技術の問題点を
解消し、スレーブプロセッサに負荷を分担させるために
必要となるオーバーヘッドを低減したプロセス転送方式
を提供することを目的とする。
解消し、スレーブプロセッサに負荷を分担させるために
必要となるオーバーヘッドを低減したプロセス転送方式
を提供することを目的とする。
【0008】
【発明の概要】本発明の一実施例によれば、マスタプロ
セッサはプロセスの転送要求をスレーブプロセッサに与
える。スレーブプロセッサは受け取った転送要求を記憶
手段に記憶し、マスタプロセッサがプロセスの転送を受
け入れることができる状態になった時、それをマスタプ
ロセッサに通知する信号を出す。マスタプロセッサはこ
れに応答して対応するプロセスをそのスレーブプロセッ
サに転送することができる。
セッサはプロセスの転送要求をスレーブプロセッサに与
える。スレーブプロセッサは受け取った転送要求を記憶
手段に記憶し、マスタプロセッサがプロセスの転送を受
け入れることができる状態になった時、それをマスタプ
ロセッサに通知する信号を出す。マスタプロセッサはこ
れに応答して対応するプロセスをそのスレーブプロセッ
サに転送することができる。
【0009】この記憶手段は、与えられた転送要求を順
番に記憶するキューであって良いし、あるいは優先度付
きの転送要求を記憶し、現在記憶されている内から優先
度の最も高いものを出力する記憶手段であってもよい。
番に記憶するキューであって良いし、あるいは優先度付
きの転送要求を記憶し、現在記憶されている内から優先
度の最も高いものを出力する記憶手段であってもよい。
【0010】また、プロセスの転送を受け入れることが
できる状態とは、次のメモリサイクルではスレーブプロ
セッサがそのローカルメモリを使用せず、それによりこ
のメモリサイクルを使用してマスタプロセッサからスレ
ーブプロセッサのローカルメモリへの転送が可能である
という、メモリサイクル単位の転送可能状態であってよ
い。あるいは、スレーブプロセッサが実行中であったプ
ロセスが終了したためそのローカルメモリに対して次の
プロセスを一度に転送できるというプロセス単位の転送
可能状態であってもよい。
できる状態とは、次のメモリサイクルではスレーブプロ
セッサがそのローカルメモリを使用せず、それによりこ
のメモリサイクルを使用してマスタプロセッサからスレ
ーブプロセッサのローカルメモリへの転送が可能である
という、メモリサイクル単位の転送可能状態であってよ
い。あるいは、スレーブプロセッサが実行中であったプ
ロセスが終了したためそのローカルメモリに対して次の
プロセスを一度に転送できるというプロセス単位の転送
可能状態であってもよい。
【0011】
【実施例】図1は本発明の一実施例の並列情報処理シス
テムのブロック図である。マスタプロセッサ101 が共通
バス103 を介してスレーブプロセッサ105A、105B、・・
・、FIFO107A、107B、・・・(スレーブプロセッサ
等は3個以上あってもかまわないため、数を限定しない
意味で「・・・」を書いておく;「・・・」の使い方に
ついては以下同様である)のデータ入力、及びFIFO
117 のデータ出力に接続されている。またFIFO117
にデータが入っているときTRUEになるステータス出
力が信号線119 を介してマスタプロセッサ101 に接続さ
れている。
テムのブロック図である。マスタプロセッサ101 が共通
バス103 を介してスレーブプロセッサ105A、105B、・・
・、FIFO107A、107B、・・・(スレーブプロセッサ
等は3個以上あってもかまわないため、数を限定しない
意味で「・・・」を書いておく;「・・・」の使い方に
ついては以下同様である)のデータ入力、及びFIFO
117 のデータ出力に接続されている。またFIFO117
にデータが入っているときTRUEになるステータス出
力が信号線119 を介してマスタプロセッサ101 に接続さ
れている。
【0012】各スレーブプロセッサ105A、105B、・・・
は、自分に割り当てられたローカルメモリ(図示せず)
をアクセスしていないときにTRUEになるステータス
出力をANDゲート109A、109B、・・・の一方の入力に
与える。各スレーブプロセッサ105A、105B、・・・に対
応するFIFO107A、107B、・・・は、自分がデータを
保持している場合にTRUEになるステータス出力をA
NDゲート109A、109B、・・・のもう一方の入力に与え
る。さらに、FIFO107A、107B、・・・のデータ出力
は、マスタプロセッサ101 から読みだせるように共通バ
ス103 に接続されている。ANDゲート109A、109B、・
・・の出力は、ANDゲートからTRUEが与えられた
とき対応するスレーブプロセッサのIDを出力するID
出力回路111A、111B、・・・に与えられる。ANDゲー
ト109A、109B、・・・の出力はまたORゲート113 にも
与えられる。ORゲート113 の出力はFIFO117 のラ
ッチ信号入力に与えられる。これにより、ANDゲート
109A、109B、・・・のいずれかの出力がTRUEになっ
たとき、TRUEを出力しているANDゲートに対応す
るID出力回路111A、111Bの出力であるスレーブプロセ
ッサIDがFIFO117 に入れられる。
は、自分に割り当てられたローカルメモリ(図示せず)
をアクセスしていないときにTRUEになるステータス
出力をANDゲート109A、109B、・・・の一方の入力に
与える。各スレーブプロセッサ105A、105B、・・・に対
応するFIFO107A、107B、・・・は、自分がデータを
保持している場合にTRUEになるステータス出力をA
NDゲート109A、109B、・・・のもう一方の入力に与え
る。さらに、FIFO107A、107B、・・・のデータ出力
は、マスタプロセッサ101 から読みだせるように共通バ
ス103 に接続されている。ANDゲート109A、109B、・
・・の出力は、ANDゲートからTRUEが与えられた
とき対応するスレーブプロセッサのIDを出力するID
出力回路111A、111B、・・・に与えられる。ANDゲー
ト109A、109B、・・・の出力はまたORゲート113 にも
与えられる。ORゲート113 の出力はFIFO117 のラ
ッチ信号入力に与えられる。これにより、ANDゲート
109A、109B、・・・のいずれかの出力がTRUEになっ
たとき、TRUEを出力しているANDゲートに対応す
るID出力回路111A、111Bの出力であるスレーブプロセ
ッサIDがFIFO117 に入れられる。
【0013】以下では、上述のように構成された並列情
報処理システムの動作を説明する。ある特定の処理をこ
のシステムが実行する際、マスタプロセッサ101 はこの
処理を幾つかのプロセスに分割し、これらを共通バス10
3 を介して対応するスレーブプロセッサ105A、105B、・
・・にデータとして転送して実行させるようになってい
る。
報処理システムの動作を説明する。ある特定の処理をこ
のシステムが実行する際、マスタプロセッサ101 はこの
処理を幾つかのプロセスに分割し、これらを共通バス10
3 を介して対応するスレーブプロセッサ105A、105B、・
・・にデータとして転送して実行させるようになってい
る。
【0014】マスタプロセッサ101 が動的に生成したプ
ロセスはデータとしてスレーブプロセッサ105A、105B、
・・・のローカルメモリに転送される必要がある。この
転送を行おうとしたとき対応するスレーブプロセッサが
前のプロセスをまだ実行中であれば、実際の転送はこの
処理の終了を待って行う必要がある。
ロセスはデータとしてスレーブプロセッサ105A、105B、
・・・のローカルメモリに転送される必要がある。この
転送を行おうとしたとき対応するスレーブプロセッサが
前のプロセスをまだ実行中であれば、実際の転送はこの
処理の終了を待って行う必要がある。
【0015】この処理待ちの動作を実現するため、マス
タプロセッサ101 は、スレーブプロセッサに実行させる
べきプロセスを生成すると、そのプロセスIDを対応す
るスレーブプロセッサ105A、105B、・・・のFIFO10
7A、107B、・・・に書き込む。このようにしてプロセス
IDが書き込まれているFIFO107A、107B、・・・の
ステータス出力はTRUEになる。
タプロセッサ101 は、スレーブプロセッサに実行させる
べきプロセスを生成すると、そのプロセスIDを対応す
るスレーブプロセッサ105A、105B、・・・のFIFO10
7A、107B、・・・に書き込む。このようにしてプロセス
IDが書き込まれているFIFO107A、107B、・・・の
ステータス出力はTRUEになる。
【0016】例えば、スレーブプロセッサ105Aに次のプ
ロセスを実行させるためにそのFIFO107Aにそのプロ
セスIDを書き込んであるとする。この場合、FIFO
107Aのステータス出力はTRUEとなり、ANDゲート
109Aへの入力の一方へ与えられる。その後、スレーブプ
ロセッサ105Aで実行されていたプロセスが終了すると、
スレーブプロセッサ105Aは停止し、ANDゲート107Aへ
与えられるステータス出力がTRUEになる。その結
果、ANDゲート107Aの出力がTRUEとなるため、I
D出力回路111Aからのスレーブプロセッサ105Aのプロセ
ッサIDが、ORゲート113 の出力によって、FIFO
117 に入力され記憶される。
ロセスを実行させるためにそのFIFO107Aにそのプロ
セスIDを書き込んであるとする。この場合、FIFO
107Aのステータス出力はTRUEとなり、ANDゲート
109Aへの入力の一方へ与えられる。その後、スレーブプ
ロセッサ105Aで実行されていたプロセスが終了すると、
スレーブプロセッサ105Aは停止し、ANDゲート107Aへ
与えられるステータス出力がTRUEになる。その結
果、ANDゲート107Aの出力がTRUEとなるため、I
D出力回路111Aからのスレーブプロセッサ105Aのプロセ
ッサIDが、ORゲート113 の出力によって、FIFO
117 に入力され記憶される。
【0017】FIFO117 に何かが記憶されておりかつ
当該プロセスIDを記憶しているスレーブプロセッサへ
の転送が可能である、という状態は信号線119 によって
マスタプロセッサ101 に伝えられる。マスタプロセッサ
101 は、プロセスを生成した後、信号線119 をモニタし
て、いずれかのスレーブプロセッサが転送可能になった
か否かを調べる。あるスレーブプロセッサが転送可能に
なったことを検出すると、マスタプロセッサ101 はFI
FO117 から先頭のプロセッサIDを読み出し、該当す
るスレーブプロセッサに対応するFIFO、ここではF
IFO107Aの先頭からプロセスIDを読み出す。このプ
ロセスIDに対応するプロセスをスレーブプロセッサ10
5Aのローカルメモリ(図示せず)に転送して、スレーブ
プロセッサ105Aを起動させる。その後、マスタプロセッ
サ101 はまだ生成していないプロセスがあるかどうか調
べ、もしあればそれを生成する。次に、信号線119 の状
態のモニタを再度行う。必要なプロセスをすべて発生し
更にFIFO117 が空になるまでこのプロセス生成/モ
ニタ/転送動作が繰り返される。信号線119 のモニタは
マスタプロセッサ101 のプログラムによって行ってもよ
いし、あるいは信号線119 のレベルによって割り込みが
発生するようにしてもよい。
当該プロセスIDを記憶しているスレーブプロセッサへ
の転送が可能である、という状態は信号線119 によって
マスタプロセッサ101 に伝えられる。マスタプロセッサ
101 は、プロセスを生成した後、信号線119 をモニタし
て、いずれかのスレーブプロセッサが転送可能になった
か否かを調べる。あるスレーブプロセッサが転送可能に
なったことを検出すると、マスタプロセッサ101 はFI
FO117 から先頭のプロセッサIDを読み出し、該当す
るスレーブプロセッサに対応するFIFO、ここではF
IFO107Aの先頭からプロセスIDを読み出す。このプ
ロセスIDに対応するプロセスをスレーブプロセッサ10
5Aのローカルメモリ(図示せず)に転送して、スレーブ
プロセッサ105Aを起動させる。その後、マスタプロセッ
サ101 はまだ生成していないプロセスがあるかどうか調
べ、もしあればそれを生成する。次に、信号線119 の状
態のモニタを再度行う。必要なプロセスをすべて発生し
更にFIFO117 が空になるまでこのプロセス生成/モ
ニタ/転送動作が繰り返される。信号線119 のモニタは
マスタプロセッサ101 のプログラムによって行ってもよ
いし、あるいは信号線119 のレベルによって割り込みが
発生するようにしてもよい。
【0018】なお、図1に示す構成では複数のスレーブ
プロセッサ105A、105B、・・・が同時にプロセス転送受
入れ可能になった場合にプロセッサIDがバス115 上で
衝突してFIFO117 への書込が正常に行われない。こ
れは、図1の実施例を見やすくするために、このような
場合に対処するためのハードウエアを省略したためであ
り、実際には周知のアービトレーション方式をここに採
用することにより、容易に回避できる問題に過ぎない。
プロセッサ105A、105B、・・・が同時にプロセス転送受
入れ可能になった場合にプロセッサIDがバス115 上で
衝突してFIFO117 への書込が正常に行われない。こ
れは、図1の実施例を見やすくするために、このような
場合に対処するためのハードウエアを省略したためであ
り、実際には周知のアービトレーション方式をここに採
用することにより、容易に回避できる問題に過ぎない。
【0019】なお、言うまでもないことであるが、上述
のプロセス転送要求の発生は、実際のプロセス転送処理
と非同期であり得る。プロセス転送要求を記憶する手段
が単なるレジスタではなくFIFO等であるのはこのた
めである。また、プロセス転送要求を受け入れることが
できるようになったスレーブプロセッサのIDを記憶す
る手段がFIFOになっているのも、スレーブプロセッ
サが複数の場合には、転送可能になったという事象の発
生はプロセス転送と非同期であるからである。
のプロセス転送要求の発生は、実際のプロセス転送処理
と非同期であり得る。プロセス転送要求を記憶する手段
が単なるレジスタではなくFIFO等であるのはこのた
めである。また、プロセス転送要求を受け入れることが
できるようになったスレーブプロセッサのIDを記憶す
る手段がFIFOになっているのも、スレーブプロセッ
サが複数の場合には、転送可能になったという事象の発
生はプロセス転送と非同期であるからである。
【0020】図1に基づいて説明した動作を図2のフロ
ーチャートに示す。
ーチャートに示す。
【0021】上述の実施例は本願発明の説明のための一
例であり、本願発明をこれに限定する意図は全くない。
本願発明はこの実施例以外の多様な変形が可能である。
例であり、本願発明をこれに限定する意図は全くない。
本願発明はこの実施例以外の多様な変形が可能である。
【0022】例えば、図1においては、スレーブプロセ
ッサへのプロセス転送要求(具体的にはプロセスID)
はFIFO107A、107B、・・・に要求発生順に記憶され
るので、その転送も、スレーブプロセッサ毎に見れば要
求発生順となる。これに対して、転送がプロセスの優先
度の順に起こるようにすることもできる。このために
は、マスタプロセッサ101 は、プロセスIDにそのプロ
セスの優先度を付加してスレーブプロセッサ105A、105
B、・・・へ送るようにする。更に、FIFO107A、107
B、・・・に代えて、複数のプロセスIDと優先度の対
を記憶するとともに、優先度の高い順にプロセスIDが
読み出されるような「ソーティングレジスタ」と呼び得
る記憶手段を使用する。「ソーティングレジスタ」を実
際に作成することは容易なので、その回路構成等は省略
する。
ッサへのプロセス転送要求(具体的にはプロセスID)
はFIFO107A、107B、・・・に要求発生順に記憶され
るので、その転送も、スレーブプロセッサ毎に見れば要
求発生順となる。これに対して、転送がプロセスの優先
度の順に起こるようにすることもできる。このために
は、マスタプロセッサ101 は、プロセスIDにそのプロ
セスの優先度を付加してスレーブプロセッサ105A、105
B、・・・へ送るようにする。更に、FIFO107A、107
B、・・・に代えて、複数のプロセスIDと優先度の対
を記憶するとともに、優先度の高い順にプロセスIDが
読み出されるような「ソーティングレジスタ」と呼び得
る記憶手段を使用する。「ソーティングレジスタ」を実
際に作成することは容易なので、その回路構成等は省略
する。
【0023】また、図1においては、スレーブプロセッ
サでのプロセスが終了したとき、次のプロセスの転送が
可能となったが、プロセスの実行中であってもスレーブ
プロセッサがそのローカルメモリを使用していないタイ
ミングでマスタプロセッサからスレーブプロセッサへプ
ロセスを転送することができる。
サでのプロセスが終了したとき、次のプロセスの転送が
可能となったが、プロセスの実行中であってもスレーブ
プロセッサがそのローカルメモリを使用していないタイ
ミングでマスタプロセッサからスレーブプロセッサへプ
ロセスを転送することができる。
【0024】これを行うためには、各スレーブプロセッ
サ105A、105B、・・・がANDゲート109A、109B、・・
・に与えるステータス信号を、次のメモリサイクルでス
レーブプロセッサがそのバスを使用しないことを表す信
号とする。更に、スレーブプロセッサ毎にDMA転送の
チャネルを準備し、DMA転送中はスレーブプロセッサ
によるローカルメモリアクセスを禁止するように回路を
構成する。このような構成の下で、ANDゲート109A、
109B、・・・の出力を次のメモリサイクルでDMA転送
可能であることを示す信号とすればよい。
サ105A、105B、・・・がANDゲート109A、109B、・・
・に与えるステータス信号を、次のメモリサイクルでス
レーブプロセッサがそのバスを使用しないことを表す信
号とする。更に、スレーブプロセッサ毎にDMA転送の
チャネルを準備し、DMA転送中はスレーブプロセッサ
によるローカルメモリアクセスを禁止するように回路を
構成する。このような構成の下で、ANDゲート109A、
109B、・・・の出力を次のメモリサイクルでDMA転送
可能であることを示す信号とすればよい。
【0025】
【発明の効果】以上詳細に説明したように、本発明によ
れば、マスタプロセッサがスレーブプロセッサにプロセ
スを転送するに当たって、プロセスの状態を監視したり
あるいは転送待ちプロセスのキューを管理する機能はハ
ードウエアが実行するので、マスタプロセッサはこのよ
うな監視/管理のオーバーヘッドから開放されてシステ
ム全体のスループットが向上する。
れば、マスタプロセッサがスレーブプロセッサにプロセ
スを転送するに当たって、プロセスの状態を監視したり
あるいは転送待ちプロセスのキューを管理する機能はハ
ードウエアが実行するので、マスタプロセッサはこのよ
うな監視/管理のオーバーヘッドから開放されてシステ
ム全体のスループットが向上する。
【図1】本発明の実施例を説明するブロック図。
【図2】本発明の実施例を説明するフローチャート。
【図3】従来技術によるシステムのハードウエア構成の
例を示す概略ブロック図。
例を示す概略ブロック図。
101 :マスタプロセッサ
103 :共通バス
105A、105B:スレーブプロセッサ
107A、107B:FIFO
109A、109B:ANDゲート
111A、111B:ID出力回路
113 :ORゲート
115 :バス
117 :FIFO
119 :信号線
Claims (4)
- 【請求項1】マスタプロセッサと、 前記マスタプロセッサから転送されたプロセスを実行す
るスレーブプロセッサと、 前記スレーブプロセッサに設けられ、前記マスタプロセ
ッサから送られたプロセス転送要求を記憶する記憶手段
とを設け、 前記スレーブプロセッサがプロセスの転送を受け入れる
ことができる状態になったとき、前記スレーブプロセッ
サは前記記憶手段中に記憶されているプロセス転送要求
に基づいて前記マスタプロセッサに対してプロセスの転
送を要求することを特徴とするプロセス転送方式。 - 【請求項2】前記記憶手段はプロセス転送要求を与えら
れた順番に記憶するキューであることを特徴とする請求
項1記載のプロセス転送方式。 - 【請求項3】前記記憶手段は前記マスタプロセッサから
与えられた優先度付きのプロセス転送要求を記憶し、記
憶しているうちで優先度のもっとも高いものを出力する
ことを特徴とする請求項1記載のプロセス転送方式。 - 【請求項4】前記プロセス転送要求は転送すべきプロセ
スを識別する情報であることを特徴とする請求項1、2
または3記載のプロセス転送方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19069491A JPH0512219A (ja) | 1991-07-04 | 1991-07-04 | プロセス転送方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19069491A JPH0512219A (ja) | 1991-07-04 | 1991-07-04 | プロセス転送方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0512219A true JPH0512219A (ja) | 1993-01-22 |
Family
ID=16262307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19069491A Pending JPH0512219A (ja) | 1991-07-04 | 1991-07-04 | プロセス転送方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0512219A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010016169A1 (ja) * | 2008-08-07 | 2010-02-11 | 日本電気株式会社 | マルチプロセッサシステム及びその制御方法 |
-
1991
- 1991-07-04 JP JP19069491A patent/JPH0512219A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010016169A1 (ja) * | 2008-08-07 | 2010-02-11 | 日本電気株式会社 | マルチプロセッサシステム及びその制御方法 |
| 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 | 日本電気株式会社 | マルチプロセッサシステム及びその制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4737932A (en) | Processor | |
| EP0241129B1 (en) | Addressing arrangement for a RAM buffer controller | |
| US5455915A (en) | Computer system with bridge circuitry having input/output multiplexers and third direct unidirectional path for data transfer between buses operating at different rates | |
| US6115761A (en) | First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment | |
| US5119480A (en) | Bus master interface circuit with transparent preemption of a data transfer operation | |
| US4744023A (en) | Processor access control arrangement in a multiprocessor system | |
| JPH04312160A (ja) | マルチプロセッサシステムおよびそのメッセージ送受信制御装置 | |
| US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
| CA2007737C (en) | Data transfer operations between two asynchronous buses | |
| JPH0728758A (ja) | ダイナミックタイムループ調停及び装置 | |
| US20010047439A1 (en) | Efficient implementation of first-in-first-out memories for multi-processor systems | |
| JPH06119297A (ja) | データ処理システムにおける命令の実行順序を決定する方法および装置 | |
| JPS621057A (ja) | 転送制御装置 | |
| JP2001216259A (ja) | マルチプロセッサシステム及びそのトランザックション制御方法 | |
| US6502150B1 (en) | Method and apparatus for resource sharing in a multi-processor system | |
| JPH0512219A (ja) | プロセス転送方式 | |
| JP3626292B2 (ja) | バスインタフェース制御方式 | |
| JP2727514B2 (ja) | 転送先id指定回路 | |
| JPH01305461A (ja) | バス使用権制御方式 | |
| JP3467188B2 (ja) | 多重化バスの順序保証システム | |
| JPH05289987A (ja) | バス権調停回路 | |
| JPS63286949A (ja) | バス制御方式 | |
| JP2699873B2 (ja) | バス制御回路 | |
| JP2856709B2 (ja) | バス間結合システム | |
| JPH05108476A (ja) | 主記憶制御装置 |