JPH02244253A - 分散共有メモリを持つマルチプロセッサシステム - Google Patents

分散共有メモリを持つマルチプロセッサシステム

Info

Publication number
JPH02244253A
JPH02244253A JP1063856A JP6385689A JPH02244253A JP H02244253 A JPH02244253 A JP H02244253A JP 1063856 A JP1063856 A JP 1063856A JP 6385689 A JP6385689 A JP 6385689A JP H02244253 A JPH02244253 A JP H02244253A
Authority
JP
Japan
Prior art keywords
memory
memory device
processing means
instruction processing
address
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
Application number
JP1063856A
Other languages
English (en)
Other versions
JP2846888B2 (ja
Inventor
Masahiko Saito
雅彦 齋藤
Shinichiro Yamaguchi
伸一朗 山口
Tadashi Kamiwaki
正 上脇
Yoshiki Kobayashi
芳樹 小林
Tomoaki Nakamura
智明 中村
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 JP1063856A priority Critical patent/JP2846888B2/ja
Publication of JPH02244253A publication Critical patent/JPH02244253A/ja
Application granted granted Critical
Publication of JP2846888B2 publication Critical patent/JP2846888B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は1分散共有メモリを持つマルチプロセッサシス
テムに係わり、とくに汎用マルチプログラミングに適し
た分散共有メモリを持つマルチプロセッサシステムに関
する。
〔従来の技術〕
従来の分散共有メモリ型のマルチプロセッサシステムに
は、特開昭56−155465に記載のように、複数個
のプロセッサ(各々が固有のメモリ装置を持っている)
と、共有メモリ装置とを切換制御装置によって接続し、
物理アドレス空間の一部をプロセッサ固有のメモリ装置
に割り当てる方式がある。この方式においては、プロセ
ッサが自メモリ装置への参照でないと判断し、外部へ要
求を発すると、切換制御装置が共有メモリ装置、あるい
は他プロセッサのメモリ装置のいずれかに要求を通知す
る。
また、特開昭63−109563、および特開昭63−
111563に記載の技術は、複数個のプロセッサを通
信バス上に接続した構成をとっている。前者は通信バス
と各プロセッサに共通のアドレスをもつ領域を定め、プ
ロセッサがこの領域を参照した場合には、共有メモリ空
間を参照し、プロセッサが他のアドレス領域を参照した
場合には、プロセッサ固有のメモリ装置を参照する方式
である。後老は、各プロセッサ固有のメモリ装置を物理
アドレス空間の異なった部分に割り当て、プロセッサが
自メモリ装置外のアドレスを参照する場合には、プロセ
ッサのアドレスを通信バスのアドレスに変換し、通信バ
スを介して他メモリ装置に要求を通知する方式である。
〔発明が解決しようとする課題〕
上記特開昭56−155465の技術においては、プロ
セッサ間でデータを共有する場合、およびプロセッサ固
有のメモリ装置の容量制限等により、プログラム領域や
データ領域が共有メモリ装置、あるいは他プロセッサの
メモリ装置に配置されている場合、切換制御装置への要
求が多発し、速度低下の要因となることがある。他に、
切換制御装置に接続可能なプロセッサ台数に物理的な制
限がある。
特開昭63−109563の技術では、あるプロセッサ
が他プロセッサのメモリ装置を、それが共有のアドレス
領域として設定されていない限り参照できないため、プ
ロセッサ固有のメモリ装置を効率的に活用できない。
また、特開昭63−111563の技術においては、プ
ロセッサ間でアドレスの不一致が存在し、アドレス変換
を行って他プロセッサのメモリ装置へ要求を発している
。このため、プロセッサ間でのプロセス移行が不可能で
あり、プロセッサを効率的に活用できない。
さらに特開昭63−109563、および特開昭63−
111563の技術においても、特開昭56−1554
65の技術と同様、プロセッサ間でデータを共有する場
合、およびプログラム領域やデータ領域がプロセッサ固
有のメモリ装置に入りきらない場合1通信バス要求が多
発し、速度低下を招くことがある。
本発明の目的は、プロセッサ台数にかかわりなく、すべ
てのメモリ装置に対して連結した物理アドレス空間を実
現することによって、プロセッサ台数を自由に選べ、各
メモリ装置を有効に利用でき、かつプロセスのプロセッ
サ間移行も容易に行えるようにするとともに、通信バス
要求の低いメモリ管理方法を実現して、マルチプログラ
ミング処理を高速に行えるようにした、分散共有メモリ
を持つマルチプロセッサシステムを提供するにある。
[1題を解決するための手段] 上記目的は、各プロセッサに分散したメモリ装置を設け
たマルチプロセッサシステムにおいて、システム立ち上
げ時に、通信バスに接続されている命令処理手段(プロ
セッサ、メモリ管理装置。
メモリ装置から成る装置の雫位)の数を判定し、システ
ム全体の物理アドレス空間の中で、各メモリ装置に割り
当てるべき物理アドレスを決定するアドレス決定手段を
設けることにより達成され、各メモリ装置を同一領域、
共通領域、および局所領域に分割し、さらに各命令処理
手段のメモリ管理装置に、当該プロセッサからのアクセ
スアドレスが自メモリ装置へか他命令処理手段のメモリ
装置へかを判定して、他命令処理手段のメモリ装置であ
ると判定したときは通信バスを介してアクセス要求を出
力するアドレス判定手段と1通信バスを介して参照した
データを一時的に蓄えておくキャッシュ記憶装置を設け
るとともに、キャッシュ記憶装置とそれが一時蓄えてい
るデータを格納しているメモリ装置との一方にデータ書
き込みが生じたときの一致北制御、および1つのメモリ
装置の同一領域が書き換えられたときの全メモリ装置間
の一致化制御を行う一致北機摺を設けることにより達成
される。
〔作 用〕
アドレ、ス決定手段は、システム立ち上げ時に通信バス
に接続された命令処理手段の数と、各プロセッサに装備
されているメモリ装置の容量により。
それぞれのメモリ装置に異なったアドレスを割り肖で、
システム全体としては、連続したアドレス空間を形成す
る。これによって、システムのプロセッサ数は自由に選
べて柔軟なシステム構成が可能となり、また、アドレス
判定手段の設置により全メモリ装置を1つのアドレス空
間としてどのプロセッサからでもアクセスできるから、
各メモリMlを有効に利用でき、プロセスのプロセッサ
間移動も容易に行えてマルチプログラミングに適したシ
ステムとなる。キャッシュ記憶装置の設置は通信バス製
分しての他命令処理手段のメモリ装置へのアクセス回数
を減らせる効果とともに、通信バスを介さないときも含
めてアクセスの高速化が図れる。各メモリ装置を領域分
割し、同一領域はO8のカーネル等の、プロセッサ間で
共通に使用されかつ高速処理が要求されるプログラムお
よびデータ用とし、共通領域はその大きさがさまざまで
あるユーザのテキストおよびデータ等に使用し、局所領
域はそのプロセッサだけが使う作業領域等に使用すれば
、各メモリ装置が有効に利用でき、高速処理可能なマル
チプロセッサ環境を実現できる。
〔実施例〕
以下、本発明の実施例を図面を用いて説明する。
第1図は、本発明の一実施例を示す構成図である。
プロセッサ18〜1d(PEO〜3)にはそれぞれメモ
リ管理装置I 2 a 〜2 d (M CU O〜3
 )が接続され、各対応プロセッサより渡される論理ア
ドレスに応じて自プロセッサ対応のメモリ装置!3a〜
3d(MS 1〜3)にアクセスする他、通信バスへ要
求を通知することにより他のメモリ装置へもアクセスで
きる。これらメモリ装置38〜3dは、プロセッサ18
〜1dが実行する命令およびデータを格納している。共
有メモリ装[4(GM)は、マルチプロセッサシステム
の構成に応じて省略してもよい、入出力抜[15(Il
o)は一般には、ディスク装置、デイスプレィ、キーボ
ード等であるが、本発明には直接関係ないので一括して
示している0割込み分配装[6(DIST)は、入出力
抜[5からの割込み信号12を信号線8を介して各プロ
セッサへ分配する1通信バス7は、アドレス線、データ
線および制御線よりなるバスであるが、これを金属ある
いは光ファイバを用いたネットワークに置き換えること
は可能である。
以上の全体構成において、本発明の特徴とするメモリ管
理装置について、その構成および動作を以下に説明する
。
第2図、第3図および第4図に、メモリ管理装置12a
(他も同一機構)の3g1l類の形態を示した。
第2@は1通信バス7から参照したデータのみをキャッ
シュ記憶装置25a (Cachθ)に蓄えておく構成
である。同図において、アドレス変換回路19a (A
 T )はプロセッサ1aから出力される論理アドレス
を物理アドレスに変換する。アドレス判定回路20a(
AJ)は、後に詳しく述べる機構により、アドレス変換
回路19aからの物理アドレスを調べ、それがメモリ装
M3aのアドレスに一致するならば、メモリインターフ
ェース21a(MS−Inf)を介してメモリ装置i3
aへ要求を通知し。
アドレスが一致しないならばキャッシュ記憶装置25a
に要求を通知する。このアドレス判定回路の設置により
、各プロセッサはどのメモリ装置へもアクセスでき、シ
ステム全体のアドレス空間を−つのものとして扱える。
キャッシュ記憶表W258は、アドレス判定回路20a
から要求があれば、データの読み出し動作または書き込
み動作を行う。
ただし、アドレス判定回路20aからのアドレスに対応
するデータのコピーがキャッシュ記憶装置25aの中に
存在しない場合(ミスヒツト)には。
バスインターフェース22a (Bus −I nf)
を介して、通信バス7に要求を通知する。この要求がデ
ータの読み出しであり、そのデータが通信バス経由で送
られてきたときには(通常ページ囃位のデータブロック
で送られる)、そのデータをコピーとして一時的に蓄え
ておく、このキャッシュ記憶装置の設置により、他メモ
リ装置へのアクセスを高速化でき、かつ通信バスへのア
クセス頻度を大幅に減ら・せる。
バス監視回路23a (B  Man)は、後に詳しく
述べる機構により、常に通信バス7を監視し1通信バス
7にメモリ装[3aのアドレスに一致する要求が流れた
とき、その要求をメモリインターフェース21aを介し
てメモリ装[3aに通知する。スヌープ回路24a (
S noop)は、キャッシュ記憶表[25aの一致化
制御を行うものである。即ち、キャッシュ記憶装置25
aは、他命令処理手段のメモリ装置のデータのコピーを
有しているから、他メモリ装置が本来のデータを更新し
た場合には、該当するコピーを無効化、あるいは更新す
る必要がある。このためススープ回路24aは、常に通
信バス7を監視し、通信バス7に流れる書き込みデータ
のアドレスとキャッシュ記憶装置25aの保持するコピ
ーのアドレスとを比較し、必要があればキャッシュ記憶
装置258のコピー無効化あるいは更新する。
これらバス監視回路とスヌープ回路は、キャッシュ記憶
装置とメモリ装置の一致化を行う一致化機構である。
メモリインターフェース21aとバスインターフェース
22aとは、それぞれ2つおよび3つの信号線を同時に
制御するインターフェース回路であり。
その内部には同一資源に対する複数の要求を処理する調
停手段を有するが、本発明とは直接関係ないので省略す
る。
第3図は、通信バス7を介して参照したデータを蓄えて
おくキャッシュ記憶装置125aの他に、メモリ装置3
aから参照したデータを蓄えておく第2のキャッシュ記
憶装置26aを備えた構成である。
第2のキャッシュ記憶表[26aは、アドレス判定回路
20aから要求されたアドレスに対応するデータのコピ
ーを保持していない場合、メモリインターフェース21
aを介してメモリ装置13aに要求を通知する。その他
の構成要素は、第2図と同じ構成かつ同じ動作を行う。
このとき、2つのキャッシュ記憶装置25a、 26a
に、同一のデータのコピーは存在しない、従って、2つ
のキャッシュ記憶装置間での一致化制御を考慮する必要
はない。
第4図は通信バス7を介して参照したデータとメモリ装
置3aから参照したデータとを蓄えておくキャッシュ記
憶装置27aを装備した構成である。
キャッシュ記憶装置27aは、アドレス変換回路19a
の要求アドレスを受け、そのアドレスに対応するデータ
のコピーが存在しなければ、アドレス判定回路20aに
要求を通知する。通知されたアドレスにより、アドレス
判定回路20aが、通信バス7あるいはメモリ管理装置
ll 3 aに要求を転送することになる。その構成要
素は、第2図と同じ構成かつ同じ動作を行う。この構成
では、キャッシュ記憶表[27aの参照において、アド
レス判定回路20aの介在がなく、第2図、第3図の構
成と比べて、キャッシュ記憶表ff1i 27 aの参
照がより高速である。
次しこ第5図および第6図しこ、アドレス判定回路20
aの2つの例を示す。
第5図は、各メモリ装置に割り当てられている物理アド
レスの上限と下限とを記憶するレジスタを設けたもので
ある。メモリ装置のアドレスの上限および下限はそれぞ
れ上限レジスタ200a (U −Rag)および下限
レジスタ201a <L  Reg)に記憶されている
。アドレス変換回路19aからのアドレスは比較器20
2a 、 203a (CM P )でそれぞれ上限レ
ジスタ200aおよび下限レジスタ201aの内容とそ
れぞれ比較され、両レジスタの上限、下限アドレスの間
にあるときアンド素子204aからLL I IIない
とき“Onが出力される。交換器205a(EXC)は
このアンド素子204aの出力に従ってアドレス変換回
路19aからの要求をメモリインターフェース21a、
あるいはキャッシュ記憶袋[25aに接続する。
第6図は、各メモリ装置のアドレスの上位数ビットをレ
ジスタに記憶してアドレス判定を行う場合である0例え
ばアドレス線が32ビツトであり。
各メモリ装置が1Mバイトの容量を持つとする。
メモリ装置内部のアドレスは20ビツトで指定できるか
ら、マスクレジスタ206a (M−Reg)の長さは
12ビツト長であり、この内容を変更することにより、
各メモリ装置の割り当てられているアドレスをIMバイ
ト単位で変更できる。比較器207aは、アドレス変換
口j419aからのアドレスの上位12ビツトとマスク
レジスタ206aとの値が一致するか否かを判定する。
なお、第5図、第6図はともに第2図のメモリ管理装置
の場合を示しているが、第5図、第6図のメモリインタ
ーフェース21aを第2のキャッシュ記憶装置26aと
読みかえることにより、第3図と対応させることができ
、また、アドレス変換回路L9aをキャッシュ記憶装置
27aと、キャッシュ記憶袋W125aをバスインター
フェース22aと読みかえることにより、第4図と対応
させることができる。
次に第7図および第8図により、2つの形のバス監視回
路23aを説明する。第7図は第5図と同様、各メモリ
装置に割り当てられている物理アドレスの上限と下限と
を上限レジスタ230a(U−Reg)と下限レジスタ
231a (L −Rag)とに記憶したものである。
バスインターフェース22aからのアドレスは比較器2
32a 、 233a (CM P )でそれぞれ上限
レジスタ232a、下限レジスタ233aの内容と比較
され、両レジスタの上限、下限アドレスの間にあるとき
のみアンド素子234a(AND)の出力が“1”にな
って駆動回路235aをオンとし、通信バスからのアド
レス線、データ線および制御線をメモリインターフェー
ス21aに接続する。
一方、第8図のバス監視回路では、第6図と同様に、各
メモリ装置のアドレスの上位数ビットをマスクレジスタ
236a (M−Rag)に記憶したものである6例え
ば第6図の例と同じく、アドレス線32ビツト、各メモ
リ装置が1Mバイトとすると、メモリ装置内部のアドレ
スは20ビツトで指定できるから、マスクレジスタ23
6aの長さは12ビツト長である。従って、比較器23
7aは、バスインターフェース22aからのアドレスの
上位12ビツトとマスクレジスタ236aとの値が一致
するか否かを判定し、−Mしたときのみ駆動回路235
aをオンとする。
以上、第1図の実施例の、とくに本発明に関係する部分
の詳細な構成と、各部の動作を説明した。
本実施例によって、各プロセッサが全部のメモリ装置に
またがるシステム全体のアドレス空間を利用でき、また
各命令処理手段にメモリ装置を分散配置しか・つキャッ
シュ記憶装置を設けることで通信バスへのアクセス要求
を低減できる。しかしこれらの効果が十分発揮されるに
は、プロセッサからのメモリ領域確保の要求に対して、
なるべく同一の命令処理手段内のメモリ装置を割り当て
るようにし、また各メモリ装置とキャッシュ記憶装置の
内容を常に一致させておく一致化制御のためのオーバヘ
ッドを十分小さくする必要がある。そこで次に、このメ
モリ割り当て制御と、−M比制御について詳細に述べる
。
メモリ割り当て制御は、O8内にメモリ管理プログラム
を設け、このプログラムによってメモリ確保を要求した
プロセッサ対応のメモリ装置内に必要な量の空き領域が
あるか否かを調べる。あればこの領域を確保し、なけれ
ば他命令処理手段のメモリ装置の空き領域を探してこれ
を割り当てる。
次にキャッシュ記憶装置の一致化であるが、まず第1!
Iのメモリ管理装置におけるキャッシュ記憶袋[25a
は、通信バス7を介して参照したデータ、つまり他命令
処理手段のメモリ装置に格納されたデータのコピーを一
時的に蓄えている。キャッシュ記憶装置125aにプロ
セッサ1aからの書き込みが発生した場合、キャッシュ
記憶装置125aからバスインターフェース22a経出
で通信バス7へその書き込みデータとアドレスをブロー
ドキャストし、他命令処理手段のメモリ装置の該当アド
レスヘも書き込むという、ライトスル一方式により一致
をとる。このとき、該当データを有するメモリ装置は、
後述のようにバス監視回路によってこのブロードキャス
トを検出し、その内容を更新する。
また同じデータが他命令処理手段のキャッシュ記憶装置
にあるときも、同じブロードキャストで対応する。ここ
で述べたストアスルーによる一致化方法は、従来からの
公知のものであるので、その詳細は省略する。
なお、キャッシュ記憶装置に書き込みが発生したとき、
正しいデータが必要となるまでキャッシュ記憶装置25
aのコピーを本来のメモリ装置に書き込まないコピーパ
ック方式も公知であるが、他命令処理手段のメモリ装置
は、その命令処理手段内ではキ・ヤッシュ記憶装!25
aとは独立に参照できるため、−数比が複雑となり、効
率的でなく、本発明においては使用しない、以降に述べ
るキャッシュ記憶装置についても同様である。
逆に、キャッシュ記憶装置25aは、保持しているコピ
ーの本来のデータを持つメモリ装置が該当するプロセッ
サにより更新された場合、そのコピーを無効化あるいは
更新する必要がある。このメモリ装置の方が先に更新さ
れるというのは、甲、−プロセッサシステムのキャッシ
ュ記憶装置には発生しないものであり、このために前述
したようなスヌープ回路24aを設けてこの一致化を行
っている。なお、無効化と更新の違いは、更新の時は本
来のメモリ装置で書き換えられたデータをキャッシュ記
憶装置t25aにスヌープ回路24a経由で書き込むが
、無効化のときはデータ書き込みはせずに該当アドレス
のデータの有効性を示すビットをオフにするだけである
点である。そこで以下では、数比のための更新、無効化
を合わせて甲、に無効化ということもある。
次に第3図に示した第2のキャッシュ記憶装置26aは
、メモリ装置13aのデータのコピーのみを保存する。
従って、キャッシュ記憶装置!25aとのコピーの重な
りはなく、2つのキャッシュ記憶装置間の一致化制御は
必要ない。プロセッサ1aによるキャッシュ記憶装[2
6aへの書き込みのときは。
前述したライトスル一方式によりメモリ装置3aとの間
で常に同一の値を保つようにする。また。
他プロセッサがメモリ装置3aの値を更新するようブロ
ードキャストした場合は、そのブロードキャスト信号に
よりキャッシュ記憶装[126aの該当コピーを無効化
して、不一致をなくす。
第4図に示したキャッシュ記憶装置127aへの書き込
みに対しても、−数比制御を単純とするため、ライトス
ル一方式とする1通信バス7から参照したデータと、メ
モリ装置3aからのデータの区別は、アドレス判定回路
20aが行うので、このライトスルーの制御は、キャッ
シュ記憶装置125a、 26aの場合と同じでよい、
一方、メモリ装置の方の更新に対応するためには、第2
図のようにスヌープ回路24aにより無効化を行い、ま
た第3図のようにメモリ族W3aからの要求により無効
化を行う。
次にメモリ族[3aから見た一致化制御について説明す
る。他命令処理手段のキャッシュ記憶装置が、メモリ族
[3aに割り当てられているアドレスのデータのコピー
を保持している場合、メモリ装置13aへのデータの書
き込みが行われると。
同メモリ装[3aはブロードキャストにより上記コピー
の無効化を行う必要がある0本実施例では、他命令処理
手段のキャッシュ記憶装置がコピーを所有しているか否
かを示すための参照ビットを設け、これを判定して上記
無効化のブロードキャストを行うか否かを決定する。こ
れにより、不必要なブロード丸ヤストを行わないから1
通信バス。
キャッシュ記憶装置へのアクセス頻度を抑えることがで
きる。
第9図は上記参照ビット30a(R)の説明図である。
キャッシュ記憶装置へのデータの転送は。
通常ページと呼ばれる県位のデータ数に対して一括して
行われる。この1回の転送データが第9図のデータライ
ン31a (Data I、1ne)として示されてい
る。参照ビット30aは、このデータラインごとに1つ
設けられる。そして他プロセッサのアクセスでキャッシ
ュ記憶装置がミスヒツトし、通信バス7にアクセス要求
が出されているのをバス監視回路23aが検出し、これ
によってメモリ装置3aからアクセスアドレスを含むデ
ータライン31 aが読み出されると、対応する上記参
照ビットに′1″がセットされ、このデータラインのコ
ピーが他命令処理手段のキャッシュ記憶装置にあること
を示す、従ってこの参照ビットがセットされている場合
に、当該データラインへの書き込み動作が発生したとき
のみ、他命令処理手段のキャッシュ記憶装置のコピーを
無効化する要求をブロードキャストすればよい。そして
このブロードキャストの後には、コピーは他命令処理手
段にはなくなるので。
参照ビットを0″にリセットしておく。
上記のデータラインは1通常16バイトから32バイト
程度である。そこでデータラインを16バイトとし、メ
モリ装[3aの容量を1Mバイトとすると、参照ビット
のために使う記憶容量は64にビット即ち8にバイトで
よい。これをメモリ装[3a内に設けるか外部のレジス
タに設けるかは自由であり、効果には関係しない。
次に領域分割を行った場合の、メモリ装置について説明
する6以上では、各メモリ装置の全領域がシステム全体
の1つのアドレス空間に割り当てられるものとしたが、
以下のように各メモリ装置の領域分割を行うことにより
、各メモリ装置の有効利用と、マルチプログラミングに
適したシステム構成をより強化できる。なお、以下の説
明もプロセッサla、メモリ管理装置12a、メモリ装
置3aを中心として述べるが、他も同様である。
第10図は、物理アドレスと領域分割を行ったメモリ装
置3aとの対応例を示す。プロセッサ1aから見ること
のできるアドレス空間1よ、第10図左側の空間である
が、実際にメモリ装置:3aに割り当てられているアド
レス空間は、第10図右側の空間である。左側の同一領
域310a (Common Region)には右側
の同一領域300aが対応づけられ、これはどのプロセ
ッサでも同じアドレスでアクセスされ、各メモリ装置で
同一のデータを持つ領域として設定されている。左側の
共通領域311a (S haredRegion O
)には右側の共通領域301aが対応づけられ、他の共
通領域312a〜314aは他のメモリ装置3b〜3d
の共通領域(図示は省略)が対応づけられ、グローバル
領域315a (G 1obal Region)およ
びレジスタ領域316a (ROgister Reg
ion)は共有メモリ4および図示を省略したレジスタ
群に対応づけられ、これら領域311a〜316aはい
ずれのプロセッサからもアクセス可能な、一連のアドレ
スを持つ空間である。左側の局所領域317a (Lo
calR+4ion)は右側の局所領域302aが対応
し、当該プロセッサ1aからのみアクセスできる。この
ように領域分割を行い、同一領域はOSカーネルのよ−
うなどのプロセッサも頻繁に使うプログラム用として用
いれば、O8処理などのオーバーヘッドが軽減できる。
共通領域はなるべく、同じ命令処理手段内のプロセッサ
が処理するユーザプログラム用として使い、容量不足の
場合のみ他命令処理手段のメモリ装置の共通領域を使う
ようにすれば、ユーザプログラムの処理を高速に行えか
つ各メモリ装置を有効に使える、局所領域は、当該プロ
セッサのみの作業領域として使用するもので、この領域
に対しては全体的なメモリ管理は不用で、その管理の負
荷を減らすのに役立つ。
以上のような領域分割を有効とするには、この分割に対
してアドレスの判定と一致化制御が必要となる。このう
ちアドレス判定は、第5図あるいは第6図に示したアド
レス判定回路20aで、第1O図右側の領域300aま
たは302aに対してメモリ装置3aヘアクセスし、領
域301aに対して通信バス7ヘアクセスするようにし
、また第7図あるいは第8図のバス監視回路23aで、
共通領Wi、301aに対して領域判定を行うようにす
ればよい。
同一領域の一致化については、前述したキャッシュ記憶
装置の一致化制御と同様、同一領域への書き込みがあっ
たときに1通信バス7あるいは通信バス7とは別に設け
た同一化バスを介して、書き込みデータとアドレスをブ
ロードキャストすればよい、このときバス監視回路23
aでは、同一領域300aに対しても領域判定を行って
これを検出するようにする。
次に領域分割を行ったときのキャッシュ記憶装置の一致
化について説明する。第11図は、領域分割を行ったメ
モリ装置3aにおける、キャッシュ記憶装置27a(第
4図)の−数比制御を含むメモリアクセス動作を示して
おり、第7列までが条件(アクセスの内容)、それ以降
が条件に応じた動作を示している。第1列(Acces
s 5ource)はデータ参照の要求元がプロセッサ
1aのときP、通信バス7のときBである。第2列〜第
5列は、どの領域への読み出しくR)あるいは書き込み
(W)の要求かを示しており、同一領域310a (C
ommon)。
共通領域311a (Inner 5hared) 、
他メモリ装置の共通領域312a〜314a (Out
er 5hared) 、および局所領域317a (
Local)のどれへのアクセスかを示す、第6列(C
ache Hit)は、要求したデータのコピーがキャ
ッシュ記憶装置27aに存在するときH1存在しないと
きMである。第7列(Migration)は、要求し
たデータのコピーが他命令処理手段のキャッシュ記憶装
置に存在するか否か、即ち参照ビットがセットされてい
るかどうかを示す、第8列以降の動作は、それぞれメモ
リ装置の同一領域300a (Common) 、共通
領域30+、a(I nner S hared) 、
局所領域302a (L ocal)、キャッシュ記憶
装置27a (Cache) 、および通信バス7 (
Cow、)への読み出しくRD)、書き込み(w’r)
、無効化(INV)を示している。例えば第1行は、プ
ロセッサ1aが局所領域317aのデータの読み出し要
求を行い、そのデータのコピーがキャッシュ記憶装置1
127aに存在したとき、キャッシュ記憶装置27aの
みに読み出し要求が伝えられることを示している。
なお、第11図は領域を3つに分割した場合の図である
が、領域を2つに分割する場合、および領域分割を行わ
ない場合には、存在しない領域への要求と動作を省略す
ればよい、また、第2図、第3図のキャッシュ記憶装置
1125aにおいては、共通領域312a〜314aへ
の要求データのみコピーが存在しうろこと、第3図の第
2のキャッシュ記憶装置26aにおいては、同一領域3
10a、共通領域311FM、局所領域317aへの要
求データのみコピーが存在しうろことを考慮し、それ以
外のキャッシュ記憶装置の条件を省略するとよい。また
、第11図の動作における一致化制御の機構は、前に第
2図〜第9図で示したものと同じでよい。
最後に、第1図を用いて、割込み分配装置6によるシス
テム立ち上げ時のアドレス決定について説明する。シス
テム立ち上げ時に1割込み分配装置6に対してリセット
信号が送られると、割込み分配装置6は信号AIa8に
よりプロセッサ1aを起動し、命令処理手段内のハード
ウェアチエツクを実行させる。プロセッサ1aはハード
ウェアチエツクを終了すると、メモリ装置3aの容量(
領域分割をしたときは各領域の容量)を調べ、割込み分
配装置6へ通知する。以下、割込み分配装置6は、順に
プロセッサlb、lc、ldを起動し、同様のことを実
行する。最後に各メモリ装置の容量から、連続した物理
アドレス空間を構成し、各領域のア ドレスを各プロセ
ッサに通知する。プロセッサ 1aは、これをメモリ管
理装置内の上限レジスタおよび下限レジスタ、あるいは
マスクレジスタにセットする。他プロセッサlb、 l
c、 ldも同様である。これにより、第10図で説明
したようなアドレス空間の構成が、プロセッサ数に応じ
てダイナミックに構成でき、柔軟性のあるシステムが実
現できる。
〔発明の効果〕
本発明によれば、4つの効果がある6 第1の効果として、プロセッサの物理アドレス空間とシ
ステム全体の物理アドレス空間との一貫性を保証したた
め、プロセッサ間においてプロセスの移行が1″−ト能
となり、プロセッサの効率的な活用ができる。
第2に、システム立ち上げ時に、命令処理手段の数によ
り、システム全体の物理アドレス空間とメモリ装置の物
理アドレスとを再決定するため、利用形態に応じて、プ
ロセッサ数を増減可能で。
物理アドレス空間を最大限に活用できる、柔軟なマルチ
プロセッサシステムを実現できる。
第3に、キャッシュ記憶装置を使用することにより、−
旦通信バスを介して参照したデータを蓄えておくことが
でき、以降のデータ参照を通信バスを介さずに行って、
参照を高速化できる。また。
同一領域への参照は、同一化を行うハードウエアによっ
て、同一性を保証されているため、プロセッサがあたか
も共有メモリ装置を自命令処理手段内に所有しているか
のように参照することができ、共有データの高速な参照
が可能となる。
第4に、領域分割を行ったメモリ装置においては、同一
領域にオペレーティングシステムのカーネルデータ、共
通領域にユーザデータ、局所領域にワークエリアを配置
する等のことが可能で、マルチプログラミングに適した
環境を実現できる。
【図面の簡単な説明】
第1図は本発明の実施例を示すシステムの全体構成図、
第2図、第3図、第4図は3種類のメモリ管理装置の構
成例を示す図、第5図、第6図は2種類のアドレス判定
回路の構成例を示す図、第7図、第8図は2種類のバス
監視回路の構成例を示す図、第9図は参照ビットの説明
図、第10図は領域分割を行った場合のアドレスの対応
を示す図。 第11図はキャッシュ記憶装置の一致化制御の説明図で
ある。 18〜1d・・・プロセッサ、28〜2d・・・メモリ
管理装置、38〜3d・・・メモリ装置、4・・・共有
メモリ、6・・・割込み分配装置、7・・・通信バス、
 19a・・・アドレス変換回路、20a・・・アドレ
ス判定回路、23a・・・バス監視回路、24a・・・
スヌープ回路、25a、 26a、 27a・・・キャ
ッシュ記憶装置、30a・・・参照ビット、300a 
。 310a−同一領域、 301a、 311a、 31
2a、 313a、 314a・・・共通領域、 30
2a、 317a・・・局所領域。 代理人弁理士  秋 本 正 実 第 図 第 図 筒 図 78 口 第 図 第 口 第 図

Claims (1)

  1. 【特許請求の範囲】 1、少なくともプロセッサとメモリ装置と該メモリ装置
    へのアクセスを管理するためのメモリ管理装置とを有す
    る命令処理手段の複数個を通信バスで接続して構成し、
    上記メモリ装置の各々にはシステム全体の物理アドレス
    空間の相異なる部分を割り当てるとともに、上記命令処
    理手段内のメモリ管理装置は、当該命令処理手段内のプ
    ロセッサからの論理アドレスを物理アドレスへ変換する
    アドレス変換手段と、該手段から出力された物理アドレ
    スが当該命令処理手段内のメモリ装置にあれば該メモリ
    装置へアクセス要求を出力し、無ければ当該命令処理手
    段とは別の命令処理手段の他メモリ装置へのアクセス要
    求を出力するアドレス判定手段と、上記他メモリ装置の
    一部のデータのコピーを有して上記他メモリ装置へのア
    クセス要求に応答し、もし要求されたデータが存在しな
    いときは通信バスを介して上記他メモリ装置へのアクセ
    スを行う第1のキャッシュ記憶装置と、該キャッシュ記
    憶装置への書き込みあるいは上記キャッシュ記憶装置が
    コピーとして有するデータをもつ上記他メモリ装置への
    書き込みが発生したときに上記第1のキャッシュ記憶装
    置と上記他メモリ装置の内容を一致させるか上記第1の
    キャッシュ記憶装置の該当データを無効化するための一
    致化制御を行う一致化手段とから構成したことを特徴と
    する分散共有メモリを持つマルチプロセッサシステム。 2、前記各命令処理手段内に設けられ、当該命令処理手
    段のメモリ装置の一部データのコピーを有して前記アド
    レス判定手段からの上記メモリ装置へのアクセス要求に
    応答し、もし要求されたデータが存在しないときは上記
    メモリ装置へのアクセスを行う第2のキャッシュ記憶装
    置を付加したことを特徴とする請求項1記載の分散共有
    メモリを持つマルチプロセッサシステム。 3、前記第1および第2のキャッシュ記憶装置を1つの
    キャッシュ記憶装置に一体化して前記アドレス変換手段
    からの物理アドレスでアクセスするようにし、該当する
    データが存在しないときには前記アドレス判定手段を介
    して当該命令処理手段内のメモリ装置あるいは前記通信
    バスを介しての他命令処理手段の他メモリ装置へアクセ
    スする構成とするとともに、前記一致化手段は、上記一
    体化したキャッシュ記憶装置内の上記他メモリ装置のコ
    ピーと該他メモリ装置の該当データとの一致化制御を行
    うことを特徴とする請求項2記載の分散共有メモリを持
    つマルチプロセッサシステム。 4、共有メモリを前記通信バスに接続し、該共有メモリ
    には、前記物理アドレス空間の内、前記メモリ装置とは
    異なった部分を割り当てたことを特徴とする請求項1、
    2もしくは3記載の分散共有メモリを持つマルチプロセ
    ッサシステム。 5、システム全体の物理アドレス空間の中で、前記メモ
    リ装置の各々と存在する場合は前記共有メモリ装置の各
    々と存在する場合は前記共有メモリとに割り当てるべき
    物理アドレスを決定するアドレス決定手段を設け、シス
    テム立ち上げ時に、前記命令処理手段の数に従って上記
    メモリ装置の各々と存在する場合は前記共有メモリとに
    割り当てる物理アドレスを決定することを特徴とする請
    求項1、2もしくは3記載の分散共有メモリを持つマル
    チプロセッサシステム。 6、前記メモリ装置の各々は、他メモリ装置と常に同一
    の値を有するよう制御されている同一領域と、物理アド
    レス空間の異なった位置に割り当てられ、当該命令処理
    手段以外の命令処理手段の他プロセッサからは通信バス
    を介して参照できる共通領域と、当該命令処理手段内で
    のみ参照できる局所領域との3つの領域もしくは該3つ
    の領域の内の2つの領域に分割されていることを特徴と
    する請求項1、2、3もしくは4記載の分散共有メモリ
    を持つマルチプロセッサシステム。 7、システム全体の物理アドレス空間の中で、前記メモ
    リ装置の各々の前記共通領域と存在する場合は前記共有
    メモリとに割り当てるべき物理アドレスを決定するアド
    レス決定手段を設け、システム立ち上げ時に、前記命令
    処理手段の数に従って、上記共通領域の各々と存在する
    場合は前記共有メモリとに割り当てる物理アドレスを決
    定することを特徴とする請求項6記載の分散共有メモリ
    を持つマルチプロセッサシステム。 8、前記メモリ装置は、他命令処理手段の他キャッシュ
    記憶装置に自メモリ装置のデータのコピーが存在してい
    るか否かを示す参照ビットを有し、自メモリ装置に対す
    る書き込み動作時に、当該データ対応の上記参照ビット
    がコピーの存在を示すならば、前記通信バスを介して一
    致化要求を出力し、上記他命令処理手段の前記一致化手
    段により上記他キャッシュ記憶装置の該当データの無効
    化もしくは更新を行うことを特徴とする請求項1、2、
    3、4、5、6もしくは7記載の分散共有メモリを持つ
    マルチプロセッサシステム。 9、前記命令処理手段内にメモリ管理プログラムを設け
    、前記プロセッサが一定量の物理アドレス領域を確保す
    る必要が生じたときに、上記メモリ管理プログラムは、
    当該命令処理手段の前記メモリ装置内に上記一定量のア
    ドレス領域が存在すれば該領域を割り当て、存在しなけ
    れば他命令処理手段のメモリ装置のアドレス領域を割り
    当てるように制御することを特徴とする請求項1、2、
    3、4、5、6、7もしくは8記載の分散共有メモリを
    持つマルチプロセッサシステム。 10、前記メモリ装置の分割を前記同一領域を含むよう
    に行った場合に、上記同一領域に対する書き込み要求が
    発生したときには該書き込みのアドレスとデータを前記
    通信バスもしくは別に設けた同一化バスを介して他命令
    処理手段にブロードキャストし、他のメモリ装置の同一
    領域のデータとの一致化を行うようにしたことを特徴と
    する請求項6もしくは7記載の分散共有メモリを持つマ
    ルチプロセッサシステム。
JP1063856A 1989-03-17 1989-03-17 分散共有メモリを持つマルチプロセッサシステム Expired - Fee Related JP2846888B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1063856A JP2846888B2 (ja) 1989-03-17 1989-03-17 分散共有メモリを持つマルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1063856A JP2846888B2 (ja) 1989-03-17 1989-03-17 分散共有メモリを持つマルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPH02244253A true JPH02244253A (ja) 1990-09-28
JP2846888B2 JP2846888B2 (ja) 1999-01-13

Family

ID=13241399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1063856A Expired - Fee Related JP2846888B2 (ja) 1989-03-17 1989-03-17 分散共有メモリを持つマルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2846888B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027305A (ja) * 2006-07-24 2008-02-07 Renesas Technology Corp データ処理装置
JP2009230764A (ja) * 2009-07-06 2009-10-08 Univ Waseda マルチプロセッサシステム
JP2013130976A (ja) * 2011-12-20 2013-07-04 Fujitsu Ltd 情報処理装置およびメモリアクセス方法
JP2014160502A (ja) * 2014-04-28 2014-09-04 Fujitsu Ltd 情報処理装置およびメモリアクセス方法
JP2016513316A (ja) * 2013-02-06 2016-05-12 華為技術有限公司Huawei Technologies Co.,Ltd. データアクセスシステム、メモリ共有装置及びデータ読み取り方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128821A (ja) * 2009-12-17 2011-06-30 Yokogawa Electric Corp 二重化フィールド機器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027305A (ja) * 2006-07-24 2008-02-07 Renesas Technology Corp データ処理装置
JP2009230764A (ja) * 2009-07-06 2009-10-08 Univ Waseda マルチプロセッサシステム
JP2013130976A (ja) * 2011-12-20 2013-07-04 Fujitsu Ltd 情報処理装置およびメモリアクセス方法
JP2016513316A (ja) * 2013-02-06 2016-05-12 華為技術有限公司Huawei Technologies Co.,Ltd. データアクセスシステム、メモリ共有装置及びデータ読み取り方法
JP2014160502A (ja) * 2014-04-28 2014-09-04 Fujitsu Ltd 情報処理装置およびメモリアクセス方法

Also Published As

Publication number Publication date
JP2846888B2 (ja) 1999-01-13

Similar Documents

Publication Publication Date Title
US6742104B2 (en) Master/slave processing system with shared translation lookaside buffer
US6240501B1 (en) Cache-less address translation
US6629205B2 (en) System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem
US9064330B2 (en) Shared virtual memory between a host and discrete graphics device in a computing system
CA2414438C (en) System and method for semaphore and atomic operation management in a multiprocessor
US6907494B2 (en) Method and system of managing virtualized physical memory in a memory controller and processor system
US5463739A (en) Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
US6742103B2 (en) Processing system with shared translation lookaside buffer
US6920521B2 (en) Method and system of managing virtualized physical memory in a data processing system
US6904490B2 (en) Method and system of managing virtualized physical memory in a multi-processor system
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5551000A (en) I/O cache with dual tag arrays
US7093080B2 (en) Method and apparatus for coherent memory structure of heterogeneous processor systems
JP2846888B2 (ja) 分散共有メモリを持つマルチプロセッサシステム
EP1262875A1 (en) Master/slave processing system with shared translation lookaside buffer
EP1262876B1 (en) Multiprocessing system with shared translation lookaside buffer
CN117971716A (zh) 缓存管理方法、设备、装置和存储介质
JPH02184944A (ja) 並列計算機における仮想記憶制御方式
JPH05210590A (ja) 書き込みキャッシュメモリのための装置および方法
JP2001014283A (ja) 計算機システム

Legal Events

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