JPH02105961A - マルチプロセッサ同期方式 - Google Patents
マルチプロセッサ同期方式Info
- Publication number
- JPH02105961A JPH02105961A JP63258575A JP25857588A JPH02105961A JP H02105961 A JPH02105961 A JP H02105961A JP 63258575 A JP63258575 A JP 63258575A JP 25857588 A JP25857588 A JP 25857588A JP H02105961 A JPH02105961 A JP H02105961A
- Authority
- JP
- Japan
- Prior art keywords
- pes
- phase
- synchronization
- processing
- status flag
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、複数のプロセッシングエレメントおよび任意
のプロセッシングエレメント相互の通信手段を有するマ
ルチプロセッサシステムにおける同期方式に関する。
のプロセッシングエレメント相互の通信手段を有するマ
ルチプロセッサシステムにおける同期方式に関する。
マルチプロセッサシステムは、複数のプロセッシングエ
レメント(以下、PEという)、および。
レメント(以下、PEという)、および。
その任意のPE間で相互にデータおよびメツセージを転
送する通信手段から構成され、ひとつの仕事を複数に分
割して各PEに割当て、各PEは他のPEと通信手段を
用いてデータやメツセージの交換を行いつN割当てられ
た仕事を処理することにより、全体として一つの仕事を
処理するシステムである。こ\で、任意の1) E間の
通信手段を実現するために、PEは相互にバスや通信線
等によって接続されているが、必ずしも全てのPE同士
が完全に接続されているわけではなく、いくつかのPE
を中継してデータやメツセージを転送する構造になって
いるものもある。なお、各PEは、一般に少なくとも論
理演算ユニット、制御ユニット、主記憶ユニットを備え
た中央処理装置(cpU)と外部とデータを交換するた
めのインタフェースユニットから構成される。
送する通信手段から構成され、ひとつの仕事を複数に分
割して各PEに割当て、各PEは他のPEと通信手段を
用いてデータやメツセージの交換を行いつN割当てられ
た仕事を処理することにより、全体として一つの仕事を
処理するシステムである。こ\で、任意の1) E間の
通信手段を実現するために、PEは相互にバスや通信線
等によって接続されているが、必ずしも全てのPE同士
が完全に接続されているわけではなく、いくつかのPE
を中継してデータやメツセージを転送する構造になって
いるものもある。なお、各PEは、一般に少なくとも論
理演算ユニット、制御ユニット、主記憶ユニットを備え
た中央処理装置(cpU)と外部とデータを交換するた
めのインタフェースユニットから構成される。
このようなマルチプロセッサシステムにおいて。
処理が複数のフェーズから構成され、各フェーズを全て
のPEが歩調をとって処理しなければならない場合があ
る。この場合、フェーズの処理が早く終了したPEは他
PEのフェーズ処理終了を待ちあわせ、全PEが該フェ
ーズの処理を終了したことを検出して、全PEが次フェ
ーズの処理に移行する動作が必要となる。この動作が、
マルチプロセッサシステムの同期動作と呼ばれるもので
ある。
のPEが歩調をとって処理しなければならない場合があ
る。この場合、フェーズの処理が早く終了したPEは他
PEのフェーズ処理終了を待ちあわせ、全PEが該フェ
ーズの処理を終了したことを検出して、全PEが次フェ
ーズの処理に移行する動作が必要となる。この動作が、
マルチプロセッサシステムの同期動作と呼ばれるもので
ある。
この同期動作の実現のために、従来、以下のような方式
が用いられている。
が用いられている。
(1)同期監視用プロセッサを用いた同期方式これはマ
ルチプロセッサシステム内に同期監視用プロセッサを設
け、該同期監視用プロセッサが各PEの処理進行状況を
監視する事により、全PEのフェーズ処理の終了を検知
して、次フェーズへの処理移行指示を発する方式である
。
ルチプロセッサシステム内に同期監視用プロセッサを設
け、該同期監視用プロセッサが各PEの処理進行状況を
監視する事により、全PEのフェーズ処理の終了を検知
して、次フェーズへの処理移行指示を発する方式である
。
第5図はその構成図で、501はPEであり、502は
同期監視用プロセッサである。5o3は該同期監視用プ
ロセッサ502内に設けられたPE状態フラグであり、
フラグの数はPE数に等しい、5o4はPE501と同
期監視用プロセッサ502を接続する同期制御線であり
、同期監視用プロセッサ502は該制御1!504によ
り全てのPE501と接続されている。
同期監視用プロセッサである。5o3は該同期監視用プ
ロセッサ502内に設けられたPE状態フラグであり、
フラグの数はPE数に等しい、5o4はPE501と同
期監視用プロセッサ502を接続する同期制御線であり
、同期監視用プロセッサ502は該制御1!504によ
り全てのPE501と接続されている。
第6図はPE台数が3の場合の動作概要図である。一般
に本発明が対象としている処理ではいくつものフェーズ
があり、何回も同期がとられるが。
に本発明が対象としている処理ではいくつものフェーズ
があり、何回も同期がとられるが。
各同期とも同様の動作であるため、第6図では、そのう
ち−回の同期動作を抜きだし、j番目のフェーズからj
+1番目のフェーズに移行する時点の同期動作を示して
いる。二Nで、仕事の全フェーズ数をMとしたときに、
jに1からM−1の間の任意の整数値を代入することに
よって、ひとつの仕事の中のあらゆる同期動作を説明す
ることができる。また、以後に示されるあらゆる動作概
要図においても、この第6図が示すと同様に、仕事の中
のj番目のフェーズからj+1番目のフェーズへ移行す
る時点の同期動作を抜きだして示すものとする。
ち−回の同期動作を抜きだし、j番目のフェーズからj
+1番目のフェーズに移行する時点の同期動作を示して
いる。二Nで、仕事の全フェーズ数をMとしたときに、
jに1からM−1の間の任意の整数値を代入することに
よって、ひとつの仕事の中のあらゆる同期動作を説明す
ることができる。また、以後に示されるあらゆる動作概
要図においても、この第6図が示すと同様に、仕事の中
のj番目のフェーズからj+1番目のフェーズへ移行す
る時点の同期動作を抜きだして示すものとする。
第6図において、601は各PE501 (PE1、P
E2.PE3)の動作を示しており、602は同期監視
用プロセッサ502の動作を示している。603はj番
目のフェーズの処理であり、604は同期監視用プロセ
ッサ502からのフェーズ移行指示を待ち合せる同期待
ち状態である。
E2.PE3)の動作を示しており、602は同期監視
用プロセッサ502の動作を示している。603はj番
目のフェーズの処理であり、604は同期監視用プロセ
ッサ502からのフェーズ移行指示を待ち合せる同期待
ち状態である。
605はj+1番目のフェーズ処理、すなわちj番目の
フェーズ処理603の次のフェーズの処理である。60
6はPE状態フラグの更新処理であり、607はフェー
ズ移行指示発信処理である。
フェーズ処理603の次のフェーズの処理である。60
6はPE状態フラグの更新処理であり、607はフェー
ズ移行指示発信処理である。
608はPE状態フラグの内容であり、PE状態フラグ
の更新処理606によるPE状態フラグ内容の変化を示
している。
の更新処理606によるPE状態フラグ内容の変化を示
している。
同期監視用プロセッサ502は、常に各PE501の状
態を監視しており、全てのPEがフェーズ処理を行って
いる場合には、該同期監視用プロセッサ502内のPE
状態フラグ503は全てクリアしてお−く、あるPEが
フェーズ処理を終了すると、該PEは同期監視用プロセ
ッサ502からのフェーズ移行指示を待つ同期待ち状態
604となるが、同期監視用プロセッサ502はこの状
態を検知し、PE状態フラグ更新処理606を行って、
該PEに対応するPE状態フラグをセットする。更に、
フラグ更新後、全てのフラグがセットされているどうか
をチエツクし、セットされていないフラグが一つでもあ
ればPEの監視を続け。
態を監視しており、全てのPEがフェーズ処理を行って
いる場合には、該同期監視用プロセッサ502内のPE
状態フラグ503は全てクリアしてお−く、あるPEが
フェーズ処理を終了すると、該PEは同期監視用プロセ
ッサ502からのフェーズ移行指示を待つ同期待ち状態
604となるが、同期監視用プロセッサ502はこの状
態を検知し、PE状態フラグ更新処理606を行って、
該PEに対応するPE状態フラグをセットする。更に、
フラグ更新後、全てのフラグがセットされているどうか
をチエツクし、セットされていないフラグが一つでもあ
ればPEの監視を続け。
全てがセットされていればフェーズ移行指示発信処理6
07を行い、全PE501に対してフェーズ移行の指示
を発行する。フェーズ移行指示を受信した各PE501
は同期待ち状態を解除して。
07を行い、全PE501に対してフェーズ移行の指示
を発行する。フェーズ移行指示を受信した各PE501
は同期待ち状態を解除して。
次のフェーズの処理を開始する。
この様に、同期監視用プロセッサ502を設けて、これ
と全てのPE501とを同期制御線504により接続し
、該同期監視用プロセッサ502が各PE501の状態
を常に監視し、全PEがフェーズの処理を終了したこと
を確認した後、フェーズ移行指示を全PEに同時に発信
することにより、同期をとることができる6 (2)同期専用線を用いた同期方式 これはPE台数分の入力を待ち、入力の論理積を計算し
て出力する回路を設けるとへもに、同期要求出力と同期
検出入力を持った同期制御回路を各PE内に設け、各P
Eの同期要求出力を同期要求線により論理積計算回路の
入力に接続すると\もに該論理積計算回路の出力を同期
検出線により全PEの同期検出入力に接続し、同期制御
回路は自PEがフェーズ処理を終了した時に、自PEの
CPUをホールドするとへもに同期要求線にフェーズ処
理終了を示す信号を出力し、その後、同期検出線を監視
して、全PEのフェーズ処理が終了して同期検出線がア
クティブになった時点でCPUのホールドを解除するこ
とにより、PEを同期させて次のフェーズの処理に移行
させる方式である。
と全てのPE501とを同期制御線504により接続し
、該同期監視用プロセッサ502が各PE501の状態
を常に監視し、全PEがフェーズの処理を終了したこと
を確認した後、フェーズ移行指示を全PEに同時に発信
することにより、同期をとることができる6 (2)同期専用線を用いた同期方式 これはPE台数分の入力を待ち、入力の論理積を計算し
て出力する回路を設けるとへもに、同期要求出力と同期
検出入力を持った同期制御回路を各PE内に設け、各P
Eの同期要求出力を同期要求線により論理積計算回路の
入力に接続すると\もに該論理積計算回路の出力を同期
検出線により全PEの同期検出入力に接続し、同期制御
回路は自PEがフェーズ処理を終了した時に、自PEの
CPUをホールドするとへもに同期要求線にフェーズ処
理終了を示す信号を出力し、その後、同期検出線を監視
して、全PEのフェーズ処理が終了して同期検出線がア
クティブになった時点でCPUのホールドを解除するこ
とにより、PEを同期させて次のフェーズの処理に移行
させる方式である。
第7図はその構成図で、701はPEであり、中央処理
装置(CPU)702、同期制御回路703およびホー
ルド制御線704から構成される。
装置(CPU)702、同期制御回路703およびホー
ルド制御線704から構成される。
こNで、CPU702は、外部からの信号により一時的
に処理を停止するためのホールド信号入力を備えている
。ホールド制御線704は同期制御回路703のホール
ド信号出力とC:PU702のホールド入力とを接続し
ており、同期制御回路703が該同期制御線704をア
クティブにする事により自PE内のCPU702をホー
ルド状態にする事ができる。705は同期要求線であり
、706は論理積計算回路である。同期要求線705は
、同期制御回路703の同期要求信号出力と論理積計算
回路706の入力とを接続している。707は同期検出
線であり、論理積計算回路706の出力と同期制御回路
703の同期検出信号入力とを接続している。各PE7
01の同期制御回路703から出力された同期要求信号
は、同期要求線705により論理積計算回路706に入
力され、該論理積計算回路706により全PEの同期要
求信号の論理積が計算され、計算結果にあたる出力信号
が同期検出線707により各PE701の同期制御回路
703に入力される。
に処理を停止するためのホールド信号入力を備えている
。ホールド制御線704は同期制御回路703のホール
ド信号出力とC:PU702のホールド入力とを接続し
ており、同期制御回路703が該同期制御線704をア
クティブにする事により自PE内のCPU702をホー
ルド状態にする事ができる。705は同期要求線であり
、706は論理積計算回路である。同期要求線705は
、同期制御回路703の同期要求信号出力と論理積計算
回路706の入力とを接続している。707は同期検出
線であり、論理積計算回路706の出力と同期制御回路
703の同期検出信号入力とを接続している。各PE7
01の同期制御回路703から出力された同期要求信号
は、同期要求線705により論理積計算回路706に入
力され、該論理積計算回路706により全PEの同期要
求信号の論理積が計算され、計算結果にあたる出力信号
が同期検出線707により各PE701の同期制御回路
703に入力される。
第8図はPE台数が3の場合を例とした動作概要図であ
り、時刻とへもに動作が左から右へと推移する。第8図
において、801は各PEの動作であり、802はj番
目のフェーズの処理、803はフェーズ処理終了を同期
制御回路703に通知する同期要求処理、804は同期
制御回路703によってCPU702がホールドされて
いるホールド状態、805は次のフェーズの処理である
。
り、時刻とへもに動作が左から右へと推移する。第8図
において、801は各PEの動作であり、802はj番
目のフェーズの処理、803はフェーズ処理終了を同期
制御回路703に通知する同期要求処理、804は同期
制御回路703によってCPU702がホールドされて
いるホールド状態、805は次のフェーズの処理である
。
806は同期要求線705および同期検出線7゜7の信
号レベルを示しており、807は各PEの同期要求[7
05の信号レベル、808は同期検出線707の信号レ
ベルを示している。
号レベルを示しており、807は各PEの同期要求[7
05の信号レベル、808は同期検出線707の信号レ
ベルを示している。
いま、j番目のフェーズ処理が終了すると、該PE70
1のCPU702は同期制御回路703に対して処理終
了を通知する。該通知を受取った同期制御回路703は
、自PEの同期要求線705をアクテ、イブにするとへ
もにホールド制御線704をアクティブにしてCPU7
02をホールド状態にし、その後、同期検出線707を
監視する。
1のCPU702は同期制御回路703に対して処理終
了を通知する。該通知を受取った同期制御回路703は
、自PEの同期要求線705をアクテ、イブにするとへ
もにホールド制御線704をアクティブにしてCPU7
02をホールド状態にし、その後、同期検出線707を
監視する。
同期検出線707は、全PE701の同期要求信号の論
Mi積にあたるため、全PE701の同期要求線705
がアクティブになったときにのみアクティブとなり、そ
れ以外の場合は非アクティブとなる。すなわち、全ての
PE701がj番目のフェーズ処理を終了した時点で、
同期検出線707はアクティブになる。該同期検出線7
07がアクティブになると、各PE701の同期制御回
路703は同期要求lX705を非アクティブに戻すと
\もにホールド制御、17.704を非アクティブにし
てCPU702のホールド状態を解除する。ホールドが
解除されたCPU702は、次のフェーズの処理を開始
する。
Mi積にあたるため、全PE701の同期要求線705
がアクティブになったときにのみアクティブとなり、そ
れ以外の場合は非アクティブとなる。すなわち、全ての
PE701がj番目のフェーズ処理を終了した時点で、
同期検出線707はアクティブになる。該同期検出線7
07がアクティブになると、各PE701の同期制御回
路703は同期要求lX705を非アクティブに戻すと
\もにホールド制御、17.704を非アクティブにし
てCPU702のホールド状態を解除する。ホールドが
解除されたCPU702は、次のフェーズの処理を開始
する。
このように、各PE701内の同期制御回路703が、
フェーズ処理終了時点でCPU702をホールドすると
\もに同期要求線705を介して処理終了を通知し合い
、その後、同期検出線707を監視することにより全P
Eのフェーズ処理終了を検出し、その時点でCPUホー
ルドを解除してPE701を次のフェーズ処理に移行さ
せることにより、同期をとることができる。
フェーズ処理終了時点でCPU702をホールドすると
\もに同期要求線705を介して処理終了を通知し合い
、その後、同期検出線707を監視することにより全P
Eのフェーズ処理終了を検出し、その時点でCPUホー
ルドを解除してPE701を次のフェーズ処理に移行さ
せることにより、同期をとることができる。
従来技術において、同期監視プロセッサを用いる方式で
は、同期監視用プロセッサや同期制御線を設ける必要が
あるため、ハードウェア量が増大するという問題がある
。また、同期監視用プロセッサはその機能上、構成や接
続インタフェースが他のPEと異なったものとするため
、別途に設計する必要があり、システムの設計に要する
時間が増大するという問題がある。
は、同期監視用プロセッサや同期制御線を設ける必要が
あるため、ハードウェア量が増大するという問題がある
。また、同期監視用プロセッサはその機能上、構成や接
続インタフェースが他のPEと異なったものとするため
、別途に設計する必要があり、システムの設計に要する
時間が増大するという問題がある。
また、同期専用線を用いる方式では、同期要求線および
同期検出線を別途に設ける必要があるため、PE間の接
続が複雑になるという問題がある。
同期検出線を別途に設ける必要があるため、PE間の接
続が複雑になるという問題がある。
また、同期待ち時にCPUをホールドするため、より優
先的に処理されるべき緊急の仕事、例えば電源異常時の
レジスタ待避処理やタイマ割込みによる内部時計の更新
処理等が発生しても、これを処理できないという問題が
ある。
先的に処理されるべき緊急の仕事、例えば電源異常時の
レジスタ待避処理やタイマ割込みによる内部時計の更新
処理等が発生しても、これを処理できないという問題が
ある。
本発明の目的は、マルチプロセッサシステムにおいて、
同期監視プロセッサ等、大規模なハードウェアや同期専
用の信号線の追加を必要とする事なく、かつ、同期待ち
期間にもPE内のCPUをホールドせず、より緊急度の
高い仕事が発生した時にその仕事を処理することが可能
な同期方式を提供することにある。
同期監視プロセッサ等、大規模なハードウェアや同期専
用の信号線の追加を必要とする事なく、かつ、同期待ち
期間にもPE内のCPUをホールドせず、より緊急度の
高い仕事が発生した時にその仕事を処理することが可能
な同期方式を提供することにある。
上記目的を達成するため1本発明においては、各PE内
に、PEが同期待ち状態にあるか否かを示すPE状態フ
ラグを全PEについて設け、各PEでは、その全PEの
PE状態フラグをフェーズ処理の初期化でリセットして
おき、該フェーズの処理を終了すると、自PE内の自P
Eに対応するPE状態フラグをセットすると共に通信手
段を介して全PEに該フェーズ処理終了を通知し、且つ
、他PEからフェーズ処理終了を受信すると、自PE内
の当該PEに対応するPE状態フラグをセットシ、全P
Eに対応するPE状態フラグが全てセット状態をとると
次のフェーズの処理に移行することを特徴とする。
に、PEが同期待ち状態にあるか否かを示すPE状態フ
ラグを全PEについて設け、各PEでは、その全PEの
PE状態フラグをフェーズ処理の初期化でリセットして
おき、該フェーズの処理を終了すると、自PE内の自P
Eに対応するPE状態フラグをセットすると共に通信手
段を介して全PEに該フェーズ処理終了を通知し、且つ
、他PEからフェーズ処理終了を受信すると、自PE内
の当該PEに対応するPE状態フラグをセットシ、全P
Eに対応するPE状態フラグが全てセット状態をとると
次のフェーズの処理に移行することを特徴とする。
各PE内に同期用レジスタを設け、該レジスタの各ビッ
トを各PEに対応させてPE状態フラグとする。各PE
はフェーズ処理の初期化時に該PE状態フラグを全てリ
セットでおく、あるPEにおいて該フェーズの処理を終
了すると、該PEは自問期用レジスタ内の自PEに対応
するPE状態フラグをセットすると共に全PEにフェー
ズ処理終了を通知する。該終了通知を受信したPEは。
トを各PEに対応させてPE状態フラグとする。各PE
はフェーズ処理の初期化時に該PE状態フラグを全てリ
セットでおく、あるPEにおいて該フェーズの処理を終
了すると、該PEは自問期用レジスタ内の自PEに対応
するPE状態フラグをセットすると共に全PEにフェー
ズ処理終了を通知する。該終了通知を受信したPEは。
自問期用レジスタ内の通知元に対応するPE状態フラグ
をセットする。同時に各PEでは自問期用レジスタ内の
全てのPE状態フラグがセットされているか否かをチエ
ツクして、セットされていないフラグが一つでもあれば
、直前の処理(同期待ち状態を含む)を継続し、すべて
のフラグがセットされていれば、全PEのフェーズ処理
が終了したとみなして、次のフェーズの処理に移行する
。
をセットする。同時に各PEでは自問期用レジスタ内の
全てのPE状態フラグがセットされているか否かをチエ
ツクして、セットされていないフラグが一つでもあれば
、直前の処理(同期待ち状態を含む)を継続し、すべて
のフラグがセットされていれば、全PEのフェーズ処理
が終了したとみなして、次のフェーズの処理に移行する
。
これにより、各PEがおのおの独立に全PEの処理進行
状況を把握し、全PEのフェーズ処理終了を各PEが各
々独立に検出して次のフェーズ処理に移行することがで
きる。また、全てのPE状態フラグがセットされていな
ければ、該PEが同期待ち期間であってもCPUをホー
ルドせず、より緊急度の高い仕事が発生したときにそれ
を処理することが可能となる。
状況を把握し、全PEのフェーズ処理終了を各PEが各
々独立に検出して次のフェーズ処理に移行することがで
きる。また、全てのPE状態フラグがセットされていな
ければ、該PEが同期待ち期間であってもCPUをホー
ルドせず、より緊急度の高い仕事が発生したときにそれ
を処理することが可能となる。
以下、本発明の一実施例について図面により説明する。
第1図は本発明の第1の実施例の構成図で、任意のPE
から全PEに同一のデータを同時に転送できる放送機能
を備えたバス結合型マルチプロセッサシステムを対象と
した場合を示したものである0図中、101はPEであ
り、少なくともcpU102.同期用レジスタ1o3.
バス・インタフェース104から構成される。105は
システム・バスであり、あるPEから全PHに対して同
一のデータを同時に転送する事ができる放送機能を備え
ている。CPU102は、バス・インタフェース104
を経由してシステム・バス105に対する読出しおよび
書込みを行うことにより、他のPEとデータを交換する
事ができる。
から全PEに同一のデータを同時に転送できる放送機能
を備えたバス結合型マルチプロセッサシステムを対象と
した場合を示したものである0図中、101はPEであ
り、少なくともcpU102.同期用レジスタ1o3.
バス・インタフェース104から構成される。105は
システム・バスであり、あるPEから全PHに対して同
一のデータを同時に転送する事ができる放送機能を備え
ている。CPU102は、バス・インタフェース104
を経由してシステム・バス105に対する読出しおよび
書込みを行うことにより、他のPEとデータを交換する
事ができる。
同期用レジスタ103の各ビットはシステムを構成する
各PEが同期待ち状態にあるか否かを示すPE状態フラ
グとして用いられる。こ〜では、同期用レジスタ101
は独立したモジュールとして表されているが、このこと
は本発明において本質的に規定されるものではなく、バ
ス・インタフェース104内に設けても良いし、CPU
102の内部レジスタやメモリの一部を該PE状態レジ
スタとして用いても良い。
各PEが同期待ち状態にあるか否かを示すPE状態フラ
グとして用いられる。こ〜では、同期用レジスタ101
は独立したモジュールとして表されているが、このこと
は本発明において本質的に規定されるものではなく、バ
ス・インタフェース104内に設けても良いし、CPU
102の内部レジスタやメモリの一部を該PE状態レジ
スタとして用いても良い。
第2図は本実施例においてPE台数が3の場合の動作概
要図である。図中、201は各PEl01 (PEI、
PE2.PE3)の動作を示し1時間と\もに図の左か
ら右へ推移する。202はj番目のフェーズ処理であり
、203はフェーズ処理202が終了した直後に実行さ
れるフェーズ処理終了通知処理である。このフェーズ処
理終了通知処理203は、フェーズ処理が終了したこと
を全PEに通知する処理であり、放送機能を利用して処
理終了メツセージを全PEに転送する。204は自PE
を含むいずれかのPEがフェーズ処理終了通知を発行し
た直後に実行されるPE状態フラグ更新・チエツク処理
であり、処理終了通知を発行したPEに対応するPE状
態フラグをセットしく図では′1”)、その後、全ての
PE状態フラグがセットされているか否かをチエツクし
、PE状態フラグが全てセットされていれば自PEを次
のフェーズの処理に移行させる。205は、自PEがフ
ェーズ処理を終了した後、他の全てのPEがフェーズ処
理を終了するまで、すなわちPE状態フラグが全てセッ
トされるまで、待ち合わせる同期待ち状態であり、該同
期待ち状態時に、より緊急度の高い仕事の発生を監視す
る様にプログラムを構成すれば、緊急の仕事が発生した
時点で、該仕事を処理することができる。206はj+
1番目のフェーズの処理であり、PE状態フラグ更新・
チエツク処理204において、全てのPE状態フラグが
セットされた状態が検出された後、実行される。2o7
は同期用レジスタ103の内容を表しており、各ビット
が、左から順にPEI。
要図である。図中、201は各PEl01 (PEI、
PE2.PE3)の動作を示し1時間と\もに図の左か
ら右へ推移する。202はj番目のフェーズ処理であり
、203はフェーズ処理202が終了した直後に実行さ
れるフェーズ処理終了通知処理である。このフェーズ処
理終了通知処理203は、フェーズ処理が終了したこと
を全PEに通知する処理であり、放送機能を利用して処
理終了メツセージを全PEに転送する。204は自PE
を含むいずれかのPEがフェーズ処理終了通知を発行し
た直後に実行されるPE状態フラグ更新・チエツク処理
であり、処理終了通知を発行したPEに対応するPE状
態フラグをセットしく図では′1”)、その後、全ての
PE状態フラグがセットされているか否かをチエツクし
、PE状態フラグが全てセットされていれば自PEを次
のフェーズの処理に移行させる。205は、自PEがフ
ェーズ処理を終了した後、他の全てのPEがフェーズ処
理を終了するまで、すなわちPE状態フラグが全てセッ
トされるまで、待ち合わせる同期待ち状態であり、該同
期待ち状態時に、より緊急度の高い仕事の発生を監視す
る様にプログラムを構成すれば、緊急の仕事が発生した
時点で、該仕事を処理することができる。206はj+
1番目のフェーズの処理であり、PE状態フラグ更新・
チエツク処理204において、全てのPE状態フラグが
セットされた状態が検出された後、実行される。2o7
は同期用レジスタ103の内容を表しており、各ビット
が、左から順にPEI。
PE2.PE3に対応するPE状態フラグになっている
。ニーで、“0′″はフラグがクリアされた状態、すな
わち対応するPEがフェーズ処理中であることを表して
おり、′1”はフラグがセットされた状態、すなわち対
応するPEのフェーズ処理が終了した状態であることを
表している。
。ニーで、“0′″はフラグがクリアされた状態、すな
わち対応するPEがフェーズ処理中であることを表して
おり、′1”はフラグがセットされた状態、すなわち対
応するPEのフェーズ処理が終了した状態であることを
表している。
各PEl0Iは、j番目のフェーズ処理202が終了す
るとフェーズ処理終了通知処理203を実行し、バス・
インタフェース102を介し、フェーズ処理終了のメツ
セージをシステム・バス105の放送機能を用いて全P
Eに転送する。こ−で、該メツセージは少なくとも、メ
ツセージがフェーズ処理終了通知であるという印とPE
の番号から構成される。その後、PE状態フラグ更新・
チエツク処理204を実行して、同期用レジスタ103
の自PEに対応するPE状態フラグをセットし、次に全
てのPE状態フラグをチエツクする。
るとフェーズ処理終了通知処理203を実行し、バス・
インタフェース102を介し、フェーズ処理終了のメツ
セージをシステム・バス105の放送機能を用いて全P
Eに転送する。こ−で、該メツセージは少なくとも、メ
ツセージがフェーズ処理終了通知であるという印とPE
の番号から構成される。その後、PE状態フラグ更新・
チエツク処理204を実行して、同期用レジスタ103
の自PEに対応するPE状態フラグをセットし、次に全
てのPE状態フラグをチエツクする。
こ〜で、もし同期用レジスタ103の全てのフラグがセ
ットされていれば、全PEがj番目のフェーズ処理を終
了したことになるため、j+1番目のフェーズ、すなわ
ち次のフェーズの処理206を開始する。全てのフラグ
がセットされていない時には、未だj番目のフェーズの
処理を終了していないPEが存在していることになり、
同期待ち状態205にはいる。また、フェーズ処理終了
通知が発行されると1発信元PE以外のPEもフラグ更
新・チエツク処理204を実行し、同期用レジスタ10
3の発信元PEに対応するPE状態フラグをたて、全て
のPE状態フラグがセットされているか否かをチエツク
し、全てのフラグがセットされていれば次のフェーズの
処理に移行する。
ットされていれば、全PEがj番目のフェーズ処理を終
了したことになるため、j+1番目のフェーズ、すなわ
ち次のフェーズの処理206を開始する。全てのフラグ
がセットされていない時には、未だj番目のフェーズの
処理を終了していないPEが存在していることになり、
同期待ち状態205にはいる。また、フェーズ処理終了
通知が発行されると1発信元PE以外のPEもフラグ更
新・チエツク処理204を実行し、同期用レジスタ10
3の発信元PEに対応するPE状態フラグをたて、全て
のPE状態フラグがセットされているか否かをチエツク
し、全てのフラグがセットされていれば次のフェーズの
処理に移行する。
こNで、第2図かられかるように、フラグ更新・チエツ
ク処理204は、PE 101がフェーズ処理中であっ
ても、同期待状態であっても実行される必要がある。こ
れを実現するための方法は本発明では特に規定しないが
、バス・インタフェース104にCPU102への割込
み機能を持たせ。
ク処理204は、PE 101がフェーズ処理中であっ
ても、同期待状態であっても実行される必要がある。こ
れを実現するための方法は本発明では特に規定しないが
、バス・インタフェース104にCPU102への割込
み機能を持たせ。
バス・インタフェース104がメツセージを受信すると
同時にCPUO2に割込みをかけ、CPU102は割込
み処理として該処理を実行する方法。
同時にCPUO2に割込みをかけ、CPU102は割込
み処理として該処理を実行する方法。
あるいは、メツセージを分析してフラグをセットする回
路および全フラグがセットされているか否かをチエツク
する回路をバス・インタフェース104内に設け、CP
U102が関与せずにフラグ更新・チエツクを行う方法
などが考えられる。
路および全フラグがセットされているか否かをチエツク
する回路をバス・インタフェース104内に設け、CP
U102が関与せずにフラグ更新・チエツクを行う方法
などが考えられる。
この様に、各PE101がフェーズの処理を終了した時
に処理終了通知を放送機能を用いて全PEに通知し、処
理終了通知を受信したPEは、通知発信元に対応するP
E状態フラグをセットするとへもに全てのPE状態フラ
グがセットされているか否かをチエツクすることにより
、各PEが独立に全PEの処理終了を検出して同期をと
ることができる。
に処理終了通知を放送機能を用いて全PEに通知し、処
理終了通知を受信したPEは、通知発信元に対応するP
E状態フラグをセットするとへもに全てのPE状態フラ
グがセットされているか否かをチエツクすることにより
、各PEが独立に全PEの処理終了を検出して同期をと
ることができる。
第3図は本発明の第2の実施例の構成図で、ネットワー
ク結合がリング結合型のマルチプロセッサシステムを対
象とした場合を示したものである。
ク結合がリング結合型のマルチプロセッサシステムを対
象とした場合を示したものである。
図中、301はPEであり、少なくもCPU302、同
期レジスタ303、ネットワーク・インタフェース30
4から構成される。こへでも、同期用レジスタ303の
各ビットは、システムを構成する各PEが同期待ち状態
にあるか否かを示すPE状態フラグとして用いられる。
期レジスタ303、ネットワーク・インタフェース30
4から構成される。こへでも、同期用レジスタ303の
各ビットは、システムを構成する各PEが同期待ち状態
にあるか否かを示すPE状態フラグとして用いられる。
ネットワーク・インタフェース305は1通信入力と通
信出力をおのおの一つずつ持ち、各PEの通信出力は他
のPEの通信入力と通信線305により接続されて、シ
ステム全体としてリングを形成している。したがって、
各PE301は通信線305により接続されたPE(こ
れを隣接PEと呼ぶ)に対して直接データを転送するこ
とができる。また、隣接PE以外のあらゆるPEに対し
ても、いくつかのPEを中継機として用いることで、デ
ータを転送することができる。二Nで、中継機能の実現
方法は本発明で本質的に規定されるものではなく、ネッ
トワーク・インタフェース内に中継機を組込む方法、あ
るいはCPUにプログラムとして中継制御ルーチンを組
込む方法等が考えられる。また、同期用レジスタ303
は第1図のバス結合型の場合と同様に、独立したモジュ
ールである必要はなく、バス・インタフェース内に設け
ても良いし、CPU内部のレジスタやメモリの一部を該
PE状態レジスタとして用いても良い。
信出力をおのおの一つずつ持ち、各PEの通信出力は他
のPEの通信入力と通信線305により接続されて、シ
ステム全体としてリングを形成している。したがって、
各PE301は通信線305により接続されたPE(こ
れを隣接PEと呼ぶ)に対して直接データを転送するこ
とができる。また、隣接PE以外のあらゆるPEに対し
ても、いくつかのPEを中継機として用いることで、デ
ータを転送することができる。二Nで、中継機能の実現
方法は本発明で本質的に規定されるものではなく、ネッ
トワーク・インタフェース内に中継機を組込む方法、あ
るいはCPUにプログラムとして中継制御ルーチンを組
込む方法等が考えられる。また、同期用レジスタ303
は第1図のバス結合型の場合と同様に、独立したモジュ
ールである必要はなく、バス・インタフェース内に設け
ても良いし、CPU内部のレジスタやメモリの一部を該
PE状態レジスタとして用いても良い。
第4図は本実施例のPE台数が3の場合の動作概要図で
ある0図中、401は各PE301の動作を示し、時間
とへもに図の左から右へ推移する。
ある0図中、401は各PE301の動作を示し、時間
とへもに図の左から右へ推移する。
402はj番目のフェーズ処理であり、403はフェー
ズ処理402が終了した直後に実行されるフェーズ処理
終了通知処理である。404はPE状態フラグ更新・チ
エツク処理であり、処理終了通知を発行したPEに対応
するPE状態フラグをセットし、その後、全てのPE状
態フラグがセットされている否かをチエツクし、PE状
態フラグが全てセットされていれば自PEを次のフェー
ズの処理に移行させる。405は自PEがフェーズ処理
を終了した後、他の全てのPEがフェーズ処理を終了す
るまで待ち合わせる同期待ち状態である。406はj+
1番目のフェーズの処理であり。
ズ処理402が終了した直後に実行されるフェーズ処理
終了通知処理である。404はPE状態フラグ更新・チ
エツク処理であり、処理終了通知を発行したPEに対応
するPE状態フラグをセットし、その後、全てのPE状
態フラグがセットされている否かをチエツクし、PE状
態フラグが全てセットされていれば自PEを次のフェー
ズの処理に移行させる。405は自PEがフェーズ処理
を終了した後、他の全てのPEがフェーズ処理を終了す
るまで待ち合わせる同期待ち状態である。406はj+
1番目のフェーズの処理であり。
PE状態フラグ更新・チエツク処理404において、全
てのPE状態フラグがセットされた状態が検出された後
、実行される。407は同期用レジスタ303の内容を
表しており、各ビットが左から順にPEI、PE2.P
E3に対応するPE状態フラグになっている。こ\で、
パ0”はフラグがクリアされた状態、すなわち対応する
PEがフェーズ処理中であることを表しており 111
I+はフラグがセットされた状態、すなわち対応する
PEのフェーズ処理が終了した状態であることを表して
いる。
てのPE状態フラグがセットされた状態が検出された後
、実行される。407は同期用レジスタ303の内容を
表しており、各ビットが左から順にPEI、PE2.P
E3に対応するPE状態フラグになっている。こ\で、
パ0”はフラグがクリアされた状態、すなわち対応する
PEがフェーズ処理中であることを表しており 111
I+はフラグがセットされた状態、すなわち対応する
PEのフェーズ処理が終了した状態であることを表して
いる。
本実施例の動作は、前述の第1の実施例のバス結合型の
場合と本質的に同一であるが、放送機能を持たないため
、フェーズ処理終了通知を全PEに転送するのに前述の
中継機能を利用している。
場合と本質的に同一であるが、放送機能を持たないため
、フェーズ処理終了通知を全PEに転送するのに前述の
中継機能を利用している。
すなわち、フェーズ処理終了通知を受信したPE301
は、PE状態フラグ更新・チエツク処理を実行すると−
もに、隣接PEに対して同一のフェーズ処理終了メツセ
ージを中継する。この様にする事で、リング状に接続さ
れたネットワークを通知メツセージが順次転送され、全
てのPE301にフェーズ処理の終了を通知することが
できる。
は、PE状態フラグ更新・チエツク処理を実行すると−
もに、隣接PEに対して同一のフェーズ処理終了メツセ
ージを中継する。この様にする事で、リング状に接続さ
れたネットワークを通知メツセージが順次転送され、全
てのPE301にフェーズ処理の終了を通知することが
できる。
このように、ネットワーク結合を対象とした場合には、
放送機能を備えたマルチプロセッサシステムの場合と異
なり、フェーズ処理の終了を各PEが中継して順次通知
するため、各フェーズの処理の開始は完全には同時にな
らない。しかし、どのPEも、最後にフェーズ処理が終
了したPEの発した通知を受信してから次フェーズの処
理に移行するため、全てのPEでのフェーズ処理が終了
したのちに次フェーズの処理に移行するという同期動作
は保証されている。
放送機能を備えたマルチプロセッサシステムの場合と異
なり、フェーズ処理の終了を各PEが中継して順次通知
するため、各フェーズの処理の開始は完全には同時にな
らない。しかし、どのPEも、最後にフェーズ処理が終
了したPEの発した通知を受信してから次フェーズの処
理に移行するため、全てのPEでのフェーズ処理が終了
したのちに次フェーズの処理に移行するという同期動作
は保証されている。
以上、放送機能を備えたバス結合型マルチプロセッサシ
ステムおよびリング結合型マルチプロセッサシステムを
対象として本発明の詳細な説明したが、本発明の実施対
象となるマルチプロセッサシステムは1本質的に、以上
の2例に制限されるものではなく、任意のPE間の通信
手段を備えていれば、いかなる結合形態のシステムでも
良い。
ステムおよびリング結合型マルチプロセッサシステムを
対象として本発明の詳細な説明したが、本発明の実施対
象となるマルチプロセッサシステムは1本質的に、以上
の2例に制限されるものではなく、任意のPE間の通信
手段を備えていれば、いかなる結合形態のシステムでも
良い。
以上説明したように1本発明によれば、各PE内に同期
用レジスタを設けて、それぞれ全PEのPE状態フラグ
として用い、フェーズ処理の終了通知を既設の通信手段
を利用して行い、フェーズ処理終了が通知されたときに
通知元PEに対応するPE状態フラグを更新した後、全
PE状態フラグがセットされているかチエツクすること
により各PEが独立に全PEのフェーズ処理終了を検出
するため、PEの処理状況を監視する同期用プロセッサ
等の大規模な専用ハードウェアや同期専用の制御線を必
要とせず、かつ、同期待ち時にCPUをホールドする必
要もないため、より緊急度の高い仕事が発生した場合に
、該緊急の仕事の処理が可能な同期方式を提供すること
ができる。
用レジスタを設けて、それぞれ全PEのPE状態フラグ
として用い、フェーズ処理の終了通知を既設の通信手段
を利用して行い、フェーズ処理終了が通知されたときに
通知元PEに対応するPE状態フラグを更新した後、全
PE状態フラグがセットされているかチエツクすること
により各PEが独立に全PEのフェーズ処理終了を検出
するため、PEの処理状況を監視する同期用プロセッサ
等の大規模な専用ハードウェアや同期専用の制御線を必
要とせず、かつ、同期待ち時にCPUをホールドする必
要もないため、より緊急度の高い仕事が発生した場合に
、該緊急の仕事の処理が可能な同期方式を提供すること
ができる。
第1図は放送機能を備えたバス結合型マルチプロセッサ
システムを対象とした本発明の第1の実施例における構
成図、第2図は該実施例における動作概要図、第3図は
リング結合型マルチプロセッサシステムを対象とした本
発明の第二の実施例における構成図、第4図は該実施例
における動作概要図、第5図は従来の同期監視用プロセ
ッサを用いた同期方式における構成図、第6図は該同期
方式における動作概要図、第7図は従来の同期専用線を
用いた同期方式における構成図、第8図は該方式におけ
る動作概要図である。 101.103・・プロセッシングエレメント(PE)
。 102.302・・・CPU、 103.303・・・同期用レジスタ、104.304
・・・バス/ネットワーク・インタフェース、105.
305・・・システム・バス/通信線。 第5図
システムを対象とした本発明の第1の実施例における構
成図、第2図は該実施例における動作概要図、第3図は
リング結合型マルチプロセッサシステムを対象とした本
発明の第二の実施例における構成図、第4図は該実施例
における動作概要図、第5図は従来の同期監視用プロセ
ッサを用いた同期方式における構成図、第6図は該同期
方式における動作概要図、第7図は従来の同期専用線を
用いた同期方式における構成図、第8図は該方式におけ
る動作概要図である。 101.103・・プロセッシングエレメント(PE)
。 102.302・・・CPU、 103.303・・・同期用レジスタ、104.304
・・・バス/ネットワーク・インタフェース、105.
305・・・システム・バス/通信線。 第5図
Claims (1)
- (1)複数のプロセッシングエレメント(以下、PEと
いう)およびPE相互の通信手段から構成され、複数の
フェーズからなる処理を各PEが同期をとって実行する
マルチプロセッサシステムにおいて、 各PE内に、PEが同期待ち状態にあるか否かを示すP
E状態フラグを全PEについて設け、各PEは、全PE
のPE状態フラグをフェーズ処理の初期化でリセットし
ておき、該フェーズの処理を終了すると、自PE内の自
PEに対応するPE状態フラグをセットすると共に通信
手段を介して全PEに該フェーズ処理終了を通知し、且
つ、他PEからフェーズ処理終了を受信すると、自PE
内の当該PEに対応するPE状態フラグをセットし、全
PEに対応するPE状態フラグが全てセット状態をとる
と次のフェーズの処理に移行することを特徴とするマル
チプロセッサ同期方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63258575A JPH02105961A (ja) | 1988-10-14 | 1988-10-14 | マルチプロセッサ同期方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63258575A JPH02105961A (ja) | 1988-10-14 | 1988-10-14 | マルチプロセッサ同期方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02105961A true JPH02105961A (ja) | 1990-04-18 |
Family
ID=17322155
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63258575A Pending JPH02105961A (ja) | 1988-10-14 | 1988-10-14 | マルチプロセッサ同期方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02105961A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04260962A (ja) * | 1990-06-14 | 1992-09-16 | Fujitsu Ltd | 並列計算機における同期制御方式 |
| JP2007280313A (ja) * | 2006-04-12 | 2007-10-25 | Yokogawa Electric Corp | 冗長化システム |
| JP2009230590A (ja) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | 分散処理を実行する演算装置とサーバおよび分散処理方法 |
| US8108660B2 (en) | 2008-01-25 | 2012-01-31 | Renesas Electronics Corporation | Multiprocessor system and method of synchronization for multiprocessor system |
| JP2015179409A (ja) * | 2014-03-19 | 2015-10-08 | 株式会社デンソー | データ処理装置 |
| JP2021523438A (ja) * | 2018-05-10 | 2021-09-02 | テラダイン、 インコーポレイテッド | バス同期システム |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6345670A (ja) * | 1986-08-13 | 1988-02-26 | Hitachi Ltd | プロセツサ間同期装置 |
-
1988
- 1988-10-14 JP JP63258575A patent/JPH02105961A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6345670A (ja) * | 1986-08-13 | 1988-02-26 | Hitachi Ltd | プロセツサ間同期装置 |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04260962A (ja) * | 1990-06-14 | 1992-09-16 | Fujitsu Ltd | 並列計算機における同期制御方式 |
| JP2007280313A (ja) * | 2006-04-12 | 2007-10-25 | Yokogawa Electric Corp | 冗長化システム |
| US8108660B2 (en) | 2008-01-25 | 2012-01-31 | Renesas Electronics Corporation | Multiprocessor system and method of synchronization for multiprocessor system |
| JP2009230590A (ja) * | 2008-03-25 | 2009-10-08 | Fujitsu Ltd | 分散処理を実行する演算装置とサーバおよび分散処理方法 |
| JP2015179409A (ja) * | 2014-03-19 | 2015-10-08 | 株式会社デンソー | データ処理装置 |
| JP2021523438A (ja) * | 2018-05-10 | 2021-09-02 | テラダイン、 インコーポレイテッド | バス同期システム |
| JP2024073458A (ja) * | 2018-05-10 | 2024-05-29 | テラダイン、 インコーポレイテッド | バス同期システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5056000A (en) | Synchronized parallel processing with shared memory | |
| JPH02238553A (ja) | マルチプロセツサ・システム | |
| JPH04350758A (ja) | 多重処理能力を備えたワークステーション | |
| EP1675006A2 (en) | Fault tolerant computer system and interrupt control method for the same | |
| CN112363972B (zh) | 支持多cpu间通信的电子设备及方法 | |
| US7379418B2 (en) | Method for ensuring system serialization (quiesce) in a multi-processor environment | |
| EP0502215B1 (en) | Message control system in a data communication system | |
| JPH11312148A (ja) | バリア同期方法及び装置 | |
| JP2780623B2 (ja) | 情報処理装置 | |
| JPH04260962A (ja) | 並列計算機における同期制御方式 | |
| JP2708172B2 (ja) | 並列処理方法 | |
| JPH0318958A (ja) | マルチプロセッサシステム | |
| JP3976958B2 (ja) | 複数のマスタデバイスを有する冗長化装置及びバス制御権切り換え方法 | |
| JPS5913447A (ja) | 分散処理システムの処理方法 | |
| JPH11306037A (ja) | 並列演算処理装置およびその方法 | |
| JP3033722B2 (ja) | マルチプロセッサシステムに於けるtod一致制御装置 | |
| JP2922342B2 (ja) | 割込み制御装置 | |
| SU1068928A1 (ru) | Устройство сопр жени дл однородной вычислительной системы | |
| JPS5844266B2 (ja) | マルチプロセッサの並列動作実行処理方法 | |
| JPH027099B2 (ja) | ||
| JPH0651910A (ja) | 二重化バス装置 | |
| JPH0330044A (ja) | 割込制御方法 | |
| JPS60225269A (ja) | デ−タ転送方式 | |
| JPH05151176A (ja) | 分散処理システムの処理方法 | |
| JPS61131057A (ja) | シリアルi/o方式 |