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

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

Info

Publication number
JP2846888B2
JP2846888B2 JP1063856A JP6385689A JP2846888B2 JP 2846888 B2 JP2846888 B2 JP 2846888B2 JP 1063856 A JP1063856 A JP 1063856A JP 6385689 A JP6385689 A JP 6385689A JP 2846888 B2 JP2846888 B2 JP 2846888B2
Authority
JP
Japan
Prior art keywords
memory device
memory
processing means
instruction processing
data
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
JP1063856A
Other languages
English (en)
Other versions
JPH02244253A (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.)
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

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、分散共有メモリを持つマルチプロセッサシ
ステムに係わり、とくに汎用マルチプログラミングに適
した分散共有メモリを持つマルチプロセッサシステムに
関する。
〔従来の技術〕
従来の分散共有メモリ型のマルチプロセッサシステム
には、特開昭56−155465に記載のように、複数個のプロ
セッサ(各々が固有のメモリ装置を持っている)と、共
有メモリ装置とを切換制御装置によって接続し、物理ア
ドレス空間の一部をプロセッサ固有のメモリ装置に割り
当てる方式がある。この方式においては、プロセッサが
自メモリ装置への参照でないと判断し、外部へ要求を発
すると、切換制御装置が共有メモリ装置、あるいは他プ
ロセッサのメモリ装置のいずれかに要求を通知する。
また、特開昭63−109563、および特開昭63−111563に
記載の技術は、複数個のプロセッサを通信バス上に接続
した構成をとっている。前者は通信バスと各プロセッサ
に共通のアドレスをもつ領域を定め、プロセッサがこの
領域を参照した場合には、共有メモリ空間を参照し、プ
ロセッサが他のアドレス領域を参照した場合には、プロ
セッサ固有のメモリ装置を参照する方式である。後者
は、各プロセッサ固有のメモリ装置を物理アドレス空間
の異なった部分に割り当て、プロセッサが自メモリ装置
外のアドレスを参照する場合には、プロセッサのアドレ
スを通信バスのアドレスに変換し、通信バスを介して他
メモリ装置に要求を通知する方式である。
〔発明が解決しようとする課題〕
上記特開昭56−155465の技術においては、プロセッサ
間でデータを共有する場合、およびプロセッサ固有のメ
モリ装置の容量制限等により、プロセッサ領域やデータ
領域が共有メモリ装置、あるいは他プロセッサのメモリ
装置に配置されている場合、切換制御装置への要求が多
発し、速度低下の要因となることがある。他に、切換制
御装置に接続可能なプロセッサ台数に物理的な制限があ
る。
特開昭63−109563の技術では、あるプロセッサが他プ
ロセッサのメモリ装置を、それが共有のアドレス領域と
して設定されていない限り参照できないため、プロセッ
サ固有のメモリ装置を効率的に活用できない。
また、特開昭63−111563の技術においては、プロセッ
サ間でアドレスの不一致が存在し、アドレス変換を行っ
て他プロセッサのメモリ装置へ要求を発している。この
ため、プロセッサ間でのプロセッサ移行が不可能であ
り、プロセッサを効率的に活用できない。
さらに特開昭63−109563、および特開昭63−111563の
技術においても、特開昭56−155465の技術と同様、プロ
セッサ間でデータを共有する場合、およびプログラム領
域やデータ領域がプロセッサ固有のメモリ装置に入りき
らない場合、通信バス要求が多発し、速度低下を招くこ
とがある。
本発明の目的は、プロセッサ台数にかかわりなく、す
べてのメモリ装置に対して連結した物理アドレス空間を
実現することによって、プロセッサ台数を自由に選べ、
各メモリ装置を有効に利用でき、かつプロセスのプロセ
ッサ間移行も容易に行えるようにするとともに、通信バ
ス要求の低いメモリ管理方法を実現して、マルチプログ
ラミング処理を高速に行えるようにした、分散共有メモ
リを持つマルチプロセッサシステムを提供するにある。
〔課題を解決するための手段〕
上記目的は、各プロセッサに分散したメモリ装置を設
けたマルチプロセッサシステムにおいて、システム立ち
上げ時に、通信バスに接続されている命令処理手段(プ
ロセッサ,メモリ管理装置,メモリ装置から成る装置の
単位)の数を判定し、システム全体の物理アドレス空間
の中で、各メモリ装置に割り当てるべき物理アドレスを
決定するアドレス決定手段を設けることにより達成さ
れ、各メモリ装置を同一領域、共通領域、および局所領
域に分割し、さらに各命令処理手段のメモリ管理装置
に、当該プロセッサからのアクセスアドレスが自メモリ
装置へか他命令処理手段のメモリ装置へかを判定して、
他命令処理手段のメモリ装置であると判定したときは通
信バスを介してアクセス要求を出力するアドレス判定手
段と、通信バスを介して参照したデータを一時的に蓄え
ておくキャッシュ記憶装置を設けるとともに、キャッシ
ュ記憶装置とそれが一時蓄えているデータを格納してい
るメモリ装置との一方にデータ書き込みが生じたときの
一致化制御、および1つのメモリ装置の同一領域が書き
換えられたときの全メモリ装置間の一致化制御を行う一
致化機構を設けることにより達成される。
〔作 用〕
アドレス決定手段は、システム立ち上げ時に通信バス
に接続された命令処理手段の数と、各プロセッサに装備
されているメモリ装置の容量により、それぞれのメモリ
装置に異なったアドレスを割り当て、システム全体とし
ては、連続したアドレス空間を形成する。これによっ
て、システムのプロセッサ数は自由に選べて柔軟なシス
テム構成が可能となり、また、アドレス判定手段の設置
により全メモリ装置を1つのアドレス空間としてどのプ
ロセッサからでもアクセスできるから、各メモリ装置を
有効に利用でき、プロセスのプロセッサ間移動も容易に
行えてマルチプログラミングに適したシステムとなる。
キャッシュ記憶装置の設置は通信バスを介しての他命令
処理手段のメモリ装置へのアクセス回数を減らせる効果
とともに、通信バスを介さないときも含めてアクセスの
高速化が図れる。各メモリ装置を領域分割し、同一領域
はOSのカーネル等の、プロセッサ間で共通に使用されか
つ高速処理が要求されるプログラムおよびデータ用と
し、共通領域はその大きさがさまざまであるユーザのテ
キストおよびデータ等に使用し、局所領域はそのプロセ
ッサだけが使う作業領域等に使用すれば、各メモリ装置
が有効に利用でき、高速処理可能なマルチプロセッサ環
境を実現できる。
〔実施例〕
以下、本発明の実施例を図面を用いて説明する。第1
図は、本発明の一実施例を示す構成図である。プロセッ
サ1a〜1d(PE0〜3)にはそれぞれメモリ管理装置2a〜2
d(MCU0〜3)が接続され、各対応プロセッサより渡さ
れる論理アドレスに応じて自プロセッサ対応のメモリ装
置3a〜3d(MS1〜3)にアクセスする他、通信バスへ要
求を通知することにより他のメモリ装置へもアクセスで
きる。これらメモリ装置3a〜3dは、プロセッサ1a〜1dが
実行する命令およびデータを格納している。共有メモリ
装置4(GM)は、マルチプロセッサシステムの構成に応
じて省略してもよい。入出力装置5(I/O)は一般に
は、ディスク装置,ディスプレイ,キーボード等である
が、本発明には直接関係ないので一括して示している。
割込み分配装置6(DIST)は、入出力装置5からの割込
み信号12を信号線8を介して各プロセッサへ分配する。
通信バス7は、アドレス線,データ線および制御線より
なるバスであるが、これを金属あるいは光ファイバを用
いたネットワークに置き換えることは可能である。
以上の全体構成において、本発明の特徴とするメモリ
管理装置について、その構成および動作を以下に説明す
る。
第2図,第3図および第4図に、メモリ管理装置2a
(他も同一機構)の3種類の形態を示した。
第2図は、通信バス7から参照したデータのみをキャ
ッシュ記憶装置25a(Cache)に蓄えておく構成である。
同図において、アドレス変換回路19a(AT)はプロセッ
サ1aから出力される論理アドレスを物理アドレスに変換
する。アドレス判定回路20a(AJ)は、後に詳しく述べ
る機構により、アドレス変換回路19aからの物理アドレ
スを調べ、それがメモリ装置3aのアドレスに一致するな
らば、メモリインターフェース21a(MS−Inf)を介して
メモリ装置3aへ要求を通知し、アドレスが一致しないな
らばキャッシュ記憶装置25aに要求を通知する。このア
ドレス判定回路の設置により、各プロセッサはどのメモ
リ装置へもアクセスでき、システム全体のアドレス空間
を一つのものとして扱える。キャッシュ記憶装置25a
は、アドレス判定回路20aから要求があれば、データの
読み出し動作または書き込み動作を行う。ただし、アド
レス判定回路20aからのアドレスに対応するデータのコ
ピーがキャッシュ記憶装置25aの中に存在しない場合
(ミスヒット)には、バスインターフェース22a(Bus−
Inf)を介して、通信バス7に要求を通知する。この要
求がデータの読み出しであり、そのデータが通信バス経
由で送られてきたときには(通常ページ単位のデータブ
ロックで送られる)、そのデータをコピーとして一時的
に蓄えておく。このキャッシュ記憶装置の設置により、
他メモリ装置へのアクセスを高速化でき、かつ通信バス
へのアクセス頻度を大幅に減らせる。
バス監視回路23a(B−Mon)は、後に詳しく述べる機
構により、常に通信バス7を監視し、通信バス7にメモ
リ装置3aのアドレスに一致する要求が流れたとき、その
要求をメモリインターフェース21aを介してメモリ装置3
aに通知する。スヌープ回路24a(Snoop)は、キャッシ
ュ記憶装置25aの一致化制御を行うものである。即ち、
キャッシュ記憶装置25aは、他命令処理手段のメモリ装
置のデータのコピーを有しているから、他メモリ装置が
本来のデータを更新した場合には、該当するコピーを無
効化、あるいは更新する必要がある。このためスヌープ
回路24aは、常に通信バス7を監視し、通信バス7に流
れる書き込みデータのアドレスとキャッシュ記憶装置25
aの保持するコピーのアドレスとを比較し、必要があれ
ばキャッシュ記憶装置25aのコピー無効化あるいは更新
する。
これらバス監視回路とスヌープ回路は、キャッシュ記
憶装置とメモリ装置の一致化を行う一致化機構である。
メモリインターフェース21aとバスインターフェース2
2aとは、それぞれ2つおよび3つの信号線を同時に制御
するインターフェース回路であり、その内部には同一資
源に対する複数の要求を処理する調停手段を有するが、
本発明とは直接関係ないので省略する。
第3図は、通信バス7を介して参照したデータを蓄え
ておくキャッシュ記憶装置25aの他に、メモリ装置3aか
ら参照したデータを蓄えておく第2のキャッシュ記憶装
置26aを備えた構成である。第2のキャッシュ記憶装置2
6aは、アドレス判定回路20aから要求されたアドレスに
対応するデータのコピーを保持していない場合、メモリ
インターフェース21aを介してメモリ装置3aに要求を通
知する。その他の構成要素は、第2図と同じ構成かつ同
じ動作を行う。このとき、2つのキャッシュ記憶装置25
a,26aに、同一のデータのコピーは存在しない。従っ
て、2つのキャッシュ記憶装置間での一致化制御を考慮
する必要はない。
第4図は通信バス7を介して参照したデータとメモリ
装置3aから参照したデータとを蓄えておくキャッシュ記
憶装置27aを装備した構成である。キャッシュ記憶装置2
7aは、アドレス変換回路19aの要求アドレスを受け、そ
のアドレスに対応するデータのコピーが存在しなけれ
ば、アドレス判定回路20aに要求を通知する。通知され
たアドレスにより、アドレス判定回路20aが、通信バス
7あるいはメモリ管理装置3aに要求を転送することにな
る。その構成要素は、第2図と同じ構成かつ同じ動作を
行う。この構成では、キャッシュ記憶装置27aの参照に
おいて、アドレス判定回路20aの介在がなく、第2図,
第3図の構成と比べて、キャッシュ記憶装置27aの参照
がより高速である。
次に第5図および第6図に、アドレス判定回路20aの
2つの例を示す。
第5図は、各メモリ装置に割り当てられている物理ア
ドレスの上限と下限とを記憶するレジスタを設けたもの
である。メモリ装置のアドレスの上限および下限はそれ
ぞれ上限レジスタ200a(U−Reg)および下限レジスタ2
01a(L−Reg)に記憶されている。アドレス変換回路19
aからのアドレスは比較器202a,203a(CMP)でそれぞれ
上限レジスタ200aおよび下限レジスタ201aの内容とそれ
ぞれ比較され、両レジスタの上限,下限アドレスの間に
あるときアンド素子204aから“1"、ないとき“0"が出力
される。交換器205a(EXC)はこのアンド素子204aの出
力に従ってアドレス変換回路19aからの要求をメモリイ
ンターフェース21a、あるいはキャッシュ記憶装置25aに
接続する。
第6図は、各メモリ装置のアドレスの上位数ビットを
レジスタに記憶してアドレス判定を行う場合である。例
えばアドレス線が32ビットであり、各メモリ装置が1Mバ
イトの容量を持つとする。メモリ装置内部のアドレスは
20ビットで指定できるから、マスクレジスタ206a(M−
Reg)の長さは12ビット長であり、この内容を変更する
ことにより、各メモリ装置の割り当てられているアドレ
スを1Mバイト単位で変更できる。比較器207aは、アドレ
ス変換回路19aからのアドレスの上位12ビットとマスク
レジスタ206aとの値が一致するか否かを判定する。
なお、第5図,第6図はともに第2図のメモリ管理装
置の場合を示しているが、第5図,第6図のメモリイン
ターフェース21aを第2のキャッシュ記憶装置26aと読み
かえることにより、第3図と対応させることができ、ま
た、アドレス変換回路19aをキャッシュ記憶装置27aと、
キャッシュ記憶装置25aをバスインターフェース22aと読
みかえることにより、第4図と対応させることができ
る。
次に第7図および第8図により、2つの形のバス監視
回路23aを説明する。第7図は第5図と同様、各メモリ
装置に割り当てられている物理アドレスの上限と下限と
を上限レジスタ230a(U−Reg)と下限レジスタ231a
(L−Reg)とに記憶したものである。バスインターフ
ェース22aからのアドレスは比較器232a,233a(CMP)で
それぞれ上限レジスタ232a,下限レジスタ233aの内容と
比較され、両レジスタの上限,下限アドレスの間にある
ときのみアンド素子234a(AND)の出力が“1"になって
駆動回路235aをオンとし、通信バスからのアドレス線,
データ線および制御線をメモリインターフェース21aに
接続する。
一方、第8図のバス監視回路では、第6図と同様に、
各メモリ装置のアドレスの上位数ビットをマスクレジス
タ236a(M−Reg)に記憶したものである。例えば第6
図の例と同じく、アドレス線32ビット、各メモリ装置が
1Mバイトとすると、メモリ装置内部のアドレスは20ビッ
トで指定できるから、マスクレジスタ236aの長さは12ビ
ット長である。従って、比較器237aは、バスインターフ
ェース22aからのアドレスの上位12ビットとマスクレジ
スタ236aとの値が一致するか否かを判定し、一致したと
きのみ駆動回路235aをオンとする。
以上、第1図の実施例の、とくに本発明に関係する部
分の詳細な構成と、各部の動作を説明した。本実施例に
よって、各プロセッサが全部のメモリ装置にまたがるシ
ステム全体のアドレス空間を利用でき、また各命令処理
手段にメモリ装置を分散配置しかつキャッシュ記憶装置
を設けることで通信バスへのアクセス要求を低減でき
る。しかしこれらの効果が十分発揮されるには、プロセ
ッサからのメモリ領域確保の要求に対して、なるべく同
一の命令処理手段内のメモリ装置を割り当てるように
し、また各メモリ装置とキャッシュ記憶装置の内容を常
に一致させておく一致化制御のためのオーバヘッドを十
分小さくする必要がある。そこで次に、このメモリ割り
当て制御と、一致化制御について詳細に述べる。
メモリ割り当て制御は、OS内にメモリ管理プログラム
を設け、このプログラムによってメモリ確保を要求した
プロセッサ対応のメモリ装置内に必要な量の空き領域が
あるか否かを調べる。あればこの領域を確保し、なけれ
ば他命令処理手段のメモリ装置の空き領域を探してこれ
を割り当てる。
次にキャッシュ記憶装置の一致化であるが、まず第2
図のメモリ管理装置におけるキャッシュ記憶装置25a
は、通信バス7を介して参照したデータ、つまり他命令
処理手段のメモリ装置に格納されたデータのコピーを一
時的に蓄えている。キャッシュ記憶装置25aにプロセッ
サ1aからの書き込みが発生した場合、キャッシュ記憶装
置25aからバスインターフェース22a経由で通信バス7へ
その書き込みデータとアドレスをブロードキャストし、
他命令処理手段のメモリ装置の該当アドレスへも書き込
むという、ライトスルー方式により一致をとる。このと
き、該当データを有するメモリ装置は、後述のようにバ
ス監視回路によってこのブロードキャストを検出し、そ
の内容を更新する。また同じデータが他命令処理手段の
キャッシュ記憶装置にあるときも、同じブロードキャス
トで対応する。ここで述べたストアスルーによる一致化
方法は、従来からの公知のものであるので、その詳細は
省略する。
なお、キャッシュ記憶装置に書き込みが発生したと
き、正しいデータが必要となるまでキャッシュ記憶装置
25aのコピーを本来のメモリ装置に書き込まないコピー
バック方式も公知であるが、他命令処理手段のメモリ装
置は、その命令処理手段内ではキャッシュ記憶装置25a
とは独立に参照できるため、一致化が複雑となり、効率
的でなく、本発明においては使用しない。以降に述べる
キャッシュ記憶装置についても同様である。
逆に、キャッシュ記憶装置25aは、保持しているコピ
ーの本来のデータを持つメモリ装置が該当するプロセッ
サにより更新された場合、そのコピーを無効化あるいは
更新する必要がある。このメモリ装置の方が先に更新さ
れるというのは、単一プロセッサシステムのキャッシュ
記憶装置には発生しないものであり、このために前述し
たようなスヌープ回路24aを設けてこの一致化を行って
いる。なお、無効化と更新の違いは、更新の時は本来の
メモリ装置で書き換えられたデータをキャッシュ記憶装
置25aにスヌープ回路24a経由で書き込むが、無効化のと
きはデータ書き込みはせずに該当アドレスのデータの有
効性を示すビットをオフにするだけである点である。そ
こで以下では、一致化のための更新,無効化を合わせて
単に無効化ということもある。
次に第3図に示した第2のキャッシュ記憶装置26a
は、メモリ装置3aのデータのコピーのみを保存する。従
って、キャッシュ記憶装置25aとのコピーの重なりはな
く、2つのキャッシュ記憶装置間の一致化制御は必要な
い。プロセッサ1aによるキャッシュ記憶装置26aへの書
き込みのときは、前述したライトスルー方式によりメモ
リ装置3aとの間で常に同一の値を保つようにする。ま
た、他プロセッサがメモリ装置3aの値を更新するようブ
ロードキャストした場合は、そのブロードキャスト信号
によりキャッシュ記憶装置26aの該当コピーを無効化し
て、不一致をなくす。
第4図に示したキャッシュ記憶装置27aへの書き込み
に対しても、一致化制御を単純とするため、ライトスル
ー方式とする。通信バス7から参照したデータと、メモ
リ装置3aからのデータの区別は、アドレス判定回路20a
が行うので、このライトスルーの制御は、キャッシュ記
憶装置25a,26aの場合と同じでよい。一方、メモリ装置
の方の更新に対応するためには、第2図のようにスヌー
プ回路24aにより無効化を行い、また第3図のようにメ
モリ装置3aからの要求により無効化を行う。
次にメモリ装置3aから見た一致化制御について説明す
る。他命令処理手段のキャッシュ記憶装置が、メモリ装
置3aに割り当てられているアドレスのデータのコピーを
保持している場合、メモリ装置3aへのデータの書き込み
が行われると、同メモリ装置3aはブロードキャストによ
り上記コピーの無効化を行う必要がある。本実施例で
は、他命令処理手段のキャッシュ記憶装置がコピーを所
有しているか否かを示すための参照ビットを設け、これ
を判定して上記無効化のブロードキャストを行うか否か
を決定する。これにより、不必要なブロードキャストを
行わないから、通信バス,キャッシュ記憶装置へのアク
セス頻度を抑えることができる。
第9図は上記参照ビット30a(R)の説明図である。
キャッシュ記憶装置へのデータの転送は、通常ページと
呼ばれる単位のデータ数に対して一括して行われる。こ
の1回の転送データが第9図のデータライン31a(Data
Line)として示されている。参照ビット30aは、このデ
ータラインごとに1つ設けられる。そして他プロセッサ
のアクセスでキャッシュ記憶装置がミスヒットし、通信
バス7にアクセス要求が出されているのをバス監視回路
23aが検出し、これによってメモリ装置3aからアクセス
アドレスを含むデータライン31aが読み出されると、対
応する上記参照ビットに“1"がセットされ、このデータ
ラインのコピーが他命令処理手段のキャッシュ記憶装置
にあることを示す。従ってこの参照ビットがセットされ
ている場合に、当該データラインへの書き込み動作が発
生したときのみ、他命令処理手段のキャッシュ記憶装置
のコピーを無効化する要求をブロードキャストすればよ
い。そしてこのブロードキャストの後には、コピーは他
命令処理手段にはなくなるので、参照ビットを“0"にリ
セットしておく。
上記のデータラインは、通常16バイトから32バイト程
度である。そこでデータラインを16バイトとし、メモリ
装置3aの容量を1Mバイトとすると、参照ビットのために
使う記憶容量は64Kビット即ち8Kバイトでよい。これを
メモリ装置3a内に設けるか外部のレジスタに設けるかは
自由であり、効果には関係しない。
次に領域分割を行った場合の、メモリ装置について説
明する。以上では、各メモリ装置の全領域がシステム全
体の1つのアドレス空間に割り当てられるものとした
が、以下のように各メモリ装置の領域分割を行うことに
より、各メモリ装置の有効利用と、マルチプログラミン
グに適したシステム構成をより強化できる。なお、以下
の説明もプロセッサ1a,メモリ管理装置2a,メモリ装置3a
を中心として述べるが、他も同様である。
第10図は、物理アドレスと領域分割を行ったメモリ装
置3aとの対応例を示す。プロセッサ1aから見ることので
きるアドレス空間は、第10図左側の空間であるが、実際
にメモリ装置3aに割り当てられているアドレス空間は、
第10図右側の空間である。左側の同一領域310a(Common
Region)には右側の同一領域300aが対応づけられ、こ
れはどのプロセッサでも同じアドレスでアクセスされ、
各メモリ装置で同一のデータを持つ領域として設定され
ている。左側の共通領域311a(Shared Region 0)には
右側の共通領域301aが対応づけられ、他の共通領域312a
〜314aは他のメモリ装置3b〜3dの共通領域(図示は省
略)が対応づけられ、グローバル領域315a(Global Reg
ion)およびレジスタ領域316a(Register Region)は共
有メモリ4および図示を省略したレジスタ群に対応づけ
られ、これら領域311a〜316aはいずれのプロセッサから
もアクセス可能な、一連のアドレスを持つ空間である。
左側の局所領域317a(Local Region)は右側の局所領域
302aが対応し、当該プロセッサ1aからのみアクセスでき
る。このように領域分割を行い、同一領域はOSカーネル
のようなどのプロセッサも頻繁に使うプログラム用とし
て用いれば、OS処理などのオーバーヘッドが軽減でき
る。共通領域はなるべく、同じ命令処理手段内のプロセ
ッサが処理するユーザプログラム用として使い、容量不
足の場合のみ他命令処理手段のメモリ装置の共通領域を
使うようにすれば、ユーザプログラムの処理を高速に行
えかつ各メモリ装置を有効に使える。局所領域は、当該
プロセッサのみの作業領域として使用するもので、この
領域に対しては全体的なメモリ管理は不用で、その管理
の負荷を減らすのに役立つ。
以上のような領域分割を有効とするには、この分割に
対してアドレスの判定と一致化制御が必要となる。この
うちアドレス判定は、第5図あるいは第6図に示したア
ドレス判定回路20aで、第10図右側の領域300aまたは302
aに対してメモリ装置3aへアクセスし、領域301aに対し
て通信バス7へアクセスするようにし、また第7図ある
いは第8図のバス監視回路23aで、共通領域301aに対し
て領域判定を行うようにすればよい。
同一領域の一致化については、前述したキャッシュ記
憶装置の一致化制御と同様、同一領域への書き込みがあ
ったときに、通信バス7あるいは通信バス7とは別に設
けた同一化バスを介して、書き込みデータとアドレスを
ブロードキャストすればよい。このときバス監視回路23
aでは、同一領域300aに対しても領域判定を行ってこれ
を検出するようにする。
次に領域分割を行ったときのキャッシュ記憶装置の一
致化について説明する。第11図は、領域分割を行ったメ
モリ装置3aにおける、キャッシュ記憶装置27a(第4
図)の一致化制御を含むメモリアクセス動作を示してお
り、第7列までが条件(アクセスの内容)、それ以降が
条件に応じた動作を示している。第1列(Access Sourc
e)はデータ参照の要求元がプロセッサ1aのときP、通
信バス7のときBである。第2列〜第5列は、どの領域
への読み出し(R)あるいは書き込み(W)の要求かを
示しており、同一領域310a(Common)、共通領域311a
(Inner Shared)、他メモリ装置の共通領域312a〜314a
(Outer Shared)、および局所領域317a(Local)のど
れへのアクセスかを示す。第6列(Cache Hit)は、要
求したデータのコピーがキャッシュ記憶装置27aに存在
するときH、存在しないときMである。第7列(Migrat
ion)は、要求したデータのコピーが他命令処理手段の
キャッシュ記憶装置に存在するか否か、即ち参照ビット
がセットされているかどうかを示す。第8列以降の動作
は、それぞれメモリ装置の同一領域300a(Common)、共
通領域301a(Inner Shared)、局所領域302a(Loca
l)、キャッシュ記憶装置27a(Cache)、および通信バ
ス7(Com.)への読み出し(RD)、書き込み(WT)、無
効化(INV)を示している。例えば第1行は、プロセッ
サ1aが局所領域317aのデータの読み出し要求を行い、そ
のデータのコピーがキャッシュ記憶装置27aに存在した
とき、キャッシュ記憶装置27aのみに読み出し要求が伝
えられることを示している。
なお、第11図は領域を3つに分割した場合の図である
が、領域を2つに分割する場合、および領域分割を行わ
ない場合には、存在しない領域への要求と動作を省略す
ればよい。また、第2図,第3図のキャッシュ記憶装置
25aにおいては、共通領域312a〜314aへの要求データの
みコピーが存在しうること、第3図の第2のキャッシュ
記憶装置26aにおいては、同一領域310a、共通領域311
a、局所領域317aへの要求データのみコピーが存在しう
ることを考慮し、それ以外のキャッシュ記憶装置の条件
を省略するとよい。また、第11図の動作における一致化
制御の機構は、前に第2図〜第9図で示したものと同じ
でよい。
最後に、第1図を用いて、書込み分配装置6によるシ
ステム立ち上げ時のアドレス決定について説明する。シ
ステム立ち上げ時に、割込み分配装置6に対してリセッ
ト信号が送られると、割込み分配装置6は信号線8によ
りプロセッサ1aを起動し、命令処理手段内のハードウェ
アチェックを実行させる。プロセッサ1aはハードウェア
チェックを終了すると、メモリ装置3aの容量(領域分割
をしたときは各領域の容量)を調べ、書込み分配装置6
へ通知する。以下、書込み分配装置6は、順にプロセッ
サ1b,1c,1dを起動し、同様のことを実行する。最後に各
メモリ装置の容量から、連続した物理アドレス空間を構
成し、各領域のアドレスを各プロセッサに通知する。プ
ロセッサ1aは、これをメモリ管理装置内の上限レジスタ
および下限レジスタ、あるいはマスクレジスタにセット
する。他プロセッサ1b,1c,1dも同様である。これによ
り、第10図で説明したようなアドレス空間の構成が、プ
ロセッサ数に応じてダイナミックに構成でき、柔軟性の
あるシステムが実現できる。
〔発明の効果〕
本発明によれば、4つの効果がある。
第1の効果として、プロセッサの物理アドレス空間と
システム全体の物理アドレス空間との一貫性を保証した
ため、プロセッサ間においてプロセッサの移行が可能と
なり、プロセッサの効率的な活用ができる。
第2に、システム立ち上げ時に、命令処理手段の数に
より、システム全体の物理アドレス空間とメモリ装置の
物理アドレスとを再決定するため、利用形態に応じて、
プロセッサ数を増減可能で、物理アドレス空間を最大限
に活用できる、柔軟なマルチプロセッサシステムを実現
できる。
第3に、キャッシュ記憶装置を使用することにより、
一旦通信バスを介して参照したデータを蓄えておくこと
ができ、以降のデータ参照を通信バスを介さずに行っ
て、参照を高速化できる。また、同一領域への参照は、
同一化を行うハードウェアによって、同一性を保証され
ているため、プロセッサがあたかも共有メモリ装置を自
命令処理手段内に所有しているかのように参照すること
ができ、共有データの高速な参照が可能となる。
第4に、領域分割を行ったメモリ装置においては、同
一領域にオペレーティングシステムのカーネルデータ、
共通領域にユーザデータ、局所領域にワークエリアを配
置する等のことが可能で、マルチプログラミングに適し
た環境を実現できる。
【図面の簡単な説明】
第1図は本発明の実施例を示すシステムの全体構成図、
第2図,第3図,第4図は3種類のメモリ管理装置の構
成例を示す図、第5図,第6図は2種類のアドレス判定
回路の構成例を示す図、第7図,第8図は2種類のバス
監視回路の構成例を示す図、第9図は参照ビットの説明
図、第10図は領域分割を行った場合のアドレスの対応を
示す図、第11図はキャッシュ記憶装置の一致化制御の説
明図である。 1a〜1d……プロセッサ、2a〜2d……メモリ管理装置、3a
〜3d……メモリ装置、4……共有メモリ、6……割込み
分配装置、7……通信バス、19a……アドレス変換回
路、20a……アドレス判定回路、23a……バス監視回路、
24a……スヌープ回路、25a,26a,27a……キャッシュ記憶
装置、30a……参照ビット、300a,310a……同一領域、30
1a,311a,312a,313a,314a……共通領域、302a,317a……
局所領域。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 芳樹 茨城県日立市久慈町4026番地 株式会社 日立製作所日立研究所内 (72)発明者 中村 智明 茨城県日立市大みか町5丁目2番1号 株式会社日立製作所大みか工場内 (56)参考文献 特開 昭63−220351(JP,A) 特開 昭63−111563(JP,A) 特開 昭61−103258(JP,A) 特開 昭62−100858(JP,A) 特開 昭63−109563(JP,A) 特開 昭62−125444(JP,A) 特開 昭60−237552(JP,A) NATO ASI Series E No.96 1985 p.83−101 (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 JICST科学技術文献テータベース INspec

Claims (6)

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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5137171B2 (ja) * 2006-07-24 2013-02-06 ルネサスエレクトロニクス株式会社 データ処理装置
JP2009230764A (ja) * 2009-07-06 2009-10-08 Univ Waseda マルチプロセッサシステム
JP5573829B2 (ja) * 2011-12-20 2014-08-20 富士通株式会社 情報処理装置およびメモリアクセス方法
CN103152394B (zh) * 2013-02-06 2016-09-28 华为技术有限公司 数据存取系统、内存共享设备及数据读取方法
JP2014160502A (ja) * 2014-04-28 2014-09-04 Fujitsu Ltd 情報処理装置およびメモリアクセス方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NATO ASI Series E No.96 1985 p.83−101

Cited By (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 二重化フィールド機器

Also Published As

Publication number Publication date
JPH02244253A (ja) 1990-09-28

Similar Documents

Publication Publication Date Title
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US6631447B1 (en) Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
US7213248B2 (en) High speed promotion mechanism suitable for lock acquisition in a multiprocessor data processing system
US6742104B2 (en) Master/slave processing system with shared translation lookaside buffer
US5185878A (en) Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
CN101097544B (zh) 虚拟化事务存储器的全局溢出方法
US5822763A (en) Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
US5043886A (en) Load/store with write-intent for write-back caches
US5692149A (en) Block replacement method in cache only memory architecture multiprocessor
US6920521B2 (en) Method and system of managing virtualized physical memory in a data processing system
EP0062165A2 (en) Multiprocessors including private and shared caches
US6098156A (en) Method and system for rapid line ownership transfer for multiprocessor updates
US20040073766A1 (en) Method, apparatus and system for allocating and accessing memory-mapped facilities within a data processing system
JPS629942B2 (ja)
KR20180063820A (ko) 메모리에서 어드레스 범위간의 데이터 전송 장치 및 방법
US6742103B2 (en) Processing system with shared translation lookaside buffer
US5551000A (en) I/O cache with dual tag arrays
JPS5849945B2 (ja) バツフア合せ方式
US6920514B2 (en) Method, apparatus and system that cache promotion information within a processor separate from instructions and data
JP2846888B2 (ja) 分散共有メモリを持つマルチプロセッサシステム
US5010475A (en) Consistency ensuring system for the contents of a cache memory
US6925551B2 (en) Method, apparatus and system for accessing a global promotion facility through execution of a branch-type instruction
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
KR20170108714A (ko) 하드웨어 가속기와 호스트 시스템 사이의 데이터 일관성 유지 장치 및 방법
US6842847B2 (en) Method, apparatus and system for acquiring a plurality of global promotion facilities through execution of an instruction

Legal Events

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