JPH10171764A - 並列計算機共有メモリの制御方法 - Google Patents
並列計算機共有メモリの制御方法Info
- Publication number
- JPH10171764A JPH10171764A JP32505596A JP32505596A JPH10171764A JP H10171764 A JPH10171764 A JP H10171764A JP 32505596 A JP32505596 A JP 32505596A JP 32505596 A JP32505596 A JP 32505596A JP H10171764 A JPH10171764 A JP H10171764A
- Authority
- JP
- Japan
- Prior art keywords
- command
- memories
- shared memory
- memory
- microprocessor
- 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
【0001】
【発明の属する技術分野】本発明は複数のマイクロプロ
セッサ間で共有する情報を格納するメモリ装置を多重化
し、各々のメモリ装置に複数のバスを接続した並列計算
機に関する。
セッサ間で共有する情報を格納するメモリ装置を多重化
し、各々のメモリ装置に複数のバスを接続した並列計算
機に関する。
【0002】
【従来の技術】並列計算機は複数のマイクロプロセッサ
が一つの処理を並列に実行し、高性能を実現する。この
並列計算機で、複数のマイクロプロセッサは互いに情報
を交換しながら動作する。したがってマイクロプロセッ
サ間で共有する情報を格納するメモリ装置(以下、共有
メモリと呼ぶ)を置く必要がある。
が一つの処理を並列に実行し、高性能を実現する。この
並列計算機で、複数のマイクロプロセッサは互いに情報
を交換しながら動作する。したがってマイクロプロセッ
サ間で共有する情報を格納するメモリ装置(以下、共有
メモリと呼ぶ)を置く必要がある。
【0003】共有メモリおよびその周辺は信頼性,性能
の面で問題になる部分である。すなわち、共有メモリに
マイクロプロセッサのアクセスが集中するために、マイ
クロプロセッサ−共有メモリ間の通信を行うバスの性能
が低い場合、並列計算機システム全体の性能が劣化す
る。また、1本のバスを全マイクロプロセッサ,共有メ
モリで共有する形態をとれば、バス故障の場合、マイク
ロプロセッサが共有メモリの情報を参照できないため並
列計算機システム全体が運転不可能となる。
の面で問題になる部分である。すなわち、共有メモリに
マイクロプロセッサのアクセスが集中するために、マイ
クロプロセッサ−共有メモリ間の通信を行うバスの性能
が低い場合、並列計算機システム全体の性能が劣化す
る。また、1本のバスを全マイクロプロセッサ,共有メ
モリで共有する形態をとれば、バス故障の場合、マイク
ロプロセッサが共有メモリの情報を参照できないため並
列計算機システム全体が運転不可能となる。
【0004】特開平7−244634 号公報では、共有メモリ
(共用メモリ)に接続されるバスを二つとして、バス故
障の場合にも正常なバスを使用して運転を継続し、信頼
性を高めている。また正常時にも、2本のバスが独立に
動作するためにマイクロプロセッサ−共有メモリ間の転
送性能が2倍となり、計算機システム全体の性能も向上
する。
(共用メモリ)に接続されるバスを二つとして、バス故
障の場合にも正常なバスを使用して運転を継続し、信頼
性を高めている。また正常時にも、2本のバスが独立に
動作するためにマイクロプロセッサ−共有メモリ間の転
送性能が2倍となり、計算機システム全体の性能も向上
する。
【0005】
【発明が解決しようとする課題】前記公知例では、バス
は二重化したものの、共有メモリは二重化(各々の共有
メモリには同一の情報を格納する)されていない。共有
メモリ自身が故障した場合、マイクロプロセッサが情報
を交換することが不可能になるため、計算機システム全
体の運転が不可能となる。したがって共有メモリを二重
化することで一方が故障しても、もう一方の共有メモリ
を使用して運転を続行できるようにする必要がある。
は二重化したものの、共有メモリは二重化(各々の共有
メモリには同一の情報を格納する)されていない。共有
メモリ自身が故障した場合、マイクロプロセッサが情報
を交換することが不可能になるため、計算機システム全
体の運転が不可能となる。したがって共有メモリを二重
化することで一方が故障しても、もう一方の共有メモリ
を使用して運転を続行できるようにする必要がある。
【0006】しかし、共有メモリの二重化を実現する上
で大きな問題がある。すなわち、二重化された共有メモ
リ情報の一致性の問題である。バスが一つしかない構成
の場合には、この問題は起こらない。この理由は、共有
メモリに同時にアクセスできるマイクロプロセッサは、
バスの利用権を獲得できたマイクロプロセッサ一つだけ
である。マイクロプロセッサが、二つの共有メモリへの
処理を終了しない限り他のマイクロプロセッサは共有メ
モリにアクセスできない。ゆえに、二つの共有メモリの
内容は一致する。
で大きな問題がある。すなわち、二重化された共有メモ
リ情報の一致性の問題である。バスが一つしかない構成
の場合には、この問題は起こらない。この理由は、共有
メモリに同時にアクセスできるマイクロプロセッサは、
バスの利用権を獲得できたマイクロプロセッサ一つだけ
である。マイクロプロセッサが、二つの共有メモリへの
処理を終了しない限り他のマイクロプロセッサは共有メ
モリにアクセスできない。ゆえに、二つの共有メモリの
内容は一致する。
【0007】一方、バスが二つの場合、共有メモリに同
時にアクセスできるマイクロプロセッサは二つある。こ
れをプロセッサ0とプロセッサ1とする。二つの共有メ
モリを共有メモリ0,共有メモリ1とする。プロセッサ
0は共有メモリ0から共有メモリ1へと書き込みを行
い、プロセッサ1は共有メモリ1から共有メモリ0へと
書き込みを行うものとする。二つのプロセッサの書き込
みが終了したとき、共有メモリ0にはプロセッサ1が書
いた内容が、共有メモリ1にはプロセッサ0が書いた内
容が残る。プロセッサ0,1が書いた内容は異なると
き、構成の並列計算機システムでは共有メモリの内容が
一致しない。
時にアクセスできるマイクロプロセッサは二つある。こ
れをプロセッサ0とプロセッサ1とする。二つの共有メ
モリを共有メモリ0,共有メモリ1とする。プロセッサ
0は共有メモリ0から共有メモリ1へと書き込みを行
い、プロセッサ1は共有メモリ1から共有メモリ0へと
書き込みを行うものとする。二つのプロセッサの書き込
みが終了したとき、共有メモリ0にはプロセッサ1が書
いた内容が、共有メモリ1にはプロセッサ0が書いた内
容が残る。プロセッサ0,1が書いた内容は異なると
き、構成の並列計算機システムでは共有メモリの内容が
一致しない。
【0008】
【課題を解決するための手段】上記課題を解決するため
に本発明の方法では、(1)バスに優先順位を設定し、
共有メモリへの処理要求(コマンド)は上記優先順位を
持つ、(2)多重書き込みコマンドを優先する、という
二つの規則を設定し、各共有メモリは本規則に従って処
理を実行する。
に本発明の方法では、(1)バスに優先順位を設定し、
共有メモリへの処理要求(コマンド)は上記優先順位を
持つ、(2)多重書き込みコマンドを優先する、という
二つの規則を設定し、各共有メモリは本規則に従って処
理を実行する。
【0009】多重書き込みコマンドとはマイクロプロセ
ッサがすべての共有メモリに対し、同一内容を書き込む
コマンドである。
ッサがすべての共有メモリに対し、同一内容を書き込む
コマンドである。
【0010】本方法では、複数のバスに優先順位を付
け、共有メモリへのコマンドは、当該コマンドを伝送し
たバスの優先順位を持つ。多重書き込みコマンドは一つ
のバスで共有メモリに送られるため、多重書き込みコマ
ンドはどの共有メモリ内でも同じ優先順位を持つことに
なる。各共有メモリは、複数のコマンドの中で、上記優
先順位の最も高いものを選択し実行する。本優先順位は
すべての共有メモリで共通であり、上記コマンドの優先
順位はどの共有メモリでも同一であるため、一部の共有
メモリで上記コマンドが実行され、他の一部では実行さ
れないということはない。したがって、共有メモリ間の
情報の一致性が確保できる。
け、共有メモリへのコマンドは、当該コマンドを伝送し
たバスの優先順位を持つ。多重書き込みコマンドは一つ
のバスで共有メモリに送られるため、多重書き込みコマ
ンドはどの共有メモリ内でも同じ優先順位を持つことに
なる。各共有メモリは、複数のコマンドの中で、上記優
先順位の最も高いものを選択し実行する。本優先順位は
すべての共有メモリで共通であり、上記コマンドの優先
順位はどの共有メモリでも同一であるため、一部の共有
メモリで上記コマンドが実行され、他の一部では実行さ
れないということはない。したがって、共有メモリ間の
情報の一致性が確保できる。
【0011】本方式では、マイクロプロセッサが共有メ
モリから情報を読み出すとき、どれか一つの共有メモリ
から読み出せば十分である。この理由は、複数の共有メ
モリには同一内容が格納されているからである。特定の
一つの共有メモリに対する処理要求(以下、一重アクセ
スコマンドという)と多重書き込みコマンドが混在する
場合には、多重書き込みコマンドを優先して実行しなく
てはいけない。なぜなら、一重アクセスコマンドを受け
付けた共有メモリのみ、優先順位(1)に従って、一重
アクセスコマンドが選択され、上記多重アクセスコマン
ドが実行されない場合もあり得るからである。したがっ
て多重アクセスコマンドを一重アクセスコマンドに対し
優先して実行することでこれを防ぐ。このように、上記
規則(1),(2)を設定し、実行することで共有メモリ
間の情報の一致性を確保する。
モリから情報を読み出すとき、どれか一つの共有メモリ
から読み出せば十分である。この理由は、複数の共有メ
モリには同一内容が格納されているからである。特定の
一つの共有メモリに対する処理要求(以下、一重アクセ
スコマンドという)と多重書き込みコマンドが混在する
場合には、多重書き込みコマンドを優先して実行しなく
てはいけない。なぜなら、一重アクセスコマンドを受け
付けた共有メモリのみ、優先順位(1)に従って、一重
アクセスコマンドが選択され、上記多重アクセスコマン
ドが実行されない場合もあり得るからである。したがっ
て多重アクセスコマンドを一重アクセスコマンドに対し
優先して実行することでこれを防ぐ。このように、上記
規則(1),(2)を設定し、実行することで共有メモリ
間の情報の一致性を確保する。
【0012】
【発明の実施の形態】以下、発明の実施の形態を詳細に
説明する。図1に本発明の実施例における並列計算機の
概要を示す。本並列計算機101は複数のマイクロプロ
セッサ102と二つの共有メモリ103,104、マイ
クロプロセッサ102と共有メモリ103,104の間
の通信のための複数のバス105から構成される。バス
はN(Nは2以上の自然数)本接続され、0番から(N
−1)番まで番号付けられているものとする。そして番
号が小さいバスの優先順位が高いものとする。
説明する。図1に本発明の実施例における並列計算機の
概要を示す。本並列計算機101は複数のマイクロプロ
セッサ102と二つの共有メモリ103,104、マイ
クロプロセッサ102と共有メモリ103,104の間
の通信のための複数のバス105から構成される。バス
はN(Nは2以上の自然数)本接続され、0番から(N
−1)番まで番号付けられているものとする。そして番
号が小さいバスの優先順位が高いものとする。
【0013】共有メモリ103,104にはマイクロプ
ロセッサ102間で共有される同一の情報が格納され
る。共有メモリ103,104は情報を記憶するメモリ
モジュール106と、共有メモリを請求項2記載の制御
を行うメモリコントローラ107からなる。また、共有メ
モリ間で通信するための通信線108を持つ。本実施例
では、マイクロプロセッサ102は、共有メモリ10
3,104に処理を要求した場合、共有メモリの終了報
告がくるまで通信に使用したバスを解放しないインター
ロック方式をとる。
ロセッサ102間で共有される同一の情報が格納され
る。共有メモリ103,104は情報を記憶するメモリ
モジュール106と、共有メモリを請求項2記載の制御
を行うメモリコントローラ107からなる。また、共有メ
モリ間で通信するための通信線108を持つ。本実施例
では、マイクロプロセッサ102は、共有メモリ10
3,104に処理を要求した場合、共有メモリの終了報
告がくるまで通信に使用したバスを解放しないインター
ロック方式をとる。
【0014】本発明は、バスの利用方法に依存せず、マ
イクロプロセッサがコマンドを送出した直後にバスを解
放するスプリットトランザクション方式でも実施可能で
ある。また本実施例では、二つの共有メモリの同一内容
に対する読み出し要求も、多重書き込みコマンドと同様
に扱う。これらを本実施例では二重アクセスコマンドと
呼ぶ。
イクロプロセッサがコマンドを送出した直後にバスを解
放するスプリットトランザクション方式でも実施可能で
ある。また本実施例では、二つの共有メモリの同一内容
に対する読み出し要求も、多重書き込みコマンドと同様
に扱う。これらを本実施例では二重アクセスコマンドと
呼ぶ。
【0015】図2に共有メモリの詳細を示す。共有メモ
リ201は、複数のバス202と接続され、情報を格納
するメモリモジュール203とメモリコントローラ20
5からなる。メモリコントローラ205は制御用マイク
ロプロセッサ206と、マイクロプロセッサからのコマ
ンド,メモリ内アドレス,データ(書き込みコマンドの
場合のみ)を格納するアドレスレジスタ204と、マイ
クロプロセッサからの信号の送信が終了したことを記録
する到着確認レジスタ209と、多重書き込みコマンド
確認レジスタ210と、他の共有メモリと通信を行う共
有メモリ通信部211と、通信線212からなる。
リ201は、複数のバス202と接続され、情報を格納
するメモリモジュール203とメモリコントローラ20
5からなる。メモリコントローラ205は制御用マイク
ロプロセッサ206と、マイクロプロセッサからのコマ
ンド,メモリ内アドレス,データ(書き込みコマンドの
場合のみ)を格納するアドレスレジスタ204と、マイ
クロプロセッサからの信号の送信が終了したことを記録
する到着確認レジスタ209と、多重書き込みコマンド
確認レジスタ210と、他の共有メモリと通信を行う共
有メモリ通信部211と、通信線212からなる。
【0016】制御用マイクロプロセッサ206は、メモ
リモジュール203に読み出し,書き込みを行う機能
と、マイクロプロセッサとバス202を介して通信する
公知な機能のほかに、複数のコマンドが競合したときに
調停を行う調停処理部207と、アドレスレジスタ20
4,到着確認レジスタ209を検索するレジスタ検索部
208,共有メモリ間の通信を行う共有メモリ間通信部
210を持つ。調停処理部208の詳細は後に解説す
る。
リモジュール203に読み出し,書き込みを行う機能
と、マイクロプロセッサとバス202を介して通信する
公知な機能のほかに、複数のコマンドが競合したときに
調停を行う調停処理部207と、アドレスレジスタ20
4,到着確認レジスタ209を検索するレジスタ検索部
208,共有メモリ間の通信を行う共有メモリ間通信部
210を持つ。調停処理部208の詳細は後に解説す
る。
【0017】アドレスレジスタ204は接続されたバス
202と同じ番号で番号付けされている。アドレスレジ
スタのデータ構造を図3に示す。最上位ビット301は
コマンドが一重アクセス(一方の共有メモリのみに対す
る読み出し,書き込み処理)かどうか決定する。ビット
の値が0のときは一重アクセス、1のときは二重アクセ
スである。第2番目のビット302は、コマンドが読み
出しか,書き込みかを示すビットである。ビットの値が
0のときは読み出し、1のときは書き込みである。第3
ビット以降のデータ長部303は、転送データ長を格納
する部分である。アドレス,データ部304はメモリの
アドレスと転送データを格納する。
202と同じ番号で番号付けされている。アドレスレジ
スタのデータ構造を図3に示す。最上位ビット301は
コマンドが一重アクセス(一方の共有メモリのみに対す
る読み出し,書き込み処理)かどうか決定する。ビット
の値が0のときは一重アクセス、1のときは二重アクセ
スである。第2番目のビット302は、コマンドが読み
出しか,書き込みかを示すビットである。ビットの値が
0のときは読み出し、1のときは書き込みである。第3
ビット以降のデータ長部303は、転送データ長を格納
する部分である。アドレス,データ部304はメモリの
アドレスと転送データを格納する。
【0018】到着確認レジスタ209のデータ構造を図
4に示す。到着確認レジスタはNビットレジスタであ
る。各ビットは、アドレスレジスタと1対1に対応して
おり、最下位ビットが0番レジスタ、最上位ビットが
(N−1)番レジスタに対応する。ビットが0のとき
は、対応するアドレスレジスタへのコマンド到着未確認
を表し、ビットが1のときは対応するアドレスレジスタ
へのコマンド送信終了確認を表す。マイクロプロセッサ
はコマンド等を送信終了後、到着確認レジスタの対応す
るビットの値を1に設定する。
4に示す。到着確認レジスタはNビットレジスタであ
る。各ビットは、アドレスレジスタと1対1に対応して
おり、最下位ビットが0番レジスタ、最上位ビットが
(N−1)番レジスタに対応する。ビットが0のとき
は、対応するアドレスレジスタへのコマンド到着未確認
を表し、ビットが1のときは対応するアドレスレジスタ
へのコマンド送信終了確認を表す。マイクロプロセッサ
はコマンド等を送信終了後、到着確認レジスタの対応す
るビットの値を1に設定する。
【0019】多重書き込み確認レジスタ210の詳細を
図5に示す。本レジスタはNビットレジスタである。各
ビットはアドレスレジスタと1対1に対応しており、最
下位ビットが0番アドレスレジスタ,最上位ビットが
(N−1)番レジスタに対応する。各ビットの値が1の
ときは、対応するアドレスレジスタに格納されたコマン
ドが他の共有メモリにも到着したか、一重アクセスコマ
ンドである。各ビットの値が0のときは、対応するアド
レスレジスタに格納された二重書き込みコマンドが他の
共有メモリに到着していないことを示す。
図5に示す。本レジスタはNビットレジスタである。各
ビットはアドレスレジスタと1対1に対応しており、最
下位ビットが0番アドレスレジスタ,最上位ビットが
(N−1)番レジスタに対応する。各ビットの値が1の
ときは、対応するアドレスレジスタに格納されたコマン
ドが他の共有メモリにも到着したか、一重アクセスコマ
ンドである。各ビットの値が0のときは、対応するアド
レスレジスタに格納された二重書き込みコマンドが他の
共有メモリに到着していないことを示す。
【0020】メモリコントローラの動作を説明する前
に、本発明の要点であるメモリコントローラの調停処理
部207について解説する。本実施例における調停の規
則は、(1)格納されたアドレスレジスタ番号の小さい
コマンドが優先権を持つ、(2)二重アクセスコマンド
は一重アクセスコマンドに対して優先権を持つ、とす
る。(2)は、本実施例に限ったものではないが、
(1)は優先順位が動的に変化するラウンドロビン方式
などを採用してもよい。ただし、コマンドが到着した時
刻が関係する方式ではいけない。簡明な解説のために
(1)として上記規則を採用した。また、アドレスレジ
スタは接続されたバスと1対1に対応しており、バスに
設定された優先順位と同義である。
に、本発明の要点であるメモリコントローラの調停処理
部207について解説する。本実施例における調停の規
則は、(1)格納されたアドレスレジスタ番号の小さい
コマンドが優先権を持つ、(2)二重アクセスコマンド
は一重アクセスコマンドに対して優先権を持つ、とす
る。(2)は、本実施例に限ったものではないが、
(1)は優先順位が動的に変化するラウンドロビン方式
などを採用してもよい。ただし、コマンドが到着した時
刻が関係する方式ではいけない。簡明な解説のために
(1)として上記規則を採用した。また、アドレスレジ
スタは接続されたバスと1対1に対応しており、バスに
設定された優先順位と同義である。
【0021】調停時の共有メモリの状態を図6,図7に
示す。図6では二つあるアドレスレジスタに2対の二重
アクセスコマンドが格納され、調停に参加しているもの
とする。図中の矢印は、同一のコマンドであることを示
す。共有メモリ0のアドレスレジスタ0と、共有メモリ
1のアドレスレジスタ0には同一のマイクロプロセッサ
から発行された二重アクセスコマンド607,609が
格納されている。共有メモリ0のアドレスレジスタ1と
共有メモリ1のアドレスレジスタ1には同一のマイクロ
プロセッサから発行された二重アクセスコマンド60
8,610が格納されている。二つの共有メモリは独立
に調停を実行するが、調停規則(1)に従って両方のメ
モリのアドレスレジスタ0に格納されたコマンドが選択
され、実行される。この場合同一のコマンドが同時に実
行されるため、情報の不一致が起こらない。
示す。図6では二つあるアドレスレジスタに2対の二重
アクセスコマンドが格納され、調停に参加しているもの
とする。図中の矢印は、同一のコマンドであることを示
す。共有メモリ0のアドレスレジスタ0と、共有メモリ
1のアドレスレジスタ0には同一のマイクロプロセッサ
から発行された二重アクセスコマンド607,609が
格納されている。共有メモリ0のアドレスレジスタ1と
共有メモリ1のアドレスレジスタ1には同一のマイクロ
プロセッサから発行された二重アクセスコマンド60
8,610が格納されている。二つの共有メモリは独立
に調停を実行するが、調停規則(1)に従って両方のメ
モリのアドレスレジスタ0に格納されたコマンドが選択
され、実行される。この場合同一のコマンドが同時に実
行されるため、情報の不一致が起こらない。
【0022】図7では、共有メモリ1のアドレスレジス
タ0に、一重アクセスコマンド608が格納されており、
共有メモリ0と共有メモリ1のアドレスレジスタ1には
同一の二重コマンド707,709が格納されている。
図5と同じく、調停規則(1)に従って実行コマンドを選
択すると、二つの共有メモリは異なるコマンドを実行し
てしまうため、情報の不一致が起こる可能性がある。本
発明では調停規則(2)を導入し、調停で二重アクセスコ
マンド707,709が選択されるようにする。本発明
により、二つの共有メモリは独立に調停を行うものの、
二重アクセスコマンドは同時に実行されるため、情報の
不一致が起こらない。
タ0に、一重アクセスコマンド608が格納されており、
共有メモリ0と共有メモリ1のアドレスレジスタ1には
同一の二重コマンド707,709が格納されている。
図5と同じく、調停規則(1)に従って実行コマンドを選
択すると、二つの共有メモリは異なるコマンドを実行し
てしまうため、情報の不一致が起こる可能性がある。本
発明では調停規則(2)を導入し、調停で二重アクセスコ
マンド707,709が選択されるようにする。本発明
により、二つの共有メモリは独立に調停を行うものの、
二重アクセスコマンドは同時に実行されるため、情報の
不一致が起こらない。
【0023】調停方式では、二重アクセスコマンドが二
つの共有メモリに確実に到着していなければならない。
二重アクセスコマンドが、二つの共有メモリに到着した
ことを確認する方法について説明する。フローチャート
を図8に示す。
つの共有メモリに確実に到着していなければならない。
二重アクセスコマンドが、二つの共有メモリに到着した
ことを確認する方法について説明する。フローチャート
を図8に示す。
【0024】本処理は調停,コマンド実行処理とは非同
期に行われる。
期に行われる。
【0025】ステップ801:スタート。 ステップ802:マイクロプロセッサがコマンド,アド
レス,データ(ライトコマンドの場合)を送信後、送信
終了の信号を送出。 ステップ803:送信終了の信号をメモリコントローラ
が受信すると、到着確認レジスタのビットを1に設定。 ステップ804:ステップ802で送信されたコマンド
を格納したアドレスレジスタを検索。二重アクセスかど
うか判定。一重アクセスならばステップ808へ。 ステップ805:二重アクセスの場合は、通信処理部に
よって、もう一つの共有メモリにコマンド到着を通知。 ステップ806:他の共有メモリからのコマンド到着通
知が来ることを確認。ユーザの設定した時間内に通知が
こなければ、障害が発生したものとする。 ステップ807:多重アクセス確認レジスタのビットを
1に設定。 ステップ808:おわり。
レス,データ(ライトコマンドの場合)を送信後、送信
終了の信号を送出。 ステップ803:送信終了の信号をメモリコントローラ
が受信すると、到着確認レジスタのビットを1に設定。 ステップ804:ステップ802で送信されたコマンド
を格納したアドレスレジスタを検索。二重アクセスかど
うか判定。一重アクセスならばステップ808へ。 ステップ805:二重アクセスの場合は、通信処理部に
よって、もう一つの共有メモリにコマンド到着を通知。 ステップ806:他の共有メモリからのコマンド到着通
知が来ることを確認。ユーザの設定した時間内に通知が
こなければ、障害が発生したものとする。 ステップ807:多重アクセス確認レジスタのビットを
1に設定。 ステップ808:おわり。
【0026】メモリコントローラの調停処理について詳
細に解説する。フローチャートを図9に示す。
細に解説する。フローチャートを図9に示す。
【0027】ステップ901:スタート。 ステップ902:メモリコントローラはレジスタ検索処
理部209により多重アクセス確認レジスタ210を検
索する。 ステップ903:多重アクセス確認レジスタ210で値
が1のビットがあるか検索することで、マイクロプロセ
ッサからのコマンドが到着しているか判定する。1のビ
ットがない場合は何も実行せず、ステップ702に戻
る。 ステップ904:調停を開始する。多重アクセス確認レ
ジスタの内容を変数にコピー。コピーを開始したとき、
到着が確認されたコマンドのみ調停に参加できる。到着
確認レジスタの対応するビットが0のアドレスレジスタ
には書き込みは可能だが、次回からの調停に参加する。 ステップ905:本ステップで調停し、コマンドを選択
する。そして、選択されたコマンドを実行する(詳細
は、図10に示す)。 ステップ906:ステップ906終了後、コマンドを発
行したマイクロプロセッサに終了を報告。 ステップ907:多重アクセス確認レジスタと到着確認
レジスタの、ステップ905で実行したコマンドを格納
したレジスタに対応するビットを0にする。その後、ス
テップ902に戻る。
理部209により多重アクセス確認レジスタ210を検
索する。 ステップ903:多重アクセス確認レジスタ210で値
が1のビットがあるか検索することで、マイクロプロセ
ッサからのコマンドが到着しているか判定する。1のビ
ットがない場合は何も実行せず、ステップ702に戻
る。 ステップ904:調停を開始する。多重アクセス確認レ
ジスタの内容を変数にコピー。コピーを開始したとき、
到着が確認されたコマンドのみ調停に参加できる。到着
確認レジスタの対応するビットが0のアドレスレジスタ
には書き込みは可能だが、次回からの調停に参加する。 ステップ905:本ステップで調停し、コマンドを選択
する。そして、選択されたコマンドを実行する(詳細
は、図10に示す)。 ステップ906:ステップ906終了後、コマンドを発
行したマイクロプロセッサに終了を報告。 ステップ907:多重アクセス確認レジスタと到着確認
レジスタの、ステップ905で実行したコマンドを格納
したレジスタに対応するビットを0にする。その後、ス
テップ902に戻る。
【0028】図9のステップ905の詳細を図10に示
す。
す。
【0029】ステップ1001:ステップ903で到着
が確認されたコマンドを格納したアドレスレジスタを検
索。 ステップ1002:調停に参加したコマンドの中で二重
アクセスコマンドがあるか判定。 ステップ1003:調停に参加したコマンドの中で二重
アクセスコマンドがあった場合、同一プロセッサから発
行された1対のコマンドが選択されなければいけない。
そのため、調停規則(2)により、二重アクセスコマン
ドの中から実行コマンドが選択される。そして、調停規
則(1)に従って、二重アクセスコマンドの中で、最小
番号のアドレスレジスタに格納された二重アクセスコマ
ンドを選択,実行する。 ステップ1004:調停に参加したコマンドの中で一重
アクセスコマンドのみの場合、二つの共有メモリで、実
行するコマンドが異なっていてもよい。したがって調停
規則(1)に従って、最小番号のアドレスレジスタに格
納された一重アクセスコマンドを選択,実行する。
が確認されたコマンドを格納したアドレスレジスタを検
索。 ステップ1002:調停に参加したコマンドの中で二重
アクセスコマンドがあるか判定。 ステップ1003:調停に参加したコマンドの中で二重
アクセスコマンドがあった場合、同一プロセッサから発
行された1対のコマンドが選択されなければいけない。
そのため、調停規則(2)により、二重アクセスコマン
ドの中から実行コマンドが選択される。そして、調停規
則(1)に従って、二重アクセスコマンドの中で、最小
番号のアドレスレジスタに格納された二重アクセスコマ
ンドを選択,実行する。 ステップ1004:調停に参加したコマンドの中で一重
アクセスコマンドのみの場合、二つの共有メモリで、実
行するコマンドが異なっていてもよい。したがって調停
規則(1)に従って、最小番号のアドレスレジスタに格
納された一重アクセスコマンドを選択,実行する。
【0030】
【発明の効果】本発明によって二つの共有メモリの間で
情報の不一致を防ぐことができる。したがって、二重化
された共有メモリと独立動作可能な複数のバスから構成
される信頼性の高い並列計算機共有メモリシステムが実
現できる。また、二つの共有メモリが同期して動作する
機会は通信のみなので、共有メモリはほぼ並列に動作す
ることができる。
情報の不一致を防ぐことができる。したがって、二重化
された共有メモリと独立動作可能な複数のバスから構成
される信頼性の高い並列計算機共有メモリシステムが実
現できる。また、二つの共有メモリが同期して動作する
機会は通信のみなので、共有メモリはほぼ並列に動作す
ることができる。
【図1】本発明の一実施例における並列計算機の概要を
示す説明図。
示す説明図。
【図2】実施例の並列計算機の共有メモリの概要を示す
説明図。
説明図。
【図3】共有メモリのメモリコントローラにおける、ア
ドレスレジスタのデータ構造を示す説明図。
ドレスレジスタのデータ構造を示す説明図。
【図4】共有メモリのメモリコントローラにおける、到
着確認レジスタのデータ構造を示す説明図。
着確認レジスタのデータ構造を示す説明図。
【図5】共有メモリのメモリコントローラの多重アクセ
ス確認レジスタのデータ構造を示す説明図。
ス確認レジスタのデータ構造を示す説明図。
【図6】2対の二重アクセスコマンドが調停に参加した
場合の状態を示すブロック図。
場合の状態を示すブロック図。
【図7】1対の二重アクセスコマンドを一重アクセスコ
マンドが調停に参加した場合の状態を示すブロック図。
マンドが調停に参加した場合の状態を示すブロック図。
【図8】共有メモリ間の通信処理の流れを示したフロー
チャート。
チャート。
【図9】共有メモリコントローラの、複数のコマンドを
調停し、実行する処理の流れを示したフローチャート。
調停し、実行する処理の流れを示したフローチャート。
【図10】図7の調停ステップの詳細を示したフローチ
ャート。
ャート。
101…並列計算機、102…マイクロプロセッサ、1
03…共有メモリ、104…共有メモリ、105…バ
ス、106…メモリモジュール、107…メモリコント
ローラ、108…通信線。
03…共有メモリ、104…共有メモリ、105…バ
ス、106…メモリモジュール、107…メモリコント
ローラ、108…通信線。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 金澤 広 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 田中 淳 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 高本 良史 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内
Claims (3)
- 【請求項1】並列に動作する複数のマイクロプロセッサ
と上記マイクロプロセッサのいずれからも読み書き可能
な複数のメモリが複数のバスにより接続され、上記マイ
クロプロセッサは単一のメモリに対して読み込みコマン
ドおよび書き込みコマンドと、すべてのメモリに同一内
容を書き込む多重書き込みコマンドを有するシステムに
おいて、上記メモリ間の格納データを一致させる方法で
あって、バス毎に優先順位を設定し、上記メモリは上記
複数のマイクロプロセッサからの読み込みおよび書き込
み要求を保持する手段と、上記保持手段に格納された多
重書き込みコマンドの中から最も優先順位が高い要求か
ら順に実行することを特徴とする並列計算機共有メモリ
の制御方法。 - 【請求項2】請求項1において、複数のメモリ間の通信
を行う手段を設け、各メモリは上記通信手段によって、
到着した多重書き込みコマンドが他のメモリすべてに到
着したことを確認し、各メモリは両方のメモリへ到着が
確認された多重書き込みコマンドの中から請求項1記載
の制御方法に従ってコマンドを一つ選択,実行すること
で、二つのメモリ間の情報の一致性を確保する並列計算
機共有メモリの制御方法。 - 【請求項3】請求項2において、特定のメモリに到着し
た多重書き込みコマンドが他のメモリにも到着したこと
をユーザが設定した時間内に確認できない場合には、上
記コマンドを発行したマイクロプロセッサに障害を報告
する並列計算機の制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32505596A JPH10171764A (ja) | 1996-12-05 | 1996-12-05 | 並列計算機共有メモリの制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32505596A JPH10171764A (ja) | 1996-12-05 | 1996-12-05 | 並列計算機共有メモリの制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10171764A true JPH10171764A (ja) | 1998-06-26 |
Family
ID=18172653
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32505596A Pending JPH10171764A (ja) | 1996-12-05 | 1996-12-05 | 並列計算機共有メモリの制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10171764A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008117109A (ja) * | 2006-11-02 | 2008-05-22 | Renesas Technology Corp | 半導体集積回路装置 |
-
1996
- 1996-12-05 JP JP32505596A patent/JPH10171764A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008117109A (ja) * | 2006-11-02 | 2008-05-22 | Renesas Technology Corp | 半導体集積回路装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3657428B2 (ja) | 記憶制御装置 | |
| US5978879A (en) | Bus bridge apparatus | |
| US20010051994A1 (en) | Computer system and a data transfer method thereof | |
| JP5439808B2 (ja) | 複数バスを有するシステムlsi | |
| JPH06131244A (ja) | 共有メモリの非同期アクセス方式 | |
| US5754802A (en) | Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation | |
| JPH10171764A (ja) | 並列計算機共有メモリの制御方法 | |
| JP2813182B2 (ja) | マルチプロセッサコンピュータ複合装置 | |
| JP3719976B2 (ja) | 二重化コントローラ構成ディスク記憶システム向けコントローラ、及び同コントローラが二重化されたディスク記憶システム | |
| JPH1118122A (ja) | データ転送方式 | |
| JPS5845116B2 (ja) | 二重化記憶装置 | |
| JP2705955B2 (ja) | 並列情報処理装置 | |
| JPS592058B2 (ja) | 記憶装置 | |
| JP2522412B2 (ja) | プログラマブルコントロ―ラと入出力装置の間の通信方法 | |
| JP2004185640A (ja) | 記憶装置システム | |
| JPS58169275A (ja) | 保守支援プロセツサを持つ計算機システム | |
| US6295477B1 (en) | Bus coupler between a system bus and a local bus in a multiple processor data processing system | |
| JPS6153753B2 (ja) | ||
| JPH05120207A (ja) | デ−タ転送方式 | |
| JPH022178B2 (ja) | ||
| JP2001273191A (ja) | コンピュータシステム | |
| JPH08340348A (ja) | 情報処理システム | |
| JPH0241535A (ja) | データ処理装置 | |
| JPS5975354A (ja) | プロセッサ装置 | |
| JPS6042976B2 (ja) | デ−タ処理装置 |