JPH096734A - バリア同期装置 - Google Patents
バリア同期装置Info
- Publication number
- JPH096734A JPH096734A JP15445195A JP15445195A JPH096734A JP H096734 A JPH096734 A JP H096734A JP 15445195 A JP15445195 A JP 15445195A JP 15445195 A JP15445195 A JP 15445195A JP H096734 A JPH096734 A JP H096734A
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- processor
- barrier
- register
- barrier synchronization
- 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.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 任意のプロセッサ間において高速にバリア同
期を行う。 【構成】 バリア同期の対象となるプロセッサをマスク
レジスタ300に予め設定しておき、各プロセッサ10
0は同期レジスタ200に同期リクエストを報告する。
バリア同期の対象となる同期リクエストの発生は、同期
発生検出回路500によってカウンタ550に通知さ
れ、その都度カウンタ550の値が減ぜられる。バリア
同期の対象となるプロセッサ数を初期値とするカウンタ
550が0となるとバリア同期が成立し、同期レジスタ
200に保留されていた同期リクエストについてリプラ
イが対応するプロセッサに送られる。
期を行う。 【構成】 バリア同期の対象となるプロセッサをマスク
レジスタ300に予め設定しておき、各プロセッサ10
0は同期レジスタ200に同期リクエストを報告する。
バリア同期の対象となる同期リクエストの発生は、同期
発生検出回路500によってカウンタ550に通知さ
れ、その都度カウンタ550の値が減ぜられる。バリア
同期の対象となるプロセッサ数を初期値とするカウンタ
550が0となるとバリア同期が成立し、同期レジスタ
200に保留されていた同期リクエストについてリプラ
イが対応するプロセッサに送られる。
Description
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおけるバリア同期装置に関し、特に予め定められ
たプロセッサ間におけるバリア同期を行うバリア同期装
置に関する。
テムにおけるバリア同期装置に関し、特に予め定められ
たプロセッサ間におけるバリア同期を行うバリア同期装
置に関する。
【0002】
【従来の技術】マルチプロセッサシステムにおいて、一
つのジョブを複数のタスクに分割し、これらを複数のプ
ロセッサに割り当てて実行することにより高速化を図る
ことをマルチタスク処理という。このマルチタスク処理
において、プロセッサ間で同期をとる一手法としてバリ
ア同期とよばれる技術がある。このバリア同期は、同一
ジョブに属するタスク処理が終了した時点で、それ以降
のタスク処理を継続するものである。
つのジョブを複数のタスクに分割し、これらを複数のプ
ロセッサに割り当てて実行することにより高速化を図る
ことをマルチタスク処理という。このマルチタスク処理
において、プロセッサ間で同期をとる一手法としてバリ
ア同期とよばれる技術がある。このバリア同期は、同一
ジョブに属するタスク処理が終了した時点で、それ以降
のタスク処理を継続するものである。
【0003】従来のプロセッサ間の同期のための技術と
して、たとえば、特開平3−229350号公報には、
マスタプロセッサが他のプロセッサにおけるタスクの終
了を検出して、マスタプロセッサにおける新たなタスク
起動を行うマルチプロセッサシステムが記載されてい
る。この従来技術では、マスタプロセッサが自らのタス
クを終了すると他の全ての非マスタプロセッサへ所定の
信号を出力する。一方、他の非マスタプロセッサはマス
タプロセッサからの信号を受けると、タスクが終了して
いればハイレベル信号を返し、タスクが終了していなけ
ればロウレベル信号を返す。このとき、一つでもロウレ
ベルを出力するプロセッサがあれば、マスタプロセッサ
にはロウレベル信号が入力される。マスタプロセッサ
は、ハイレベル信号が入力されるのを待って新たなタス
クを起動する。
して、たとえば、特開平3−229350号公報には、
マスタプロセッサが他のプロセッサにおけるタスクの終
了を検出して、マスタプロセッサにおける新たなタスク
起動を行うマルチプロセッサシステムが記載されてい
る。この従来技術では、マスタプロセッサが自らのタス
クを終了すると他の全ての非マスタプロセッサへ所定の
信号を出力する。一方、他の非マスタプロセッサはマス
タプロセッサからの信号を受けると、タスクが終了して
いればハイレベル信号を返し、タスクが終了していなけ
ればロウレベル信号を返す。このとき、一つでもロウレ
ベルを出力するプロセッサがあれば、マスタプロセッサ
にはロウレベル信号が入力される。マスタプロセッサ
は、ハイレベル信号が入力されるのを待って新たなタス
クを起動する。
【0004】
【発明が解決しようとする課題】上述の従来技術では、
マスタプロセッサが他のプロセッサにおけるタスクの終
了をチェックするように構成しているため、同期に要す
る負荷がマスタプロセッサに集中してしまうおそれがあ
る。また、同期後のタスク起動はマスタプロセッサに限
られているため、その後の処理を一斉に継続するバリア
同期に適用するには処理が煩雑になるという問題があ
る。一方、同期の対象となるのがマスタプロセッサ以外
の全プロセッサであり、任意のプロセッサを指定できな
いという問題がある。
マスタプロセッサが他のプロセッサにおけるタスクの終
了をチェックするように構成しているため、同期に要す
る負荷がマスタプロセッサに集中してしまうおそれがあ
る。また、同期後のタスク起動はマスタプロセッサに限
られているため、その後の処理を一斉に継続するバリア
同期に適用するには処理が煩雑になるという問題があ
る。一方、同期の対象となるのがマスタプロセッサ以外
の全プロセッサであり、任意のプロセッサを指定できな
いという問題がある。
【0005】本発明の目的は、任意のプロセッサ間にお
いて高速にバリア同期を行うことにある。
いて高速にバリア同期を行うことにある。
【0006】また、本発明の他の目的は、特定のプロセ
ッサに負荷を与えずに効率的にバリア同期を行うことに
ある。
ッサに負荷を与えずに効率的にバリア同期を行うことに
ある。
【0007】
【課題を解決するための手段】上記課題を解決するため
に本発明のバリア同期装置は、バリア同期の対象となる
複数のプロセッサを予め指定するための第1のレジスタ
と、この第1のレジスタにより指定されたバリア同期の
対象となる各プロセッサからの同期リクエストを保持す
る第2のレジスタと、前記第1のレジスタにより指定さ
れたバリア同期の対象となるすべてのプロセッサからの
同期リクエストが前記第2のレジスタに保持されると、
当該プロセッサにバリア同期が成立した旨を通知する手
段とを含む。
に本発明のバリア同期装置は、バリア同期の対象となる
複数のプロセッサを予め指定するための第1のレジスタ
と、この第1のレジスタにより指定されたバリア同期の
対象となる各プロセッサからの同期リクエストを保持す
る第2のレジスタと、前記第1のレジスタにより指定さ
れたバリア同期の対象となるすべてのプロセッサからの
同期リクエストが前記第2のレジスタに保持されると、
当該プロセッサにバリア同期が成立した旨を通知する手
段とを含む。
【0008】また、本発明の他のバリア同期装置は、バ
リア同期の対象となる複数のプロセッサを予め指定する
ための第1のレジスタと、この第1のレジスタにより指
定されたバリア同期の対象となる各プロセッサからの同
期リクエストを保持する第2のレジスタと、前記第1の
レジスタにより指定されたバリア同期の対象となるプロ
セッサからの同期リクエストが前記第2のレジスタに保
持されたことを検出する同期発生検出手段と、この同期
発生検出手段により検出された同期リクエストの数を計
数するカウンタと、バリア同期の対象となるプロセッサ
の数になるまで前記カウンタによって計数したことを検
出する計数終了検出手段と、この計数終了検出手段によ
って計数が終了したことを検出した場合に、前記第1の
レジスタにより指定されたバリア同期の対象となるプロ
セッサにバリア同期が成立した旨を通知する手段とを含
む。
リア同期の対象となる複数のプロセッサを予め指定する
ための第1のレジスタと、この第1のレジスタにより指
定されたバリア同期の対象となる各プロセッサからの同
期リクエストを保持する第2のレジスタと、前記第1の
レジスタにより指定されたバリア同期の対象となるプロ
セッサからの同期リクエストが前記第2のレジスタに保
持されたことを検出する同期発生検出手段と、この同期
発生検出手段により検出された同期リクエストの数を計
数するカウンタと、バリア同期の対象となるプロセッサ
の数になるまで前記カウンタによって計数したことを検
出する計数終了検出手段と、この計数終了検出手段によ
って計数が終了したことを検出した場合に、前記第1の
レジスタにより指定されたバリア同期の対象となるプロ
セッサにバリア同期が成立した旨を通知する手段とを含
む。
【0009】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するまでプロセッサへの応答を遅らせ、前記第2のレジ
スタは各プロセッサに1ビットずつ対応する複数のビッ
トからなり、対応するプロセッサからの同期リクエスト
によってセットされ、対応するプロセッサに応答が返さ
れるとリセットされる。
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するまでプロセッサへの応答を遅らせ、前記第2のレジ
スタは各プロセッサに1ビットずつ対応する複数のビッ
トからなり、対応するプロセッサからの同期リクエスト
によってセットされ、対応するプロセッサに応答が返さ
れるとリセットされる。
【0010】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するとバリア同期の対象となる各プロセッサに割込みを
通知し、前記第2のレジスタは各プロセッサに1ビット
ずつ対応する複数のビットからなり、バリア同期の対象
となる対応するプロセッサからの同期リクエストによっ
てセットされ、前記計数終了検出手段によって計数が終
了したことを検出するとリセットされる。
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するとバリア同期の対象となる各プロセッサに割込みを
通知し、前記第2のレジスタは各プロセッサに1ビット
ずつ対応する複数のビットからなり、バリア同期の対象
となる対応するプロセッサからの同期リクエストによっ
てセットされ、前記計数終了検出手段によって計数が終
了したことを検出するとリセットされる。
【0011】また、本発明の他のバリア同期装置は、バ
リア同期の対象となる複数のプロセッサを予め指定する
ための第1のレジスタと、この第1のレジスタにより指
定されたバリア同期の対象となる各プロセッサからの同
期リクエストを保持する第2のレジスタと、前記第1の
レジスタと前記第2のレジスタとの一致を検出する比較
器と、この比較器によって一致を検出した場合に、前記
第1のレジスタにより指定されたバリア同期の対象とな
るプロセッサにバリア同期が成立した旨を通知する手段
とを含む。
リア同期の対象となる複数のプロセッサを予め指定する
ための第1のレジスタと、この第1のレジスタにより指
定されたバリア同期の対象となる各プロセッサからの同
期リクエストを保持する第2のレジスタと、前記第1の
レジスタと前記第2のレジスタとの一致を検出する比較
器と、この比較器によって一致を検出した場合に、前記
第1のレジスタにより指定されたバリア同期の対象とな
るプロセッサにバリア同期が成立した旨を通知する手段
とを含む。
【0012】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するまでプロセッサへの応答を遅らせ、前記第2のレジ
スタは各プロセッサに1ビットずつ対応する複数のビッ
トからなり、対応するプロセッサからの同期リクエスト
によってセットされ、対応するプロセッサに応答が返さ
れるとリセットされる。
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するまでプロセッサへの応答を遅らせ、前記第2のレジ
スタは各プロセッサに1ビットずつ対応する複数のビッ
トからなり、対応するプロセッサからの同期リクエスト
によってセットされ、対応するプロセッサに応答が返さ
れるとリセットされる。
【0013】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するとバリア同期の対象となる各プロセッサに割込みを
通知し、前記第2のレジスタは各プロセッサに1ビット
ずつ対応する複数のビットからなり、バリア同期の対象
となる対応するプロセッサからの同期リクエストによっ
てセットされ、前記比較器によって一致を検出するとリ
セットされる。
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するとバリア同期の対象となる各プロセッサに割込みを
通知し、前記第2のレジスタは各プロセッサに1ビット
ずつ対応する複数のビットからなり、バリア同期の対象
となる対応するプロセッサからの同期リクエストによっ
てセットされ、前記比較器によって一致を検出するとリ
セットされる。
【0014】
【実施例】次に本発明のバリア同期装置の一実施例につ
いて図面を参照して詳細に説明する。
いて図面を参照して詳細に説明する。
【0015】図1を参照すると、本発明の一実施例であ
るバリア同期装置は、各プロセッサ100からの同期リ
クエストの有無を保持する同期レジスタ200と、同期
の対象となるプロセッサを指定するマスクレジスタ30
0と、同期リクエストの発生を検出する同期発生検出回
路500と、同期が終了していないプロセッサの数を計
数するカウンタ550と、カウンタ550が0になった
ことを検出する0検出回路560とを含んでいる。
るバリア同期装置は、各プロセッサ100からの同期リ
クエストの有無を保持する同期レジスタ200と、同期
の対象となるプロセッサを指定するマスクレジスタ30
0と、同期リクエストの発生を検出する同期発生検出回
路500と、同期が終了していないプロセッサの数を計
数するカウンタ550と、カウンタ550が0になった
ことを検出する0検出回路560とを含んでいる。
【0016】各プロセッサ100は、バリア同期の同期
点に到達すると、同期リクエストを発行する。この同期
リクエストは、同期レジスタ200のセット端子に入力
される。同期レジスタ200は、各プロセッサ100に
対応して1ビットづつの同期フラグを保持する。この同
期フラグは、対応するプロセッサから同期リクエストが
発生する前は「0」を示しており、同期リクエストが発
生すると「1」を示すようになる。この同期レジスタ2
00の値は、対応するプロセッサにリプライが送られた
際に、リセット端子を通じて「0」にクリアされる。こ
こで、リプライとは、プロセッサからのリクエストに対
する応答信号をいう。バリア同期についてのリクエスト
に対しては、同期がとれた旨のリプライが送られる。ま
た、これ以外のリクエストに対しては、同期を待たずに
すみやかにリプライを返送するものとする。
点に到達すると、同期リクエストを発行する。この同期
リクエストは、同期レジスタ200のセット端子に入力
される。同期レジスタ200は、各プロセッサ100に
対応して1ビットづつの同期フラグを保持する。この同
期フラグは、対応するプロセッサから同期リクエストが
発生する前は「0」を示しており、同期リクエストが発
生すると「1」を示すようになる。この同期レジスタ2
00の値は、対応するプロセッサにリプライが送られた
際に、リセット端子を通じて「0」にクリアされる。こ
こで、リプライとは、プロセッサからのリクエストに対
する応答信号をいう。バリア同期についてのリクエスト
に対しては、同期がとれた旨のリプライが送られる。ま
た、これ以外のリクエストに対しては、同期を待たずに
すみやかにリプライを返送するものとする。
【0017】マスクレジスタ300は、バリア同期の対
象となるプロセッサを指定するためのレジスタである。
バリア同期の対象である場合には「1」、対象でない場
合には「0」が、予め設定される。このマスクレジスタ
300で対象外とされたプロセッサからの同期リクエス
トについては、同期をまたずにリプライが返される。
象となるプロセッサを指定するためのレジスタである。
バリア同期の対象である場合には「1」、対象でない場
合には「0」が、予め設定される。このマスクレジスタ
300で対象外とされたプロセッサからの同期リクエス
トについては、同期をまたずにリプライが返される。
【0018】カウンタ550は、同期が終了していない
プロセッサの数を計数するためのカウンタである。この
カウンタ550には、バリア同期の対象となるプロセッ
サ数が予め設定される。この値を初期値として、同期発
生検出回路500からの指示によりその値を減じてい
く。このカウンタ550の値が0になると、0検出回路
560がその旨を検出して、「1」を出力する。
プロセッサの数を計数するためのカウンタである。この
カウンタ550には、バリア同期の対象となるプロセッ
サ数が予め設定される。この値を初期値として、同期発
生検出回路500からの指示によりその値を減じてい
く。このカウンタ550の値が0になると、0検出回路
560がその旨を検出して、「1」を出力する。
【0019】同期発生検出回路500は、バリア同期の
対象となる同期リクエストの発生を検出して、カウンタ
550への制御信号を生成する。この制御信号には、そ
のサイクル中に同期が発生したプロセッサの数が含まれ
る。例えば、あるサイクルにおいて、バリア同期の対象
となる2つのプロセッサから同時に同期リクエストが発
生すると、同期発生検出回路500は「2」という数を
カウンタ550に伝える。これにより、カウンタ550
は、その値を「2」だけ減ずる。
対象となる同期リクエストの発生を検出して、カウンタ
550への制御信号を生成する。この制御信号には、そ
のサイクル中に同期が発生したプロセッサの数が含まれ
る。例えば、あるサイクルにおいて、バリア同期の対象
となる2つのプロセッサから同時に同期リクエストが発
生すると、同期発生検出回路500は「2」という数を
カウンタ550に伝える。これにより、カウンタ550
は、その値を「2」だけ減ずる。
【0020】論理積回路430は、同期レジスタ200
とマスクレジスタ300のそれぞれ対応するビットの論
理積を生成して同期発生検出回路500に与える。すな
わち、マスクレジスタによって指定されていないプロセ
ッサからの同期リクエストは、この論理積回路430に
よってマスクされて同期発生検出回路500に入力され
る。
とマスクレジスタ300のそれぞれ対応するビットの論
理積を生成して同期発生検出回路500に与える。すな
わち、マスクレジスタによって指定されていないプロセ
ッサからの同期リクエストは、この論理積回路430に
よってマスクされて同期発生検出回路500に入力され
る。
【0021】論理和回路420は、マスクレジスタ30
0の反転ビットと0検出回路560との論理和を生成す
る。すなわち、対応するマスクレジスタ300の値が
「0」であるか、0検出回路560の出力が「1」であ
れば、論理和解路420は「1」を出力する。この論理
和回路420の出力と同期レジスタ200の対応するビ
ットとの論理積が、論理積回路410によって生成され
て、プロセッサ100へのリプライのタイミングとして
使用される。
0の反転ビットと0検出回路560との論理和を生成す
る。すなわち、対応するマスクレジスタ300の値が
「0」であるか、0検出回路560の出力が「1」であ
れば、論理和解路420は「1」を出力する。この論理
和回路420の出力と同期レジスタ200の対応するビ
ットとの論理積が、論理積回路410によって生成され
て、プロセッサ100へのリプライのタイミングとして
使用される。
【0022】つまり、あるプロセッサから同期リクエス
トが発生した場合、バリア同期の対象でない旨がマスク
レジスタ300に設定されていれば、そのままのタイミ
ングでリプライが返される。この場合には、対応する同
期レジスタ200のビットが「0」クリアされる。一
方、あるプロセッサから同期リクエストが発生した場
合、バリア同期の対象である旨がマスクレジスタ300
に設定されていれば、プロセッサへのリプライが保留さ
れる。そして、0検出回路560によってバリア同期が
報告されると、保留されていたリプライが一斉にプロセ
ッサに送られる。
トが発生した場合、バリア同期の対象でない旨がマスク
レジスタ300に設定されていれば、そのままのタイミ
ングでリプライが返される。この場合には、対応する同
期レジスタ200のビットが「0」クリアされる。一
方、あるプロセッサから同期リクエストが発生した場
合、バリア同期の対象である旨がマスクレジスタ300
に設定されていれば、プロセッサへのリプライが保留さ
れる。そして、0検出回路560によってバリア同期が
報告されると、保留されていたリプライが一斉にプロセ
ッサに送られる。
【0023】次に本発明の上記第1の実施例の動作につ
いて図面を参照して説明する。
いて図面を参照して説明する。
【0024】図2を参照すると、プロセッサA,B,
C,Dの4つが接続されており、そのうちのA,C,D
がバリア同期の対象となっている場合には、マスクレジ
スタ300には「1011」なる値が予め設定される。
また、カウンタ550にはバリア同期の対象となるプロ
セッサ数である「3」が設定される。
C,Dの4つが接続されており、そのうちのA,C,D
がバリア同期の対象となっている場合には、マスクレジ
スタ300には「1011」なる値が予め設定される。
また、カウンタ550にはバリア同期の対象となるプロ
セッサ数である「3」が設定される。
【0025】第1サイクルでは、いずれのプロセッサも
同期リクエストを発生していないため、同期レジスタ2
00の値は「0000」となっている。
同期リクエストを発生していないため、同期レジスタ2
00の値は「0000」となっている。
【0026】第2サイクルでは、プロセッサAで同期リ
クエストが発生するため、次の第3サイクルで同期レジ
スタ200が「1000」となる。そして、これによ
り、同期発生検出回路500から「同期リクエストを発
生したプロセッサの数」である「1」が出力される。カ
ウンタ550はこの指示を受けて次の第4サイクルでそ
の値を「2」とする。
クエストが発生するため、次の第3サイクルで同期レジ
スタ200が「1000」となる。そして、これによ
り、同期発生検出回路500から「同期リクエストを発
生したプロセッサの数」である「1」が出力される。カ
ウンタ550はこの指示を受けて次の第4サイクルでそ
の値を「2」とする。
【0027】第4サイクルでは、プロセッサBで同期リ
クエストが発生するため、次の第5サイクルで同期レジ
スタ200が「1100」となる。この場合、マスクレ
ジスタ300の対応する値が「0」であることから、第
5サイクルにおいてすみやかにプロセッサBに対してリ
プライが送られる。そして、このリプライとともに、同
期レジスタ200が再び「1000」となる。
クエストが発生するため、次の第5サイクルで同期レジ
スタ200が「1100」となる。この場合、マスクレ
ジスタ300の対応する値が「0」であることから、第
5サイクルにおいてすみやかにプロセッサBに対してリ
プライが送られる。そして、このリプライとともに、同
期レジスタ200が再び「1000」となる。
【0028】第7サイクルでは、プロセッサC及びDで
同期リクエストが発生するため、次の第8サイクルで同
期レジスタ200が「1011」となる。そして、これ
により、同期発生検出回路500から「同期リクエスト
を発生したプロセッサの数」である「2」が出力され
る。カウンタ550はこの指示を受けて次の第9サイク
ルでその値を「0」とする。これにより、0検出回路5
60は、「1」を発生し、プロセッサA,C,Dにそれ
ぞれリプライが送られる。
同期リクエストが発生するため、次の第8サイクルで同
期レジスタ200が「1011」となる。そして、これ
により、同期発生検出回路500から「同期リクエスト
を発生したプロセッサの数」である「2」が出力され
る。カウンタ550はこの指示を受けて次の第9サイク
ルでその値を「0」とする。これにより、0検出回路5
60は、「1」を発生し、プロセッサA,C,Dにそれ
ぞれリプライが送られる。
【0029】このように、本発明の第1の実施例である
バリア同期装置によれば、有効な同期リクエストが発生
する度にカウンタ550を減じていくことによりバリア
同期に対するリクエストを高速に返送することができ
る。
バリア同期装置によれば、有効な同期リクエストが発生
する度にカウンタ550を減じていくことによりバリア
同期に対するリクエストを高速に返送することができ
る。
【0030】次に本発明のバリア同期装置の第2の実施
例について図面を参照して説明する。
例について図面を参照して説明する。
【0031】図3を参照すると、本発明の第2の実施例
であるバリア同期装置は、第1の実施例と同様の構成を
有するが、第1の実施例と異なり、同期レジスタ200
のセット端子に論理積回路440が接続されている。し
たがって、マスクレジスタ300によってバリア同期の
対象外とされる同期リクエストは、同期レジスタ200
に保持されないことになる。このような構成は、バリア
対象以外のプロセッサに対するリプライを不要とする場
合に有効である。例えば、バリア同期が終了した際に対
象となるプロセッサに割込みを発生するような場合に適
している。
であるバリア同期装置は、第1の実施例と同様の構成を
有するが、第1の実施例と異なり、同期レジスタ200
のセット端子に論理積回路440が接続されている。し
たがって、マスクレジスタ300によってバリア同期の
対象外とされる同期リクエストは、同期レジスタ200
に保持されないことになる。このような構成は、バリア
対象以外のプロセッサに対するリプライを不要とする場
合に有効である。例えば、バリア同期が終了した際に対
象となるプロセッサに割込みを発生するような場合に適
している。
【0032】次に本発明の上記第2の実施例の動作につ
いて図面を参照して説明する。
いて図面を参照して説明する。
【0033】図4を参照すると、第1の実施例の場合と
ほぼ同様のタイミングを示しているが、第5サイクルに
おいて同期レジスタ200が一旦プロセッサBの同期リ
クエストを保持して「1100」となっている点が異な
る。また、プロセッサに対するバリア同期の結果を通知
する手段として割込みを使用することとし、第5サイク
ルでは割込みを発生せず、第9サイクルにてプロセッサ
A,C,Dに割込みを発生している。
ほぼ同様のタイミングを示しているが、第5サイクルに
おいて同期レジスタ200が一旦プロセッサBの同期リ
クエストを保持して「1100」となっている点が異な
る。また、プロセッサに対するバリア同期の結果を通知
する手段として割込みを使用することとし、第5サイク
ルでは割込みを発生せず、第9サイクルにてプロセッサ
A,C,Dに割込みを発生している。
【0034】このように、本発明の第2の実施例である
バリア同期装置によれば、有効な同期リクエストのみを
同期レジスタ200に保持するようにすることにより、
バリア同期の割込みを高速に発生することができる。
バリア同期装置によれば、有効な同期リクエストのみを
同期レジスタ200に保持するようにすることにより、
バリア同期の割込みを高速に発生することができる。
【0035】次に本発明のバリア同期装置の第3の実施
例について図面を参照して説明する。
例について図面を参照して説明する。
【0036】図5を参照すると、本発明の第3の実施例
であるバリア同期装置は、第1の実施例と同様の構成を
有するが、第1の実施例のような同期発生検出回路50
0やカウンタ550等は有さない。この第3の実施例で
は、同期レジスタ200とマスクレジスタ300の各ビ
ット同士を比較して全ビットが一致したことを検出する
比較器600を有している。すなわち、同期レジスタ2
00の内容が、マスクレジスタ300に予め設定された
内容と一致した場合にはバリア同期が成立したとして
「1」が出力される。したがって、この比較器600の
出力は第1の実施例の0検出回路560の出力と同等の
役割を有している。
であるバリア同期装置は、第1の実施例と同様の構成を
有するが、第1の実施例のような同期発生検出回路50
0やカウンタ550等は有さない。この第3の実施例で
は、同期レジスタ200とマスクレジスタ300の各ビ
ット同士を比較して全ビットが一致したことを検出する
比較器600を有している。すなわち、同期レジスタ2
00の内容が、マスクレジスタ300に予め設定された
内容と一致した場合にはバリア同期が成立したとして
「1」が出力される。したがって、この比較器600の
出力は第1の実施例の0検出回路560の出力と同等の
役割を有している。
【0037】このように、本発明の第3の実施例である
バリア同期装置によれば、比較器600によって同期レ
ジスタ200とマスクレジスタ300の内容を比較する
ことによって、バリア同期に対するリクエストを高速に
返送することができる。
バリア同期装置によれば、比較器600によって同期レ
ジスタ200とマスクレジスタ300の内容を比較する
ことによって、バリア同期に対するリクエストを高速に
返送することができる。
【0038】次に本発明のバリア同期装置の第4の実施
例について図面を参照して説明する。
例について図面を参照して説明する。
【0039】図6を参照すると、本発明の第4の実施例
であるバリア同期装置は、第3の実施例と同様の構成を
有するが、第3の実施例と異なり、同期レジスタ200
のセット端子に論理積回路440が接続されている。し
たがって、マスクレジスタ300によってバリア同期の
対象外とされる同期リクエストは、同期レジスタ200
に保持されないことになる。このような構成は、第2の
実施例と同様に、バリア対象以外のプロセッサに対する
リプライを不要とし、バリア同期が終了した際に割込み
を発生するような場合に適している。
であるバリア同期装置は、第3の実施例と同様の構成を
有するが、第3の実施例と異なり、同期レジスタ200
のセット端子に論理積回路440が接続されている。し
たがって、マスクレジスタ300によってバリア同期の
対象外とされる同期リクエストは、同期レジスタ200
に保持されないことになる。このような構成は、第2の
実施例と同様に、バリア対象以外のプロセッサに対する
リプライを不要とし、バリア同期が終了した際に割込み
を発生するような場合に適している。
【0040】このように、本発明の第4の実施例である
バリア同期装置によれば、比較器600によって同期レ
ジスタ200とマスクレジスタ300の内容を比較する
ことによって、バリア同期に対する割込みを高速に発生
することができる。
バリア同期装置によれば、比較器600によって同期レ
ジスタ200とマスクレジスタ300の内容を比較する
ことによって、バリア同期に対する割込みを高速に発生
することができる。
【0041】
【発明の効果】以上の説明で明らかなように、本発明に
よると、予め指定されたプロセッサ間においてバリア同
期の成立を検出し、各プロセッサにおけるその後の処理
を高速に継続させることができる。また、本発明によれ
ば、バリア同期の負荷をプロセッサの外部に移したこと
により、プロセッサに負荷を与えずに効率的にバリア同
期を行うことができる。
よると、予め指定されたプロセッサ間においてバリア同
期の成立を検出し、各プロセッサにおけるその後の処理
を高速に継続させることができる。また、本発明によれ
ば、バリア同期の負荷をプロセッサの外部に移したこと
により、プロセッサに負荷を与えずに効率的にバリア同
期を行うことができる。
【図1】本発明のバリア同期装置の第1の実施例の構成
を示すブロック図である。
を示すブロック図である。
【図2】本発明の第1の実施例のバリア同期装置の動作
を表す図である。
を表す図である。
【図3】本発明のバリア同期装置の第2の実施例の構成
を示すブロック図である。
を示すブロック図である。
【図4】本発明の第2の実施例のバリア同期装置の動作
を表す図である。
を表す図である。
【図5】本発明のバリア同期装置の第3の実施例の構成
を示すブロック図である。
を示すブロック図である。
【図6】本発明のバリア同期装置の第4の実施例の構成
を示すブロック図である。
を示すブロック図である。
100 プロセッサ 200 同期レジスタ 300 マスクレジスタ 500 同期発生検出回路 550 カウンタ 560 0検出回路 600 比較器
Claims (7)
- 【請求項1】 バリア同期の対象となる複数のプロセッ
サを予め指定するための第1のレジスタと、 この第1のレジスタにより指定されたバリア同期の対象
となる各プロセッサからの同期リクエストを保持する第
2のレジスタと、 前記第1のレジスタにより指定されたバリア同期の対象
となるすべてのプロセッサからの同期リクエストが前記
第2のレジスタに保持されると、当該プロセッサにバリ
ア同期が成立した旨を通知する手段とを含むことを特徴
とするバリア同期装置。 - 【請求項2】 バリア同期の対象となる複数のプロセッ
サを予め指定するための第1のレジスタと、 この第1のレジスタにより指定されたバリア同期の対象
となる各プロセッサからの同期リクエストを保持する第
2のレジスタと、 前記第1のレジスタにより指定されたバリア同期の対象
となるプロセッサからの同期リクエストが前記第2のレ
ジスタに保持されたことを検出する同期発生検出手段
と、 この同期発生検出手段により検出された同期リクエスト
の数を計数するカウンタと、 バリア同期の対象となるプロセッサの数になるまで前記
カウンタによって計数したことを検出する計数終了検出
手段と、 この計数終了検出手段によって計数が終了したことを検
出した場合に、前記第1のレジスタにより指定されたバ
リア同期の対象となるプロセッサにバリア同期が成立し
た旨を通知する手段とを含むことを特徴とするバリア同
期装置。 - 【請求項3】 前記通知する手段は、バリア同期の対象
となるプロセッサからの同期リクエストに対してはバリ
ア同期が成立するまでプロセッサへの応答を遅らせ、 前記第2のレジスタは、各プロセッサに1ビットずつ対
応する複数のビットからなり、対応するプロセッサから
の同期リクエストによってセットされ、対応するプロセ
ッサに応答が返されるとリセットされることを特徴とす
る請求項2記載のバリア同期装置。 - 【請求項4】 前記通知する手段は、バリア同期の対象
となるプロセッサからの同期リクエストに対してはバリ
ア同期が成立するとバリア同期の対象となる各プロセッ
サに割込みを通知し、 前記第2のレジスタは、各プロセッサに1ビットずつ対
応する複数のビットからなり、バリア同期の対象となる
対応するプロセッサからの同期リクエストによってセッ
トされ、前記計数終了検出手段によって計数が終了した
ことを検出するとリセットされることを特徴とする請求
項2記載のバリア同期装置。 - 【請求項5】 バリア同期の対象となる複数のプロセッ
サを予め指定するための第1のレジスタと、 この第1のレジスタにより指定されたバリア同期の対象
となる各プロセッサからの同期リクエストを保持する第
2のレジスタと、 前記第1のレジスタと前記第2のレジスタとの一致を検
出する比較器と、 この比較器によって一致を検出した場合に、前記第1の
レジスタにより指定されたバリア同期の対象となるプロ
セッサにバリア同期が成立した旨を通知する手段とを含
むことを特徴とするバリア同期装置。 - 【請求項6】 前記通知する手段は、バリア同期の対象
となるプロセッサからの同期リクエストに対してはバリ
ア同期が成立するまでプロセッサへの応答を遅らせ、 前記第2のレジスタは、各プロセッサに1ビットずつ対
応する複数のビットからなり、対応するプロセッサから
の同期リクエストによってセットされ、対応するプロセ
ッサに応答が返されるとリセットされることを特徴とす
る請求項5記載のバリア同期装置。 - 【請求項7】 前記通知する手段は、バリア同期の対象
となるプロセッサからの同期リクエストに対してはバリ
ア同期が成立するとバリア同期の対象となる各プロセッ
サに割込みを通知し、 前記第2のレジスタは、各プロセッサに1ビットずつ対
応する複数のビットからなり、バリア同期の対象となる
対応するプロセッサからの同期リクエストによってセッ
トされ、前記比較器によって一致を検出するとリセット
されることを特徴とする請求項5記載のバリア同期装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15445195A JP2783192B2 (ja) | 1995-06-21 | 1995-06-21 | バリア同期装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15445195A JP2783192B2 (ja) | 1995-06-21 | 1995-06-21 | バリア同期装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH096734A true JPH096734A (ja) | 1997-01-10 |
JP2783192B2 JP2783192B2 (ja) | 1998-08-06 |
Family
ID=15584514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15445195A Expired - Fee Related JP2783192B2 (ja) | 1995-06-21 | 1995-06-21 | バリア同期装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2783192B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006046482A1 (ja) * | 2004-10-27 | 2006-05-04 | Matsushita Electric Industrial Co., Ltd. | マルチプロセッサシステム、同期制御装置及び同期制御方法 |
WO2008155806A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | バリア同期方法、装置、及びマルチコアプロセッサ |
JP2012194615A (ja) * | 2011-03-15 | 2012-10-11 | Mitsubishi Electric Corp | プロセス間同期方法 |
-
1995
- 1995-06-21 JP JP15445195A patent/JP2783192B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006046482A1 (ja) * | 2004-10-27 | 2006-05-04 | Matsushita Electric Industrial Co., Ltd. | マルチプロセッサシステム、同期制御装置及び同期制御方法 |
WO2008155806A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | バリア同期方法、装置、及びマルチコアプロセッサ |
US7971029B2 (en) | 2007-06-20 | 2011-06-28 | Fujitsu Limited | Barrier synchronization method, device, and multi-core processor |
JP2012194615A (ja) * | 2011-03-15 | 2012-10-11 | Mitsubishi Electric Corp | プロセス間同期方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2783192B2 (ja) | 1998-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH096734A (ja) | バリア同期装置 | |
JP2944543B2 (ja) | 割込み制御装置 | |
JPS6224348A (ja) | Dma処理方式 | |
JPS60168240A (ja) | 割込処理回路 | |
JPH07168723A (ja) | コンピュータシステムの外部イベント検出方式 | |
JPH03244040A (ja) | 並列走行型デバグ方式 | |
JPH04107663A (ja) | 同期式通信システムの制御方式 | |
JPH01220057A (ja) | 並列処理システムの同期装置 | |
JPH03223949A (ja) | バス調停回路 | |
JPH09182174A (ja) | 状態変化通知回路 | |
JPS63184137A (ja) | 情報処理システムにおける異常終了情報の解析方式 | |
JPH04106637A (ja) | ストール検出回路 | |
JPH03212754A (ja) | メモリリクエスト制御方式 | |
JPH01166226A (ja) | オペレーティングシステムの割込み処理方式 | |
JPH03224053A (ja) | デュアルプロセッサのバス制御方式 | |
JPS62113239A (ja) | マイクロ命令生成方式 | |
JPS6329848A (ja) | 計算機システムにおけるタイミング制御方法 | |
JPS6097460A (ja) | 競合制御方式 | |
JPH01131948A (ja) | バス制御装置 | |
JPS6197777A (ja) | 割込処理回路 | |
JPS6316745A (ja) | 通信制御装置 | |
JPH0296840A (ja) | 中央処理装置の暴走防止回路 | |
JPS61187044A (ja) | 情報処理装置 | |
JPH04156651A (ja) | スモール・コンピュータ・システム・インタフェースのバス制御装置 | |
JPH04101239A (ja) | 情報処理装置のデバッグ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980421 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090522 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100522 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |