JPH04125750A - 計算機システム - Google Patents
計算機システムInfo
- Publication number
- JPH04125750A JPH04125750A JP2248204A JP24820490A JPH04125750A JP H04125750 A JPH04125750 A JP H04125750A JP 2248204 A JP2248204 A JP 2248204A JP 24820490 A JP24820490 A JP 24820490A JP H04125750 A JPH04125750 A JP H04125750A
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- unit
- memory module
- module
- access
- 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
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
[概要]
複数のプロセッサモジュールと共有メモリモジュールが
システムバスを介して接続されたマルチプロセッサシス
テムの共有メモリ二重化方式に関し、 運用中の二重化構成の変更を可能にすると共に二重化ア
クセスに伴うソフトウェアの負担を軽減することを目的
とし、 プロセッサの物理アドレスでアクセス可能な共有メモリ
空間を複数の部分共有メモリ空間に分割し、分割した部
分共有メモリ空間毎に共有メモリジュールとの関係を定
義する構成定義によって二重化の有無を指定し、この構
成定義はプロセッサのソフトウェアにより任意に設定で
きることから運用中に二重化の指定と解除ができるよう
に構成する。またソフトウェアによる1回の書込み指示
に対し二重化の構成定義が判別された場合には、ハード
ウェアが指定されたIDの共有メモリモジュールに1回
目の書込みを行ない、続いて最初のIDの特定ビットを
反転することで二重化ペアとなっている他の共有メモリ
モジュールへの2回目の書込を自動的に行うように構成
する。 [産業上の利用分野] 本発明は、複数のプロセッサモジュールと共有メモリモ
ジュールがシステムバスを介して接続されたマルチプロ
セッサシステムの共有メモリ二重化方式に関する。 フォールトトレラントシステムの共有メモリには二重化
が必須である。しかし、ハードウェアにより固定的に共
有メモリの二重化構成が指定されており、柔軟性の高い
二重化の構成制御ができない。また二重化メモリのアク
セスにあっては、ソフトウェアが二重化アクセスである
ことを意識してアクセスを監視しており、二重化書込み
時によるソフトウェアの処理負担が大きい。従って、運
用中に二重化構成が変更でき、且つ二重化アクセスのソ
フトウェア負担を軽減できるような二重化方式が望まれ
る。 [従来の技術] 従来のマルチプロセッサシステムは、複数のプロセッサ
モジュールと複数の共有メモリモジュールが、情報転送
のためのシステムバスを介して接続され、マルチプロセ
ッサシステムして知られた計算機システムを構築してい
る。 このような従来のマルチプロセッサシステムにあっては
、各プロッサモジュールの中央処理ユニットに必要な命
令及びデータは共有メモリモジュールに格納されており
、各プロセッサモジュールは共有メモリモジュールを頻
繁にアクセスするTCMP (Tightly Cou
pled Malfi Procesher )システ
ムを構成している。 またマルチプロセッサシステムを、運用中にシステムの
一部に故障が生じても停止することなくシステムの動作
を続けることのできるフォールトトレラントシステムと
するためには、共有メモリの二重化は必須である。 従来の共有メモリの二重化構成は、ハードウェアで決定
されており、ソフトウェアに基づくプロセッサの書込み
指示に対し、二重化構成が指定された共有メモリのペア
に対し同じデータを書込む二重化書込みを行い、いずれ
か一方のメモリ異常に直ちに対応できるようにしている
。 [発明が解決しようとする課題] ところで、フォールトトレラントシステムにおける共有
メモリの二重化は、全てのメモリ領域を二重化する必要
はなく、必要に応じて特定のメモリ領域のみを二重化す
るだけで十分である。 しかし、従来の二重化方式にあっては、ハードウェアに
よって二重化する共有メモリを固定的に指定していたた
め、システムの運用に伴って二重化を必要とするメモリ
領域が増加したり変った場合には、システムを停止して
ハードウェアによる二重化構成の変更を行わなければな
らず、二重化構成の柔軟性に欠ける問題があった。 また従来の二重化方式にあっては、二重化メモリのアク
セス時に、二重化アクセスであることをソフトウェアが
意識して例えば二重化された共有メモリに対する2回の
データ書込が終了するまでアクセス状態を監視しており
、二重化アクセスに伴うソフトウェアの負担が増大し、
システム性能を低下させる要因の1つとなっている。 本発明は、このような従来の問題点に鑑みてなされたも
ので、運用中の二重化構成の変更を可能にすると共に二
重化アクセスに伴うソフトウェアの負担を軽減するフォ
ールトトレラント計算機システムの共有メモリ二重化方
式を提供することを目的とする。 [課題を解決するための手段] 第1図は本発明の原理説明図ある。 第1A図に示すように、本発明は、少なくともメインメ
モリ20、中央処理ユニット18及びシステムバス16
への接続ユニット22を備えた複数の処理モジュール(
プロセッサモジュール)10と、少なくとも共有メモリ
ユニット26及びシステムバス16への接続ユニット2
8を備えた複数の共有メモリモジュール12とを備えた
計算機システムを対象とする。 このような計算機システムにつき本発明は、第1B図に
示すように、処理モジュール10の物理アドレスでアク
セス可能な共有メモリ空間100を複数の部分共有メモ
リ空間200に分割し、分割された部分共有メモリ空間
200毎に共有メモリモジュール12の二重化構成の有
無を定義し、更に、二重化構成が定義された共有メモリ
モジュール12のユニットIDに対し、このユニットI
Dの特定のビットを反転したユニットIDをもつ他の共
有メモリモジュール12を、二重化されたメモリペアと
して指定することを特徴とする。 例えば、二重化構成が定義された共有メモリモジュール
12のユニットIDに対し、このユニットIDの最下位
ビットを反転したユニットIDをもつ他の共有メモリモ
ジュール12を、二重化されるメモリペアとして指定す
る。 また二重化アクセスは、ソフトウェアに基づく中央処理
ユニット18の1回の書込み指示に対し二重化構成を判
定した場合には、接続ユニット22のハードウェアが、
まず指定されたユニットIDを有する共有メモリモジュ
ール12に1回目の書込みを行い、次に指定されたユニ
ットIDの特定のビットを反転したユニットIDを有す
る他の共有メモリモジュール12に2回目の書込みを行
うことを特徴とする。 更に処理モジュール10の接続ユニット22は、共有メ
モリモジュール12の二重化構成の有無を指定する構成
定義レジスタ44を備え、中央処理ユニット18からの
書込指示を受けた際に構成定義レジスタ44を参照して
二重化書込みアクセスを実行する。 この二重化構成の有無を指定する構成定義レジスタ44
は、ソフトウェアに基づき中央処理ユニット18の指示
で運用中に変更することができる。 読出アクセスでは、処理モジュール10の接続ユニット
22が、二重化構成が指定された共有メモリモジュール
12のペアに対する読出指示を中央処理ユニット18か
ら受けた際には、中央処理ユニット18の読出し指示で
発行されたユニットIDをもつ片方の共有メモリモジュ
ール12の読出アクセスのみを実行する システムバス16による具体的な転送処理は、第1C図
に示すように、処理モジュール10の接続ユニット22
が、アクセス対象となった共有メモリモジュール12を
示す相手先IDコード(Dより)、発信元を示す発信元
IDコード(S I D)、アクセスの種類を示すオペ
ランド、及びアクセスデータ容量(BCT)で構成され
る起動転送コマンド(EC)を作成し、該起動転送コマ
ンド(E C)を相手先共有メモリモジュール12のア
クセスアドレス(A)と共に前記システムバス16に送
信する。 これに対し共有メモリモジュール12の接続ユニット2
8は、システムバス16を監視して起動転送コマンド(
SC)の相手先IDコードと自己のユニットIDとの一
致を判別した時に起動転送コマンド(SC)の受信動作
を行ってオペランドに基づくアクセスを実行する。 更に処理モジュール10の接続ユニット22は、二重化
構成の指定に対し二重化書込みを実行するハードウェア
として、中央処理ユニット18の物理アドレスにより共
有メモリモジュール12をアクセスするプログラムモー
ドアクセス制御手段32と、中央処理ユニット18の物
理アドレスを相対アドレスに変換して共有メモリモジュ
ール12をアクセスするDMAモードアクセス制御手段
34を備える。 一方、共有メモリモジュール12へのアクセス時に、何
等かの異常が検出された場合には、異常の詳細を通知す
る終結コードと共に異常が発生した共有メモリモジュー
ル12のユニットIDを処理モジュール10のソフトウ
ェアに通知する。 特に二重化アクセスにあっては、異常の詳細を通知する
終結コードと共に異常が発生した共有メモリモジュール
12のユニットIDの最下位ビットのみを処理モジュー
ル10のソフトウェアに通知する。 即ち、二重化されたメモリペアのユニットIDは必ず偶
数番号のIDと奇数番号のIDが付与されているため、
最も下位のビットのみを通知すれば二重化ペアのどちら
が異常かがわかる。 更に、処理モジュール12のソフトウェアが二重化アク
セスの異常終結を示す通知を受けた際には、接続ユニッ
ト22に設けている構成定義レジスタ44の内容変更に
よる二重化解除、再書込みの指示、読出対象とする共有
メモリモジュール12の切替え等のリカバリ処理を行う
。 更に、第1A図の計算機システムを、単一の処理モジュ
ール10と、処理モジュール10の物理アドレスでアク
セス可能な共有メモリ空間を割付けた複数の共有メモリ
ユニット12で構成してもよい。 またシステムバス16を複数設け、システムバス16の
数に対応して処理モジュール10の接続ユニット22及
び共有メモリモジュール12の接続ユニット28を複数
設けるようにする。 [作用] このような構成を備えた本発明の共有メモリ二重化方式
によれば次の作用が得られる。 まず共有メモリ空間は、複数の共有メモリモジュールに
よって構成されるが、共有メモリ空間を複数個の部分共
有メモリ空間に分割し、この分割された部分共有メモリ
空間ごとに、共有メモリモジュールとの関係を定義する
構成定義によって、二重化構成の有無の指定、さらには
共有メモリ領域の存在の有無が指定できる。 この二重化の構成定義は、ソフトウェアによって任意に
設定でき、運用中においての共有メモリモジュールの追
加/削除あるいは一重/二重化の設定の変更が可能とな
る。 また二重化が指定できるのは、ユニットIDの特定のビ
ットのみが反転し、ほかのビットは同一のIDを有する
共有メモリモジュールのペアに限るという制限を設ける
ことにより、ハードウェア主導による二重化書き込みが
容易に達成できる。 即ち、二重化構成が指定された共有メモリモジュールへ
の書込みアクセスに対しては、ソフトウェアの1回の書
込み指示で、ハードウェアがまず指定されたユニットI
Dを有する共有メモリモジュールに書き込みを行い、次
に最初のユニットIDの特定のビットを反転し、二重化
のペアとなる他方の共有メモリモジュールに対して書込
みを行う。このためソフトウェアは二重化アクセスを意
識することがなく、ソフトウェアの処理負担を軽減して
システム性能を向上できる。
システムバスを介して接続されたマルチプロセッサシス
テムの共有メモリ二重化方式に関し、 運用中の二重化構成の変更を可能にすると共に二重化ア
クセスに伴うソフトウェアの負担を軽減することを目的
とし、 プロセッサの物理アドレスでアクセス可能な共有メモリ
空間を複数の部分共有メモリ空間に分割し、分割した部
分共有メモリ空間毎に共有メモリジュールとの関係を定
義する構成定義によって二重化の有無を指定し、この構
成定義はプロセッサのソフトウェアにより任意に設定で
きることから運用中に二重化の指定と解除ができるよう
に構成する。またソフトウェアによる1回の書込み指示
に対し二重化の構成定義が判別された場合には、ハード
ウェアが指定されたIDの共有メモリモジュールに1回
目の書込みを行ない、続いて最初のIDの特定ビットを
反転することで二重化ペアとなっている他の共有メモリ
モジュールへの2回目の書込を自動的に行うように構成
する。 [産業上の利用分野] 本発明は、複数のプロセッサモジュールと共有メモリモ
ジュールがシステムバスを介して接続されたマルチプロ
セッサシステムの共有メモリ二重化方式に関する。 フォールトトレラントシステムの共有メモリには二重化
が必須である。しかし、ハードウェアにより固定的に共
有メモリの二重化構成が指定されており、柔軟性の高い
二重化の構成制御ができない。また二重化メモリのアク
セスにあっては、ソフトウェアが二重化アクセスである
ことを意識してアクセスを監視しており、二重化書込み
時によるソフトウェアの処理負担が大きい。従って、運
用中に二重化構成が変更でき、且つ二重化アクセスのソ
フトウェア負担を軽減できるような二重化方式が望まれ
る。 [従来の技術] 従来のマルチプロセッサシステムは、複数のプロセッサ
モジュールと複数の共有メモリモジュールが、情報転送
のためのシステムバスを介して接続され、マルチプロセ
ッサシステムして知られた計算機システムを構築してい
る。 このような従来のマルチプロセッサシステムにあっては
、各プロッサモジュールの中央処理ユニットに必要な命
令及びデータは共有メモリモジュールに格納されており
、各プロセッサモジュールは共有メモリモジュールを頻
繁にアクセスするTCMP (Tightly Cou
pled Malfi Procesher )システ
ムを構成している。 またマルチプロセッサシステムを、運用中にシステムの
一部に故障が生じても停止することなくシステムの動作
を続けることのできるフォールトトレラントシステムと
するためには、共有メモリの二重化は必須である。 従来の共有メモリの二重化構成は、ハードウェアで決定
されており、ソフトウェアに基づくプロセッサの書込み
指示に対し、二重化構成が指定された共有メモリのペア
に対し同じデータを書込む二重化書込みを行い、いずれ
か一方のメモリ異常に直ちに対応できるようにしている
。 [発明が解決しようとする課題] ところで、フォールトトレラントシステムにおける共有
メモリの二重化は、全てのメモリ領域を二重化する必要
はなく、必要に応じて特定のメモリ領域のみを二重化す
るだけで十分である。 しかし、従来の二重化方式にあっては、ハードウェアに
よって二重化する共有メモリを固定的に指定していたた
め、システムの運用に伴って二重化を必要とするメモリ
領域が増加したり変った場合には、システムを停止して
ハードウェアによる二重化構成の変更を行わなければな
らず、二重化構成の柔軟性に欠ける問題があった。 また従来の二重化方式にあっては、二重化メモリのアク
セス時に、二重化アクセスであることをソフトウェアが
意識して例えば二重化された共有メモリに対する2回の
データ書込が終了するまでアクセス状態を監視しており
、二重化アクセスに伴うソフトウェアの負担が増大し、
システム性能を低下させる要因の1つとなっている。 本発明は、このような従来の問題点に鑑みてなされたも
ので、運用中の二重化構成の変更を可能にすると共に二
重化アクセスに伴うソフトウェアの負担を軽減するフォ
ールトトレラント計算機システムの共有メモリ二重化方
式を提供することを目的とする。 [課題を解決するための手段] 第1図は本発明の原理説明図ある。 第1A図に示すように、本発明は、少なくともメインメ
モリ20、中央処理ユニット18及びシステムバス16
への接続ユニット22を備えた複数の処理モジュール(
プロセッサモジュール)10と、少なくとも共有メモリ
ユニット26及びシステムバス16への接続ユニット2
8を備えた複数の共有メモリモジュール12とを備えた
計算機システムを対象とする。 このような計算機システムにつき本発明は、第1B図に
示すように、処理モジュール10の物理アドレスでアク
セス可能な共有メモリ空間100を複数の部分共有メモ
リ空間200に分割し、分割された部分共有メモリ空間
200毎に共有メモリモジュール12の二重化構成の有
無を定義し、更に、二重化構成が定義された共有メモリ
モジュール12のユニットIDに対し、このユニットI
Dの特定のビットを反転したユニットIDをもつ他の共
有メモリモジュール12を、二重化されたメモリペアと
して指定することを特徴とする。 例えば、二重化構成が定義された共有メモリモジュール
12のユニットIDに対し、このユニットIDの最下位
ビットを反転したユニットIDをもつ他の共有メモリモ
ジュール12を、二重化されるメモリペアとして指定す
る。 また二重化アクセスは、ソフトウェアに基づく中央処理
ユニット18の1回の書込み指示に対し二重化構成を判
定した場合には、接続ユニット22のハードウェアが、
まず指定されたユニットIDを有する共有メモリモジュ
ール12に1回目の書込みを行い、次に指定されたユニ
ットIDの特定のビットを反転したユニットIDを有す
る他の共有メモリモジュール12に2回目の書込みを行
うことを特徴とする。 更に処理モジュール10の接続ユニット22は、共有メ
モリモジュール12の二重化構成の有無を指定する構成
定義レジスタ44を備え、中央処理ユニット18からの
書込指示を受けた際に構成定義レジスタ44を参照して
二重化書込みアクセスを実行する。 この二重化構成の有無を指定する構成定義レジスタ44
は、ソフトウェアに基づき中央処理ユニット18の指示
で運用中に変更することができる。 読出アクセスでは、処理モジュール10の接続ユニット
22が、二重化構成が指定された共有メモリモジュール
12のペアに対する読出指示を中央処理ユニット18か
ら受けた際には、中央処理ユニット18の読出し指示で
発行されたユニットIDをもつ片方の共有メモリモジュ
ール12の読出アクセスのみを実行する システムバス16による具体的な転送処理は、第1C図
に示すように、処理モジュール10の接続ユニット22
が、アクセス対象となった共有メモリモジュール12を
示す相手先IDコード(Dより)、発信元を示す発信元
IDコード(S I D)、アクセスの種類を示すオペ
ランド、及びアクセスデータ容量(BCT)で構成され
る起動転送コマンド(EC)を作成し、該起動転送コマ
ンド(E C)を相手先共有メモリモジュール12のア
クセスアドレス(A)と共に前記システムバス16に送
信する。 これに対し共有メモリモジュール12の接続ユニット2
8は、システムバス16を監視して起動転送コマンド(
SC)の相手先IDコードと自己のユニットIDとの一
致を判別した時に起動転送コマンド(SC)の受信動作
を行ってオペランドに基づくアクセスを実行する。 更に処理モジュール10の接続ユニット22は、二重化
構成の指定に対し二重化書込みを実行するハードウェア
として、中央処理ユニット18の物理アドレスにより共
有メモリモジュール12をアクセスするプログラムモー
ドアクセス制御手段32と、中央処理ユニット18の物
理アドレスを相対アドレスに変換して共有メモリモジュ
ール12をアクセスするDMAモードアクセス制御手段
34を備える。 一方、共有メモリモジュール12へのアクセス時に、何
等かの異常が検出された場合には、異常の詳細を通知す
る終結コードと共に異常が発生した共有メモリモジュー
ル12のユニットIDを処理モジュール10のソフトウ
ェアに通知する。 特に二重化アクセスにあっては、異常の詳細を通知する
終結コードと共に異常が発生した共有メモリモジュール
12のユニットIDの最下位ビットのみを処理モジュー
ル10のソフトウェアに通知する。 即ち、二重化されたメモリペアのユニットIDは必ず偶
数番号のIDと奇数番号のIDが付与されているため、
最も下位のビットのみを通知すれば二重化ペアのどちら
が異常かがわかる。 更に、処理モジュール12のソフトウェアが二重化アク
セスの異常終結を示す通知を受けた際には、接続ユニッ
ト22に設けている構成定義レジスタ44の内容変更に
よる二重化解除、再書込みの指示、読出対象とする共有
メモリモジュール12の切替え等のリカバリ処理を行う
。 更に、第1A図の計算機システムを、単一の処理モジュ
ール10と、処理モジュール10の物理アドレスでアク
セス可能な共有メモリ空間を割付けた複数の共有メモリ
ユニット12で構成してもよい。 またシステムバス16を複数設け、システムバス16の
数に対応して処理モジュール10の接続ユニット22及
び共有メモリモジュール12の接続ユニット28を複数
設けるようにする。 [作用] このような構成を備えた本発明の共有メモリ二重化方式
によれば次の作用が得られる。 まず共有メモリ空間は、複数の共有メモリモジュールに
よって構成されるが、共有メモリ空間を複数個の部分共
有メモリ空間に分割し、この分割された部分共有メモリ
空間ごとに、共有メモリモジュールとの関係を定義する
構成定義によって、二重化構成の有無の指定、さらには
共有メモリ領域の存在の有無が指定できる。 この二重化の構成定義は、ソフトウェアによって任意に
設定でき、運用中においての共有メモリモジュールの追
加/削除あるいは一重/二重化の設定の変更が可能とな
る。 また二重化が指定できるのは、ユニットIDの特定のビ
ットのみが反転し、ほかのビットは同一のIDを有する
共有メモリモジュールのペアに限るという制限を設ける
ことにより、ハードウェア主導による二重化書き込みが
容易に達成できる。 即ち、二重化構成が指定された共有メモリモジュールへ
の書込みアクセスに対しては、ソフトウェアの1回の書
込み指示で、ハードウェアがまず指定されたユニットI
Dを有する共有メモリモジュールに書き込みを行い、次
に最初のユニットIDの特定のビットを反転し、二重化
のペアとなる他方の共有メモリモジュールに対して書込
みを行う。このためソフトウェアは二重化アクセスを意
識することがなく、ソフトウェアの処理負担を軽減して
システム性能を向上できる。
[装置の構成コ
第2図は本発明の共有メモリ構成方式が適用されるマル
チプロセッサシステムの一部を示したシステム構成図で
ある。 第2図において、マルチプロセッサシステムは、複数個
のプロセッサモジュール(PM)10と、複数個の共有
メモリモジュール(SSM)12を有し、各プロセッサ
モジュール10と各共有メモリモジュール12は、スプ
リットバスである共有システムバス(SS−BUS)1
6に接続ユニツ) (SSBC−P)22を通して接続
される。共有システムバス16は共有システムバスハン
ドラ(SSBH)14により制御され、共有システムバ
ス16のアービトレーションは共有システムバスハンド
ラ14が集中管理する。 #0〜#2のプロセッサモジュール10には、それぞれ
ユニットIDとして、 PM#0 ;UID=1000000 PM#1 ;UID=1000001 PM#2 、UID=1000010 が付けられ、また#0〜#2の共有メモリモジュール1
2には、それぞれユニットIDとじてSSM#O、UI
D=OO00000 SSM#1 、UID=0000001SSM#2 ;
UID=0000010が付けられる。 各々のプロセッサモジュール10および共有メモリモジ
ュール12は、フォールトトレラントを目的として二重
化した#0及び#1の共有システムバス16により制御
されているが、より多くの共有システムバス16に接続
しても良い。 第3図は第2図に示したプロセッサモジュール10の実
施例構成図である。 第3図において、プロセッサモジュールlo内には、中
央処理ユニット(μP)18、ローカルなメインメモリ
ユニット(LSU)20.および2本の共有システムバ
ス16に対する2つの接続ユニット(SSBC−P)2
2が内部バス24を介して設けられる。 このプロセッサモジュール10内には、中央処理ユニッ
ト18及びメインメモリ2o上で動作するソフトウェア
(O8)が走行し、第2図に示した各プロセッサモジュ
ール10内のソフトウェアは、相互に協調して一連の動
作を行う分散O8を構成する。またプロセッサモジュー
ル10内の中央処理ユニット18は、自己のプロセッサ
モジュール10内のメインメモリ20からのみ命令コー
ドをフェッチするようにしている。 第4図は第2図に示した共有メモリモジュール12の実
施例構成図である。 第4図において、共有メモリモジュール12内には、共
有メモリユニット(SSU)24及び2本の共有システ
ムバス16に対する2つの接続ユニット(SSBC−S
)28が内部バス30を介して設けられる。共有メモリ
ユニット26には第2図に示した複数のプロセッサモジ
ュール10で共有化が必要なデータが格納される。 第5図は第3図のプロセッサモジュール10に設けた接
続ユニット(SSBC−P)22の実施例構成図である
。 第5図において、接続ユニット22は共有システムバス
16を介して第2図の共有メモリモジュ−ル12に対し
、 ■プログラムモード ■DMAモード の2モードによるアクセスを行なう。接続ユニット22
は、これら2つのアクセスモードに対応してプログラム
モード・アクセス制御回路32及びDMAモード・アク
セス制御回路34、共有システムバス16との送受信回
路36及びバッファとして機能するデュアルボー)RA
M38によって構成される。ここでプログラムモード・
アクセス制御回路32には、アドレスデコーダ40、タ
イミング制御回路42、構成定義レジスタ44が設けら
れ、またDMAモード・アクセス制御回路34には、ア
ドレス発生器46、タイミング制御回路48及びDMA
制御レジスタ50が設けられる。 第6図は第4図に示した共有メモリモジュール12に設
けた接続ユニット(SSBC−3)28の実施例構成図
である。 第6図において、接続ユニット28には、内部バス30
を制御する内部バス制御回路74、アドレス発生器70
及びタイミング制御回路72を備えたDMA制御回路5
2、第4図のように共有メモリモジュール12に複数の
接続ユニット28が搭載された場合に内部バス30のア
ービトレーションを行う内部バスアビータ回路54、共
有システムバス16に対する送受信回路56、及びバッ
ファ機能を有するデュアルポートRAM58によって構
成される。 第3,4図に示したプロセッサモジュール10と共有メ
モリモジュール12間を共有システムバス16を介して
接続する接続ユニット22.28は、−回のアクセスを
起動転送、応答転送に分離して行うスプリット転送方式
を採用している。 このスプリット転送方式のバス制御においては、各モジ
ュールごとにユニットIDを割り付け、ユニットIDを
バス上のモジュール識別子とする。 第7図に接続ユニット22.28で使用する起動転送コ
マンドSCと応答転送コマンドECの例を示す。 第7図の起動転送コマンドSCにおいて、DlD (D
cstination 10)は受信先モジュールのユ
ニットIDであり、S I D (Source ID
)は送信元モジュールユニットIDである。またオペ
ランドはアクセス種類を示す。アクセス種類としては、
共有メモリモジュール12に対するメモリアクセスの他
に、共有メモリモジュール12や他のプロセッサモジュ
ール10に対するホルト指示、或いはリセット指示など
の制御レジスタのアクセス等がある。更にBCT (B
yte CoonDは、共有メモリモジュール12のア
クセスにおけるデータ容量を示す。 一方、応答転送コマンドECにおけるD I D。 SIDは起動転送コマンドSCと同じであるが、終結コ
ードはアクセス先における終結状態、即ち正常終結と異
常終結をコード化したものである。 第8図は共有システムバス16によりプロセッサモジュ
ール10から共有メモリモジュール12にデータを転送
して書込む書込アクセス(ストアアクセス)の動作説明
図である。 まずアクセス元のプロセッサモジュール10は、起動転
送コマンドSCを作成する。即ち、自己のユニットID
を示すSID、アクセス先の共有メモリモジュール12
のユニットIDを示すD I D。 メモリ書込アクセスを示すオペランド、アクセス容量を
示すBCTによって転送起動コマンドSCを作成する。 共有システムバス16上には転送起動コマンドSCに続
いて、アクセス先の共有メモリモジュール12上のアク
セスアドレスA及び書き込むべきデータDを送信する。 受信側の共有メモリモジュール12は共有システムバス
16上を監視し、起動転送コマンドSCに含まれる受信
先を示すI)IDと自己のユニットIDを比較し、両者
一致した場合に受信動作を行う。受信動作を行った共有
メモリモジュール12は、共有メモリモジュール12内
に設けた共有メモリユニット26(第4図参照)に書込
アクセスを行い、書込アクセスの終結コードを含め、転
送方向が起動転送と応答転送では逆のためDIDとSI
Dを交換した応答転送コマンドECを作成してアクセス
元のプロセッサモジュール10に対して送信する。 アクセス元のプロセッサモジュール10は、共有システ
ムバス16上を監視し、応答転送コマンドEC中の相手
先を示すDIDが自己のユニットIDと一致した場合に
受信動作を行い、1回のアクセスを終了する。 この起動転送コマンドSCの送信終了後から応答転送コ
マンドECの送信の開始までの間の空き時間については
、他のアクセスにおける起動転送コマンドSCあるいは
応答転送コマンドECの転送に共有システムバス16を
使用しても良い。 第9図は共有メモリモジュール12からプロセッサモジ
ュール10にデータを読出す読出アクセス(フェッチア
クセス)の動作説明図である。 まずアクセス元のプロセッサモジュール10は、起動転
送コマンドSCを作成する。即ち、自己のユニットID
を示すSID、アクセス先の共有メモリモジュール12
のユニットIDを示すDID、メモリ読出アクセスのオ
ペランド、アクセス容量を示すBCTによって転送起動
コマンドScを作成する。共有システムバス16上には
転送起動コマンドSCに続いて、アクセス先の共有メモ
リモジュール12上のアクセスアドレスAを送信する。 受信側の共有メモリモジュール12は共有システムバス
16上を監視し、転送コマンドSCに含まれる受信先を
示すDIDと自己のユニットIDを比較し、一致した場
合に受信動作を行う。受信動作を行った共有メモリモジ
ュール12は、共有メモリモジュール12内の共有メモ
リユニット26(第4図参照)に読出アクセスを行い、
読出アクセスの終結コードを含め、転送方向が起動転送
と応答転送では逆のためDIDとSIDを交換した応答
転送コマンドEC及び読出データDをアクセス元のプロ
セッサモジュール10に対して送信する。 アクセス元のプロセッサモジュール10は、共有システ
ムバス16上を監視し、応答転送コマンドEC中の相手
先を示すDIDが自己のユニットIDと一致した場合に
受信動作を行い、1回の読出アクセスが終了する。 この読出アクセスには、プログラムモードとDMAモー
ドの2モードがあるが、いずれのアクセスにおいても共
有システムバス16上での動作は同じである。 [アドレス空間] 第10図に本発明の実施例におけるアドレス空間のマツ
プ説明図を示す。 第10図において、各プロセッサモジュール10の物理
アドレス空間は共有メモリモジュール空間(以下rss
U空間」という)と、プロセッサモジュール固有空間(
以下rPM固有空間」という)に大別される。 PM固有空間は各プロセッサモジュール10のハードウ
ェアリソース固有の空間であり、各プロセッサモジュー
ル10ごとに存在し、システムにおけるプロセッサモジ
ュール10の搭載台数分の多重アドレス空間となる。こ
の実施例ではPM固有空間を2GBとしている。 一方、SSU空間は、全てのプロセッサモジュール10
に共通な空間である。即ち、SSU空間は複数の共有メ
モリモジュール12によって構成され、システム搭載プ
ロセッサモジュール12から見て共通の空間となり、し
かもプロセッサモジュール10の物理アドレスによって
直接アクセスすることができる。従って、SSU空間に
は、全てのプロセッサモジュール10で共通に必要なデ
ータのみが格納される。 この実施例では2GBのSSU空間を例にとっており、
SSU空間は左側に取出して示すように更に256MB
単位の8つの部分SSU空間#0〜#7に分割される。 この部分SSU空間#0〜#7の1つ1つが本発明の共
用メモリモジュール12で構成される。 更に、各プロセッサモジュール10のPM固有空間はL
SD空間と制御空間に分けられる。PM固有空間の一部
であるLSU空間には、各プロセッサモジュール10が
必要とするオペランド、各プロセッサモジュール10固
有のデータが格納される。このLSU空間の存在により
各プロセッサモジュール10は共有メモリモジュール1
2で構成されるSSU空間に対するアクセス回数を削減
することができる。 また中央処理ユニット18によるアクセスドレスがLS
U空間を指している場合には、そのプロセッサモジュー
ル10内での閉じたアクセスとなる。 一方、中央処理ユニット18によるアクセスドレス(物
理アドレス)かSSU空間を指している場合には、プロ
セッサモジュール10の接続ユニット22がSSU空間
アクセスであることを認識し、該当する共有メモリモジ
ュール12に対し共有システムバス16を介してアクセ
スを行う。 このように、SSU空聞及びLSU空間がプロセッサモ
ジュール10上の物理アドレス空間にマツピングされて
いることにより、ソフトウェアは空間切り替え等を行う
必要なしに、SSU空聞及びLSU空間のアクセスが可
能となる。 複数の共有メモリモジュール12で構成されるSSU空
間へのアクセス法としては、第10図のようにSSU空
間が各プロセッサモジュール10の物理アドレス空間に
直接マツプされていることから、 ■ソフトウェアに基づく中央処理ユニット18の命令に
より物理アドレスで直接アクセスするプログラムモード
と、 ■アクセスすべき共有メモリモジュール12を選択し、
アクセスアドレスと転送長を指定してプロセッサモジュ
ール10と共用メモリモジュール12間のデータ転送を
起動するDMAモード、の2種類のアクセスモードがあ
る。 この2種類のアクセスモードによって、アクセス可能な
SSU空間は異なる。この実施例においては、プログラ
ムモードによってアクセス可能なSSU空間は、各プロ
セッサモジュール10の物理アドレス空間に直接マツプ
された2GBのみである。しかし、DMAモードにおい
てはアクセス先の共有メモリモジュール12をユニット
IDで指定することにより、さらに大きなSSU空間、
即ち拡張SSU空間に対するアクセスが可能である。 DMAモードアクセスでは、第8.9図に示した起動転
送コマンドSC中のDIDによってアクセス先の共有メ
モリモジュール10のユニットIDを指定し、続くアド
レスAで共有メモリモジュール10内のアドレスを指定
する。従って、理論上は、 拡張SSU空間容量=2” (但し、nは中央処理ユニット18のアドレスビット幅
にユニットIDのビット幅) となる拡張SSU空間に対してアクセス可能となる。即
ち、拡張SSU空間は、ユニットIDを識別子として区
別される多重空間となる。 第11図はプロセッサモジュール10の物理アドレス空
間にマツピングされたSSU空間と、DMAモードでの
みアクセス可能な拡張SSU空間を示したマツプ説明図
である。 第11図において、拡張SSU空間を構成する複数の共
有メモリモジュール12のユニッ)IDのビット数は7
ビツトであり、ooooooo〜0111111の64
個のユニットIDを共有メモリモジュール12に割り当
てる。 ここでユニットIDの内のooooooo〜00001
11までの8個のユニットIDは、プログラムモード及
びDMAモードの両方によるアクセスが可能であり、更
に後述する二重化共有メモリを構成する共有メモリモジ
ュール12の構成定義用に使用するため、物理アドレス
空間の2GBに割り当てる。また残りの56個のユニッ
トIDを4GB単位に割り付ける。その結果、合計22
6GBの拡張SSU空間に対してDMAモードによるア
クセスが可能である。 勿論、ユニットIDは第11図の8つのユニット■Dに
限定されず、全二重化の共有メモリ空間(拡張でない2
GBの空間)を16個の共有メモリモジュール12を使
って例えばoooooo。 〜0001111で作ることも可能である。 また、第11図に限定されず、更にユニットIDのビッ
ト数の増加、あるいはユニットIDの共有メモリモジュ
ール12に対する割り当て率の増加によって、DMAモ
ードアクセスによる拡張SSU空間は拡大可能である。 物理アドレスでアクセスできる本発明のSSU空間は、
複数の共有メモリモジュール12によって構成されるが
、SSU空間分の全てのメモリを実装する必要はなく、
未実装領域があってもかまわない。また、フォールトト
レラントを目的としてSSU空間の一部分を二重構成と
することが可能である。 これらの未実装領域や二重構成は、第10図のプロセッ
サモジュール10のSSU空間に示すように、プロセッ
サモジュール10のSSU空間を複数個の部分SSU空
間に分割し、その分割された部分SSU空間ごとに共有
メモリモジュール12との関係、即ち、第11図に示し
た拡張SSU空間を構成するユニットID=OOOO0
00〜0000111をもつ共有メモリモジュール12
との関係を定義する構成制御によって実現される。 第10図の実施例では、2GBのSSU空間を256単
位に8空間に分割し、それぞれの分割された部分SSU
空間#O〜#7ごとに共有メモリモジュール12との対
応関係を示す構成定義をしている。 この共有メモリモジュール12の構成定義は、各プロセ
ッサモジュール10に搭載された第5図に示した接続ユ
ニット22内の構成定義レジスタ44を操作することに
より実現される。この構成定義レジスタ44は、第12
図に示す第ルジスタ60と第13図に示す第2制御レジ
スタ62−1.62−2で構成される。 第12図の第1制御レジスタ60は、第10図のように
256MB単位に8分割されたSSU空間に対応する共
有メモリモジュール12の存在の有無、即ち共有メモリ
モジュール12が実装されているが、未実装であるかを
指定する。この実施例では第12図は第1制御レジスタ
60のビット1で示すIO,II、12.I4.I7に
対応した部分SSU空間#0. I1. #2. #
4. I7の5つが実装されており、ビット0で示すI
3゜15.16に対応した部分SSU空間#3. I5
゜I6の3つが未実装であることを示している。 第13図に示す第2制御レジスタ62−1. 2は、第
1制御レジスタ60において実装が指定された部分SS
U空間にどの共有メモリモジュール12が対応するが、
−重/二重構成の指定、及び二重構成が指定された場合
のアクセス順序を指定している。 この実施例では、部分SSU空間#O,I1゜#2.#
4.#7に対するビットDo、Di、D2、D4.D7
のみ有効であり、対応する共有メモリモジュール12の
構成及びアクセス形態を指定している。即ち、ビットD
o、Di、D7は0であり、部分SSU空間#O,#1
. I7が一重構成であることを指定している。この−
型構成の部分SSU空間#0. #1. I7に対して
アクセスが行われた場合、ユニットID=0.1.7で
指定された共有メモリモジュール12に対するアクセス
を行う。 一方、ビットD2.D4は1となって二重構成を指定し
ている。この二重構成の部分SSU空間#2.#4に対
しアクセスが行われると、ユニットID2.ユニットI
D4で指定された片方の共有メモリモジュール12から
読出を行う。 これに対し二重構成の共有メモリモジュール12への書
き込みは、1回目は第2制御レジスタ62−1.2のユ
ニットIDで指定された共有メモリモジュール12に対
して書き込みを行った後、2回目は最初のユニットID
の特定ビット、例えば最下位ビットを反転したユニット
IDをもつ他の共有メモリモジュール12に対して書き
込みを行う。 この第2制御レジスタ62−1.2で二重構成を指定で
きる共有メモリモジュール12のペアは、例えば ユニットID=0000100 ユニットI D=0000101 のように最下位ビットのみが反転しているユニットID
を有する共有メモリモジュール12となる。 第13図の実施例では、部分SSU空間#2とI4の2
つがビットD2.D4=1により二重構成の指定を受け
ており、部分SSU空間#2については、 [部分SSU空間] [ユニットID]#2
0000010 #3 0000011 となるペアが設定され、また部分SSU空間#4につい
ては、 [部分SSU空間] [ユニットID]#4
0000100 #5 0000101 となるペアが設定される。 第14図は、第12.13図の制御レジスタの指定に基
づく共有メモリモジュール12の実装状態及び構成定義
を示した説明図である。 第14図において、プロセッサモジュール1゜のSSU
空間空間−0〜#7応して8つの共用メモリモジュール
12が設けられるが、ssU空間#6に対応した共用メ
モリモジュールは未実装である。またSSU空間#3と
#5については、二重構成によりSSU空間#2と#4
の共用メモリモジュール12に対し二重化されるため、
SSU空間#3.#5に対応する共用メモリモジュール
12は存在しないことになる。残りの#0. #1゜
#7のSSU空間については一重構成であることから1
対1に共用メモリモジュール12が対応している。 このようにプロセッサモジュール10の物理アドレスで
アクセスできるSSU空間を分割して構成定義を行うこ
とにより、システム運用中においても、分割されたSS
U空間単位に共用メモリモジュールの有効/無効あるい
は、−重/二重構成の指定が可能となる。 この実施例にあっては、ソフトウェアに基づき中央処理
ユニット18の命令により物理アドレス空間で直接SS
U空間をアクセスするプログラムモードにおいては、3
2ビツトのSSU空間アドレスのビットbO〜b3の4
ビツトが共有メモリモジュール12の選択子として機能
し、残りビットb4〜b31の28ビツトが共有メモリ
モジュール12内のアドレスとして機能する。 共有メモリモジュール12に搭載されるメモリ容量が2
56MBを越える場合、共有メモリモジュール12を選
択する選択子の意味に変わりはないが、共有メモリモジ
ュール12の内部アドレスは、共有メモリモジュール1
2に搭載されるメモリ容量に対応させる。例えばメモリ
容量が2倍の512MBの場合、アドレス情報のビット
b3〜b31の29ビツトが共有メモリモジュール12
の内部アドレスの指定に使用される。またIGBの場合
は、ビットb2〜b31の30ビツトが共有メモリモジ
ュール12の内部アドレスの指定に使用され、さらに2
GBまで拡張された場合は、31ビツトすべてが共有メ
モリモジュール12の内アドレスに使用される。このよ
うに共有メモリモジュール12のメモリ容量が256M
Bを越える場合には、共用メモリモジュールを選択する
選択子のビット数が減少することから、256MB単位
に分割された複数の部分SSU空間に対して実装容量に
対応した同一のユニットIDを指定スることになる。 [アクセスモード] 本発明のおいて、プログラムモードによるアクセスは第
15A、15B図のフローチャートに示す手順となる。 第15A図おいて、まずステップSL(以下「ステップ
」は省略)でソフトウェアが中央処理ユニット18の命
令としてSSU空間をアドレッシングするアクセスを行
うと、S2に進んで接続ユニット22は中央処理ユニッ
ト18からのアドレスビットbO〜b3の4ビツトと共
有メモリモジュール12の構成定義を行う第2制御レジ
スタ62−1.2の内容から、どのユニットIDを持つ
共有メモリモジュール12がアドレッシングされたSS
U空間を有するかを判断する。更に第1制御レジスタ6
0の内容から指定された共有メモリモジュール12が未
実装か否かを判定し、未実装であればS4に進んで異常
終了とする。 S3で実装が判別されると85に進んで接続ユニット2
2は中央処理ユニット18に対してリトライ信号を返し
、中央処理ユニット18をウェイト状態とする。 次に86に進んで中央処理ユニット18からの命令が共
有メモリモジュール12からデータを読出ずフェッチ命
令が、共有メモリモジュール12にデータを書込むスト
ア命令かを判別する。 中央処理ユニット18の命令がフェッチ命令であれば、
S7に進んで第2制御レジスタ62−1゜2の内容から
相手先の共用メモリモジュールのユニットIDをDID
として起動転送コマンドSCを作成し、S8で共有シス
テムバス16のバス権を獲得した後に、起動転送コマン
ドSC及びアドレスAを共有システムバス16に送信す
る。 一方、S3でストア命令が判別されると814に進んで
、同様に第2制御レジスタ62−1.2の内容から相手
先の共用メモリモジュールのユニットIDをDIDとし
て起動転送コマンドSCを作成し、S14で共有システ
ムバス16のバス権を獲得した後に、起動転送コマンド
S01アドレスA1更に書込用のデータDを共有システ
ムバス16に送信する。 これに対し共用メモリモジュール12側にあっては第1
5B図のフローチャートに示すように、接続ユニット2
8が81で共有システムバス16を監視し、S2で起動
転送コマンド中のDIDと自己のユニットIDとの一致
を判別すると、S3に進んで内蔵したデュアルポートR
AM56に受信データを書き込む。 続いてS4でフェッチ命令かストア命令かを判別する。 S4でフェッチ命令が判別された場合には、S5で接続
ユニット28は内部バス30に対するバス権を獲得した
後に、内部バス制御回路64の制御のもとにデュアルポ
ートRAM56と共有メモリユニット26の間でデータ
転送を行う。S5で共有メモリモジュール12内でのデ
ータ転送終了後、接続ユニット28はアクセス元のプロ
セッサモジュール10に対し応答を行う。 即ち、S6に進んで終結コードを含んだ応答転送コマン
ドECを作成し、続いてS7で共有システムバス16に
対するバス権を獲得し、最終的に88で応答転送コマン
ドEC,読出されたデータDを共有システムバス16に
送信する。 一方、S4でストア命令が判別された場合には、S9で
接続ユニット28は内部バス30に対するバス権を獲得
した後に、内部バス制御回路64の制御のもとにデュア
ルポートRAM56と共有メモリユニット26との間の
データ転送によりデータ書込を行う。S9で共有メモリ
モジュール12内でのデータ転送(データ書込)が終了
すると、接続ユニット28はアクセス元のプロセッサモ
ジュール10に対し応答を行う。 即ち、S10に進んで終結コードを含んだ応答転送コマ
ンドECを作成し、続いてSllで共有システムバス1
6に対するバス権を獲得し、最終的に312で応答転送
コマンドECを共有システムバス16に送信する。 再び第15A図のプロセッサモジュール10側を説明す
ると、プロセッサモジュール10の接続ユニット22は
、S9又はS16に示すように共有システムバス16を
監視しており、応答転送コマンドECのDIDと自己の
ユニットIDとの一致をSIO,S17で判別すると、
フェッチ命令の際にはSllに進んで応答転送コマンド
ECとデータDを受信し、ストア命令の場合はS18に
進んで応答転送コマンドECを受信する。 続いてS12.S20に示すように、中央処理ユニット
18に対し発行しているリトライ信号を取下げ、中央処
理ユニット18のウェイト状態を解除する。そしてフェ
ッチ命令であればS13で中央処理ユニット18に内部
バス24の終結信号DCを受信したデータDと共に返し
、またストア命令であれば20で中央処理ユニット18
に内部バス24の終結信号DCを返す。 以上でプログラムモードによる1アクセスが終了する。 尚、第15A図のS19及びS22〜S28の二重書込
処理については後の説明で明らかにする。 次に第16A、16B図のフローチャートを参照して本
発明におけるDMAモードによるアクセスを説明する。 DMAモードによるアクセスに際して中央処理ユニット
18は、まずSlて予めプロセッサモジュール10のメ
インメモリ20上に第17図に示す相手先の共用メモリ
モジュール12のユニットID、アクセスアドレス、転
送長等の制御内容を含んだディスクリブタを配置する。 即ち、第17図のディスクリブタにおいて、BCT (
Byte Count)は転送バイト数を指定し、バッ
ファアドレスBUFAはメインメモリ20上に置かれる
データバッファの先頭物理アドレスを指定し、DIDは
アクセス対象となる共有メモリモジュール12のユニッ
トIDを指定する。更に5SUAはアクセス対象となっ
た共有メモリモジュール12内の相対アドレス(D I
Dで指定された共有メモリモジュール12内の内部ア
ドレス)を指定するするもので、プログラムモードにお
けるSSU空間の物理アドレスとは異なる。 Slでディスクリブタを配置した後、S2に進んで接続
ユニット22に設けたDMAモード制御回路34内のD
MA制御レジスタ50に転送方向、共有メモリモジュー
ル12への二重化書き込み指定、メインメモリ20上の
ディスクリブタのアドレス等の制御指示を行い、DMA
モードアクセスを起動する。 S2でDMAモードアクセスが起動されると、接続ユニ
ット22がプロセッサモジュール10の内部バス24の
バス権を獲得してバスマスタとなり、DMA制御回路3
4の制御もとにメインメモリ20を直接アクセスし、メ
インメモリ20上のディスクリブタを読み出し、メイン
メモリ20から接続ユニット22内のデュアルポートR
AM38へのデータ転送を行う。 接続ユニット22内のデュアルポートRAM38へのデ
ータ転送終了後、S4でデータの転送方向を判別する。 共有メモリモジュール12からメインメモリ20へ読出
データを転送する転送方向(以下r(SSU +LSU
)方向」という)であればS5に進んで送受信回路36
で第7図に示した共有メモリモジュール12のユニット
ID、転送長を含んだ起動転送コマンドSCを作成する
。 一方、メインメモリ20から共有メモリモジュール12
へ書込データを転送する転送方向(以下r(SSU +
LSU)方向」という)であればS13に進んで送受信
回路36で同様に転送起動コマンドSCを作成する。 続いてS6.S14に進んで送受信回路36は共有シス
テムバス16のバス権を獲得する。 転送方向が(SSU−LSU)方向の場合にはS6から
87に進み、起動転送コマンドSC1アドレスAを共有
システムバス16に送信する。また(LSU→5SU)
方向の場合にはS15から316に進み、起動転送コマ
ンドSC1アドレスA及びデータDを共有システムバス
16に送信する。 一方、共有メモリモジュール12側の接続ユニット28
は、第16B図の81で共有システムバス16を監視し
ており、起動転送コマンドSC中のDIDと自己のユニ
ットIDと一致を82で判別すると83に進み、接続ユ
ニット28内のデュアルポートRAM56に受信データ
を書込む。 次に84で転送方向が(LSU−3SU)方向か(SS
U4LSU)方向かを判別し、(LSU→5SU)方向
であればS5に進み、また(SSU−LSU)であれば
S9に進む。S5.S9では、接続ユニット28に設け
たDMA制御回路52の内部バス制御回路64が内部バ
ス30のバス権を獲得し、デュアルボー)RAM56と
共有メモリユニット26との間でデータ転送を行い、S
5では共有メモリユニット26からのデータ読出を行い
、またS 9では共有メモリユニット26に対するデー
タ書込を行う。 S5又はS9でDMAによるメモリアクセスが終了する
と、S6.SIOで第7図に示した終結コードを含んだ
応答転送コマンドECを作成し、S7.Sllで共有シ
ステムバス16のバス権利を獲得してS8.S12に進
む。即ち、(LSU→5SU)方向となるS8では、応
答転送コマンドECに読出したデータDを付加して共有
システムバス16に送信する。また(SSU−LSU)
となるS12では応答転送コマンドECを共有システム
バス16に送信する。 再び第16A図のプロセッサモジュール10側を説明す
ると、プロセッサモジュール10の接続ユニット22は
、S8又はS17に示すように共有システムバス16を
監視しており、応答転送コマンドのDIDと自己のユニ
ットIDとの一致を39、S18で判別すると、SIO
,S19に進んで受信動作を行い、受信データを接続ユ
ニット22内のデュアルポートRAM38に格納する。 続いて(SSU−LSU)方向の場合にはS11に進ん
で内部バス24のバス権を獲得し、DMA制御によりデ
ュアルボー)RAM38の受信データDをメインメモリ
20に転送し、最終的に812でDMA制御レジスタ5
0に終結コードをセットし、中央処理ユニット18に割
込み上げて終了を通知する。 また(LSU→5SU)方向の場合にはS20を介して
S21に進み、DMA制御レジスタ50に終結コードを
セットし、中央処理ユニット18に割込みを上げて終了
を通知する。 以上でDMAモードによる1アクセスが終了する。 尚、第16A図のS20及びS22〜S27の二重書込
処理については後の説明で明らかにする。 [二重化アクセス] 本発明のSSU空間を構成する複数の共有メモリモジュ
ール12は、フォールトトレラントを目的として二重化
することが可能である。二重化された共有メモリモジュ
ール12をアクセスした際の書込動作は、二重化された
両方の共有メモリモジュール12に行われ、一方、読出
動作は片方の共有メモリモジュール12より行われる。 二重化された共有メモリモジュール12の書込みは、ソ
フトウェアに基づく中央処理ユニット18からの1回の
アクセス指示で、接続ユニット22のハードウェア制御
によって二重化された共有メモリモジュール12へのア
クセスが実行される。 このハードウェア制御による二重化された共有メモリモ
ジュール12への書込アクセスは、ハードウェア制御上
、同時に行われるのではなく、まず片方の共有メモリモ
ジュール12へ書き込みを行い、その動作が完了すれば
、もう一方の共有メモリモジュール12への書き込み動
作に入る。具体的な二重化アクセス方法は、プログラム
モードとDMAモードのアクセスによって異なる。 プログラムモードの二重化アクセス方法は第15A図の
S19.S22〜S28の処理となる。 即ち、1回目のストアアクセスについては一重構成の場
合と同じに処理され、S18で1回目の共有メモリモジ
ュール12に対する書込アクセスが終了して正常終了を
示す応答確認コマンドECを受領すると、S19に進ん
で共有メモリモジュール12の構成を定義している第1
3図に示した第2制御レジスタ62−1.2を参照する
。 第2制御レジスタ62−1.2には、共有メモリモジュ
ール12の二重構成の指定、二重構成を指定した時の読
出し側の共有メモリモジュールのユニットID1更に先
に書込む共有メモリモジュールのユニットIDが指定さ
れている。 第2制御レジスタ62−1.2を参照した時に、アクセ
スアドレスに対応する共有メモリモジュール12が一重
構成の指定であれば、S20に進んで接続ユニット22
はアクセス対象となった共有メモリモジュール12に対
する1回の書込アクセスで終了する。 これに対し二重構成が指定されていた場合にはS22に
進み、既にアクセスが終了した第2制御レジスタ62−
1.2で最初に指定された共有メモリモジュール12の
ユニットIDの最下位ビットを反転したユニットIDを
DIDとするストア用の転送起動コマンドSCを作成す
る。次に823で共有システムバス16のバス権を獲得
して起動転送コマンドS01アドレスA及び1回目と同
じデータDを共有システムバス16に送信し、二重化さ
れた他方の共有メモリモジュール12に対してアクセス
を行う。 この2回目のアクセスに対しても1回目と同様、第15
B図のS1〜84.S9〜S12の処理が共有メモリモ
ジュール12側で行なわれ、最終的に終結コードを含む
応答転送コマンドECを共有システムバス16に送信し
てくる。 そこで第15A図の824で共有メモリモジュール12
からの転送データを監視し、S25でDIDと自己のユ
ニットIDの一致を判別すると826で応答転送コマン
ドECの受信動作を行い、Si2.S13の場合と同様
にして二重構成の共有メモリモジュールに対する一連の
ストアアクセスを終了する。 このように第2制御レジスタ62−1.2によって共有
メモリモジュール12の構成定義を行っておけば、ソフ
トウェアに基づき中央処理ユニット18がプログラムモ
ードで共有メモリモジュール12の物理アドレスをアク
セスした際(SSU空間のアクセス)に、プロセッサモ
ジュール10側の接続ユニット22がハードウェア制御
によって共有メモリユニット12が一重構成か二重構成
か判断し、二重構成であれば、1回目のアクセス終了で
自動的にユニットIDを変えて2回目のアクセスを行う
ことかできる。 またアクセスアドレスに対応する第2制御レジスタ62
−1.2で指定された共有メモリモジュール12の構成
定義が二重構成であっても、二重化された片方の共有メ
モリモジュール12か障害によりアクセスが不可能とな
る場合があり得る。 このような−時的に縮退運転を行わざるを得ない状況に
おいては、アクセス終了で得られた応答確認コマンドE
Cの異常終結コードを判別した際に、第2制御レジスタ
62−1.2の動作モードを二重化モードから一重化モ
ードへ変更することによって対応可能となる。 更に二重化モードのアクセス時に、共有メモリモジュー
ル12へのアクセスが異常終結した場合は、異常が検出
された共有メモリモジュール12のユニットIDと、第
2制御レジスタ62−1゜2の内容によるアクセス順序
と合わせて、二重化されている2つの共有メモリモジュ
ールの内容の等価性の有無の判定も可能である。特に、
プログラムモードにおいては、基本的にアクセスの成功
。 失敗がワード単位で認識できるので、二重化された共有
メモリモジュール12間でデータ等価性か失われた場合
も、不一致が生じたワードとアクセスに失敗した共有メ
モリモジュール12側を考慮してリカバリ処理を行えば
良い。 次にDMAモードの二重化アクセス方法は第16A図の
S20,322〜S27の処理となる。 即ち、データの転送方向が(LSU→5SU)方向とな
る1回目のDMAアクセスについては一重構成の場合と
同じに処理され、S19で1回目の共有メモリモジュー
ル12に対する書込アクセスが終了して正常終了を示す
応答確認コマンドECを受領すると、S20に進んで二
重化書込みの有無を判定する。 DMAモードのアクセスは、目的とする共有メモリモジ
ュール12を選択し、共有メモリモジュール12上のア
クセスアドレスと転送長を指定して起動するが、その転
送方向、共有メモリモジュール12への書込み時の一重
/二重構成の指定等の動作モードは、起動する単位で接
続ユニット22のDMA制御レジスタ50で指定されて
いる。 このためS20では共有メモリモジュール12の構成を
定義しているDMA制御レジスタ50を参照して二重化
書込みの有無を判定する。 DMA制御レジスタ50を参照した時に、アクセスアド
レスに対応する共有メモリモジュール12が一重構成の
指定であれば、S21に進んで接続ユニット22はアク
セス対象となった共有メモリモジュール12に対する1
回の書込アクセスで終了する。 これに対し二重構成が指定されていた場合にはS22に
進み、既にアクセスが終了したDMA制御レジスタ50
で最初に指定された共有メモリモジュール12のユニッ
トIDの最下位ビットを反転したユニットIDをDID
とする書込用の転送起動コマンドSCを作成する。次に
S23で共用システムバス16のバス権を獲得して起動
転送コマンドS01アドレスA及び1回目と同じデータ
Dを共有システムバス16に送信し、二重化された他方
の共有メモリモジュール12に対してDMAアクセスに
よる書込みを行う。 この2回目のDMAアクセスに対しても1回目と同様、
第16B図のS1〜S4.S9〜S12の処理が共有メ
モリモジュール12側で行なわれ、最終的に終結コード
を含む応答転送コマンドECを共有システムバス16に
送信してくる。 そこで第16A図の324で共有メモリモジュール12
からの転送データを監視し、S25でDIDと自己のユ
ニットIDの一致を判別すると826で応答転送コマン
ドECの受信動作を行い、Sll、S12の場合と同様
にしてS26.S27を経て二重構成の共有メモリモジ
ュール12に対するDMAアクセスによる書込みを終了
する。 このようにDMAモードにおいても、プログラムモード
における二重化書き込み同様、動作モードを指定してお
けば、ハードウェアによる二重化書込みが自動的に行わ
れる。 また二重化された共有メモリモジュール]2のDMAア
クセス中に異常終結した場合、アクセス中のユニットI
Dと、1回目のアクセス時に指定された共有メモリモジ
ュール12のユニットIDの最下位ビットによるアクセ
ス順序と合わせて、二重化された2つの共有メモリモジ
ュール12間のデータの等化性の有無も判定可能である
。 尚、第2図の実施例は複数のプロセッサモジュール10
を示しているが、プロセッサモジュール10を1台とし
たシステム構成でもよい。
チプロセッサシステムの一部を示したシステム構成図で
ある。 第2図において、マルチプロセッサシステムは、複数個
のプロセッサモジュール(PM)10と、複数個の共有
メモリモジュール(SSM)12を有し、各プロセッサ
モジュール10と各共有メモリモジュール12は、スプ
リットバスである共有システムバス(SS−BUS)1
6に接続ユニツ) (SSBC−P)22を通して接続
される。共有システムバス16は共有システムバスハン
ドラ(SSBH)14により制御され、共有システムバ
ス16のアービトレーションは共有システムバスハンド
ラ14が集中管理する。 #0〜#2のプロセッサモジュール10には、それぞれ
ユニットIDとして、 PM#0 ;UID=1000000 PM#1 ;UID=1000001 PM#2 、UID=1000010 が付けられ、また#0〜#2の共有メモリモジュール1
2には、それぞれユニットIDとじてSSM#O、UI
D=OO00000 SSM#1 、UID=0000001SSM#2 ;
UID=0000010が付けられる。 各々のプロセッサモジュール10および共有メモリモジ
ュール12は、フォールトトレラントを目的として二重
化した#0及び#1の共有システムバス16により制御
されているが、より多くの共有システムバス16に接続
しても良い。 第3図は第2図に示したプロセッサモジュール10の実
施例構成図である。 第3図において、プロセッサモジュールlo内には、中
央処理ユニット(μP)18、ローカルなメインメモリ
ユニット(LSU)20.および2本の共有システムバ
ス16に対する2つの接続ユニット(SSBC−P)2
2が内部バス24を介して設けられる。 このプロセッサモジュール10内には、中央処理ユニッ
ト18及びメインメモリ2o上で動作するソフトウェア
(O8)が走行し、第2図に示した各プロセッサモジュ
ール10内のソフトウェアは、相互に協調して一連の動
作を行う分散O8を構成する。またプロセッサモジュー
ル10内の中央処理ユニット18は、自己のプロセッサ
モジュール10内のメインメモリ20からのみ命令コー
ドをフェッチするようにしている。 第4図は第2図に示した共有メモリモジュール12の実
施例構成図である。 第4図において、共有メモリモジュール12内には、共
有メモリユニット(SSU)24及び2本の共有システ
ムバス16に対する2つの接続ユニット(SSBC−S
)28が内部バス30を介して設けられる。共有メモリ
ユニット26には第2図に示した複数のプロセッサモジ
ュール10で共有化が必要なデータが格納される。 第5図は第3図のプロセッサモジュール10に設けた接
続ユニット(SSBC−P)22の実施例構成図である
。 第5図において、接続ユニット22は共有システムバス
16を介して第2図の共有メモリモジュ−ル12に対し
、 ■プログラムモード ■DMAモード の2モードによるアクセスを行なう。接続ユニット22
は、これら2つのアクセスモードに対応してプログラム
モード・アクセス制御回路32及びDMAモード・アク
セス制御回路34、共有システムバス16との送受信回
路36及びバッファとして機能するデュアルボー)RA
M38によって構成される。ここでプログラムモード・
アクセス制御回路32には、アドレスデコーダ40、タ
イミング制御回路42、構成定義レジスタ44が設けら
れ、またDMAモード・アクセス制御回路34には、ア
ドレス発生器46、タイミング制御回路48及びDMA
制御レジスタ50が設けられる。 第6図は第4図に示した共有メモリモジュール12に設
けた接続ユニット(SSBC−3)28の実施例構成図
である。 第6図において、接続ユニット28には、内部バス30
を制御する内部バス制御回路74、アドレス発生器70
及びタイミング制御回路72を備えたDMA制御回路5
2、第4図のように共有メモリモジュール12に複数の
接続ユニット28が搭載された場合に内部バス30のア
ービトレーションを行う内部バスアビータ回路54、共
有システムバス16に対する送受信回路56、及びバッ
ファ機能を有するデュアルポートRAM58によって構
成される。 第3,4図に示したプロセッサモジュール10と共有メ
モリモジュール12間を共有システムバス16を介して
接続する接続ユニット22.28は、−回のアクセスを
起動転送、応答転送に分離して行うスプリット転送方式
を採用している。 このスプリット転送方式のバス制御においては、各モジ
ュールごとにユニットIDを割り付け、ユニットIDを
バス上のモジュール識別子とする。 第7図に接続ユニット22.28で使用する起動転送コ
マンドSCと応答転送コマンドECの例を示す。 第7図の起動転送コマンドSCにおいて、DlD (D
cstination 10)は受信先モジュールのユ
ニットIDであり、S I D (Source ID
)は送信元モジュールユニットIDである。またオペ
ランドはアクセス種類を示す。アクセス種類としては、
共有メモリモジュール12に対するメモリアクセスの他
に、共有メモリモジュール12や他のプロセッサモジュ
ール10に対するホルト指示、或いはリセット指示など
の制御レジスタのアクセス等がある。更にBCT (B
yte CoonDは、共有メモリモジュール12のア
クセスにおけるデータ容量を示す。 一方、応答転送コマンドECにおけるD I D。 SIDは起動転送コマンドSCと同じであるが、終結コ
ードはアクセス先における終結状態、即ち正常終結と異
常終結をコード化したものである。 第8図は共有システムバス16によりプロセッサモジュ
ール10から共有メモリモジュール12にデータを転送
して書込む書込アクセス(ストアアクセス)の動作説明
図である。 まずアクセス元のプロセッサモジュール10は、起動転
送コマンドSCを作成する。即ち、自己のユニットID
を示すSID、アクセス先の共有メモリモジュール12
のユニットIDを示すD I D。 メモリ書込アクセスを示すオペランド、アクセス容量を
示すBCTによって転送起動コマンドSCを作成する。 共有システムバス16上には転送起動コマンドSCに続
いて、アクセス先の共有メモリモジュール12上のアク
セスアドレスA及び書き込むべきデータDを送信する。 受信側の共有メモリモジュール12は共有システムバス
16上を監視し、起動転送コマンドSCに含まれる受信
先を示すI)IDと自己のユニットIDを比較し、両者
一致した場合に受信動作を行う。受信動作を行った共有
メモリモジュール12は、共有メモリモジュール12内
に設けた共有メモリユニット26(第4図参照)に書込
アクセスを行い、書込アクセスの終結コードを含め、転
送方向が起動転送と応答転送では逆のためDIDとSI
Dを交換した応答転送コマンドECを作成してアクセス
元のプロセッサモジュール10に対して送信する。 アクセス元のプロセッサモジュール10は、共有システ
ムバス16上を監視し、応答転送コマンドEC中の相手
先を示すDIDが自己のユニットIDと一致した場合に
受信動作を行い、1回のアクセスを終了する。 この起動転送コマンドSCの送信終了後から応答転送コ
マンドECの送信の開始までの間の空き時間については
、他のアクセスにおける起動転送コマンドSCあるいは
応答転送コマンドECの転送に共有システムバス16を
使用しても良い。 第9図は共有メモリモジュール12からプロセッサモジ
ュール10にデータを読出す読出アクセス(フェッチア
クセス)の動作説明図である。 まずアクセス元のプロセッサモジュール10は、起動転
送コマンドSCを作成する。即ち、自己のユニットID
を示すSID、アクセス先の共有メモリモジュール12
のユニットIDを示すDID、メモリ読出アクセスのオ
ペランド、アクセス容量を示すBCTによって転送起動
コマンドScを作成する。共有システムバス16上には
転送起動コマンドSCに続いて、アクセス先の共有メモ
リモジュール12上のアクセスアドレスAを送信する。 受信側の共有メモリモジュール12は共有システムバス
16上を監視し、転送コマンドSCに含まれる受信先を
示すDIDと自己のユニットIDを比較し、一致した場
合に受信動作を行う。受信動作を行った共有メモリモジ
ュール12は、共有メモリモジュール12内の共有メモ
リユニット26(第4図参照)に読出アクセスを行い、
読出アクセスの終結コードを含め、転送方向が起動転送
と応答転送では逆のためDIDとSIDを交換した応答
転送コマンドEC及び読出データDをアクセス元のプロ
セッサモジュール10に対して送信する。 アクセス元のプロセッサモジュール10は、共有システ
ムバス16上を監視し、応答転送コマンドEC中の相手
先を示すDIDが自己のユニットIDと一致した場合に
受信動作を行い、1回の読出アクセスが終了する。 この読出アクセスには、プログラムモードとDMAモー
ドの2モードがあるが、いずれのアクセスにおいても共
有システムバス16上での動作は同じである。 [アドレス空間] 第10図に本発明の実施例におけるアドレス空間のマツ
プ説明図を示す。 第10図において、各プロセッサモジュール10の物理
アドレス空間は共有メモリモジュール空間(以下rss
U空間」という)と、プロセッサモジュール固有空間(
以下rPM固有空間」という)に大別される。 PM固有空間は各プロセッサモジュール10のハードウ
ェアリソース固有の空間であり、各プロセッサモジュー
ル10ごとに存在し、システムにおけるプロセッサモジ
ュール10の搭載台数分の多重アドレス空間となる。こ
の実施例ではPM固有空間を2GBとしている。 一方、SSU空間は、全てのプロセッサモジュール10
に共通な空間である。即ち、SSU空間は複数の共有メ
モリモジュール12によって構成され、システム搭載プ
ロセッサモジュール12から見て共通の空間となり、し
かもプロセッサモジュール10の物理アドレスによって
直接アクセスすることができる。従って、SSU空間に
は、全てのプロセッサモジュール10で共通に必要なデ
ータのみが格納される。 この実施例では2GBのSSU空間を例にとっており、
SSU空間は左側に取出して示すように更に256MB
単位の8つの部分SSU空間#0〜#7に分割される。 この部分SSU空間#0〜#7の1つ1つが本発明の共
用メモリモジュール12で構成される。 更に、各プロセッサモジュール10のPM固有空間はL
SD空間と制御空間に分けられる。PM固有空間の一部
であるLSU空間には、各プロセッサモジュール10が
必要とするオペランド、各プロセッサモジュール10固
有のデータが格納される。このLSU空間の存在により
各プロセッサモジュール10は共有メモリモジュール1
2で構成されるSSU空間に対するアクセス回数を削減
することができる。 また中央処理ユニット18によるアクセスドレスがLS
U空間を指している場合には、そのプロセッサモジュー
ル10内での閉じたアクセスとなる。 一方、中央処理ユニット18によるアクセスドレス(物
理アドレス)かSSU空間を指している場合には、プロ
セッサモジュール10の接続ユニット22がSSU空間
アクセスであることを認識し、該当する共有メモリモジ
ュール12に対し共有システムバス16を介してアクセ
スを行う。 このように、SSU空聞及びLSU空間がプロセッサモ
ジュール10上の物理アドレス空間にマツピングされて
いることにより、ソフトウェアは空間切り替え等を行う
必要なしに、SSU空聞及びLSU空間のアクセスが可
能となる。 複数の共有メモリモジュール12で構成されるSSU空
間へのアクセス法としては、第10図のようにSSU空
間が各プロセッサモジュール10の物理アドレス空間に
直接マツプされていることから、 ■ソフトウェアに基づく中央処理ユニット18の命令に
より物理アドレスで直接アクセスするプログラムモード
と、 ■アクセスすべき共有メモリモジュール12を選択し、
アクセスアドレスと転送長を指定してプロセッサモジュ
ール10と共用メモリモジュール12間のデータ転送を
起動するDMAモード、の2種類のアクセスモードがあ
る。 この2種類のアクセスモードによって、アクセス可能な
SSU空間は異なる。この実施例においては、プログラ
ムモードによってアクセス可能なSSU空間は、各プロ
セッサモジュール10の物理アドレス空間に直接マツプ
された2GBのみである。しかし、DMAモードにおい
てはアクセス先の共有メモリモジュール12をユニット
IDで指定することにより、さらに大きなSSU空間、
即ち拡張SSU空間に対するアクセスが可能である。 DMAモードアクセスでは、第8.9図に示した起動転
送コマンドSC中のDIDによってアクセス先の共有メ
モリモジュール10のユニットIDを指定し、続くアド
レスAで共有メモリモジュール10内のアドレスを指定
する。従って、理論上は、 拡張SSU空間容量=2” (但し、nは中央処理ユニット18のアドレスビット幅
にユニットIDのビット幅) となる拡張SSU空間に対してアクセス可能となる。即
ち、拡張SSU空間は、ユニットIDを識別子として区
別される多重空間となる。 第11図はプロセッサモジュール10の物理アドレス空
間にマツピングされたSSU空間と、DMAモードでの
みアクセス可能な拡張SSU空間を示したマツプ説明図
である。 第11図において、拡張SSU空間を構成する複数の共
有メモリモジュール12のユニッ)IDのビット数は7
ビツトであり、ooooooo〜0111111の64
個のユニットIDを共有メモリモジュール12に割り当
てる。 ここでユニットIDの内のooooooo〜00001
11までの8個のユニットIDは、プログラムモード及
びDMAモードの両方によるアクセスが可能であり、更
に後述する二重化共有メモリを構成する共有メモリモジ
ュール12の構成定義用に使用するため、物理アドレス
空間の2GBに割り当てる。また残りの56個のユニッ
トIDを4GB単位に割り付ける。その結果、合計22
6GBの拡張SSU空間に対してDMAモードによるア
クセスが可能である。 勿論、ユニットIDは第11図の8つのユニット■Dに
限定されず、全二重化の共有メモリ空間(拡張でない2
GBの空間)を16個の共有メモリモジュール12を使
って例えばoooooo。 〜0001111で作ることも可能である。 また、第11図に限定されず、更にユニットIDのビッ
ト数の増加、あるいはユニットIDの共有メモリモジュ
ール12に対する割り当て率の増加によって、DMAモ
ードアクセスによる拡張SSU空間は拡大可能である。 物理アドレスでアクセスできる本発明のSSU空間は、
複数の共有メモリモジュール12によって構成されるが
、SSU空間分の全てのメモリを実装する必要はなく、
未実装領域があってもかまわない。また、フォールトト
レラントを目的としてSSU空間の一部分を二重構成と
することが可能である。 これらの未実装領域や二重構成は、第10図のプロセッ
サモジュール10のSSU空間に示すように、プロセッ
サモジュール10のSSU空間を複数個の部分SSU空
間に分割し、その分割された部分SSU空間ごとに共有
メモリモジュール12との関係、即ち、第11図に示し
た拡張SSU空間を構成するユニットID=OOOO0
00〜0000111をもつ共有メモリモジュール12
との関係を定義する構成制御によって実現される。 第10図の実施例では、2GBのSSU空間を256単
位に8空間に分割し、それぞれの分割された部分SSU
空間#O〜#7ごとに共有メモリモジュール12との対
応関係を示す構成定義をしている。 この共有メモリモジュール12の構成定義は、各プロセ
ッサモジュール10に搭載された第5図に示した接続ユ
ニット22内の構成定義レジスタ44を操作することに
より実現される。この構成定義レジスタ44は、第12
図に示す第ルジスタ60と第13図に示す第2制御レジ
スタ62−1.62−2で構成される。 第12図の第1制御レジスタ60は、第10図のように
256MB単位に8分割されたSSU空間に対応する共
有メモリモジュール12の存在の有無、即ち共有メモリ
モジュール12が実装されているが、未実装であるかを
指定する。この実施例では第12図は第1制御レジスタ
60のビット1で示すIO,II、12.I4.I7に
対応した部分SSU空間#0. I1. #2. #
4. I7の5つが実装されており、ビット0で示すI
3゜15.16に対応した部分SSU空間#3. I5
゜I6の3つが未実装であることを示している。 第13図に示す第2制御レジスタ62−1. 2は、第
1制御レジスタ60において実装が指定された部分SS
U空間にどの共有メモリモジュール12が対応するが、
−重/二重構成の指定、及び二重構成が指定された場合
のアクセス順序を指定している。 この実施例では、部分SSU空間#O,I1゜#2.#
4.#7に対するビットDo、Di、D2、D4.D7
のみ有効であり、対応する共有メモリモジュール12の
構成及びアクセス形態を指定している。即ち、ビットD
o、Di、D7は0であり、部分SSU空間#O,#1
. I7が一重構成であることを指定している。この−
型構成の部分SSU空間#0. #1. I7に対して
アクセスが行われた場合、ユニットID=0.1.7で
指定された共有メモリモジュール12に対するアクセス
を行う。 一方、ビットD2.D4は1となって二重構成を指定し
ている。この二重構成の部分SSU空間#2.#4に対
しアクセスが行われると、ユニットID2.ユニットI
D4で指定された片方の共有メモリモジュール12から
読出を行う。 これに対し二重構成の共有メモリモジュール12への書
き込みは、1回目は第2制御レジスタ62−1.2のユ
ニットIDで指定された共有メモリモジュール12に対
して書き込みを行った後、2回目は最初のユニットID
の特定ビット、例えば最下位ビットを反転したユニット
IDをもつ他の共有メモリモジュール12に対して書き
込みを行う。 この第2制御レジスタ62−1.2で二重構成を指定で
きる共有メモリモジュール12のペアは、例えば ユニットID=0000100 ユニットI D=0000101 のように最下位ビットのみが反転しているユニットID
を有する共有メモリモジュール12となる。 第13図の実施例では、部分SSU空間#2とI4の2
つがビットD2.D4=1により二重構成の指定を受け
ており、部分SSU空間#2については、 [部分SSU空間] [ユニットID]#2
0000010 #3 0000011 となるペアが設定され、また部分SSU空間#4につい
ては、 [部分SSU空間] [ユニットID]#4
0000100 #5 0000101 となるペアが設定される。 第14図は、第12.13図の制御レジスタの指定に基
づく共有メモリモジュール12の実装状態及び構成定義
を示した説明図である。 第14図において、プロセッサモジュール1゜のSSU
空間空間−0〜#7応して8つの共用メモリモジュール
12が設けられるが、ssU空間#6に対応した共用メ
モリモジュールは未実装である。またSSU空間#3と
#5については、二重構成によりSSU空間#2と#4
の共用メモリモジュール12に対し二重化されるため、
SSU空間#3.#5に対応する共用メモリモジュール
12は存在しないことになる。残りの#0. #1゜
#7のSSU空間については一重構成であることから1
対1に共用メモリモジュール12が対応している。 このようにプロセッサモジュール10の物理アドレスで
アクセスできるSSU空間を分割して構成定義を行うこ
とにより、システム運用中においても、分割されたSS
U空間単位に共用メモリモジュールの有効/無効あるい
は、−重/二重構成の指定が可能となる。 この実施例にあっては、ソフトウェアに基づき中央処理
ユニット18の命令により物理アドレス空間で直接SS
U空間をアクセスするプログラムモードにおいては、3
2ビツトのSSU空間アドレスのビットbO〜b3の4
ビツトが共有メモリモジュール12の選択子として機能
し、残りビットb4〜b31の28ビツトが共有メモリ
モジュール12内のアドレスとして機能する。 共有メモリモジュール12に搭載されるメモリ容量が2
56MBを越える場合、共有メモリモジュール12を選
択する選択子の意味に変わりはないが、共有メモリモジ
ュール12の内部アドレスは、共有メモリモジュール1
2に搭載されるメモリ容量に対応させる。例えばメモリ
容量が2倍の512MBの場合、アドレス情報のビット
b3〜b31の29ビツトが共有メモリモジュール12
の内部アドレスの指定に使用される。またIGBの場合
は、ビットb2〜b31の30ビツトが共有メモリモジ
ュール12の内部アドレスの指定に使用され、さらに2
GBまで拡張された場合は、31ビツトすべてが共有メ
モリモジュール12の内アドレスに使用される。このよ
うに共有メモリモジュール12のメモリ容量が256M
Bを越える場合には、共用メモリモジュールを選択する
選択子のビット数が減少することから、256MB単位
に分割された複数の部分SSU空間に対して実装容量に
対応した同一のユニットIDを指定スることになる。 [アクセスモード] 本発明のおいて、プログラムモードによるアクセスは第
15A、15B図のフローチャートに示す手順となる。 第15A図おいて、まずステップSL(以下「ステップ
」は省略)でソフトウェアが中央処理ユニット18の命
令としてSSU空間をアドレッシングするアクセスを行
うと、S2に進んで接続ユニット22は中央処理ユニッ
ト18からのアドレスビットbO〜b3の4ビツトと共
有メモリモジュール12の構成定義を行う第2制御レジ
スタ62−1.2の内容から、どのユニットIDを持つ
共有メモリモジュール12がアドレッシングされたSS
U空間を有するかを判断する。更に第1制御レジスタ6
0の内容から指定された共有メモリモジュール12が未
実装か否かを判定し、未実装であればS4に進んで異常
終了とする。 S3で実装が判別されると85に進んで接続ユニット2
2は中央処理ユニット18に対してリトライ信号を返し
、中央処理ユニット18をウェイト状態とする。 次に86に進んで中央処理ユニット18からの命令が共
有メモリモジュール12からデータを読出ずフェッチ命
令が、共有メモリモジュール12にデータを書込むスト
ア命令かを判別する。 中央処理ユニット18の命令がフェッチ命令であれば、
S7に進んで第2制御レジスタ62−1゜2の内容から
相手先の共用メモリモジュールのユニットIDをDID
として起動転送コマンドSCを作成し、S8で共有シス
テムバス16のバス権を獲得した後に、起動転送コマン
ドSC及びアドレスAを共有システムバス16に送信す
る。 一方、S3でストア命令が判別されると814に進んで
、同様に第2制御レジスタ62−1.2の内容から相手
先の共用メモリモジュールのユニットIDをDIDとし
て起動転送コマンドSCを作成し、S14で共有システ
ムバス16のバス権を獲得した後に、起動転送コマンド
S01アドレスA1更に書込用のデータDを共有システ
ムバス16に送信する。 これに対し共用メモリモジュール12側にあっては第1
5B図のフローチャートに示すように、接続ユニット2
8が81で共有システムバス16を監視し、S2で起動
転送コマンド中のDIDと自己のユニットIDとの一致
を判別すると、S3に進んで内蔵したデュアルポートR
AM56に受信データを書き込む。 続いてS4でフェッチ命令かストア命令かを判別する。 S4でフェッチ命令が判別された場合には、S5で接続
ユニット28は内部バス30に対するバス権を獲得した
後に、内部バス制御回路64の制御のもとにデュアルポ
ートRAM56と共有メモリユニット26の間でデータ
転送を行う。S5で共有メモリモジュール12内でのデ
ータ転送終了後、接続ユニット28はアクセス元のプロ
セッサモジュール10に対し応答を行う。 即ち、S6に進んで終結コードを含んだ応答転送コマン
ドECを作成し、続いてS7で共有システムバス16に
対するバス権を獲得し、最終的に88で応答転送コマン
ドEC,読出されたデータDを共有システムバス16に
送信する。 一方、S4でストア命令が判別された場合には、S9で
接続ユニット28は内部バス30に対するバス権を獲得
した後に、内部バス制御回路64の制御のもとにデュア
ルポートRAM56と共有メモリユニット26との間の
データ転送によりデータ書込を行う。S9で共有メモリ
モジュール12内でのデータ転送(データ書込)が終了
すると、接続ユニット28はアクセス元のプロセッサモ
ジュール10に対し応答を行う。 即ち、S10に進んで終結コードを含んだ応答転送コマ
ンドECを作成し、続いてSllで共有システムバス1
6に対するバス権を獲得し、最終的に312で応答転送
コマンドECを共有システムバス16に送信する。 再び第15A図のプロセッサモジュール10側を説明す
ると、プロセッサモジュール10の接続ユニット22は
、S9又はS16に示すように共有システムバス16を
監視しており、応答転送コマンドECのDIDと自己の
ユニットIDとの一致をSIO,S17で判別すると、
フェッチ命令の際にはSllに進んで応答転送コマンド
ECとデータDを受信し、ストア命令の場合はS18に
進んで応答転送コマンドECを受信する。 続いてS12.S20に示すように、中央処理ユニット
18に対し発行しているリトライ信号を取下げ、中央処
理ユニット18のウェイト状態を解除する。そしてフェ
ッチ命令であればS13で中央処理ユニット18に内部
バス24の終結信号DCを受信したデータDと共に返し
、またストア命令であれば20で中央処理ユニット18
に内部バス24の終結信号DCを返す。 以上でプログラムモードによる1アクセスが終了する。 尚、第15A図のS19及びS22〜S28の二重書込
処理については後の説明で明らかにする。 次に第16A、16B図のフローチャートを参照して本
発明におけるDMAモードによるアクセスを説明する。 DMAモードによるアクセスに際して中央処理ユニット
18は、まずSlて予めプロセッサモジュール10のメ
インメモリ20上に第17図に示す相手先の共用メモリ
モジュール12のユニットID、アクセスアドレス、転
送長等の制御内容を含んだディスクリブタを配置する。 即ち、第17図のディスクリブタにおいて、BCT (
Byte Count)は転送バイト数を指定し、バッ
ファアドレスBUFAはメインメモリ20上に置かれる
データバッファの先頭物理アドレスを指定し、DIDは
アクセス対象となる共有メモリモジュール12のユニッ
トIDを指定する。更に5SUAはアクセス対象となっ
た共有メモリモジュール12内の相対アドレス(D I
Dで指定された共有メモリモジュール12内の内部ア
ドレス)を指定するするもので、プログラムモードにお
けるSSU空間の物理アドレスとは異なる。 Slでディスクリブタを配置した後、S2に進んで接続
ユニット22に設けたDMAモード制御回路34内のD
MA制御レジスタ50に転送方向、共有メモリモジュー
ル12への二重化書き込み指定、メインメモリ20上の
ディスクリブタのアドレス等の制御指示を行い、DMA
モードアクセスを起動する。 S2でDMAモードアクセスが起動されると、接続ユニ
ット22がプロセッサモジュール10の内部バス24の
バス権を獲得してバスマスタとなり、DMA制御回路3
4の制御もとにメインメモリ20を直接アクセスし、メ
インメモリ20上のディスクリブタを読み出し、メイン
メモリ20から接続ユニット22内のデュアルポートR
AM38へのデータ転送を行う。 接続ユニット22内のデュアルポートRAM38へのデ
ータ転送終了後、S4でデータの転送方向を判別する。 共有メモリモジュール12からメインメモリ20へ読出
データを転送する転送方向(以下r(SSU +LSU
)方向」という)であればS5に進んで送受信回路36
で第7図に示した共有メモリモジュール12のユニット
ID、転送長を含んだ起動転送コマンドSCを作成する
。 一方、メインメモリ20から共有メモリモジュール12
へ書込データを転送する転送方向(以下r(SSU +
LSU)方向」という)であればS13に進んで送受信
回路36で同様に転送起動コマンドSCを作成する。 続いてS6.S14に進んで送受信回路36は共有シス
テムバス16のバス権を獲得する。 転送方向が(SSU−LSU)方向の場合にはS6から
87に進み、起動転送コマンドSC1アドレスAを共有
システムバス16に送信する。また(LSU→5SU)
方向の場合にはS15から316に進み、起動転送コマ
ンドSC1アドレスA及びデータDを共有システムバス
16に送信する。 一方、共有メモリモジュール12側の接続ユニット28
は、第16B図の81で共有システムバス16を監視し
ており、起動転送コマンドSC中のDIDと自己のユニ
ットIDと一致を82で判別すると83に進み、接続ユ
ニット28内のデュアルポートRAM56に受信データ
を書込む。 次に84で転送方向が(LSU−3SU)方向か(SS
U4LSU)方向かを判別し、(LSU→5SU)方向
であればS5に進み、また(SSU−LSU)であれば
S9に進む。S5.S9では、接続ユニット28に設け
たDMA制御回路52の内部バス制御回路64が内部バ
ス30のバス権を獲得し、デュアルボー)RAM56と
共有メモリユニット26との間でデータ転送を行い、S
5では共有メモリユニット26からのデータ読出を行い
、またS 9では共有メモリユニット26に対するデー
タ書込を行う。 S5又はS9でDMAによるメモリアクセスが終了する
と、S6.SIOで第7図に示した終結コードを含んだ
応答転送コマンドECを作成し、S7.Sllで共有シ
ステムバス16のバス権利を獲得してS8.S12に進
む。即ち、(LSU→5SU)方向となるS8では、応
答転送コマンドECに読出したデータDを付加して共有
システムバス16に送信する。また(SSU−LSU)
となるS12では応答転送コマンドECを共有システム
バス16に送信する。 再び第16A図のプロセッサモジュール10側を説明す
ると、プロセッサモジュール10の接続ユニット22は
、S8又はS17に示すように共有システムバス16を
監視しており、応答転送コマンドのDIDと自己のユニ
ットIDとの一致を39、S18で判別すると、SIO
,S19に進んで受信動作を行い、受信データを接続ユ
ニット22内のデュアルポートRAM38に格納する。 続いて(SSU−LSU)方向の場合にはS11に進ん
で内部バス24のバス権を獲得し、DMA制御によりデ
ュアルボー)RAM38の受信データDをメインメモリ
20に転送し、最終的に812でDMA制御レジスタ5
0に終結コードをセットし、中央処理ユニット18に割
込み上げて終了を通知する。 また(LSU→5SU)方向の場合にはS20を介して
S21に進み、DMA制御レジスタ50に終結コードを
セットし、中央処理ユニット18に割込みを上げて終了
を通知する。 以上でDMAモードによる1アクセスが終了する。 尚、第16A図のS20及びS22〜S27の二重書込
処理については後の説明で明らかにする。 [二重化アクセス] 本発明のSSU空間を構成する複数の共有メモリモジュ
ール12は、フォールトトレラントを目的として二重化
することが可能である。二重化された共有メモリモジュ
ール12をアクセスした際の書込動作は、二重化された
両方の共有メモリモジュール12に行われ、一方、読出
動作は片方の共有メモリモジュール12より行われる。 二重化された共有メモリモジュール12の書込みは、ソ
フトウェアに基づく中央処理ユニット18からの1回の
アクセス指示で、接続ユニット22のハードウェア制御
によって二重化された共有メモリモジュール12へのア
クセスが実行される。 このハードウェア制御による二重化された共有メモリモ
ジュール12への書込アクセスは、ハードウェア制御上
、同時に行われるのではなく、まず片方の共有メモリモ
ジュール12へ書き込みを行い、その動作が完了すれば
、もう一方の共有メモリモジュール12への書き込み動
作に入る。具体的な二重化アクセス方法は、プログラム
モードとDMAモードのアクセスによって異なる。 プログラムモードの二重化アクセス方法は第15A図の
S19.S22〜S28の処理となる。 即ち、1回目のストアアクセスについては一重構成の場
合と同じに処理され、S18で1回目の共有メモリモジ
ュール12に対する書込アクセスが終了して正常終了を
示す応答確認コマンドECを受領すると、S19に進ん
で共有メモリモジュール12の構成を定義している第1
3図に示した第2制御レジスタ62−1.2を参照する
。 第2制御レジスタ62−1.2には、共有メモリモジュ
ール12の二重構成の指定、二重構成を指定した時の読
出し側の共有メモリモジュールのユニットID1更に先
に書込む共有メモリモジュールのユニットIDが指定さ
れている。 第2制御レジスタ62−1.2を参照した時に、アクセ
スアドレスに対応する共有メモリモジュール12が一重
構成の指定であれば、S20に進んで接続ユニット22
はアクセス対象となった共有メモリモジュール12に対
する1回の書込アクセスで終了する。 これに対し二重構成が指定されていた場合にはS22に
進み、既にアクセスが終了した第2制御レジスタ62−
1.2で最初に指定された共有メモリモジュール12の
ユニットIDの最下位ビットを反転したユニットIDを
DIDとするストア用の転送起動コマンドSCを作成す
る。次に823で共有システムバス16のバス権を獲得
して起動転送コマンドS01アドレスA及び1回目と同
じデータDを共有システムバス16に送信し、二重化さ
れた他方の共有メモリモジュール12に対してアクセス
を行う。 この2回目のアクセスに対しても1回目と同様、第15
B図のS1〜84.S9〜S12の処理が共有メモリモ
ジュール12側で行なわれ、最終的に終結コードを含む
応答転送コマンドECを共有システムバス16に送信し
てくる。 そこで第15A図の824で共有メモリモジュール12
からの転送データを監視し、S25でDIDと自己のユ
ニットIDの一致を判別すると826で応答転送コマン
ドECの受信動作を行い、Si2.S13の場合と同様
にして二重構成の共有メモリモジュールに対する一連の
ストアアクセスを終了する。 このように第2制御レジスタ62−1.2によって共有
メモリモジュール12の構成定義を行っておけば、ソフ
トウェアに基づき中央処理ユニット18がプログラムモ
ードで共有メモリモジュール12の物理アドレスをアク
セスした際(SSU空間のアクセス)に、プロセッサモ
ジュール10側の接続ユニット22がハードウェア制御
によって共有メモリユニット12が一重構成か二重構成
か判断し、二重構成であれば、1回目のアクセス終了で
自動的にユニットIDを変えて2回目のアクセスを行う
ことかできる。 またアクセスアドレスに対応する第2制御レジスタ62
−1.2で指定された共有メモリモジュール12の構成
定義が二重構成であっても、二重化された片方の共有メ
モリモジュール12か障害によりアクセスが不可能とな
る場合があり得る。 このような−時的に縮退運転を行わざるを得ない状況に
おいては、アクセス終了で得られた応答確認コマンドE
Cの異常終結コードを判別した際に、第2制御レジスタ
62−1.2の動作モードを二重化モードから一重化モ
ードへ変更することによって対応可能となる。 更に二重化モードのアクセス時に、共有メモリモジュー
ル12へのアクセスが異常終結した場合は、異常が検出
された共有メモリモジュール12のユニットIDと、第
2制御レジスタ62−1゜2の内容によるアクセス順序
と合わせて、二重化されている2つの共有メモリモジュ
ールの内容の等価性の有無の判定も可能である。特に、
プログラムモードにおいては、基本的にアクセスの成功
。 失敗がワード単位で認識できるので、二重化された共有
メモリモジュール12間でデータ等価性か失われた場合
も、不一致が生じたワードとアクセスに失敗した共有メ
モリモジュール12側を考慮してリカバリ処理を行えば
良い。 次にDMAモードの二重化アクセス方法は第16A図の
S20,322〜S27の処理となる。 即ち、データの転送方向が(LSU→5SU)方向とな
る1回目のDMAアクセスについては一重構成の場合と
同じに処理され、S19で1回目の共有メモリモジュー
ル12に対する書込アクセスが終了して正常終了を示す
応答確認コマンドECを受領すると、S20に進んで二
重化書込みの有無を判定する。 DMAモードのアクセスは、目的とする共有メモリモジ
ュール12を選択し、共有メモリモジュール12上のア
クセスアドレスと転送長を指定して起動するが、その転
送方向、共有メモリモジュール12への書込み時の一重
/二重構成の指定等の動作モードは、起動する単位で接
続ユニット22のDMA制御レジスタ50で指定されて
いる。 このためS20では共有メモリモジュール12の構成を
定義しているDMA制御レジスタ50を参照して二重化
書込みの有無を判定する。 DMA制御レジスタ50を参照した時に、アクセスアド
レスに対応する共有メモリモジュール12が一重構成の
指定であれば、S21に進んで接続ユニット22はアク
セス対象となった共有メモリモジュール12に対する1
回の書込アクセスで終了する。 これに対し二重構成が指定されていた場合にはS22に
進み、既にアクセスが終了したDMA制御レジスタ50
で最初に指定された共有メモリモジュール12のユニッ
トIDの最下位ビットを反転したユニットIDをDID
とする書込用の転送起動コマンドSCを作成する。次に
S23で共用システムバス16のバス権を獲得して起動
転送コマンドS01アドレスA及び1回目と同じデータ
Dを共有システムバス16に送信し、二重化された他方
の共有メモリモジュール12に対してDMAアクセスに
よる書込みを行う。 この2回目のDMAアクセスに対しても1回目と同様、
第16B図のS1〜S4.S9〜S12の処理が共有メ
モリモジュール12側で行なわれ、最終的に終結コード
を含む応答転送コマンドECを共有システムバス16に
送信してくる。 そこで第16A図の324で共有メモリモジュール12
からの転送データを監視し、S25でDIDと自己のユ
ニットIDの一致を判別すると826で応答転送コマン
ドECの受信動作を行い、Sll、S12の場合と同様
にしてS26.S27を経て二重構成の共有メモリモジ
ュール12に対するDMAアクセスによる書込みを終了
する。 このようにDMAモードにおいても、プログラムモード
における二重化書き込み同様、動作モードを指定してお
けば、ハードウェアによる二重化書込みが自動的に行わ
れる。 また二重化された共有メモリモジュール]2のDMAア
クセス中に異常終結した場合、アクセス中のユニットI
Dと、1回目のアクセス時に指定された共有メモリモジ
ュール12のユニットIDの最下位ビットによるアクセ
ス順序と合わせて、二重化された2つの共有メモリモジ
ュール12間のデータの等化性の有無も判定可能である
。 尚、第2図の実施例は複数のプロセッサモジュール10
を示しているが、プロセッサモジュール10を1台とし
たシステム構成でもよい。
以上説明したように本発明によれば、システムの運用中
に二重化構成を変更することができ、共用メモリ空間の
二重化が必要なメモリ領域に対応した柔軟性の高い二重
化構成を可能にししてフォールトトレラント性能を引き
上げることができる。 またソフトウェアの書込み指示に対しハードウェアが自
動的に2回の二重化書込動作を実行するため、二重化ア
クセスをソフトウェアで意識させる必要がなく、ソフト
ウェアの処理負担を軽減してシステム性能を向上できる
。
に二重化構成を変更することができ、共用メモリ空間の
二重化が必要なメモリ領域に対応した柔軟性の高い二重
化構成を可能にししてフォールトトレラント性能を引き
上げることができる。 またソフトウェアの書込み指示に対しハードウェアが自
動的に2回の二重化書込動作を実行するため、二重化ア
クセスをソフトウェアで意識させる必要がなく、ソフト
ウェアの処理負担を軽減してシステム性能を向上できる
。
第1A、IB、IC図は本発明の原理説明図:第2図は
本発明のマルチプロセッサシステム構成図; 第3図は本発明のプロセッサモジュール構成図:第4図
は本発明の共有メモリモジュール構成図;第5図は本発
明のプロセッサモジュール内蔵の接続ユニット構成図; 第6図は本発明の共有メモリモジュール内蔵の接続ユニ
ット構成図; 第7図は本発明のシステムバス上の転送コマンド説明図
; 第8図は本発明の書込転送動作説明図;第9図は本発明
の読出転送動作説明図;第10図は本発明のアドレス空
間マツプ説明図;第11図は本発明の拡張SSU空間説
明図;第12図は本発明の第1制御レジスタによる88
M構成定義の説明図; 第13図は本発明の第2制御レジスタによる88M構成
定義の説明図; 第14図は第12.13図の構成定義に対応する共有メ
モリモジュールの実装説明図; 第15A、15B図は本発明のプログラムモードアクセ
スのフローヤード; 第16a、16B図は本発明のDMAモードアクセスの
フローチャート; 第17図は本発明のDMAモードアクセスで用いるディ
スクリブタ説明図である。 図中、 10・プロセッサモジュール(処理モジュール、PM) :共有メモリモジュール(SSM) :共有システムバスハンドラ(SSBH):共有システ
ムバス(SS−BUS) :中央処理ユニット(μP) :メインメモリ(L S U) :接続ユニット(SSBC−P 、PM側):内部バス
(PM側) :共有メモリユニット(SSU) 28・接続ユニット(SSBC−M、SSM側)30
内部バス(SSM側) 32ニブログラムモード。アクセス制御回路34:DM
Aモード・アクセス制御回路36.58:送受信回路 38.56:デュアルボートRAM (バッファ)40
ニアドレスデコーダ 42.48.72:タイミング制御回路44:構成定義
レジスタ 46.70ニアドレス発生器 5 Q : DMA制御レジスタ 52:DMA制御回路 54:内部バスアービタ 74:内部バス制御回路
本発明のマルチプロセッサシステム構成図; 第3図は本発明のプロセッサモジュール構成図:第4図
は本発明の共有メモリモジュール構成図;第5図は本発
明のプロセッサモジュール内蔵の接続ユニット構成図; 第6図は本発明の共有メモリモジュール内蔵の接続ユニ
ット構成図; 第7図は本発明のシステムバス上の転送コマンド説明図
; 第8図は本発明の書込転送動作説明図;第9図は本発明
の読出転送動作説明図;第10図は本発明のアドレス空
間マツプ説明図;第11図は本発明の拡張SSU空間説
明図;第12図は本発明の第1制御レジスタによる88
M構成定義の説明図; 第13図は本発明の第2制御レジスタによる88M構成
定義の説明図; 第14図は第12.13図の構成定義に対応する共有メ
モリモジュールの実装説明図; 第15A、15B図は本発明のプログラムモードアクセ
スのフローヤード; 第16a、16B図は本発明のDMAモードアクセスの
フローチャート; 第17図は本発明のDMAモードアクセスで用いるディ
スクリブタ説明図である。 図中、 10・プロセッサモジュール(処理モジュール、PM) :共有メモリモジュール(SSM) :共有システムバスハンドラ(SSBH):共有システ
ムバス(SS−BUS) :中央処理ユニット(μP) :メインメモリ(L S U) :接続ユニット(SSBC−P 、PM側):内部バス
(PM側) :共有メモリユニット(SSU) 28・接続ユニット(SSBC−M、SSM側)30
内部バス(SSM側) 32ニブログラムモード。アクセス制御回路34:DM
Aモード・アクセス制御回路36.58:送受信回路 38.56:デュアルボートRAM (バッファ)40
ニアドレスデコーダ 42.48.72:タイミング制御回路44:構成定義
レジスタ 46.70ニアドレス発生器 5 Q : DMA制御レジスタ 52:DMA制御回路 54:内部バスアービタ 74:内部バス制御回路
Claims (13)
- (1)少なくともメインメモリ(20)、中央処理ユニ
ット(18)及びシステムバス(16)への接続ユニッ
ト(22)を備えた複数の処理モジュール(10)と、
少なくとも共有メモリユニット(26)及び前記システ
ムバス(16)への接続ユニット(28)を備えた計算
機システムに於いて、 前記処理モジュール(10)の物理アドレスでアクセス
可能な共有メモリ空間(100)を複数の部分共有メモ
リ空間(280)に分割し、該部分共有メモリ空間(2
00)毎に前記共有メモリモジュール(12)の二重化
構成の有無を定義し、 二重化構成が定義された共有メモリモジュール(12)
のユニットIDに対し、該ユニットIDの特定のビット
を反転したユニットIDをもつ他の共有メモリモジュー
ル(12)を、二重化されたメモリペアとして指定する
ことを特徴とする共有メモリ二重化方式。 - (2)請求項1記載の共有メモリ二重化方式に於いて、 二重化構成が定義された共有メモリモジュール(12)
のユニットIDに対し、該ユニットIDの最下位ビット
を反転したユニットIDをもつ他の共有メモリモジュー
ル(12)を、二重化されるメモリペアとして指定した
ことを特徴とする共有メモリ二重化方式。 - (3)請求項1記載の共有メモリ二重化方式に於いて、 ソフトウェアに基づく前記中央処理ユニット(18)の
1回の書込み指示に対し二重化構成を判定した場合には
、前記接続ユニット(22)のハードウェアが、まず指
定されたユニットIDを有する共有メモリモジュール(
12)に1回目の書込みを行い、次に指定されたユニッ
トIDの特定のビットを反転したユニットIDを有する
他の共有メモリモジュール(12)に2回目の書込みを
行うことを特徴とする共有メモリ二重化方式。 - (4)請求項1記載の共有メモリ二重化方式に於いて、 前記処理モジュール(10)の接続ユニット(22)は
、前記共有メモリモジュール(12)の二重化構成の有
無を指定する構成定義レジスタ(44)を備え、前記中
央処理ユニット(18)からの書込指示を受けた際に該
構成定義レジスタ(44)を参照して二重化書込みアク
セスを実行することを特徴とする共有メモリ二重化方式
。 - (5)請求項1記載の共有メモリ二重化方式に於いて、 前記構成定義レジスタ(44)の二重化構成をソフトウ
ェアに基づき前記中央処理ユニット(18)の指示で変
更可能としたことを特徴とする共有メモリ二重化方式。 - (6)請求項1記載の共有メモリ二重化方式に於いて、 前記処理モジュール(10)の接続ユニット(22)が
、二重化構成が指定された共有メモリモジュール(12
)のペアに対する読出指示を前記中央処理ユニット(1
8)から受けた際には、該中央処理ユニット(18)の
読出し指示で発行されたユニットIDをもつ共有メモリ
モジュール(12)の読出アクセスのみを実行すること
を特徴とする共有メモリ二重化方式。 - (7)請求項1記載の共有メモリ二重化方式に於いて、 前記処理モジュール(10)の接続ユニット(22)は
、アクセス対象となった共有メモリモジュール(12)
を示す相手先IDコード(DID)、発信元を示す発信
元IDコード(SID)、アクセスの種類を示すオペラ
ンド、及びアクセスデータ容量(BCT)で構成される
起動転送コマンド(EC)を作成し、該起動転送コマン
ド(EC)を相手先共有メモリモジュール(12)のア
クセスアドレス(A)と共に前記システムバス(16)
に送信し、前記共有メモリモジュール(12)の接続ユ
ニット(28)は、前記システムバス(16)を監視し
て前記起動転送コマンド(SC)の相手先IDコードと
自己のユニットIDとの一致を判別した時に該起動転送
コマンド(SC)の受信動作を行ってオペランドに基づ
くアクセスを実行することを特徴とする共有メモリ二重
化方式。 - (8)請求項1記載の共有メモリ構成方式に於いて、 前記処理モジュール(10)の接続ユニット(22)は
、二重化構成の指定に対し二重化書込みを実行するハー
ドウェアとして、 前記中央処理ユニット(18)の物理アドレスにより前
記共有メモリモジュール(12)をアクセスするプログ
ラムモードアクセス制御手段(32)と;前記中央処理
ユニット(18)の物理アドレスを相対アドレスに変換
して前記共有メモリモジュール(12)をアクセスする
DMAモードアクセス制御手段(34)と; を備えたことを特徴とする共有メモリ構成方式。 - (9)請求項1記載の共有メモリ二重化方式に於いて、 前記共有メモリモジュール(12)へのアクセス時に、
何等かの異常が検出された場合には、異常の詳細を通知
する終結コードと共に異常が発生した共有メモリモジュ
ール(12)のユニットIDを前記処理モジュール(1
0)のソフトウェアに通知することを特徴とする共有メ
モリ二重化方式。 - (10)請求項9記載の共有メモリ二重化方式に於いて
、 異常の詳細を通知する終結コードと共に異常が発生した
共有メモリモジュール(12)のユニットIDの最下位
ビットのみを前記処理モジュール(10)のソフトウェ
アに通知することを特徴とする共有メモリ二重化方式。 - (11)請求項9記載の共有メモリ二重化方式に於いて
、 前記処理モジュール(12)のソフトウェアが二重化ア
クセスの異常終結を示す通知を受けた際には、前記接続
ユニット(22)に設けている構成定義レジスタ(44
)の内容を変更による二重化解除、再書込みの指示、読
出対象とする共有メモリモジュール(12)の切替え等
のリカバリ処理を行うことを特徴とする共有メモリ二重
化方式。 - (12)請求項1記載の共有メモリ構成方式に於いて、 前記計算機システムを、単一の処理モジュール(10)
と該処理モジュール(10)の物理アドレスでアクセス
可能な共有メモリ空間を割付けた複数の共有メモリユニ
ット(12)で構成したことを特徴とする共有メモリ構
成方式。 - (13)請求項1記載の共有メモリ構成方式に於いて、 前記システムバス(16)を複数設け、該システムバス
(16)の数に対応して前記処理モジュール(10)の
接続ユニット(22)及び前記共有メモリモジュール(
12)の接続ユニット(28)を複数設けたことを特徴
とする共有メモリ構成方式。
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02248204A JP3112280B2 (ja) | 1990-09-18 | 1990-09-18 | 計算機システム |
| DE69129960T DE69129960T2 (de) | 1990-09-18 | 1991-09-17 | System zur Gestaltung eines geteilten Speichers |
| EP91308453A EP0476962B1 (en) | 1990-09-18 | 1991-09-17 | System for configuring a shared storage |
| DE69131840T DE69131840T2 (de) | 1990-09-18 | 1991-09-17 | Verfahren zur Vervielfältigung eines geteilten Speichers |
| EP97113654A EP0809185B1 (en) | 1990-09-18 | 1991-09-17 | A shared storage duplicating method |
| US08/426,186 US5963976A (en) | 1990-09-18 | 1995-04-21 | System for configuring a duplex shared storage |
| US08/954,594 US5890218A (en) | 1990-09-18 | 1997-10-20 | System for allocating and accessing shared storage using program mode and DMA mode |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02248204A JP3112280B2 (ja) | 1990-09-18 | 1990-09-18 | 計算機システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04125750A true JPH04125750A (ja) | 1992-04-27 |
| JP3112280B2 JP3112280B2 (ja) | 2000-11-27 |
Family
ID=17174743
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02248204A Expired - Fee Related JP3112280B2 (ja) | 1990-09-18 | 1990-09-18 | 計算機システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3112280B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022113747A1 (ja) * | 2020-11-24 | 2022-06-02 | 株式会社オートネットワーク技術研究所 | 車載情報処理装置及び車載情報処理方法 |
| JP2022083383A (ja) * | 2020-11-24 | 2022-06-03 | 株式会社オートネットワーク技術研究所 | 車載情報処理装置及び車載情報処理方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57162200A (en) * | 1981-03-31 | 1982-10-05 | Nec Corp | Doubling system for memory device |
| JPS61133453A (ja) * | 1984-11-30 | 1986-06-20 | Nec Corp | メモリ制御装置 |
| JPS62103756A (ja) * | 1985-10-31 | 1987-05-14 | Toshiba Corp | 複合計算機システム |
-
1990
- 1990-09-18 JP JP02248204A patent/JP3112280B2/ja not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57162200A (en) * | 1981-03-31 | 1982-10-05 | Nec Corp | Doubling system for memory device |
| JPS61133453A (ja) * | 1984-11-30 | 1986-06-20 | Nec Corp | メモリ制御装置 |
| JPS62103756A (ja) * | 1985-10-31 | 1987-05-14 | Toshiba Corp | 複合計算機システム |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022113747A1 (ja) * | 2020-11-24 | 2022-06-02 | 株式会社オートネットワーク技術研究所 | 車載情報処理装置及び車載情報処理方法 |
| JP2022083383A (ja) * | 2020-11-24 | 2022-06-03 | 株式会社オートネットワーク技術研究所 | 車載情報処理装置及び車載情報処理方法 |
| JP2025023988A (ja) * | 2020-11-24 | 2025-02-19 | 株式会社オートネットワーク技術研究所 | 車載情報処理装置及び車載情報処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3112280B2 (ja) | 2000-11-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5890218A (en) | System for allocating and accessing shared storage using program mode and DMA mode | |
| US5511224A (en) | Configurable network using dual system busses with common protocol compatible for store-through and non-store-through cache memories | |
| KR100261378B1 (ko) | 어댑터들이상이한호스트컴퓨터에존재하는어레이에대한주콘트롤러및보조콘트롤러로서작용하도록함으로써복수의저장어레이를공유하기위한시스템및방법 | |
| EP4086774B1 (en) | Coherent memory system | |
| EP2138935B1 (en) | Information handling system including dynamically merged physical partitions | |
| JP3385091B2 (ja) | 計算機間の排他制御装置 | |
| US6529989B1 (en) | Intelligent expansion ROM sharing bus subsystem | |
| JPH0454260B2 (ja) | ||
| JPH0373055A (ja) | データ処理システム | |
| JPH041374B2 (ja) | ||
| AU599534B2 (en) | A diagnostic system in a data processing system | |
| WO1992005490A1 (fr) | Procede de commande exclusive pour memoire partagee | |
| US6108755A (en) | Asynchronous access system to a shared storage | |
| US6633927B1 (en) | Device and method to minimize data latency and maximize data throughput using multiple data valid signals | |
| JP3052857B2 (ja) | クラスタ間共有メモリアクセス方式 | |
| JPH04125750A (ja) | 計算機システム | |
| JP3080552B2 (ja) | 複合計算機システムのメモリ装置 | |
| JP3141948B2 (ja) | 計算機システム | |
| JP3246736B2 (ja) | 計算機システム | |
| JP3719976B2 (ja) | 二重化コントローラ構成ディスク記憶システム向けコントローラ、及び同コントローラが二重化されたディスク記憶システム | |
| JPH0281255A (ja) | マルチプロセッサコンピュータ複合装置 | |
| JP3371078B2 (ja) | デバイス間データ転送装置及びその方法 | |
| JPS6326903B2 (ja) | ||
| JPWO1992005490A1 (ja) | 共有メモリ側排他制御方式 | |
| US20250335093A1 (en) | Controller and memory system including a mailbox |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |