JP2783192B2 - バリア同期装置 - Google Patents

バリア同期装置

Info

Publication number
JP2783192B2
JP2783192B2 JP15445195A JP15445195A JP2783192B2 JP 2783192 B2 JP2783192 B2 JP 2783192B2 JP 15445195 A JP15445195 A JP 15445195A JP 15445195 A JP15445195 A JP 15445195A JP 2783192 B2 JP2783192 B2 JP 2783192B2
Authority
JP
Japan
Prior art keywords
synchronization
barrier
processor
register
request
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.)
Expired - Fee Related
Application number
JP15445195A
Other languages
English (en)
Other versions
JPH096734A (ja
Inventor
政人 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP15445195A priority Critical patent/JP2783192B2/ja
Publication of JPH096734A publication Critical patent/JPH096734A/ja
Application granted granted Critical
Publication of JP2783192B2 publication Critical patent/JP2783192B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおけるバリア同期装置に関し、特に予め定められ
たプロセッサ間におけるバリア同期を行うバリア同期装
置に関する。
【0002】
【従来の技術】マルチプロセッサシステムにおいて、一
つのジョブを複数のタスクに分割し、これらを複数のプ
ロセッサに割り当てて実行することにより高速化を図る
ことをマルチタスク処理という。このマルチタスク処理
において、プロセッサ間で同期をとる一手法としてバリ
ア同期とよばれる技術がある。このバリア同期は、同一
ジョブに属するタスク処理が終了した時点で、それ以降
のタスク処理を継続するものである。
【0003】従来のプロセッサ間の同期のための技術と
して、たとえば、特開平3−229350号公報には、
マスタプロセッサが他のプロセッサにおけるタスクの終
了を検出して、マスタプロセッサにおける新たなタスク
起動を行うマルチプロセッサシステムが記載されてい
る。この従来技術では、マスタプロセッサが自らのタス
クを終了すると他の全ての非マスタプロセッサへ所定の
信号を出力する。一方、他の非マスタプロセッサはマス
タプロセッサからの信号を受けると、タスクが終了して
いればハイレベル信号を返し、タスクが終了していなけ
ればロウレベル信号を返す。このとき、一つでもロウレ
ベルを出力するプロセッサがあれば、マスタプロセッサ
にはロウレベル信号が入力される。マスタプロセッサ
は、ハイレベル信号が入力されるのを待って新たなタス
クを起動する。
【0004】
【発明が解決しようとする課題】上述の従来技術では、
マスタプロセッサが他のプロセッサにおけるタスクの終
了をチェックするように構成しているため、同期に要す
る負荷がマスタプロセッサに集中してしまうおそれがあ
る。また、同期後のタスク起動はマスタプロセッサに限
られているため、その後の処理を一斉に継続するバリア
同期に適用するには処理が煩雑になるという問題があ
る。一方、同期の対象となるのがマスタプロセッサ以外
の全プロセッサであり、任意のプロセッサを指定できな
いという問題がある。
【0005】本発明の目的は、任意のプロセッサ間にお
いて高速にバリア同期を行うことにある。
【0006】また、本発明の他の目的は、特定のプロセ
ッサに負荷を与えずに効率的にバリア同期を行うことに
ある。
【0007】
【課題を解決するための手段】上記課題を解決するため
に本発明のバリア同期装置は、バリア同期の対象となる
複数のプロセッサを予め指定するための第1のレジスタ
と、この第1のレジスタにより指定されたバリア同期の
対象となる各プロセッサからの同期リクエストを保持す
る第2のレジスタと、前記第1のレジスタにより指定さ
れたバリア同期の対象となるすべてのプロセッサからの
同期リクエストが前記第2のレジスタに保持されると、
当該プロセッサにバリア同期が成立した旨を通知する手
段とを含む。
【0008】また、本発明の他のバリア同期装置は、バ
リア同期の対象となる複数のプロセッサを予め指定する
ための第1のレジスタと、この第1のレジスタにより指
定されたバリア同期の対象となる各プロセッサからの同
期リクエストを保持する第2のレジスタと、前記第1の
レジスタにより指定されたバリア同期の対象となるプロ
セッサからの同期リクエストが前記第2のレジスタに保
持されたことを検出する同期発生検出手段と、この同期
発生検出手段により検出された同期リクエストの数を計
数するカウンタと、バリア同期の対象となるプロセッサ
の数になるまで前記カウンタによって計数したことを検
出する計数終了検出手段と、この計数終了検出手段によ
って計数が終了したことを検出した場合に、前記第1の
レジスタにより指定されたバリア同期の対象となるプロ
セッサにバリア同期が成立した旨を通知する手段とを含
む。
【0009】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するまでプロセッサへの応答を遅らせ、前記第2のレジ
スタは各プロセッサに1ビットずつ対応する複数のビッ
トからなり、対応するプロセッサからの同期リクエスト
によってセットされ、対応するプロセッサに応答が返さ
れるとリセットされる。
【0010】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するとバリア同期の対象となる各プロセッサに割込みを
通知し、前記第2のレジスタは各プロセッサに1ビット
ずつ対応する複数のビットからなり、バリア同期の対象
となる対応するプロセッサからの同期リクエストによっ
てセットされ、前記計数終了検出手段によって計数が終
了したことを検出するとリセットされる。
【0011】また、本発明の他のバリア同期装置は、バ
リア同期の対象となる複数のプロセッサを予め指定する
ための第1のレジスタと、この第1のレジスタにより指
定されたバリア同期の対象となる各プロセッサからの同
期リクエストを保持する第2のレジスタと、前記第1の
レジスタと前記第2のレジスタとの一致を検出する比較
器と、この比較器によって一致を検出した場合に、前記
第1のレジスタにより指定されたバリア同期の対象とな
るプロセッサにバリア同期が成立した旨を通知する手段
とを含む。
【0012】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するまでプロセッサへの応答を遅らせ、前記第2のレジ
スタは各プロセッサに1ビットずつ対応する複数のビッ
トからなり、対応するプロセッサからの同期リクエスト
によってセットされ、対応するプロセッサに応答が返さ
れるとリセットされる。
【0013】また、本発明の他のバリア同期装置におい
て、前記通知する手段はバリア同期の対象となるプロセ
ッサからの同期リクエストに対してはバリア同期が成立
するとバリア同期の対象となる各プロセッサに割込みを
通知し、前記第2のレジスタは各プロセッサに1ビット
ずつ対応する複数のビットからなり、バリア同期の対象
となる対応するプロセッサからの同期リクエストによっ
てセットされ、前記比較器によって一致を検出するとリ
セットされる。
【0014】
【実施例】次に本発明のバリア同期装置の一実施例につ
いて図面を参照して詳細に説明する。
【0015】図1を参照すると、本発明の一実施例であ
るバリア同期装置は、各プロセッサ100からの同期リ
クエストの有無を保持する同期レジスタ200と、同期
の対象となるプロセッサを指定するマスクレジスタ30
0と、同期リクエストの発生を検出する同期発生検出回
路500と、同期が終了していないプロセッサの数を計
数するカウンタ550と、カウンタ550が0になった
ことを検出する0検出回路560とを含んでいる。
【0016】各プロセッサ100は、バリア同期の同期
点に到達すると、同期リクエストを発行する。この同期
リクエストは、同期レジスタ200のセット端子に入力
される。同期レジスタ200は、各プロセッサ100に
対応して1ビットづつの同期フラグを保持する。この同
期フラグは、対応するプロセッサから同期リクエストが
発生する前は「0」を示しており、同期リクエストが発
生すると「1」を示すようになる。この同期レジスタ2
00の値は、対応するプロセッサにリプライが送られた
際に、リセット端子を通じて「0」にクリアされる。こ
こで、リプライとは、プロセッサからのリクエストに対
する応答信号をいう。バリア同期についてのリクエスト
に対しては、同期がとれた旨のリプライが送られる。ま
た、これ以外のリクエストに対しては、同期を待たずに
すみやかにリプライを返送するものとする。
【0017】マスクレジスタ300は、バリア同期の対
象となるプロセッサを指定するためのレジスタである。
バリア同期の対象である場合には「1」、対象でない場
合には「0」が、予め設定される。このマスクレジスタ
300で対象外とされたプロセッサからの同期リクエス
トについては、同期をまたずにリプライが返される。
【0018】カウンタ550は、同期が終了していない
プロセッサの数を計数するためのカウンタである。この
カウンタ550には、バリア同期の対象となるプロセッ
サ数が予め設定される。この値を初期値として、同期発
生検出回路500からの指示によりその値を減じてい
く。このカウンタ550の値が0になると、0検出回路
560がその旨を検出して、「1」を出力する。
【0019】同期発生検出回路500は、バリア同期の
対象となる同期リクエストの発生を検出して、カウンタ
550への制御信号を生成する。この制御信号には、そ
のサイクル中に同期が発生したプロセッサの数が含まれ
る。例えば、あるサイクルにおいて、バリア同期の対象
となる2つのプロセッサから同時に同期リクエストが発
生すると、同期発生検出回路500は「2」という数を
カウンタ550に伝える。これにより、カウンタ550
は、その値を「2」だけ減ずる。
【0020】論理積回路430は、同期レジスタ200
とマスクレジスタ300のそれぞれ対応するビットの論
理積を生成して同期発生検出回路500に与える。すな
わち、マスクレジスタによって指定されていないプロセ
ッサからの同期リクエストは、この論理積回路430に
よってマスクされて同期発生検出回路500に入力され
る。
【0021】論理和回路420は、マスクレジスタ30
0の反転ビットと0検出回路560との論理和を生成す
る。すなわち、対応するマスクレジスタ300の値が
「0」であるか、0検出回路560の出力が「1」であ
れば、論理和解路420は「1」を出力する。この論理
和回路420の出力と同期レジスタ200の対応するビ
ットとの論理積が、論理積回路410によって生成され
て、プロセッサ100へのリプライのタイミングとして
使用される。
【0022】つまり、あるプロセッサから同期リクエス
トが発生した場合、バリア同期の対象でない旨がマスク
レジスタ300に設定されていれば、そのままのタイミ
ングでリプライが返される。この場合には、対応する同
期レジスタ200のビットが「0」クリアされる。一
方、あるプロセッサから同期リクエストが発生した場
合、バリア同期の対象である旨がマスクレジスタ300
に設定されていれば、プロセッサへのリプライが保留さ
れる。そして、0検出回路560によってバリア同期が
報告されると、保留されていたリプライが一斉にプロセ
ッサに送られる。
【0023】次に本発明の上記第1の実施例の動作につ
いて図面を参照して説明する。
【0024】図2を参照すると、プロセッサA,B,
C,Dの4つが接続されており、そのうちのA,C,D
がバリア同期の対象となっている場合には、マスクレジ
スタ300には「1011」なる値が予め設定される。
また、カウンタ550にはバリア同期の対象となるプロ
セッサ数である「3」が設定される。
【0025】第1サイクルでは、いずれのプロセッサも
同期リクエストを発生していないため、同期レジスタ2
00の値は「0000」となっている。
【0026】第2サイクルでは、プロセッサAで同期リ
クエストが発生するため、次の第3サイクルで同期レジ
スタ200が「1000」となる。そして、これによ
り、同期発生検出回路500から「同期リクエストを発
生したプロセッサの数」である「1」が出力される。カ
ウンタ550はこの指示を受けて次の第4サイクルでそ
の値を「2」とする。
【0027】第4サイクルでは、プロセッサBで同期リ
クエストが発生するため、次の第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にそれ
ぞれリプライが送られる。
【0029】このように、本発明の第1の実施例である
バリア同期装置によれば、有効な同期リクエストが発生
する度にカウンタ550を減じていくことによりバリア
同期に対するリクエストを高速に返送することができ
る。
【0030】次に本発明のバリア同期装置の第2の実施
例について図面を参照して説明する。
【0031】図3を参照すると、本発明の第2の実施例
であるバリア同期装置は、第1の実施例と同様の構成を
有するが、第1の実施例と異なり、同期レジスタ200
のセット端子に論理積回路440が接続されている。し
たがって、マスクレジスタ300によってバリア同期の
対象外とされる同期リクエストは、同期レジスタ200
に保持されないことになる。このような構成は、バリア
対象以外のプロセッサに対するリプライを不要とする場
合に有効である。例えば、バリア同期が終了した際に対
象となるプロセッサに割込みを発生するような場合に適
している。
【0032】次に本発明の上記第2の実施例の動作につ
いて図面を参照して説明する。
【0033】図4を参照すると、第1の実施例の場合と
ほぼ同様のタイミングを示しているが、第5サイクルに
おいて同期レジスタ200が一旦プロセッサBの同期リ
クエストを保持して「1100」となっている点が異な
る。また、プロセッサに対するバリア同期の結果を通知
する手段として割込みを使用することとし、第5サイク
ルでは割込みを発生せず、第9サイクルにてプロセッサ
A,C,Dに割込みを発生している。
【0034】このように、本発明の第2の実施例である
バリア同期装置によれば、有効な同期リクエストのみを
同期レジスタ200に保持するようにすることにより、
バリア同期の割込みを高速に発生することができる。
【0035】次に本発明のバリア同期装置の第3の実施
例について図面を参照して説明する。
【0036】図5を参照すると、本発明の第3の実施例
であるバリア同期装置は、第1の実施例と同様の構成を
有するが、第1の実施例のような同期発生検出回路50
0やカウンタ550等は有さない。この第3の実施例で
は、同期レジスタ200とマスクレジスタ300の各ビ
ット同士を比較して全ビットが一致したことを検出する
比較器600を有している。すなわち、同期レジスタ2
00の内容が、マスクレジスタ300に予め設定された
内容と一致した場合にはバリア同期が成立したとして
「1」が出力される。したがって、この比較器600の
出力は第1の実施例の0検出回路560の出力と同等の
役割を有している。
【0037】このように、本発明の第3の実施例である
バリア同期装置によれば、比較器600によって同期レ
ジスタ200とマスクレジスタ300の内容を比較する
ことによって、バリア同期に対するリクエストを高速に
返送することができる。
【0038】次に本発明のバリア同期装置の第4の実施
例について図面を参照して説明する。
【0039】図6を参照すると、本発明の第4の実施例
であるバリア同期装置は、第3の実施例と同様の構成を
有するが、第3の実施例と異なり、同期レジスタ200
のセット端子に論理積回路440が接続されている。し
たがって、マスクレジスタ300によってバリア同期の
対象外とされる同期リクエストは、同期レジスタ200
に保持されないことになる。このような構成は、第2の
実施例と同様に、バリア対象以外のプロセッサに対する
リプライを不要とし、バリア同期が終了した際に割込み
を発生するような場合に適している。
【0040】このように、本発明の第4の実施例である
バリア同期装置によれば、比較器600によって同期レ
ジスタ200とマスクレジスタ300の内容を比較する
ことによって、バリア同期に対する割込みを高速に発生
することができる。
【0041】
【発明の効果】以上の説明で明らかなように、本発明に
よると、予め指定されたプロセッサ間においてバリア同
期の成立を検出し、各プロセッサにおけるその後の処理
を高速に継続させることができる。また、本発明によれ
ば、バリア同期の負荷をプロセッサの外部に移したこと
により、プロセッサに負荷を与えずに効率的にバリア同
期を行うことができる。
【図面の簡単な説明】
【図1】本発明のバリア同期装置の第1の実施例の構成
を示すブロック図である。
【図2】本発明の第1の実施例のバリア同期装置の動作
を表す図である。
【図3】本発明のバリア同期装置の第2の実施例の構成
を示すブロック図である。
【図4】本発明の第2の実施例のバリア同期装置の動作
を表す図である。
【図5】本発明のバリア同期装置の第3の実施例の構成
を示すブロック図である。
【図6】本発明のバリア同期装置の第4の実施例の構成
を示すブロック図である。
【符号の説明】
100 プロセッサ 200 同期レジスタ 300 マスクレジスタ 500 同期発生検出回路 550 カウンタ 560 0検出回路 600 比較器
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 15/163 G06F 9/46 360 JICSTファイル(JOIS) WPI(DIALOG)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 バリア同期の対象となる複数のプロセッ
    サを予め指定するための第1のレジスタと、 この第1のレジスタにより指定されたバリア同期の対象
    となる各プロセッサからの同期リクエストを保持する第
    2のレジスタと、 前記第1のレジスタにより指定されたバリア同期の対象
    となるプロセッサからの同期リクエストが前記第2のレ
    ジスタに保持された場合に同時に発生した同期リクエス
    トの数を検出する同期発生検出手段と、 この同期発生検出手段により検出された前記同期リクエ
    ストの数を計数するカウンタと、 バリア同期の対象となるプロセッサの数になるまで前記
    カウンタによって計数したことを検出する計数終了検出
    手段と、 この計数終了検出手段によって計数が終了したことを検
    出した場合に、前記第1のレジスタにより指定されたバ
    リア同期の対象となるプロセッサにバリア同期が成立し
    た旨を通知する手段とを含むことを特徴とするバリア同
    期装置。
  2. 【請求項2】 前記通知する手段は、バリア同期の対象
    となるプロセッサからの同期リクエストに対してはバリ
    ア同期が成立するまでプロセッサへの応答を遅らせ、 前記第2のレジスタは、各プロセッサに1ビットずつ対
    応する複数のビットからなり、対応するプロセッサから
    の同期リクエストによってセットされ、対応するプロセ
    ッサに応答が返されるとリセットされることを特徴とす
    る請求項1記載のバリア同期装置。
  3. 【請求項3】 前記通知する手段は、バリア同期の対象
    となるプロセッサからの同期リクエストに対してはバリ
    ア同期が成立するとバリア同期の対象となる各プロセッ
    サに割込みを通知し、 前記第2のレジスタは、各プロセッサに1ビットずつ対
    応する複数のビットからなり、バリア同期の対象となる
    対応するプロセッサからの同期リクエストによってセッ
    トされ、前記計数終了検出手段によって計数が終了した
    ことを検出するとリセットされることを特徴とする請求
    項1記載のバリア同期装置。
JP15445195A 1995-06-21 1995-06-21 バリア同期装置 Expired - Fee Related JP2783192B2 (ja)

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 JPH096734A (ja) 1997-01-10
JP2783192B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046482A1 (ja) * 2004-10-27 2006-05-04 Matsushita Electric Industrial Co., Ltd. マルチプロセッサシステム、同期制御装置及び同期制御方法
EP2159694B1 (en) 2007-06-20 2019-03-27 Fujitsu Limited Method and device for barrier synchronization, and multicore processor
JP5605279B2 (ja) * 2011-03-15 2014-10-15 三菱電機株式会社 プロセス間同期方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JOURNAL OF PARALELL AND DISTRIBUTED COMPUTING 25,126−132 1995

Also Published As

Publication number Publication date
JPH096734A (ja) 1997-01-10

Similar Documents

Publication Publication Date Title
WO1993002414A3 (en) Data processing system with synchronization coprocessor for multiple threads
US10824469B2 (en) Reordering avoidance for flows during transition between slow-path handling and fast-path handling
US5875320A (en) System and method for synchronizing plural processor clocks in a multiprocessor system
EP0473452A2 (en) Work station having multiprocessing capability
US5519877A (en) Apparatus for synchronizing parallel processing among a plurality of processors
US6789258B1 (en) System and method for performing a synchronization operation for multiple devices in a computer system
JPH0775018B2 (ja) プロセッサ間の命令転送を最適化する方法及び装置
JP2783192B2 (ja) バリア同期装置
US5928348A (en) Method of processing interrupt requests and information processing apparatus using the method
JPH11272637A (ja) マルチプロセッサ・システムおよび方法
JP2972491B2 (ja) バス制御機構及び計算機システム
US6092143A (en) Mechanism for synchronizing service of interrupts by a plurality of data processors
JP2961542B2 (ja) データ処理システム
JP2944543B2 (ja) 割込み制御装置
JP2550708B2 (ja) デバッグ方式
JPS60168240A (ja) 割込処理回路
JPH04101239A (ja) 情報処理装置のデバッグ方式
JPS6224348A (ja) Dma処理方式
JPS6051744B2 (ja) 擬似障害発生方式
JPH07168723A (ja) コンピュータシステムの外部イベント検出方式
JP2537815B2 (ja) デ−タ転送装置
JPH0434629A (ja) メモリアクセス制御装置のビジーチェック方式
JPH0373054A (ja) 情報処理装置
JPH0293756A (ja) 並列処理計算機
JPS62113239A (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