JP3246736B2 - 計算機システム - Google Patents

計算機システム

Info

Publication number
JP3246736B2
JP3246736B2 JP24820390A JP24820390A JP3246736B2 JP 3246736 B2 JP3246736 B2 JP 3246736B2 JP 24820390 A JP24820390 A JP 24820390A JP 24820390 A JP24820390 A JP 24820390A JP 3246736 B2 JP3246736 B2 JP 3246736B2
Authority
JP
Japan
Prior art keywords
shared memory
access
module
unit
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP24820390A
Other languages
English (en)
Other versions
JPH04125746A (ja
Inventor
敏男 小川
章 河部本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP24820390A priority Critical patent/JP3246736B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to EP97113654A priority patent/EP0809185B1/en
Priority to DE69131840T priority patent/DE69131840T2/de
Priority to EP91308453A priority patent/EP0476962B1/en
Priority to DE69129960T priority patent/DE69129960T2/de
Publication of JPH04125746A publication Critical patent/JPH04125746A/ja
Priority to US08/426,186 priority patent/US5963976A/en
Priority to US08/954,594 priority patent/US5890218A/en
Application granted granted Critical
Publication of JP3246736B2 publication Critical patent/JP3246736B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
[概要] 複数のプロセッサモジュールと共有メモリモジュール
がシステムバスを介して接続されたマルチプロセッサシ
ステムの計算機システムに関し、 共有メモリのアクセスを効率化してシステム性能を向
上することを目的とし、 各プロセッサの物理アドレス空間をメインメモリのプ
ロセッサ固有空間と共有メモリモジュールの共有メモリ
空間とに分け、プロセッサ固有空間には命令コード及び
固有データを格納し、共有メモリ空間には全てのプロセ
ッサに必要な共有化データを格納するように構成する。
またDMA指示のみでアクセス可能な拡張メモリ空間を設
け、物理アドレス空間の制約を受けない大きなメモリ空
間を構築できる。 [産業上の利用分野] 本発明は、複数のプロセッサモジュールと共有メモリ
モジュールがシステムバスを介して接続されたマルチプ
ロセッサシステムの計算機システムに関する。 マルチプロセッサシステムの共有メモリには、通常、
プロセッサの処理に必要な命令及びデータが格納されて
おり、各プロセッサモジュールは頻繁に共有メモリをア
クセスする。このようにアクセス頻度が高いとシステム
に搭載可能なプロセッサモジュールの数が制限され、結
果としてシステム性能が制限される。更に1つのプロセ
ッサモジュールの異常がシステム全体の以上に直結しや
すい。従って、共有メモリのアクセスを効率化してアク
セス頻度を抑えることのできる計算機システムが望まれ
る。 [従来の技術] 従来のマルチプロセッサシステムは、複数のプロセッ
サモジュールと複数の共有メモリモジュールが、情報転
送のためのシステムバスを介して接続され、マルチプロ
セッサシステムして知られた計算機システムを構築して
いる。 このような従来のマルチプロセッサシステムにあって
は、各プロッサモジュールの中央処理ユニットに必要な
命令及びデータは共有メモリモジュールに格納されてお
り、各プロセッサモジュールは共有メモリモジュールを
頻繁にアクセスするTCMP(Tightly Coupled Malti Proc
esser)システムを構成している。 [発明が解決しようとする課題] しかしながら、従来の各プロセッサモジュールが共有
メモリを頻繁にアクセスするTCMPシステムにあっては、
システムバスによる共有メモリに対する単位時間当りの
転送能力には制限があるため、アクセス回数が増加する
とシステムに搭載可能なプロセッサモジュールの台数は
かなり少ない数に制限され、結果的にシステム性能も制
限されてしまう問題があった。 また運用中にシステムの一部に故障が生じても停止す
ることなくシステムの動作を続けることのできるフォー
ルトトレラント計算機システムを実現しようとする場
合、従来システムにおいては、共有メモリのアクセス頻
度が高いために、アクセスエラー等により1つのプロセ
ッサモジュールが異常を起こすと、システムバスの開放
が遅れて他のプロセッサモジュールでオーバーヘッド等
を起こし、システム全体の異常に直結しやすい問題があ
った。 更に、従来システムでは、プロセッサモジュールの中
央処理ユニットによってアクセス可能なメモリ領域は、
中央処理ユニットの物理アドレスによって制限され、物
理アドレス容量外の領域をメモリ空間領域として使用す
ることができなかった。そのために、広大なメモリ空間
を必要とする計算機システム、例えば大規模なデータベ
ースを処理対象とした計算機システムを構築できない問
題があった。 本発明は、このような従来の問題点に鑑みてなされた
もので、共有メモリのアクセスを高効率化してシステム
性能を向上し、且つフォルト・トレーラントの要求にも
適切に対応でき、更にメモリ空間を自由に拡大できる計
算機システムを提供することを目的とする。 [課題を解決するための手段] 第1図は本発明の原理説明図ある。 第1A図に示すように、本発明は、少なくともメインメ
モリ20、中央処理ユニット18及びシステムバス16への接
続ユニット22を備えた複数の処理モジュール(プロセッ
サモジュール)10と、少なくとも共有メモリユニット26
及びシステムバス16への接続ユニット28を備えた複数の
共有メモリモジュール12とを備えた計算機システムを対
象とする。 このような計算機システムにつき本発明は第1B図に示
すように、処理モジュール10の中央処理ユニット18の物
理アドレスによりアクセス可能な処理モジュール固有空
間100に加え、同じく中央処理ユニット18の物理アドレ
スでアクセス可能な共有メモリ空間200を設けたもので
ある。そして、処理モジュール10は中央処理ユニット18
の物理アドレスによりアクセス可能で命令を格納する処
理モジュール固有空間100及び中央処理ユニット18の物
理アドレスでアクセス可能であり複数の処理モジュール
10に共有の必要なデータを格納する共有メモリ空間200
とを設けたことを特徴とする。 この共有メモリ空間200は複数の部分共有メモリ空間3
00に分割され、部分共有メモリ空間300毎に複数の共有
メモリモジュール12との関係を定義して構成制御する。 部分共有メモリ空間300との関係が定義された複数の
共有メモリモジュール12には、全ての処理モジュール10
が共有すべきデータを格納する。 一方、処理モジュール固有空間100にはメインメモリ2
0を割り付けて各処理モジュール10毎の多重空間を形成
する。 処理モジュール固有空間200が割付られたメインメモ
リ20には、中央処理ユニット18が必要とするオペランド
及び処理モジュール固有のデータを格納する。 処理モジュール10の接続ユニット22は、中央処理ユニ
ット18の物理アドレスにより共有メモリ空間200を割付
けた任意の共有メモリモジュール12をアクセスするプロ
グラムモードアクセス制御手段32と、中央処理ユニット
18の物理アドレスを相対アドレスに変換して共有メモリ
空間200を割付けた任意の共有メモリモジュール(12)
をアクセスするDMAモードアクセス制御手段34とを備え
る。 接続ユニット22のプログラムモードアクセス制御手段
32は、中央処理ユニット18が物理アドレスにより共有メ
モリ空間200をアクセスした際に、この物理アドレスを
アクセス対象となる共有メモリモジュール12のユニット
IDに変換し、変換したユニットIDをシステムバス16上の
識別子として共有メモリモジュール12をアクセスする。 また接続ユニット22のプログラムモードアクセス制御
手段32は、アクセス対象となった共有メモリモジュール
12を示す相手先IDコードDID、発信元を示す発信元IDコ
ードSID、アクセスの種類を示すオペランド、及びアク
セスデータ容量BCTで構成される起動転送コマンドECを
作成し、この起動転送コマンドECを相手先共有メモリモ
ジュール12のアクセスアドレスAと共にシステムバス16
に送信する。 具体的には、接続ユニット22のプログラムモードアク
セス制御手段32は、フェッチアクセス時には起動転送コ
マンドSC及びアクセスアドレスAを送信し、ストアアク
セス時には起動転造コマンドSC、アクセスアドレスA及
び書込データDを送信する。 処理モジュール10からの送信に対し共有メモリモジュ
ール12の接続ユニット28は、システムバス16を監視して
起動転送コマンドSCの相手先IDコードと自己のユニット
IDとの一致を判別した時に、起動転送コマンドSCの受信
動作を行う。 続いて共有メモリモジュール12の接続ユニット28は、
受信動作により取込んだ起動転送コマンドSCに基づいて
共有メモリユニットト26のアクセスを終了した時には、
相手先処理モジュール10を示すIDコードDID、発信元を
示す発信元IDコードSID及び終結コードを含む応答転送
コマンドECを作成し、システムバス16に送信する。 具体的には共有メモリモジュール12の接続ユニット28
は、ストアアクセス時には終結コードを含む応答転送コ
マンドECのみを送信し、フェッチアクセス時には応答転
送コマンドEC及び読出データDを送信する。 共有メモリモジュール12からの応答送信に対し処理モ
ジュール10の接続ユニット22は、システムバス16を監視
し、応答転送コマンドECの相手先IDコードDIDと自己の
ユニットIDとの一致を判別した時に、応答転送コマンド
ECの受信動作を行う。 更に処理モジュール10の接続ユニット22には、部分共
有メモリ空間300に対応した共有メモリユニット12の実
装と未実装を示す構成制御レジスタ44が設けられてい
る。 次に本発明は、第1C図に示すように、処理モジュール
10の物理アドレスでアクセス可能な共有メモリ空間200
に加え、中央処理ユニット18による相対アドレスでアク
セス可能な拡張共有メモリ空間400を設けたことを特徴
とする。 この共有メモリ空間400は、所定のメモリ容量を有す
る複数の共有メモリモジュール12で分割構成される。 また拡張共有メモリ空間400には、中央処理ユニット1
8の物理アドレスでアクセスできる共有メモリ空間200を
割付けた複数の共有メモリユニット12も含まれる。 更に拡張共有メモリ空間400を構成する共有メモリモ
ジュール12に対するアクセスは、処理モジュール10の接
続ユニット22に設けたDMAモードアクセス制御手段34が
行う。 DMAモードアクセス制御手段34は、転転送起動コマン
ドSC中に相手先IDコードDIDによって拡張共有メモリ空
間400の中の1つの共有メモリモジュール12を指定し、
アクセスアドレスAによって指定された共有メモリモジ
ュール12内のアドレスを指定する。 また処理モジュール10の中央処理ユニット18は、共有
メモリ空間200のプログラムモードによるアクセス時
に、アドレスビット長の所定数のビットを共有メモリモ
ジュール12の選択子に割当て、残りビットを選択子で指
定された共有メモリモジュール12の内部アドレスに割当
てる。 またシステムバス16を複数設け、システムバス16の数
に対応して処理モジュール10の接続ユニット22及び共有
メモリモジュール12の接続ユニット28を複数設けてもよ
い。 [作用] このような構成を備えた本発明の計算機システムによ
れば次の作用が得られる。 まず命令コードとデータの格納場所の分離したこと
で、共有メモリモジュールに対するアクセス頻度を減少
でき、アクセス頻度が高すぎてシステム性能が制限され
る問題点を解決することができる。 この命令とデータの分離は、処理モジュールの物理ア
ドレスによってなされ、共有メモリ空間は全ての処理モ
ジュールに共通な空間内に割り付けられており、一方、
各処理モジュール上のローカルなメインメモリは、各処
理モジュール固有の空間内に割り付けられる。 処理モジュール内の中央処理ユニットの命令コードは
処理モジュール固有空間のメインメモリユニットに格納
し、共有化の必要なデータのみを共有メモリ空間を構成
する共有メモリモジュールに格納する。 これにより共有メモリモジュールへのアクセスは大幅
に減少し、システムに搭載可能なプロセッサモジュール
数は増加、結果としてシステム性能も向上する。 さらに、複数のプロセッサモジュール間で共有される
メモリ領域は減少するために、各々のプロセッサモジュ
ールの独立性は高まり、フォールトトレラントシステム
の構築が可能である。 更に、中央処理ユニットの物理アドレス空間となる共
有メモリ空間に加え、中央処理ユニットの物理アドレス
空間には依存せず、ソフトウェアによるDMA指示のみで
アクセス可能な拡張共有メモリ空間を設けることによ
り、物理アドレス空間より大幅に広大なメモリ空間の構
築が可能である。
【実施例】
[装置の構成] 第2図は本発明の計算機システムが適用されるマルチ
プロセッサシステムの一部を示したシステム構成図であ
る。 第2図において、マルチプロセッサシステムは、複数
個のプロセッサモジュール(PM)10と、複数個の共有メ
モリモジュール(SSM)12を有し、各プロセッサモジュ
ール10と各共有メモリモジュール12は、スプリットバス
である共有システムバス(SS−BUS)16に接続ユニット
(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の共有メモリモジュール12
には、それぞれユニットIDとして SSM#0;UID=0000000 SSM#1;UID=0000001 SSM#2;UID=0000010 が付けられる。 各々のプロセッサモジュール10および共有メモリモジ
ュール12は、フォールトトレラントを目的として二重化
した#0及び#1の共有システムバス16により制御され
ているが、より多くの共有システムバス16に接続しても
良い。 第3図は第2図に示したプロセッサモジュール10の実
施例構成図である。 第3図において、プロセッサモジュール10内には、中
央処理ユニット(μP)18、ローカルなメインメモリユ
ニット(LSU)20、および2本の共有システムバス16に
対する2つの接続ユニット(SSBC−P)22が内部バス24
を介して設けられる。 このプロセッサモジュール10内には、中央処理ユニッ
ト18及びメインメモリ20上で動作するソフトウェア(O
S)が走行し、第2図に示した各プロセッサモジュール1
0内のソフトウェアは、相互に協調して一連の動作を行
う分散OSを構成する。またプロセッサモジュール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及び
バッファとして機能するデュアルポートRAM38によって
構成される。ここでプログラムモード・アクセス制御回
路32には、アドレスデコーダ40、タイミング制御回路4
2、構成定義レジスタ44が設けられ、またDMAモード・ア
クセス制御回路34には、アドレス発生器46、タイミング
制御回路48及びDMA制御レジスタ50が設けられる。 第6図は第4図に示した共有メモリモジュール12に設
けた接続ユニット(SSBC−S)28の実施例構成図であ
る。 第6図において、接続ユニット28には、内部バス30を
制御する内部バス制御回路74、アドレス発生器70及びタ
イミング制御回路72を備えたDMA制御回路52、第4図の
ように共有メモリモジュール12に複数の接続ユニット28
が搭載された場合に内部バス30のアービトレーションを
行う内部バスアビータ回路54、共有システムバス16に対
する送受信回路56、及びバッファ機能を有するデュアル
ポートRAM58によって構成される。 第3,4図に示したプロセッサモジュール10と共有メモ
リモジュール12間を共有システムバス16を介して接続す
る接続ユニット22,28は、一回のアクセスを起動転送、
応答転送に分離して行うスプリット転送方式を採用して
いる。 このスプリット転送方式のバス制御においては、各モ
ジュールごとにユニットIDを割り付け、ユニットIDをバ
ス上のモジュール識別子とする。 第7図に接続ユニット22,28で使用する起動転送コマ
ンドSCと応答転送コマンドECの例を示す。 第7図の起動転送コマンドSCにおいて、DID(Destina
tion ID)は受信先モジュールのユニットIDであり、SID
(Source ID)は送信元モジュールユニットIDである。
またオペランドはアクセス種類を示す。アクセス種類と
しては、共有メモリモジュール12に対するメモリアクセ
スの他い、共有メモリモジュール12や他のプロセッサモ
ジュール10に対するホルト指示、或いはリセット指示な
どの制御レジスタのアクセス等がある。更にBCT(Byte
Count)は、共有メモリモジュール12のアクセスにおけ
るデータ容量を示す。 一方、応答転送コマンドECにおけるDID、SIDは起動転
送コマンドSCと同じであるが、終結コードはアクセス先
における終結状態、即ち正常終結と異常終結をコード化
したものである。 第8図は共有システムバス16によりプロセッサモジュ
ール10から共有メモリモジュール12にデータを転送して
書込む書込アクセス(ストアアクセス)の動作説明図で
ある。 まずアクセス元のプロセッサモジュール10は、起動転
送コマンドSCを作成する。即ち、自己のユニットIDを示
すSID、アクセス先の共有メモリモジュール12のユニッ
トIDを示すDID、メモリ書込アムセスを示すオペラン
ド、アクセス容量を示すBCTによって転送起動コマンドS
Cを作成する。共有システムバス16上には転送起動コマ
ンドSCに続いて、アクセス先の共有メモリモジュール12
上のアクセスアドレスA及び書き込むべきデータDを送
信する。 受信側の共有メモリモジュール12は共有システムバス
16上を監視し、起動転送コマンドSCに含まれる受信先を
示すDIDと自己のユニットIDを比較し、両者一致した場
合に受信動作を行う。受信動作を行った共有メモリモジ
ュール12は、共有メモリモジュール12内に設けた共有メ
モリユニット26(第4図参照)に書込アクセスを行い、
書込アクセスの終結コードを含め、転送方向が起動転送
と応答転送では逆のためDIDとSIDを交換した応答転送コ
マンド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の物理ア
ドレス空間は共有メモリモジュール空間(以下「SSU空
間」という)と、プロセッサモジュール固有空間(以下
「PM固有空間」という)に大別される。 PM固有空間は各プロセッサモジュール10のハードウェ
アリソース固有の空間であり、各プロセッサモジュール
10ごとに存在し、システムにおけるプロセッサモジュー
ル10の搭載台数分の多重アドレス空間となる。この実施
例ではPM固有空間を2GBとしている。 一方、SSU空間は、全てのプロセッサモジュール10に
共通な空間である。即ち、SSU空間は複数の共有メモリ
モジュール12によって構成され、システム搭載プロセッ
サモジュール10から見て共通の空間となり、しかもプロ
セッサモジュール10の物理アドレスによって直接アクセ
スすることができる。従って、SSU空間には、全てのプ
ロセッサモジュール10で共通に必要なデータのみが格納
される。 この実施例では2GBのSSU空間を例にとっており、SSU
空間は左側に取出して示すように更に256MB単位の8つ
の部分SSU空間#0〜#7に分割される。この部分SSU空
間#0〜#7の1つ1つが本発明の共用メモリモジュー
ル12で構成される。 更に、各プロセッサモジュール10のPM固有空間はLSU
空間と制御空間に分けられる。PM固有空間の一部である
LSU空間には、各プロセッサモジュール10が必要とする
オペランド、各プロセッサモジュール10固有のデータが
格納される。このLSU空間の存在により各プロセッサモ
ジュール10は共有メモリモジュール12で構成されるSSU
空間に対するアクセス回数を削減することができる。 また中央処理ユニット18によるアクセスドレスがLSU
空間を指している場合には、そのプロセッサモジュール
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空間容量=2n (但し、nは中央処理ユニット18のアドレスビット幅に
ユニットIDのビット幅) となる拡張SSU空間に対してアクセス可能となる。即
ち、拡張SSU空間は、ユニットIDを識別子として区別さ
れる多重空間となる。 第11図はプロセッサモジュール10の物理アドレス空間
にマッピングされたSSU空間と、DMAモードでのみアクセ
ス可能な拡張SSU空間を示したマップ説明図である。 第11図において、拡張SSU空間を構成する複数の共有
メモリモジュール12のユニットIDのビット数は7ビット
であり、0000000〜0111111の64個のユニットIDを共有メ
モリモジュール12に割り当てる。 ここでユニットIDの内の0000000〜0000111までの8個
のユニットIDは、プログラムモード及びDMAモードの両
方によるアクセスが可能であり、更に後述する二重化共
有メモリを構成する共有メモリモジュール12の構成定義
用に使用するため、物理アドレス空間の2GBに割り当て
る。また残りの56個のユニットIDを4GB単位に割り付け
る。その結果、合計226GBの拡張SSU空間に対してDMAモ
ードによるアクセスが可能である。 勿論、ユニットIDは第11図の8つのユニットIDに限定
されず、全二重化の共有メモリ空間(拡張でない2GBの
空間)を16個の共有メモリモジュール12を使って例えば
0000000〜0001111で作ることも可能である。 また第11図に限定されず、更にユニットIDのビット数
の増加、あるいはユニットIDの共有メモリモジュール12
に対する割り当て率の増加によって、DMAモードアクセ
スによる拡張SSU空間は拡大可能である。 物理アドレスでアクセスできる本発明のSSU空間は、
複数の共有メモリモジュール12によって構成されるが、
SSU空間分の全てのメモリを実装する必要はなく、未実
装領域があってもかまわない。また、フォールトトレラ
ントを目的としてSSU空間の全部あるいは一部分を二重
構成とすることが可能である。 これらの未実装領域や二重構成は、第10図のプロセッ
サモジュール10のSSU空間に示すように、プロセッサモ
ジュール10のSSU空間を複数個の部分SSU空間に分割し、
その分割された部分SSU空間ごとに共有メモリモジュー
ル12との関係、即ち、第11図に示した拡張SSU空間を構
成するユニットID=0000000〜0000111をもつ共有メモリ
モジュール12との関係を定義する構成制御によって実現
される。 第10図の実施例では、2GBのSSU空間を256単位に8空
間に分割し、それぞれの分割された部分SSU空間#0〜
#7ごとに共有メモリモジュール12との対応関係を示す
構成定義をしている。 この共有メモリモジュール12の構成定義は、各プロセ
ッサモジュール10に搭載された第5図に示した接続ユニ
ット22内の構成定義レジスタ44を操作することにより実
現される。この構成定義レジスタ44は、第12図に示す第
1レジスタ60と第13図に示す第2制御レジスタ62−1,62
−2で構成される。 第12図の第1制御レジスタ60は、第10図のように256M
B単位に8分割されたSSU空間に対応する共有メモリモジ
ュール12の存在の有無、即ち共有メモリモジュール12が
実装されているか、未実装であるかを指定する。この実
施例では第12図は第1制御レジスタ60のビット1で示す
I0,I1,I2,I4,I7に対応した部分SSU空間#0,#1,#2,#
4,#7の5つが実装されており、ビット0で示すI3,I5,
I6に対応した部分SSU空間#3,#5,#6の3つが未実装
であることを示している。 第13図に示す第2制御レジスタ62−1,2は、第1制御
レジスタ60において実装が指定された部分SSU空間にど
の共有メモリモジュール12が対応するか、一重/二重構
成の指定、及び二重構成が指定された場合のアクセス順
序を指定している。 この実施例では、部分SSU空間#0,#1,#2,#4,#7
に対するビットD0,D1,D2,D4,D7のみ有効であり、対応す
る共有メモリモジュール12の構成及びアクセス形態を指
定している。即ち、ビットD0,D1,D7は0であり、部分SS
U空間#0,#1,#7が一重構成であることを指定してい
る。この一重構成の部分SSU空間#0,#1,#7に対して
アクセスが行われた場合、ユニットID=0,1,7で指定さ
れた共有メモリモジュール12に対するアクセスを行う。 一方、ビットD2,D4は1となって二重構成を指定して
いる。この二重構成の部分SSU空間#2,#4に対しアク
セスが行われると、ユニットID2,ユニットID4で指定さ
れた片方の共有メモリモジュール12から読出を行う。 これに対し二重構成の共有メモリモジュール12への書
き込みは、1回目は第2制御レジスタ62−1,2のユニッ
トIDで指定された共有メモリモジュール12に対して書き
込みを行った後、2回目は最初のユニットIDの特定ビッ
ト、例えば最下位ビットを反転したユニットIDをもつ他
の共有メモリモジュール12に対して書き込みを行う。 この第2制御レジスタ61−1,2で二重構成を指定でき
る共有メモリモジュール12のペアは、例えば ユニットID=0000100 ユニットID=0000101 のように最下位ビットのみが反転しているユニットIDを
有する共有メモリモジュール12となる。 第13図の実施例では、部分SSU空間#2と#4の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図において、プロセッサモジュール10の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空間を分割して構成定義を行うこと
により、システム運用中においても、分割されたSSU空
間単位に共用メモリモジュールの有効/無効あるいは、
一重/二重構成の指定が可能となる。 この実施例にあっては、ソフトウェアに基づき中央処
理ユニット18の命令により物理アドレス空間で直接SSU
空間をアクセスするプログラムモードにおいては、32ビ
ットのSSU空間アドレスのビットb0〜b3の4ビットが共
有メモリモジュール12の選択子として機能し、残りビッ
トb4〜b31の28ビットが共有メモリモジュール12内のア
ドレスとして機能する。 共有メモリモジュール12に搭載されたメモリ容量が25
6MBを越える場合、共有メモリモジュール12を選択する
選択子の意味に変わりはないが、共有メモリモジュール
12の内部アドレスは、共有メモリモジュール12に搭載さ
れるメモリ容量に対応させる。例えばメモリ容量が2倍
の512MBの場合、アドレス情報のビットb3〜b31の29ビッ
トが共有メモリモジュール12の内部アドレスの指定に使
用される。また1GBの場合は、ビットb2〜b31の30ビット
が共有メモリモジュール12の内部アドレスの指定に使用
され、さらに2GBまで拡張された場合は、31ビットすべ
てが共有メモリモジュール12の内部アドレスに使用され
る。このように共有メモリモジュール12のメモリ容量が
256MBを越える場合には、共用メモリモジュールを選択
する選択子のビット数が減少することから、256MB単位
に分割された複数の部分SSU空間に対して実装容量に対
応した同一のユニットIDを指定することになる。 [アクセスモード] 本発明において、プログラムモードによるアクセスは
第15A,15B図のフローチャートに示す手順となる。 第15A図において、まずステップS1(以下「ステッ
プ」は省略)でソフトウェアが中央処理ユニット18の命
令としてSSU空間をアドレッシングするアクセスを行う
と、S2に進んで接続ユニット22は中央処理ユニット18か
らのアドレスビットb0〜b3の4ビットと共有メモリモジ
ュール12の構成定義を行う第2制御レジスタ62−1,2の
内容から、どのユニットIDを持つ共有メモリモジュール
12がアドレッシングされたSSU空間を有するかを判断す
る。更に第1制御レジスタ60の内容から指定された共有
メモリモジュール12が未実装か否かを判定し、未実装で
あればS4に進んで異常終了とする。 S3で実装が判別されるとS5に進んで接続ユニット22は
中央処理ユニット18に対してリトライ信号を返し、中央
処理ユニット18をウェイト状態とする。 次にS6に進んで中央処理ユニット18からの命令が共有
メモリモジュール12からデータを読出すフェッチ命令
か、共有メモリモジュール12にデータを書込むストア命
令かを判別する。 中央処理ユニット18の命令がフェッチ命令であれば、
S7に進んで第2制御レジスタ62−1,2の内容から相手先
の共用メモリモジュールのユニットIDをDIDとして起動
転送コマンドSCを作成し、S8で共有システムバス16のバ
ス権を獲得した後に、起動転送コマンドSC及びアドレス
Aを共有システムバス16に送信する。 一方、S3でストア命令が判別されるとS14に進んで、
同様に第2制御レジスタ62−1,2の内容から相手先の共
用メモリモジュールのユニットIDをDIDとして起動転送
コマンドSCを作成し、S14で共有システムバス16のバス
権を獲得した後に、起動転送コマンドSC、アドレスA、
更に書込用のデータDを共有システムバス16に送信す
る。 これに対し共用メモリモジュール12側にあっては第15
B図のフローチャートに示すように、接続ユニット28がS
1で共有システムバス16を監視し、S2で起動転送コマン
ド中のDIDと自己のユニットIDとの一致を判別すると、S
3に進んで内蔵したデュアルポートRAM56に受信データを
書き込む。 続いてS4でフェッチ命令かストア命令かを判別する。 S4でフェッチ命令が判別された場合には、S5で接続ユ
ニット28は内部バス30に対するバス権を獲得した後に、
内部バス制御回路64の制御のもとにデュアルポートRAM5
6と共有メモリユニット26の間でデータ転送を行う。S5
で共有メモリモジュール12内でのデータ転送終了後、接
続ユニット28はアクセス元のプロセッサモジュール10に
対し応答を行う。 即ち、S6に進んで終結コードを含んだ応答転送コマン
ドECを作成し、続いてS7で共有システムバス16に対する
バス権を獲得し、最終的にS8で応答転送コマンドEC、読
出されたデータDを共有システムバス16に送信する。 一方、S4でストア命令が判別された場合には、S9で接
続ユニット28は内部バス30に対するバス権を獲得した後
に、内部バス制御回路64の制御のもとにデュアルポート
RAM56と共有メモリユニット26との間のデータ転送によ
りデータ書込を行う。S9で共有メモリモジュール12内で
のデータ転送(データ書込)が終了すると、接続ユニッ
ト28はアクセス元のプロセッサモジュール10に対して応
答を行う。 即ち、S10に進んで終結コードを含んだ応答転送コマ
ンドECを作成し、続いてS11で共有システムバス16に対
するバス権を獲得し、最終的にS12で応答転送コマンドE
Cを共有システムバス16に送信する。 再び第15A図のプロセッサモジュール10側を説明する
と、プロセッサモジュール10の接続ユニット22は、S9又
はS16に示すように共有システムバス16を監視してお
り、応答転送コマンドECのDIDと自己のユニットIDとの
一致をS10,S17で判断すると、フェッチ命令の際にはS11
に進んで応答転送コマンド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モードによるアクセスに際して中央処理ユニット1
8は、まずS1で予めプロセッサモジュール10のメインメ
モリ20上に第17図に示す相手先の共用メモリモジュール
12のユニットID、アクセスアドレス、転送長等の制御内
容を含んだディスクリプタを配置する。 即ち、第17図のディスクリプタにおいて、BCT(Byte
Count)は転送バイト数を指定し、バッファアドレスBUF
Aはメインメモリ20上に置かれるデータバッファの先頭
物理アドレスを指定し、DIDはアクセス対象となる共有
メモリモジュール12のユニットIDを指定する。更にSSUA
はアクセス対象となった共有メモリモジュール12内の相
対アドレス(DIDで指定された共有メモリモジュール12
内の内部アドレス)を指定するもので、プログラムモー
ドにおけるSSU空間の物理アドレスとは異なる。 S1でディスクリプタを配置した後、S2に進んで接続ユ
ニット22に設けたDMAモード制御回路34内のDMA制御レジ
スタ50に転送方向、共有メモリモジュール12への二重化
書き込み指定、メインメモリ20上のディスクリプタのア
ドレス等の制御指示を行い、DMAモードアクセスを起動
する。 S2でDMAモードアクセスが起動されると、接続ユニッ
ト22がプロセッサモジュール10の内部バス24のバス権を
獲得してバスマスタとなり、DMA制御回路34の制御もと
にメインメモリ20を直接アクセスし、メインメモリ20上
のディスクリプタを読み出し、メインメモリ20から接続
ユニット22内のデュアルポートRAM38へのデータ転送を
行う。 接続ユニット22内のデュアルポートRAM38へのデータ
転送終了後、S4でデータの転送方向を判別する。共有メ
モリモジュール12からメインメモリ20へ読出データを転
送する転送方向(以下「(SSU→LSU)方向」という)で
あればS5に進んで送受信回路36で第7図に示した共有メ
モリモジュール12のユニットID、転送長を含んだ起動転
送コマンドSCを作成する。一方、メインメモリ20から共
有メモリモジュール12へ書込データを転送する転送方向
(以下「(LSU→SSU)方向」という)であればS13に進
んで送受信回路36で同様に転送起動コマンドSCを作成す
る。 続いてS6,S15に進んで送受信回路36は共有システムバ
ス16のバス権を獲得する。 転送方向が(SSU→LSU)方向の場合にはS6からS7に進
み、起動転送コマンドSC、アドレスAを共有システムバ
ス16に送信する。また(LSU→SSU)方向の場合にはS15
からS16に進み、起動転送コマンドSC、アドレスA及び
データDを共有システムバス16に送信する。 一方、共有メモリモジュール12側の接続ユニット28
は、第16B図のS1で共有システムバス16を監視してお
り、起動転送コマンドSC中のDIDと自己のユニットIDと
一致をS2で判別するとS3に進み、接続ユニット28内のデ
ュアルポートRAM56に受信データを書込む。 次にS4で転送方向が(LSU→SSU)方向か(SSU→LSU)
方向かを判別し、(LSU→SSU)方向であればS9に進み、
また(SSU→LSU)であればS5に進む。S5,S9では、接続
ユニット28に設けたDMA制御回路52の内部バス制御回路6
4が内部バス30のバス権を獲得し、デュアルポートRAM56
と共有メモリユニット26との間でデータ転送を行い、S5
で共有メモリユニット26からのデータ読出を行い、また
S 9では共有メモリユニット26に対するデータ書込を
行う。 S5又はS9でDMAによるメモリアクセスが終了すると、S
6,S10で第7図に示した終結コードを含んだ応答転送コ
マンドECを作成し、S7,S11で共有システムバス16のバス
権利を獲得してS8,S12に進む。即ち、(LSU→SSU)方向
となるS8では、応答転送コマンドECに読出したデータD
を付加して共有システムバス16に送信する。また(SSU
→LSU)となるS12では応答転送コマンドECを共有システ
ムバス16に送信する。 再び第16A図のプロセッサモジュール10側を説明する
と、プロセッサモジュール10の接続ユニット22は、S8又
はS17に示すように共有システムバス16を監視してお
り、応答転送コマンドのDIDと自己のユニットIDとの一
致をS9,S18で判別すると、S10,S19に進んで受信動作を
行い、受信データを接続ユニット22内のデュアルポート
RAM38に格納する。 続いて(SSU→LSU)方向の場合にはS11に進んで内部
バス24のバス権を獲得し、DMA制御によりデュアルポー
トRAM38の受信データDをメインメモリ20に転送し、最
終的にS12でDMA制御レジスタ50に終結コードをセット
し、中央処理ユニット18に割込み上げて終了を通知す
る。 また(LSU→SSU)方向の場合には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図のS
19,S22〜S28の処理となる。 即ち、1回目のストアアクセスについては一重構成の
場合と同じに処理され、S18で1回目の共有メモリモジ
ュール12に対する書込アクセスが終了して正常終了を示
す応答確認コマンドECを受領すると、S19に進んで共有
メモリモジュール12の構成を定義している第13図に示し
た第2制御レジスタ62−1,2を参照する。 第2制御レジスタ62−1,2には、共有メモリモジュー
ル12の二重構成の指定、二重構成を指定した時の読出し
側の共有メモリモジュールのユニットID、更に先に書込
み共有メモリモジュールのユニットIDが指定されてい
る。 第2制御レジスタ62−1,2を参照した時に、アクセス
アドレスに対応する共有メモリモジュール12が一重構成
の指定であれば、S20に進んで接続ユニット22はアクセ
ス対象となった共有メモリモジュール12に対する1回の
書込アクセスで終了する。 これに対し二重構成が指定されていた場合にはS22に
進み、既にアクセスが終了した第2制御レジスタ62−1,
2で最初に指定された共有メモリモジュール12のユニッ
トIDの最下位ビットを反転したユニットIDをDIDとする
ストア用の転送起動コマンドSCを作成する。次にS23で
共有システムバス16のバス権を獲得して起動転送コマン
ドSC、アドレスA及び1回目と同じデータDを共有シス
テムバス16に送信し、二重化された他方の共有メモリモ
ジュール12に対してアクセスを行う。 この2回目のアクセスに対しても1回目と同様、第15
B図のS1〜S4,S9〜S12の処理が共有メモリモジュール12
側で行なわれ、最終的に終結コードを含む応答転送コマ
ンドECを共有システムバス16に送信してくる。 そこで第15A図のS24で共有メモリモジュール12からの
転送データを監視し、S25でDIDと自己のユニットIDの一
致を判別するとS26で応答転送コマンドECの受信動作を
行い、S12,S13の場合と同様にして二重構成の共有メモ
リモジュールに対する一連のストアアクセスを終了す
る。 このように第2制御レジスタ62−1,2によって共有メ
モリモジュール12の構成定義を行っておけば、ソフトウ
ェアに基づき中央処理ユニット18がプログラムモードで
共有メモリモジュール12の物理アドレスをアクセスした
際(SSU空間のアクセス)に、プロセッサモジュール10
側の接続ユニット22がハードウェア制御によって共有メ
モリユニット12が一重構成か二重構成か判断し、二重構
成であれば、1回目のアクセス終了で自動的にユニット
IDを変えて2回目のアクセスを行うことができる。 またアクセスアドレシに対応する第2制御レジスタ62
−1,2で指定された共有メモリモジュール12の構成定義
が二重構成であっても、二重化された片方の共有メモリ
モジュール12が障害によりアクセスが不可能となる場合
があり得る。このような一時的に縮退運転を行わざるを
得ない状況においては、アクセス終了で得られた応答確
認コマンドECの異常終結コードを判別した際に、第2制
御レジスタ62−1,2の動作モードを二重化モードから一
重化モードへ変更することによって対応可能となる。 更に二重化モードのアクセス時に、共有メモリモジュ
ール12へのアクセスが異常終結した場合は、異常が検出
された共有メモリモジュール12のユニットIDと、第2制
御レジスタ62−1,2の内容によるアクセス順序と合わせ
て、二重化されている2つの共有メモリモジュールの内
容の等価性の有無の判定も可能である。特に、プログラ
ムモードにおいては、基本的にアクセスの成功,失敗が
ワード単位で認識できるので、二重化された共有メモリ
モジュール12間でデータ等価性が失われた場合も、不一
致が生じたワートとアクセスに失敗した共有メモリモジ
ュール12側を考慮してリカバリ処理を行えば良い。 次にDMAモードの二重化アクセス方法は第16A図のS20,
S22〜S27の処理となる。 即ち、データの転送方向が(LSU→SSU)方向となる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のバス権を獲得して起動転送コマンドSC、ア
ドレスA及び1回目と同じデータDを共有システムバス
16に送信し、二重化された他方の共有メモリモジュール
12に対してDMAアクセスによる書込みを行う。 この2回目のDMAアクセスに対しても1回目と同様、
第16B図のS1〜S4,S9〜S12の処理が共用メモリモジュー
ル12側で行なわれ、最終的に終結コードを含む応答転送
コマンドECを共有システムバス16に送信してくる。 そこで第16A図のS24で共有メモリモジュール12からの
転送データを監視し、S25でDIDと自己のユニットIDの一
致を判別するとS26で応答転送コマンドECの受信動作を
行い、S11,S12の場合と同様にしてS26,S26を経て二重構
成の共有メモリモジュール12に対するDMAアクセスによ
る書込みを終了する。 このようにDMAモードにおいても、プログラムモード
における二重化書き込み同様、動作モードを指定してお
けば、ハードウェアによる二重化書込みが自動的に行わ
れる。 また二重化された共有メモリモジュール12のDMAアク
セス中に異常終結した場合、アクセス中のユニットID
と、1回目のアクセス時に指定された共有メモリモジュ
ール12のユニットIDの最下位ビットによるアクセス順序
と合わせて、二重化された2つの共有メモリモジュール
12間のデータの等化性の有無も判定可能である。
【発明の効果】
以上説明したように本発明によれば、命令とデータの
分離により共有メモリモジュールのアクセス頻度を低減
してプロセッサモジュールのシステム搭載台数を増加で
き、結果としてシステム性能を向上できる。 また複数のプロセッサモジュール間で共有されるメモ
リ領域は減少するため、各プロセッサの独立性が高ま
り、フォルト・トレーラント・システムを構築できる。 更に、ソフトウェアによるDMA指示でアクセス可能な
拡張共有メモリ空間を設けることができるので、広大な
メモリ空間をもった計算機システムを構築できる。
【図面の簡単な説明】
第1A,1B,1C図は本発明の原理説明図; 第2図は本発明のマルチプロセッサシステム構成図; 第3図は本発明のプロセッサモジュール構成図; 第4図は本発明の共有メモリモジュール構成図; 第5図は本発明のプロセッサモジュール内蔵の接続ユニ
ット構成図; 第6図は本発明の共有メモリモジュール内蔵の接続ユニ
ット構成図; 第7図は本発明のシステムバス上の転送コマンド説明
図; 第8図は本発明の書込転送動作説明図; 第9図は本発明の読出転送動作説明図; 第10図は本発明のアドレス空間マップ説明図; 第11図は本発明の拡張SSU空間説明図; 第12図は本発明の第1制御レジスタによるSSM構成定義
の説明図; 第13図は本発明の第2制御レジスタによるSSM構成定義
の説明図; 第14図は第12,13図の構成定義に対応する共有メモリモ
ジュールの実装説明図; 第15A,15B図は本発明のプログラムモードアクセスのフ
ローャート; 第16a,16B図は本発明のDMAモードアクセスのフローチャ
ート; 第17図は本発明のDMAモードアクセスで用いるディスク
リプタ説明図である。 図中、 10:プロセッサモジュール(処理モジュール、PM) 12:共有メモリモジュール(SSM) 14:共有システムバスハンドラ(SSBH) 16:共有システムバス(SS−BUS) 18:中央処理ユニット(μP) 20:メインメモリ(LSU) 22:接続ユニット(SSBC−P;PM側) 24:内部バス(PM側) 26:共有メモリユニット(SSU) 28:接続ユニット(SSBC−M;SSM側) 30:内部バス(SSM側) 32:プログラムモード。アクセス制御回路 34:DMAモード・アクセス制御回路 36,58:送受信回路 38,56:デュアルポートRAM(バッファ) 40:アドレスデコーダ 42,48,72:タイミング制御回路 44:構成定義レジスタ 46,70:アドレス発生器 50:DMA制御レジスタ 52:DMA制御回路 54:内部バスアービタ 74:内部バス制御回路
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭56−42868(JP,A) 特開 昭54−131845(JP,A) 特開 昭61−165170(JP,A) 特開 昭61−255451(JP,A) 特開 昭58−58601(JP,A) 特開 昭60−173655(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/06 530 G06F 15/167

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくともメインメモリ、中央処理ユニッ
    ト及びシステムバスへの接続ユニットを備えた複数の処
    理モジュールと、少なくとも共有メモリユニット及び前
    記システムバスへの接続ユニットを備えた複数の共有メ
    モリモジュールとを備えた計算機システムに於いて、 前記処理モジュールに中央処理ユニットの物理アドレス
    によりアクセス可能で命令を格納する処理モジュール固
    有空間及び前記中央処理ユニットの物理アドレスでアク
    セス可能であり前記複数の処理モジュールに共有の必要
    なデータを格納する共有メモリ空間とを設け、 前記共有メモリ空間を複数個の部分共有メモリ空間に分
    割し、該部分共有メモリ空間毎に前記複数の共有メモリ
    モジュールとの対応関係を定義して構成し、 前記部分共有メモリ空間との対応関係が定義された複数
    の共有メモリモジュールには、処理モジュールが共有す
    べきデータを格納し、 前記処理モジュール固有空間に前記メインメモリを割付
    けて各処理モジュール毎の多重空間を形成し、 前記処理モジュール固有空間が割付けられた前記メイン
    メモリには、前記中央処理ユニットが必要とするオペラ
    ンド及び処理モジュール固有のデータを格納し、 前記処理モジュールの接続ユニットは、前記中央処理ユ
    ニットの物理アドレスにより前記共有メモリ空間を割付
    た任意の共有メモリモジュールをアクセスするプログラ
    ムモードアクセス手段と; 前記中央処理ユニットの物理アドレスをアクセス先の共
    有メモリモジュールを識別する識別番号とその識別され
    た共有メモリモジュール内のアドレスとによって前記共
    有メモリ空間に割付けた任意の共有メモリモジュールを
    アクセスするDMAモードアクセス制御手段と; を備えたことを特徴とする計算機システム。
  2. 【請求項2】請求項1記載の計算機システムに於いて、 前記接続ユニットのプログラムモードアクセス制御手段
    は、中央処理ユニットが物理アドレスにより前記共有メ
    モリ空間をアクセスした際に、該物理アドレスをアクセ
    ス対象となる共有メモリモジュールのユニットIDに変換
    し、該ユニットIDを前記システムバス上の識別子として
    前記共有メモリモジュールをアクセスすることを特徴と
    する計算機システム。
  3. 【請求項3】請求項1記載の計算機システムに於いて、 前記接続ユニットのプログラムモードアクセス制御手段
    は、アクセス対象となった共有メモリモジュールを示す
    相手先IDコード、発信元を示す発信元IDコード、アクセ
    スの種類を示すオペランド、及びアクセスデータ容量で
    構成される起動転送コマンドを作成し、該起動転送コマ
    ンドを相手先共有モジュールのアクセスアドレスと共に
    前記システムバスに送信することを特徴とする計算機シ
    ステム。
  4. 【請求項4】請求項3記載の計算機システムに於いて、 前記接続ユニットのプログラムモードアクセス制御手段
    は、フェッチアクセス時には前記起動転送コマンド及び
    アクセスアドレスを送信し、ストアアクセス時には前記
    起動転送コマンド、アクセスアドレス及び書込データを
    送信することを特徴とする計算機システム。
  5. 【請求項5】請求項3記載の計算機システムに於いて、 前記共有メモリモジュールの接続ユニットは、前記アク
    セスバスを監視して前記起動転送コマンドの相手先IDコ
    ードと自己のユニットIDとの一致を判別した時に該起動
    転送コマンドの受信動作を行うことを特徴とする計算機
    システム。
  6. 【請求項6】請求項5記載の計算機システムに於いて、 前記共有メモリモジュールの接続ユニットは、受信動作
    により取込んだ前記起動転送コマンドに基づいて前記共
    有メモリユニットのアクセスを終了したときには、相手
    先処理モジュールを示すIDコード、発信元を示す発信元
    IDコード及び終結コードを含む応答転送コマンドを作成
    して前記システムバスに送信することを特徴とする計算
    機システム。
  7. 【請求項7】請求項6記載の計算機システムに於いて、 前記共有メモリモジュールの接続ユニットはストアアク
    セス時には終結コードを含む前記応答転送コマンドのみ
    を送信し、フェッチアクセス時には前記応答転送コマン
    ド及び読出データを送信することを特徴とする計算機シ
    ステム。
  8. 【請求項8】請求項6記載の計算機システムに於いて、 前記処理モジュールの接続ユニットは、前記システムバ
    スを監視し、前記応答転送コマンドの相手先IDコードと
    自己のユニットIDとの一致を判別した時に、該応答転送
    コマンドの受信動作を行うことを特徴とする計算機シス
    テム。
  9. 【請求項9】請求項1記載の計算機システムに於いて、 前記処理モジュールの接続ユニットに、前記部分共有メ
    モリ空間に対応した共有メモリユニットの実装と未実装
    構成を示す構成制御レジスタを設けたことを特徴とする
    計算機システム。
  10. 【請求項10】請求項1記載の計算機システムに於い
    て、 前記処理モジュールの物理アドレスでアクセス可能な共
    有メモリ空間に加え、前記アクセス先の共有メモリモジ
    ュールを識別する識別番号とその識別された共有メモリ
    モジュール内のアドレスとによってアクセス可能な拡張
    共有メモリ空間を設けたことを特徴とする計算機システ
    ム。
  11. 【請求項11】請求項10記載の計算機システムに於い
    て、 前記拡張共有メモリ空間は、所定のメモリ容量を有する
    複数の共有メモリモジュールで分割されたことを特徴と
    する計算機システム。
  12. 【請求項12】請求項10記載の計算機システムに於い
    て、 前記拡張共有メモリ空間には、中央処理ユニットの物理
    アドレスでアクセスできる共有メモリ空間を割付けた複
    数の共有メモリユニットを含むことを特徴とする計算機
    システム。
  13. 【請求項13】請求項10記載の計算機システムに於い
    て、 前記拡張共有メモリ空間を構成する共有メモリモジュー
    ルに対するアクセスは、前記処理モジュールの接続ユニ
    ットに設けたDMAモードアクセス制御手段が行うことを
    特徴とする計算機システム。
  14. 【請求項14】請求項13記載の計算機システムに於い
    て、 前記DMAモードアクセス制御手段は、起動転送コマンド
    中の相手先IDコードによって拡張共有メモリ空間の1つ
    の共有メモリモジュールを指定し、アクセスアドレスに
    よって指定された共有メモリモジュール内のアドレスを
    指定することを特徴とする計算機システム。
  15. 【請求項15】請求項1記載の計算機システムに於い
    て、 前記システムバスを複数設け、該システムバスの数に対
    応して前記処理モジュールの接続ユニット及び前記共有
    メモリモジュールの接続ユニットを複数設けたことを特
    徴とする計算機システム。
JP24820390A 1990-09-18 1990-09-18 計算機システム Expired - Fee Related JP3246736B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP24820390A JP3246736B2 (ja) 1990-09-18 1990-09-18 計算機システム
DE69131840T DE69131840T2 (de) 1990-09-18 1991-09-17 Verfahren zur Vervielfältigung eines geteilten Speichers
EP91308453A EP0476962B1 (en) 1990-09-18 1991-09-17 System for configuring a shared storage
DE69129960T DE69129960T2 (de) 1990-09-18 1991-09-17 System zur Gestaltung 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
JP24820390A JP3246736B2 (ja) 1990-09-18 1990-09-18 計算機システム

Publications (2)

Publication Number Publication Date
JPH04125746A JPH04125746A (ja) 1992-04-27
JP3246736B2 true JP3246736B2 (ja) 2002-01-15

Family

ID=17174730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24820390A Expired - Fee Related JP3246736B2 (ja) 1990-09-18 1990-09-18 計算機システム

Country Status (1)

Country Link
JP (1) JP3246736B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54131845A (en) * 1978-04-05 1979-10-13 Masahiro Sowa Multiprocessor system
JPS5642868A (en) * 1979-09-17 1981-04-21 Shinko Electric Co Ltd Access method for common memory in multiprocessor system
JPS5858601A (ja) * 1981-10-05 1983-04-07 Yokogawa Hokushin Electric Corp スプリツト形プロセス制御システム
JPS61165170A (ja) * 1984-12-19 1986-07-25 Fujitsu Ltd バス制御方式
JPS61255451A (ja) * 1985-05-07 1986-11-13 Mitsubishi Electric Corp デ−タ処理装置

Also Published As

Publication number Publication date
JPH04125746A (ja) 1992-04-27

Similar Documents

Publication Publication Date Title
US5963976A (en) System for configuring a duplex shared storage
US5668943A (en) Virtual shared disks with application transparent recovery
US5511224A (en) Configurable network using dual system busses with common protocol compatible for store-through and non-store-through cache memories
EP1606712B1 (en) System and method for dynamic mirror-bank addressing
US4591977A (en) Plurality of processors where access to the common memory requires only a single clock interval
JP2602599B2 (ja) 多重プロセッサ・データ処理システム及びその動作方法
JPH0557619B2 (ja)
US4646237A (en) Data handling system for handling data transfers between a cache memory and a main memory
JPH07306838A (ja) 計算機間の排他制御装置
US20070180301A1 (en) Logical partitioning in redundant systems
EP0507951B1 (en) Exclusive control method for shared memory
JPH05508506A (ja) 耐障害性回路網ファイルシステム
US6108755A (en) Asynchronous access system to a shared storage
JP3246736B2 (ja) 計算機システム
US7080198B1 (en) Method for snooping RAID 1 write transactions by a storage device
JP3112280B2 (ja) 計算機システム
JP3141948B2 (ja) 計算機システム
US6988166B1 (en) Method for snooping raid 1 read transactions by a storage device
JPH0281255A (ja) マルチプロセッサコンピュータ複合装置
JPS59165287A (ja) 情報処理システム
JP2906197B2 (ja) 二重化バス装置
JP3252464B2 (ja) 仮想計算機システム
JP3595131B2 (ja) プラント制御システム
JPS63165948A (ja) 複合計算機システム
JPH09190415A (ja) プロセッサ間通信システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees