JPH054711B2 - - Google Patents

Info

Publication number
JPH054711B2
JPH054711B2 JP62090756A JP9075687A JPH054711B2 JP H054711 B2 JPH054711 B2 JP H054711B2 JP 62090756 A JP62090756 A JP 62090756A JP 9075687 A JP9075687 A JP 9075687A JP H054711 B2 JPH054711 B2 JP H054711B2
Authority
JP
Japan
Prior art keywords
memory
access
shared memory
bus
controller
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 - Lifetime
Application number
JP62090756A
Other languages
English (en)
Other versions
JPS63257051A (ja
Inventor
Michio Morioka
Tadaaki Bando
Yoshihiro Myazaki
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62090756A priority Critical patent/JPS63257051A/ja
Publication of JPS63257051A publication Critical patent/JPS63257051A/ja
Publication of JPH054711B2 publication Critical patent/JPH054711B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明は、複数の処理装置を用いた分散処理シ
ステムに係り、特に、多数のプロセツサによつて
共有されるメモリを有するマルチコンピユータシ
ステムに関する。 〔従来の技術〕 計算機制御の分野では、制御対象とするプロセ
ス毎に計算機(処理装置)を割り当て、これらを
積み重ねることによつて、大規模なシステムを効
率良く制御する分散処理システムが主流となりつ
つある。多数のプロセツサによつて構成される分
散処理システムでは、プロセツサ単体の処理能力
だけでなく、プロセツサ間の通信、同期が重要な
要素となる。プロセツサ間の通信、同期の手段と
しては、計算機システム全体の情報を記憶する共
有メモリを設け、全てのプロセツサから、参照可
能とする共有メモリ方式が知られている。共有メ
モリは、クリテイカルリソースに関するセマフオ
ア管理、あるいは、システム構成テーブル、プロ
セツサ間共有データの格納等に利用され、マルチ
コンピユータシステムには不可欠なハードウエア
となつている。 次に、マルチコンピユータシステムにおける共
有メモリの利用形態について述べる。 第1の利用形態としては、制御対象となるプロ
セスの状態を示すプロセス管理情報の記憶装置と
して利用される場合である。プロセス制御を行な
う計算機は、常に制御対象プロセスの状態を監視
し、プロセス内で発生したイベントに対して、リ
アルタイムに処理を行なう必要がある。このた
め、プロセスの各所には、多数のセンサが設けら
れ、ネツトワークスを通じて計算機に接続され
る。各センサからの情報は、計算機のダイレクト
メモリアクセスコントローラ(以下DMAコント
ローラと称す)によつて、共有メモリに蓄積され
る。これによつて共有メモリは、常にプロセス全
体の状態を示す管理情報を格納するメモリとな
る。制御用計算機は、各センサの情報を直接アク
セスする必要はなく、共有メモリ内のプロセス情
報に従つて、イベントの監視を行なうことが可能
となり、リアルタイム性の向上を実現している。 第2の利用形態としては、クリテイカルリソー
スの管理テーブルとして利用される場合である。
マルチコンピユータシステムでは、複数のプロセ
ツサによつて共有される資源として、プリンタ、
フアイルサーバ等の入出力装置が設けられる。こ
れらの入出力装置は、複数のプロセツサから同時
にアクセスする事は許されず、排他的な管理を行
なう必要がある。これを実現するために、全ての
プロセツサから参照可能な共有メモリ上に、排他
制御のためセマフオアを管理するテーブルが設け
られる。各プロセツサは、入出力装置の使用に先
立つて、共有メモリ上のセマフオアをチエツク
し、入出力装置の利用状況を確認する。 第3の利用形態としては、複数の計算機によつ
て構成される高信頼化システムに必要なシステム
管理テーブルとして共有メモリを用いる場合であ
る。例えば、2重系の高信頼化システムにおい
て、一方のプロセツサが故障した場合、即座に故
障を検出し、待機している第3のプロセツサをシ
ステムに組込む必要がある。これを実現するため
には、個々のプロセツサとは独立した記憶装置上
に、各プロセツサの状態を格納する管理テーブル
を設けねばならない。この記憶装置として共有メ
モリが用いられる。システム管理者となつたプロ
セツサは、共有メモリ上の管理テーブルから、故
障したプロセツサを検出し、バツクアツプ用のプ
ロセツサを起動する処理を行なう。 以上述べた様に、マルチコンピユータシステム
において、共有メモリは重要な構成要素となつて
いる。次には、この共有メモリに特有な問題点に
ついて述べる。 第1の問題点としては、共有メモリのアクセス
時間が大きくなる事が挙げられる。共有メモリ
は、信頼性の面から、個々のプロセツサとは独立
した構成となる。このため、プロセツサから、共
有メモリ本体までに、多くの構成要素を経るこ
と、或いは物理的な配線長が長くなつていること
である。更に、多数のプロセツサからのアクセス
競合に対して、アービトレートの機能も必要とな
り、プロセツサ内に設けられたローカルメモリに
比較し、アクセス時間は、かなり、大きくなる。
この問題に対しては、共有メモリのインタリーブ
化、あるいは、共有メモリ用キヤツシメモリ、ア
クアス競合の優先選択の高速化等の対策が必要と
なる。 第2の問題点としては、信頼性の確保が必要と
なる事である。共有メモリには、システム全体を
管理する情報が格納されており、このため、共有
メモリが故障すると、全てのシステムが停止する
原因となる。これを避けるため、共有メモリでは
2重化、あるいはバツクアツプシステムなどの冗
長系が適用され、信頼性の向上を図る必要があ
る。 第3の問題点は、本特許に係るものであるが共
有メモリのアクセスに起因するプロセツサの処理
能力低下である。個々のプロセツサエレメントで
は、共有メモリへのポートを入出力バスではな
く、主メモリバス上に設ける場合が多い。これ
は、プロセツサから共有メモリまでの間に通過す
る構成要素を削減或いは配線長さを短くし、高信
頼化、及び高速化を図るためである。この様な構
成では、主メモリバス上に、アクセス時間が短
く、容量の小さなローカルメモリと、アクセス時
間が長く、容量の大きな共有メモリの2種類の記
憶装置が存在する事になる。本構成において、プ
ロセツサ、あるいは、入出力バス上のDMAコン
トローラの一方が、共有メモリをアクセスする場
合、アクセスが終了するまで主メモリバスを専有
すると、他方は、その間、ローカルメモリへのア
クセスができず、システムとしての処理効率が大
幅に低下する。この問題に対し、従来の装置は、
例えば、特開昭58−50058に記載の様に、主メモ
リバスを時分割に共有する方式が考えられてい
る。すなわち、ローカルメモリのアクセスでは、
主メモリバスを専有し、起動及び応答を行なう。
一方、共有メモリへのアクセスの場合は、起動を
行つた後、一旦主メモリバスを解放する。そし
て、共有メモリから、アクセス終了報告を受ける
と、再び主メモリバスを専有して、応答の処理を
行う。方方式によれば、アクセス時間の長い共有
メモリへのアクセスによつて、主メモリバスが長
時間専有される問題は解消される。すなわち、プ
ロセツサが共有メモリをアクセスしている間に、
DMAコントローラからローカルメモリへのアク
セスが可能となる。 〔発明が解決しようとする問題点〕 しかし、上記従来技術では、以下に示す問題点
について、配慮がなされていない。まず、第1の
問題としては、プロセツサ、及び、DMAコント
ローラから、同時期に共有メモリアクセスが発生
した場合に、主メモリバスが、ロツクされてしま
う。このため、それ以後のアクセス(例えば、他
DMAコントローラからのローカルメモリアクセ
ス)は、主メモリバスが使用できず、待たされる
ことになる。これは、入出力装置のオーバランを
引起す原因となり得る。 又、第2の問題では、前提として、ローカルメ
モリの一部のデータを高速な、システムキヤツシ
ユに保持し、プロセツサ、及びDMAからのアク
セスを、処理するメモリシステム構成を考える。
本構成において、共有メモリへアクセスが発生す
ると、共有メモリへの起動が終了するまで、シス
テムキヤツシユ、及びローカルメモリはアクセス
できない。特に、複数のDMAコントローラによ
つて、共有メモリへのデータ格納が頻繁に行なわ
れる場合には、プロセツサからシステムキヤツシ
ユへのアクセスが妨げられ、プロセツサの処理能
力が低下する。 本発明は、上述した従来技術の欠点に鑑みなさ
れたもので、その目的は、共有メモリアクセスと
ローカルメモリアクセスが、主メモリバスを時分
割に使用する構成において、プロセツサ、及び、
DMAからの共有メモリアクセスが競合した場合
でも、主メモリバスがロツクされることなく、ロ
ーカルメモリのアクセスが可能となるマルチコン
ピユータシステムを提供することにある。 本発明の他の目的は、ローカルメモリのデータ
をキヤツシングするシステムキヤツシユを有する
システムにおいて、共有メモリへの起動のため
に、システムキヤツシユのアクセスが妨げられな
いマルチコンピユータシステムを提供することに
ある。 〔問題点を解決するための手段〕 上記第1の目的は、共有メモリポートにおい
て、共有メモリへのアクセスを複数のエントリか
ら成るバツフアに蓄積する手段を設けることによ
つて達成される。 又、上記第2の目的は、メモリ管理装置におい
て、共有メモリへのリード及びライトアクセス
と、ローカルメモリへのライトアクセスを、複数
のエントリから成るバツフアに蓄積する手段と、
該バツフアに識別子を設け、蓄積されているアク
セスが、ローカルメモリを対象とするものか、共
有メモリを対象とするものかを識別する手段と、
該識別子に従つて、ローカルメモリ及び、共有メ
モリのアクセスを制御する手段と、共有メモリの
起動及び応答に先立つて、主メモリバスの専有制
御を行なう手段を設けることによつて達成され
る。 〔作用〕 共有メモリポートに設けられた複数のバツフア
は、演算処理装置(以下プロセツサと略称する)
あるいはDMAから、同時期に共有メモリアクセ
スが発生した場合に、これらをバツフアリングす
る。これによつて主メモリバスはロツクされるこ
となく、他DMAからのローカルメモリアクセス
が可能となり、入出力装置のオーバランが発生す
ることはない。 又、メモリ管理装置内に設けられた多段バツフ
アは、ローカルメモリへの書込みを複数個バツフ
アリングして、プロセツサのメモリ待時間を削減
すると共に、共有メモリへのリード及びライトア
クセスを複数個バツフアリングすることにより、
共有メモリの起動終了を待つことなく、他のアク
セスの処理が可能となる。多段バツフアに書込ま
れた共有メモリアクセスは、主メモリバスが使用
されていない期間を利用し、共有メモリポートに
対して起動される。 〔実施例〕 以下、本発明の一実施例を図面により詳細に説
明する。第1図は、複数の基本処理装置から成る
マルチコンピユータシステムの構成を示したもの
である。プロセツサエレメント(PE)103,
104,105は、演算処理を実行するユニツト
であつて、共有メモリバス113を介して、共有
メモリ(GMA,B)100,101に接続され
る。共有メモリ100,101は、プロセツサエ
レメント(以下、PEと略す)103,104,
105の共有データを格納する記憶装置であつ
て、一般に、半導体素子で構成される。共有メモ
リには、システム全体の管理情報、あるいは、
PE間の同期をとるためのセマフオア等、システ
ムにとつて重要な情報が格納される。このため、
第1図に示す様に、共有メモリA100,共有メ
モリB101と2重化の構成を採つている。共有
メモリバスコントローラ(GMBC)102は、
各PEからの共有メモリアクセス要求を受付け、
優先選択を行つて、当該PEに、共有メモリの使
用許可を与えるものである。又各PEの入出力装
置としては、固定フアイル111DMAコントロ
ーラ112などがあり、入出力バス117を介し
て、PE103の入出力バスインタフエース11
0に接続される。又、入出力バス117には、ネ
ツトワークアダプタ(図示せず)も接続される。
DMAコントローラ112は、制御対象プロセス
内に設けられたネツトワークから、プロセスの情
報を収集し、共有メモリ100,101あるい
は、PE内のローカルメモリ106に格納する。
本願明細書ではプロセツサエレメント103、入
出力バス117、固定フアイル111、DMA1
12を1つの基本処理装置と呼んでいる。 次にPE103の内部構成について説明する。
演算処理装置109は、命令解読ユニツト、演算
ロジツク、及びレジスタ群を有し、レジスタ情報
の演算、あるいはローカルメモリ106、共有メ
モリ100,101の情報に対して、演算を行な
う。入出力バスインタフエース110は、入出力
バス117に接続されるDMAコントローラ11
2からのローカルメモリ、共有メモリへのアクセ
スを受付け、入出力内部バス116、及びメモリ
管理ユニツト108を介して、所望のメモリ装置
へアクセスを行なう。メモリ管理ユニツト108
は、演算処理装置109、及び、入出力バスイン
タフエース110からのメモリアクセスを受付
け、これらの優先選択を行なうとともに、主メモ
リバス114を介して、ローカルメモリ106の
アクセス制御を行ない又、主メモリバス114、
共有メモリポート117を介して、共有メモリ1
00,101のアクセス制御を行なう。 次に、第2図を用いてメモリ管理ユニツト10
8の詳細に関して説明を加える。主な構成要素と
しては、アドレス変換バツフア304、キヤツシ
ユメモリ334、アドレスストアバツフア32
2、データストアバツフア33、アドレス変換コ
ントローラ305、キヤツシユメモリコントロー
ラ310、メモリバスコントローラ309、共有
メモリコントローラ308、DMA起動系コント
ローラ306、DMAデータ転送系コントローラ
307を挙げる事ができる。 アドレス変換バツフア304は、基本処理装置
109が保持するメモリアドレスレジスタ301
から、アドレスバス350を介して転送されて来
る論理アドレスを、対応するメモリの物理アドレ
ス388に変換する機能を持ち、ローカルメモリ
106上に蓄積されたアドレス変更テーブルの一
部をバツフアリングするものである。キヤツシユ
メモリ334は、ローカルメモリ106のデータ
の一部のコピーを保持し、アドレス変更バツフア
304から、アドレスセレクタ347、物理アド
レスレジスタ348を介して転送される演算処理
装置109からの物理アドレス、あるいは、入出
力バスインタフエース110から、外部入力バス
358、外部入力レジスタ342、アドレスセレ
クタ347、物理アドレスレジスタ348を介し
て転送されるDMAコントローラからの物理アド
レスを受付け、該物理アドレスに対応するデータ
が、キヤツシユメモリ334内に存在すれば、ロ
ーカルメモリ106をアクセスする事なく、キヤ
ツシユリードデータバス361、リードデータセ
レクタ311、を介して、基本処理装置内のリー
ドデータレジスタ303、あるいは、外部出力レ
ジスタ343へデータを転送するものである。ア
ドレスストアバツフア322及び、データストア
バツフア333は、演算処理装置109、及び、
入出力バスインタフエース110から発生する。
ローカルメモリへの書込みアクセス、及び共有メ
モリへの読出し、書込みアクセスを、フアースト
イン、フアーストアウトのアリゴリズムに従つて
複数のエントリーにバツフアリングするものであ
る。該バツフアには、ゲツトポインタ339、リ
リースポインタ340が付属しており、ゲツトポ
インタ339は、受付けたアクセスを格納すべき
エントリを示し、リリースポインタ340は、次
に起動すべきエントリを示す。 次にアドレス変換コントローラ305の機能に
ついて説明する。第1の機能としては、演算処理
装置109、及び、入出力バスインタフエース1
10からのアクセスを調停する機能を有する。す
なわち、演算処理装置109からのアクセス要求
352、及びDMA起動コントローラ306、か
らのアクセス要求371を受けて、処理されるべ
きアクセスを選択し、演算処理装置109に対し
ては、応答信号353により、又、DMAコント
ローラ306に対しては、応答信号372によ
り、アクセスが受付けられた事を報告する。更
に、選択結果に従つて、アドレスセレクタ34
7、ライトデータセレクタ349を制御し、選択
されたアクセスのアドレスを、物理アドレスレジ
スタ348、又、ライトデータを、ライトデータ
レジスタ346にセツトし、キヤツシユメモリコ
ントローラ310に対して、起動を行う。第2の
機能としては、ローカルメモリ106に格納され
るアドレス変換テーブルをアクセスして、論理ア
ドレスをローカルメモリ上の物理アドレスに変換
する機能である。アドレス変換バツフア304
は、アドレス変換テーブルの一部しか保持してお
らず、要求された論理アドレスに対応したアドレ
ス変換情報が存在しない場合がある。これはアド
レス変換バツフアのミスヒツトと呼ばれ、ミスヒ
ツト信号387によつて、アドレス変換コントロ
ーラ305に報告される。アドレス変換コントロ
ーラ305は該報告を受け取ると、ローカルメモ
リ106をアクセスして、要求された論理アドレ
スに対応したアドレス変換情報を読出し、アドレ
ス変換バツフア304に格納する。 キヤツシユメモリコントローラ310の機能と
しては、アドレス変換コントローラ305からの
アクセス要求378を受付け、応答信号373を
返送するとともに、アクセスの種類に応じて、以
下の処理を行なう。すなわち、ローカルメモリ1
06への読出し要求であれば、キヤツシユメモリ
334の検索、あるいは、キヤツシユメモリ33
4に所望のデータが存在しない場合は、メモリコ
ントローラ309を介して、ローカルメモリ10
6のデータを読出す。又、ローカルメモリ106
への書込み要求であれば、要求アクセスのアドレ
ス、及びデータを、それぞれ、アドレスストアバ
ツフア322、データストアバツフア333にセ
ツトする。又、共有メモリの読出し、あるいは書
込みアクセスであれば、該アクセスのアドレス及
び、データを、アドレスストアバツフア322、
データストアバツフア333に格納する。この
時、共有メモリのアクセスを示す識別子、あるい
は、共有メモリのアクセスフアンクシヨン情報も
同時に、アドレスストアバツフア322に格納す
る。 メモリコントローラ309は、キヤツシユメモ
リコントローラ310からのローカルメモリ読出
し要求390、あるいはストアバツフアからの、
ローカルメモリ書込み要求及び共有メモリ読出
し、書込み要求391を受付け、各アクセスの調
停を行なうとともに、メモリアドレスレジスタ3
35、メモリデータレジスタ356の内容を用い
てローカルメモリ106に関する起動、及びデー
タ受取り、共有メモリポート107に対する起動
の処理を行なう。 共有メモリコントローラ308は、共有メモリ
ポート107からのメモリバス専有要求368を
受けて、メモリ管理ユニツト108内の各コント
ローラに動作停止を要求し、動作停止を確認した
後、共有メモリポート107から、メモリバス1
14、メモリリードデータレジスタ341を介し
て、アクセス元へ、データを転送する機能を有す
る。 DMA起動系コントローラ306は、入出力バ
スインタフエース110からの起動要求を受付
け、アドレス変換コントローラ、305に対し
て、起動を行なう、又、DMA転送系コントロー
ラ307は、キヤツシユメモリコントローラ31
0からのアクラス終了報告を受けて、入出力バス
インタフエース110へのデータの転送を制御す
る。 次に、アドレスストアバツフア332、データ
ストアバツフア333に関し、第3図を用いて、
更に詳細な説明を加える。データストアバツフア
333は、1エントリが32ビツトで、8エントリ
から成り、8個までのメモリアクセスをバツフア
リング可能となつている。又、アドレスストアバ
ツフア322は、アクセスアドレスを保持するア
ドレスフイールド405(ADR)の他に、以下
に示すフイールドを有する。 (1) 共有メモリアクセス識別子401 ストアバツフアに蓄積された各エントリについ
て、ローカルメモリ106を対象としたアクセス
か、共有メモリ107を対象としたアクセスかを
区別する。 (2) 共有メモリアクセス種402 共有メモリへのアクセスを保持するエントリに
関して、読出しか、書込みかを区別する。 (3) 共有メモリアクセスサイズ403 共有メモリへの書込み、及び読出しアクセスを
保持するエントリに関して、アクセスデータサイ
ズが、8バイトであるか、4バイトであるかを示
す。 (4) アクセスサイズ404 ローカルメモリ、及び共有メモリへの書込みア
クセスを保持するエントリに関して、4バイトデ
ータの内、書込むべきバイト位置を示す。 (5) 共有メモリアクセスフアンクシヨン(0)4
06 共有メモリへのアクセスを保持するエントリに
関して、アクセス元が、基本処理装置か、DMA
コントローラかを示す。 (6) 共有メモリアクセスフアンクシヨン(1)4
07 共有メモリへのアクセスを保持するエントリに
関して、共有メモリ内のメモリ空間に対するアク
セスであるか、レジスタ空間に対するアクセスで
あるかを区別する。 アドレスストアバツフア322、データストア
バツフア333は、読出し口が2つあり、それぞ
れリリースポインタ340の内容及び、リリース
ポインタ340の内容に加算器409によつて、
1を加算した結果によつて指定される。これによ
つて、ストアバツフア内の起動すべきエントリ及
び、それに続くエントリが読出される。ゲツトポ
インタ339と、リリースポインタ340を、比
較器410で比較した結果、不一致であれば、ス
トアバツフア322,333内に処理すべきアク
セスが存在する事を示し、メモリコントローラ3
09が起動される。メモリコントローラ309
は、リリースポインタ340の指定するエントリ
の共有メモリアクセス識別情報435から、該エ
ントリが、ローカルメモリ106を対象とするも
のか、共有メモリを対象とするものか識別する。
ローカルメモリ106へ対するアクセスであれ
ば、アクセス情報選択信号431によつてセレク
タ414を選択し、且つ、アクセスレジスタセツ
ト信号432を用いて、ライトアクセス指定信号
430の情報を、アクセス種指定レジスタ416
にセツトする。又、4バイトアクセスか、8バイ
トアクセスかを示すアクセスサイズレジスタA4
17には、以下の3つの条件をアドレスゲート4
13で検出し、セレクタ415を介して情報をセ
ツトする。 条件(1):処理対象となるエントリが、共有メモ
リに対するものではない。 条件(2):リリースポインタ340によつて指定
されたアドレス440と、リリースポインタに1
を加算した内容によつて読出されたアドレス44
1を比較器412によつて比較した結果、両者が
連続する8バイト領域への書込みアクセスであ
る。 条件(3):リリースポインタ340によつて指定
されたサイズ情報439と、リリースポインタに
1を加算した内容によつて読出されたサイズ情報
438を比較器411で比較した結果、両者と
も、書込サイズが4バイトである。 又、4バイト内の書込バイト位置を示すサイズ
レジスタB418、アドレスレジスタ419、及
び書込みデータレジスタ422には、それぞれ、
リリースポインタ340によつて指定された、サ
イズ情報439、アドレス情報440、及び、書
込みデータ情報444が、アクセスレジスタセツ
ト信号432によつてセツトされる。以上の処理
によつて、メモリバス114に、アクセス情報が
オンバスされた後、メモリコントローラ309
は、ローカルメモリ起動信号450により、ロー
カルメモリ106を起動する。 又、メモリコントローラ309が起動され、リ
リースポインタ340の指定するエントリの共有
メモリアクセス識別情報435から、該エントリ
が、共有メモリを対象とするアクセスであること
を識別すると、アクセス情報選択信号431によ
り、セレクタ414,415を制御し、リリース
ポインタによつて読出された、共有メモリアクセ
ス種436、共有メモリアクセスサイズ437
を、それぞれ、アクセス種指定レジスタ416、
アクセスサイズ指定レジスタAにセツトする。
又、4バイト内の書込バイト位置を示すサイズレ
ジスタB418、アドレスレジスタ419、共有
メモリアクセスフアンクシヨンレジスタ420,
421、書込データレジスタ422には、それぞ
れ、リリースポインタ340によつて指定された
サイズ情報439、アドレス情報440、共有メ
モリアクセスフアンクシヨン情報442,44
3、及び、書込みデータ情報444が、アクセス
レジスタセツト信号432によつてセツトされ
る。以上の処理によつて、共有メモリアクセス情
報がオンバスされた後、メモリコントローラ30
9は、共有メモリ起動信号434によつて共有メ
モリポート107を起動する。 次に第2図を用いて、ローカルメモリ、及び共
有メモリのアクセス手順を説明する。 演算処理装置109からのアクセスでは、演算
処理装置内のメモリアドレスレジスタ301、及
びメモリライトレジスタ302の内容が、それぞ
れ、アドレスバス350、ライトデータバス35
1を介して、メモリ管理装置108に転送される
と同時に、起動信号352によつてアドレス変換
コントローラ305が起動される。一方、入出力
バスインタフエース110からのアクセスでは、
アドレス及び書込みデータが、外部入力バス35
8を介して、外部入力レジスタ342にセツトさ
れると共に、起動信号356によつて、DMA起
動系コントローラ306が起動される。更に、
DMA起動系コントローラは、起動信号371に
より、アドレス変換コントローラ305を起動す
る。アドレス変換コントローラ305は、基本処
理装置、及び、DMA起動系コントローラ306
からのアクセスを受付け、両者の優先選択を行な
う。優先度はDMA起動系から要求が高く設定さ
れる。基本処理装置109からのアクセス要求が
受付けられた場合、アドレス変換コントローラ3
05は、セレクタ347,348を制御し、アド
レス変換バツフアの出力388、及び、演算処理
装置からのライトデータ351を、それぞれ、物
理アドレスレジスタ348、ライトデータレジス
タ346にセツトする。この時、応答信号353
によつて、演算処理装置109にアクセスを受付
け事を報告する。一方、DMA起動系コントロー
ラ306からのアクセス要求が受付けられた場
合、アドレス変換コントローラ305は、セレク
タ347,349を制御し、外部入力レジスタ3
42の内容を、内部バス369を介して、物理ア
ドレスレジスタ348、ライトデータレジスタ3
46にセツトする。この時、応答信号372によ
つて、DMA起動系コントローラ306にアクセ
スを受付けた事を報告する。DMA起動コントロ
ーラ306は該報告を受けると、入出力バスイン
タフエース110に、アクセスが受付けられた事
を報告する。上記の処理が終了した後、アドレス
変換コントローラ305は、キヤツシユメモリコ
ントローラ310に対して、起動信号378を送
る。キヤツシユメモリコントローラ310が起動
された後は、アクセスの種類によつて、処理手順
が異なる。以下、各アクセスの種類毎に、処理手
順を示す。 (1) ローカルメモリに対する読出しアクセスの処
理手順 キヤツシユコントローラ310は、物理アドレ
スレジスタ348の内容に基づいてキヤツシユメ
モリ334をアクセスし、所望のデータが存在す
れば、キヤツシユリードデータバス361、セレ
クタ311を介して、演算処理装置内のリードデ
ータレジスタ303、あるいは、外部出力レジス
タ343にデータを転送するとともに、アクセス
終了信号355,383により、各アクセス元に
終了報告を行なう。DMA転送系コントローラ3
07は、アクセス終了報告を受けると、外部出力
レジスタ343の内容を外部出力バス359を介
して、入出力バスインタフエース110に転送す
ると共に、アクセス終了報告360を送る。一
方、キヤツシユメモリ334内に所望のデータが
存在しなければ、起動信号390によつて、メモ
リコントローラ309を起動する。メモリコント
ローラ309は、ストアバツフア322,333
に処理すべきデータがあれば、それらを処理した
後、セレクタ337を制御して、物理アドレスレ
ジスタ348の内容を、メモリアドレスレジスタ
335にセツトするとともに、起動信号364を
用いて、ローカルメモリ106を起動する。その
後、ローカルメモリ106からのアクセス終了報
告365があるまでメモリバス114を専有す
る。ローカルメモリ106から応答があると、メ
モリバス上のデータを、メモリリードレジスタ3
41に取込むとともに、キヤツシユメモリコント
ローラ310に対して、終了報告を行なう。キヤ
ツシユメモリコントローラ310は、各アクセス
元に、メモリリードレジスタ341の内容を転送
するとともに、アクセスの終了を報告する。 (2) ローカルメモリに対する書込みアクセスの処
理手順。 キヤツシユメモリコントローラ310は、物理
アドレスレジスタ348の内容、及び、書込みデ
ータレジスタ346の内容を、ゲツトポインタ3
39の情報に従つて、それぞれ、アドレスストア
バツフア322、データストアバツフア333に
セツトする。この時、同時にゲツトポインタ33
9の内容をインクリメントするとともに、アクセ
ス元に対して終了報告を行なう。ストアバツフア
322,333にアクセス情報がセツトされる
と、起動信号391によつて、メモリコントロー
ラ309が起動される。メモリコントローラ30
9は、セレクタ337を制御し、リリースポイン
タ340の情報に基づいて、アドレスストアバツ
フア322、データストアバツフア333の内容
を、それぞれメモリアドレスレジスタ335、メ
モリライトデータレジスタ336にセツトする事
により、アクセス情報をメモリバス114にオン
バスする。その後、メモリコントローラ309
は、起動信号364により、ローカルメモリ10
6を起動し、リリースポインタ340をインクリ
メントして、処理を終了する。 (3) 共有メモリに対するアクセス処理手順。 キヤツシユコントローラ310は、書込み、読
出しに係わらず、物理アドレスレジスタ348の
内容、及び書込データレジスタ346の内容をゲ
ツトポインタ339の情報に従つて、それぞれ、
アドレスストアバツフア322、データストアバ
ツフア333にセツトする。この時、前述した共
有メモリアクセスに付随する付加情報(図示せ
ず)もアドレスストアバツフアにセツトする。メ
モリコントローラ309は、ストアバツフアから
の起動信号391によつて起動され、前記と同様
にして、アクセス情報をメモリバス114にオン
バスする。その後、メモリコントローラ309
は、起動信号364により、共有メモリポート1
07を起動する。共有メモリポート107は、起
動を受付けると、即座に応答信号395により、
アクセスが受付けられた事をメモリコントローラ
309に報告する。その後、共有メモリポート1
07は、共有メモリに対して、起動処理を行なう
が、その間、メモリコントローラ309、及び、
メモリバス114は解放されており、他のアクセ
スを処理することが可能となる。 共有メモリのアクセスが終了すると、共有メモ
リポート107は、バス専有要求367を共有メ
モリコントローラ308に転送する。共有メモリ
コントローラ308は、動作停止要求381によ
り、キヤツシユメモリコントローラ310及び、
DMA転送系コントローラ307に動作停止を要
求する。キヤツシユコントローラ及び、DMA転
送コントローラは、現在実行中の処理が終了する
のを待つて、共有メモリのデータ待状態へ遷移
し、共有メモリコントローラ308に動作を停止
した事を報告する。次に、共有メモリコントロー
ラは、メモリバス114を専有し、共有メモリポ
ート107に対して、データ転送要求367を送
り、共有メモリポート107からの、応答368
を受けて、メモリバス上のデータを、メモリリー
ドデータレジスタ341に取り込み、キヤツシユ
コントローラ310に終了報告380を送る。キ
ヤツシユコントローラ310は、前述と同様にし
て、メモリリードレジスタ341の情報を、アク
セス元へ転送するとともに、アクセス終了報告を
行つて、処理を終了する。 次に、上記アクセス手順に従つて、ローカルメ
モリ、及び共有メモリをアクセスする場合の、メ
モリバス転送タイミングを第4図を参照して説明
する。501,503,505は、メモリコント
ローラが、主メモリバスを専有して、ローカルメ
モリの起動及びデータ受取りを行つているサイク
ルである。一方、共有メモリへのアクセスでは、
メモリバスを専有して、起動を行なうサイクル5
02の後、一旦メモリバスを解放する。その後、
共有メモリのアクセスが終了するのを待つて、デ
ータ転送のために、応答サイクル504として、
メモリバスを使用している。 次に、第5図を用いて、共有メモリポート10
7の内部構成を説明する。アドレスバツフア60
1、データバツフア602、及び、アクセスフア
ンクシヨンバツフア603は、主メモリバス上の
アドレス612、データ613、アクセスフアン
クシヨン614を取り込むバツフアであり、フア
ーストイン、フアーストアウトのアルゴリズムに
従つて、複数のエントリにバツフアリングするも
のである。ここでアクセスフアンクシヨン614
の内容としては、リード/ライト種別、アクセス
サイズ、及びアクセス元を示す情報が含まれる。
又、該バツフアには、ゲツトポインタ604、リ
リースポインタ605が付属しており、ゲツトポ
インタ604は、受付けたアクセスを格納すべき
エントリを示し、リリースポインタは、共有メモ
リへ転送すべきエントリを示す。アクセス受付コ
ントローラ607は、メモリ管理装置108よ
り、共有メモリアクセス要求615を受付ける
と、制御信号630により、アドレス612、デ
ータ613、アクセスフアンクシヨン614をそ
れぞれバツフア601,602,603に取込
み、ゲツトポインタ604を更新する。その後、
応答信号616により、アクセスを受付けた事を
メモリ管理装置108に報告する。共有メモリア
クセスコントローラ608は、ゲツトポインタ6
04と、リリースポインタ605の内容を比較す
る比較器606より、バツフア内に処理すべき情
報が存在する事を検出すると、リリースポインタ
605の示すアクセス情報を、共有メモリへのア
ドレスバス623、データバス624、アクセス
フアンクシヨンバス625にオンバスし、信号6
26により、共有メモリを起動する。共有メモリ
のアクセスが終了すると、共有メモリアクセスコ
ントローラ608は、アクセス終了応答627を
受け、リードデータレジスタ610、リターンコ
ードレジスタ611に、それぞれ、共有メモリか
らのリードデータ628、リターンコード629
をセツトする。ここで、リターンコード629
は、共有メモリアクセス中に発生したエラーの詳
細を示すものである。更にこの時、アクセスフア
ンクシヨンバツフア603の情報の内、アクセス
元を示す情報を、アクセス元レジスタ609にセ
ツトする。その後データ転送予告信号617によ
り、メモリ管理装置108に、共有メモリのアク
セスが終了した事を報告する。そして、メモリ管
理装置108から、データ転送要求618があれ
ば、制御信号640により、主メモリバス上に、
リードデータ621、リターンコード622、ア
クセス情報620をオンバスし、データ転送終了
報告619を行なう。 〔発明の効果〕 本発明によれば、共有メモリのアクセスと、ロ
ーカルメモリのアクセスが主メモリバスを時分割
に使用するマルチコンピユータシステムにおい
て、プロセツサ、及び、DMAからの共有メモリ
アクセスが識別した場合でも、主メモリバスがロ
ツクされることなく、他DMAからローカルメモ
リのアクセスが可能となる。これによつて、入出
力装置のオーバランを避けることができる。 更に、本発明によれば、共有メモリへのリード
及びライトアクセスを、メモリ管理装置内で複数
個バツフアリングすることにより、共有メモリへ
の起動終了を待つことなく、プロセツサは、他の
処理を実行する事が可能となる。
【図面の簡単な説明】
第1図は、本発明が適用されるマルチコンピユ
ータシステムの概略図、第2図は、本発明に用い
られるメモリ管理装置の一実施例内部構成図、第
3図は、ストアバツフア周辺の詳細構成図、第4
図は、メモリバス転送サイクルの説明用図面、第
5図は、共有メモリポートの内部構成図である。 107……共有メモリポート、108……メモ
リ管理ユニツト、304……アドレス変換バツフ
ア、305……アドレス変換コントローラ、30
6……DMA起動系コントローラ、307……
DMAデータ転送系コントローラ、308……共
有メモリコントローラ、310……キヤツシユメ
モリコントローラ。

Claims (1)

  1. 【特許請求の範囲】 1 命令を解読しデータの処理を行なう演算処理
    装置と、入出力装置とメモリ間のデータの転送を
    行なうDMA装置と、上記演算処理装置と上記
    DMA装置に接続され、メモリアクセスを管理す
    るメモリ管理装置と、上記メモリ管理装置にロー
    カルメモリバスを介して接続されているローカル
    メモリと、上記ローカルメモリバスに接続された
    共有メモリポートと、上記共有メモリポートに接
    続された共有メモリバスと、上記メモリバスに接
    続された共有メモリと、上記共有メモリを上記共
    有メモリバスを介して共有する複数の計算処理装
    置からなるマルチコンピユータシステムにおい
    て、 共有メモリへのアクセスおよびローカルメモリ
    へのアクセスを蓄積する複数のエントリからなる
    バツフア手段と、 上記バツフア手段は蓄積されているアクセスが
    共有メモリを対象とするものかローカルメモリを
    対象とするものかを判別する判別手段と、 上記判別手段の結果に応じて、共有メモリへの
    アクセスあるならばローカルメモリバスを専有せ
    ずアクセス起動およびアクセス応答を分割して行
    ない、ローカルメモリへのアクセスであるならば
    ローカルメモリバスを専有してアクセス起動およ
    びアクセス応答を一括して行なうように上記共有
    メモリポートを制御する制御手段を具備したこと
    を特徴とするマルチコンピユータシステム。 2 特許請求の範囲第1項において、 上記入出力装置が接続される入出力バスと上記
    ローカルメモリバスの制御は独立して制御するこ
    とを特徴とするマルチコンピユータシステム。
JP62090756A 1987-04-15 1987-04-15 マルチコンピユ−タシステム Granted JPS63257051A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62090756A JPS63257051A (ja) 1987-04-15 1987-04-15 マルチコンピユ−タシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62090756A JPS63257051A (ja) 1987-04-15 1987-04-15 マルチコンピユ−タシステム

Publications (2)

Publication Number Publication Date
JPS63257051A JPS63257051A (ja) 1988-10-24
JPH054711B2 true JPH054711B2 (ja) 1993-01-20

Family

ID=14007449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62090756A Granted JPS63257051A (ja) 1987-04-15 1987-04-15 マルチコンピユ−タシステム

Country Status (1)

Country Link
JP (1) JPS63257051A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050787A (ja) * 2001-08-06 2003-02-21 Nec Corp マルチプロセッサ制御システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS567161A (en) * 1979-06-28 1981-01-24 Hitachi Ltd Memory interface device
JPS61166671A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd 複合プロセツサ制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS567161A (en) * 1979-06-28 1981-01-24 Hitachi Ltd Memory interface device
JPS61166671A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd 複合プロセツサ制御方式

Also Published As

Publication number Publication date
JPS63257051A (ja) 1988-10-24

Similar Documents

Publication Publication Date Title
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
US7533197B2 (en) System and method for remote direct memory access without page locking by the operating system
CA2051222C (en) Consistent packet switched memory bus for shared memory multiprocessors
US5060144A (en) Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
JP3871305B2 (ja) マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化
CA2051029C (en) Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5754800A (en) Multi processor system having dynamic priority based on row match of previously serviced address, number of times denied service and number of times serviced without interruption
US5265235A (en) Consistency protocols for shared memory multiprocessors
CA1322058C (en) Multi-processor computer systems having shared memory and private cache memories
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
US6105085A (en) Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion
JPH04306748A (ja) 情報処理装置
EP0489556B1 (en) Consistency protocols for shared memory multiprocessors
US5353416A (en) CPU lock logic for corrected operation with a posted write array
JP3027843B2 (ja) バススヌ−プ方法
US6862646B2 (en) Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain
WO2008057833A2 (en) System and method for remote direct memory access without page locking by the operating system
US20030229721A1 (en) Address virtualization of a multi-partitionable machine
JP2813182B2 (ja) マルチプロセッサコンピュータ複合装置
JPH054711B2 (ja)
JPH0353657B2 (ja)
JP3141948B2 (ja) 計算機システム
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JPH0222757A (ja) マルチプロセッサのメモリシステム
JP2723388B2 (ja) プロセッサモジュールの内部バス制御方法及び情処理装置