JPH11232173A - ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム - Google Patents

ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム

Info

Publication number
JPH11232173A
JPH11232173A JP10288429A JP28842998A JPH11232173A JP H11232173 A JPH11232173 A JP H11232173A JP 10288429 A JP10288429 A JP 10288429A JP 28842998 A JP28842998 A JP 28842998A JP H11232173 A JPH11232173 A JP H11232173A
Authority
JP
Japan
Prior art keywords
local memory
memory
node
cache
remote
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.)
Pending
Application number
JP10288429A
Other languages
English (en)
Inventor
Angelo Casamatta
カザマッタ アンジェロ
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Bull HN Information Systems Italia SpA
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 Bull HN Information Systems Italia SpA filed Critical Bull HN Information Systems Italia SpA
Publication of JPH11232173A publication Critical patent/JPH11232173A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 独立したメモリとしてリモートキャッシュを
実装するには、専用メモリ制御装置のサポートも必要で
あり、かつ、このような実装は柔軟性がない。 【解決手段】 ノード1、2がリモート・インタフェー
ス・ブリッジ13および相互通信リング14を用いて相
互通信し、メモリアドレスで定められたシステムメモリ
空間にプロセッサ3、4がアクセスするデータ処理シス
テムにおいて、各ノードは、システムメモリ空間の一部
をローカルメモリの他の部分9Aにマップするユニット
10と、それぞれ、ローカルメモリの他の部分に格納さ
れたデータブロックに対応付けられ、しかも、それぞれ
ブロックを識別するインデックスと、ブロックの整合状
態を示すビットから成っているラベル(タグ)を格納し
て、各ノードにあるローカルメモリの他の部分がノード
のリモートキャッシュになるようにするSRAM技術の
メモリを備えていることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、cc−NUMAア
ーキテクチュアを有するデータ処理システムに関する。
【0002】
【従来の技術】対称的マルチプロセッサ・アーキテクチ
ュア(複数のプロセッサが、共用メモリへのアクセスに
用いるシステムバスに接続される)の拡張性の制限を克
服するために、様々な解決法のうち、「キャッシュ整合
型の不均一メモリアクセス」アーキテクチュアとして定
められた新しいタイプのアーキテクチュアが提案されて
いることが知られている。
【0003】このモジュラ・アーキテクチュアの基礎
は、様々なプロセッサを複数の「ノード」にグループ化
することと、データ処理システムのワーキングメモリ
を、ノードごとに1つ、複数のローカルメモリに分ける
ことである。
【0004】従って、各ノードは1つ以上のプロセッサ
から成り、それらのプロセッサがローカルバスを介して
ローカルメモリと通信する。さらに、各ノードは、相互
通信ノードのネットワークを形成するために、通信チャ
ネルを介して、このノードと他のノードを相互接続する
ブリッジも備えている。
【0005】この通信チャネルは、それ自体公知のもの
であって、ネットワーク(メッシュルータ)、1つのリ
ング、複数のリング、リングのネットワークなどであ
る。
【0006】あるノードの各プロセッサは、相互接続ブ
リッジおよび通信チャネルを用いれば、必要とするデー
タがメモリに入っているノードにメッセージを送ること
で、他のあらゆるノードのローカルメモリ(リモートメ
モリと見なされる)に入っているデータにアクセスする
ことができる。
【0007】プロセッサがこのノードのローカルメモリ
にアクセスする動作はかなり高速であって、ローカルバ
スにアクセスして、メモリアドレス、すなわち要求され
る動作型式を定めるコードをローカルバス上に提示する
こと、またこの動作が書込み動作であれば、書込まれる
データを提示することだけを求めるが、データが他のノ
ードに常駐しているか、あるいは他のノード向けに転送
される場合には、ローカルバスにアクセスすることだけ
でなく、相互接続ブリッジを起動し、通信チャネルを用
いて、また相互接続ブリッジと宛先ノードのローカルバ
スを用いてメッセージを宛先ノードに送って、宛先ノー
ドのメモリ資源にアクセスし、適宜、要求されたデータ
を含む応答メッセージを同一経路を使って送り返すこと
も必要である。
【0008】たとえ上記の動作が、まったくソフトウェ
アの介在なしにハードウェアだけで行われる場合でも、
この実行時間は、ローカルメモリアクセスよりもずっと
長くかかる(一桁分も長くなる)。
【0009】このような理由で、この種のアーキテクチ
ュアは、「NUMA」アーキテクチュアとして定められ
ている。
【0010】ローカルメモリアクセスの場合でも、他の
ノードのメモリへのアクセスの場合でも、できるだけア
クセスタイムを短くすることが望ましい。
【0011】この目的に従って、様々なプロセッサに
は、公知のやり方で、少なくとも1つのキャッシュ、好
ましくはワーキングメモリに入っているブロックのコピ
ーであるもっとも頻繁に使用されるデータのブロックを
格納する2つの連想キャッシュ・メモリが備えられてい
る。
【0012】コストのために、大容量ダイナミックメモ
リDRAMで構成されるローカルメモリとは異なって、
これらのキャッシュは、ずっと高速なスタティックメモ
リ「SRAM」で実現され、かつ連想メモリである(少
なくとも一次キャッシュは、好ましくは「完全連想メモ
リ」である)。
【0013】それゆえ、様々なキャッシュやローカルメ
モリにコピーされるデータを確実に整合できるようにす
る際に、問題が発生する。
【0014】各ノード内での上記作業は、公知のやり方
で、ローカルバス上での「バス・ウォッチング」動作ま
たは「スヌーピング」動作を利用して、また適切な整合
プロトコル(例えば、頭字語MESIにより公知のも
の)を使用して、非常に簡単に行うことができる。
【0015】しかしながら、ノードの各プロセッサに関
係を持たせた一次キャッシュと二次キャッシュには、ロ
ーカルメモリまたは他のノードのキャッシュに常駐して
いるデータが入れられることもある。
【0016】このことは、データの整合性を保証する問
題をかなり複雑にする。
【0017】実際、ノードのローカルメモリに常駐して
いるどんなデータも、他のノードの1つ以上のキャッシ
ュに、コピーされることもある。
【0018】従って、ノードのローカルメモリに入って
いるデータを変更するか、あるいは暗黙のうちに無効に
する(キャッシュに入っていて、ローカルメモリ常駐の
データのコピーであるデータを変更することにより)ロ
ーカル動作はすべて、他のノードに伝達して、ローカル
メモリに入っているコピーはどれも無効にすることが必
要である(一般に、コピーを更新するよりもコピーを無
効にする方が簡単で、かつ速いから、コピーを無効にす
る作業が好ましい)。
【0019】このデータ処理システムの性能を制限する
上記負担を回避するために、ローカルメモリと同じ技術
(すなわち、DRAM技術)を用いて形成された直接マ
ップ「ディレクトリ」で、かつローカルメモリ内の各デ
ータブロックに関して、他のどのノードに当該データブ
ロックがコピーされるかどうか、さらに可能であればこ
れらのノードのうちのいずれかで当該データブロックが
変更されているかどうか明示するディレクトリを、ロー
カルメモリすべてに対応づけることが提案されている
(例えば、第17回の年次国際コンピュータ・アーキテ
クチュア・シンポジウムの報告、IEEE1990、1
48〜159ページの、D.Lenosky、J.La
udon、K.Gharachorloo、A.Gup
ta、G.Hennessy著による「DASHマルチ
プロセッサのディレクトリ・ベースのキャッシュ整合プ
ロトコル」に記載)。
【0020】さらなる開発として、ディレクトリのサイ
ズを小さくし、かつ、その速度を上げるために、このデ
ィレクトリを連想スタティックメモリSRAMとして形
成することが提案されている。
【0021】従って、整合処理の実行を必要とするトラ
ンザクションだけを他のノードに伝達する。
【0022】別の見方をすれば、あるノードのローカル
メモリに格納されたデータを別のノードのキャッシュに
コピーして、そのキャッシュの中でデータを変更できる
ことに留意することが必要である。
【0023】従って、このような変更が発生する時に
は、ローカルメモリが常駐しているノードに、このよう
な処理を指示して、そのディレクトリの状態を更新し、
さらに可能であればキャッシュに常駐しているデータの
コピーを無効にすることが必要である。
【0024】ローカルメモリに対応づけられたディレク
トリを用いれば、ノード間のデータの整合性が保証され
る。それゆえ、このようなアーキテクチュアは、cc−
NUMAアーキテクチュアとして定められる。
【0025】しかしながら、ローカルメモリに対応づけ
られたディレクトリを用いても、他のノードのローカル
メモリに常駐しているデータへのアクセスをスピードア
ップする問題、従って全体としてデータ処理システムの
性能を向上させる問題は解決されない。
【0026】この成果を達成するためには、リモートメ
モリから、すなわち他のノードのローカルメモリから取
り出されたごく最近使用のデータブロックを、ローカル
で、あるノードに格納したいわゆるリモートキャッシュ
(RC)を利用する。
【0027】このリモートキャッシュは、ノードのプロ
セッサすべてのために働く必要があるので、ノードの様
々なプロセッサのキャッシュに付加される三次キャッシ
ュである。
【0028】従って、このリモートキャッシュは、スタ
ティックメモリSRAMとして実装される場合には高速
であるが容量が小さく、またDRAMとして実装される
場合には、アクセス処理を実行する時でも、アクセス処
理を有効/無効にする時でも容量は大きいが低速である
という結果から、 cc−NUMAアーキテクチュアを
有する公知システムは、リモートキャッシュを、ノード
の相互接続ブリッジまたはリモートコントローラに対応
づけられた構成要素として統合している。
【0029】さらに、ハイブリッド構造を有するリモー
トキャッシュを、 データブロックを格納するためにD
RAMとして、またブロック、およびそれらの状態を識
別する「タグ」を格納するためにSRAMとして実装
し、必要に応じて、アクセス処理の有効化/無効化、お
よびノード間のメッセージ交換の可能性ある起動をスピ
ードアップすることも提案されている。
【0030】
【発明が解決しようとする課題】しかしながら、独立し
たメモリとしてリモートキャッシュを実装するには、専
用メモリ制御装置のサポートも必要であり、かつ、この
ような実装は柔軟性がない。なぜなら、その記憶容量
は、設計限度内に設計でき、導入段階であらかじめ定め
られる。しかしながら、導入されるメモリ構成要素の数
に左右され、特定のどんな時にも発生し得るユーザ要件
に応じてデータ処理システムを初期設定(ブート)する
際、記憶容量は変えられないからである。
【0031】
【課題を解決するための手段】本発明のcc−NUMA
アーキテクチュアを有するデータ処理システムにおい
て、データブロック、およびそれらの状態を識別する
「タグ」を格納するためにスタティックメモリSRAM
として、またデータブロックを格納するために、ローカ
ルメモリの一部で構成されたダイナミックメモリDRA
Mとして、リモートキャッシュを実装していることか
ら、構造的な単純化と、全般的な性能向上を達成すれ
ば、このような従来技術の制限は克服されることにな
る。
【0032】前述のローカルメモリは、導入できる様々
な数のメモリモジュールにより、公知のやり方で構成さ
れ、従って、そのサイズ、すなわち容量は必要に応じて
拡張でき(必要な場合には、容量の異なるモジュールを
用いることもある)、しかも当該ローカルメモリは制御
・構成ユニットを有して、導入されるモジュールの数と
容量、およびブート中に設定される他のパラメータ(例
えば、あらかじめ定められたインタリービング・レベル
など)に基づいてデータ処理システムをブートする時
に、その構成が定められるようになっている。
【0033】本発明の目的では、これらのパラメータの
1つは、実際、リモートキャッシュのサイズであること
もある。
【0034】本発明の特徴と効果は、本発明の好適な実
施の形態の下記説明から、また添付図面から明確になる
であろう。
【0035】
【発明の実施の形態】cc−NUMAアーキテクチュア
の一般的な面は公知のものであって、本発明のデータ処
理システムが、このような面に反していないから、本発
明を理解するには、この一般面の簡単な説明で十分であ
ろう。
【0036】図1に関しては、 cc−NUMAアーキ
テクチュアを有するデータ処理システムは、複数のM個
のノード1、2で構成されており、ここで、Mは、デー
タ処理システムの様々なノードを説明し識別するデータ
を格納するために、各ノードに装備する必要のあるレジ
スタの容量によってのみ設計段階で限定される任意の数
である。
【0037】各ノード、例えばノード1は、少なくとも
1つのプロセッサ、一般的には設計段階で定められる最
大Nまでの複数のプロセッサ3、4(プロセッサ≠1、
プロセッサ≠n)から成っている。
【0038】3、4のような各プロセッサは、一般に完
全連想メモリで容量は小さいが非常に高速である関連内
部一次キャッシュ(CACHE L1)5、6と、それ
よりも低速であるが、容量がずっと大きい(一般に約4
Mb)外部二次キャッシュ(CACHE L2)7、8
を有する。
【0039】一次キャッシュは、好ましくは実際に、2
つの独立したキャッシュ、一方はデータ用のもの、また
他方は命令用のもので構成されている。
【0040】好適な実施の形態では、二次キャッシュの
容量(ブロックで表される)が64kblockとなる
ように、64バイトに等しいデータラインまたはデータ
ブロックが、すべてのキャッシュ「エントリ」に入って
いる。
【0041】各ノード、例えばノード1は、ローカルメ
モリ9(ワーキングメモリであって、磁気ディスク、テ
ープ、光ディスク装置またはMOディスク装置で構成さ
れる大容量記憶装置と混同してはならない)も含んでい
る。
【0042】DRAM技術のローカルメモリ9は、様々
なアプリケーションに必要な記憶容量を達成する目的で
導入される様々な数のモジュールで構成されており、こ
のローカルメモリを構成・制御ユニット10で制御すれ
ば、必要なタイミング信号や制御信号を発生させたり、
メモリを構成したりでき、すなわち導入されたモジュー
ルの数と容量により、様々なモジュールの記憶アドレス
とアドレス可能位置との一対一の対応付けを定めること
ができる。
【0043】言い換えれば、様々なモジュールのうちの
1個のただ1つの記憶位置が、それぞれの記憶アドレス
に対応付けられる。
【0044】一般に、このように設定された対応付けも
唯一のものであり、すなわち、それぞれのモジュール記
憶場所は、ただ1つの記憶アドレスによりアクセスされ
る。
【0045】このメカニズムは非常に簡単である。すな
わち、構成ユニットは、複数対のレジスタを備え、それ
らのレジスタの内容は、データ処理システムをブートし
た時に設定されるものであって、複数のアドレスフィー
ルドを、フィールド下限とフィールド上限を用いて定め
ている。
【0046】総称アドレスがそれらのフィールドの1つ
にあり、そのことが、レジスタの内容との比較により確
認されるということから、メモリがインタリーブド・メ
モリとして構成される場合には、1個のモジュール、ま
たは1群のモジュールを選択するための信号が発生す
る。
【0047】この第2のケースでは、いくつかの最下位
アドレスビットを解読すれば、このグループの中で、ど
のモジュールを選択すべきか明らかにする。
【0048】これらの様々なレジスタの代りに、変換テ
ーブルが入っているスタティックメモリを用いることが
できる。この変換テーブルは、ブート時に書込まれ、適
切なアドレスフィールドでアドレス指定されて、モジュ
ール選択の信号またはコードを出力する。
【0049】これらの基準により動作し、優れた性能の
達成に最適なインタリーブド構造を有するメモリを構成
する構成・制御ユニットの1例は、例えば米国特許第
5,668,974号、および、対応する欧州公開第0
629952号で説明されている。
【0050】しかしながら、この種の構成・制御ユニッ
トを用いれば、最上位ビットが互いにくい違っている複
数のアドレスを、同一のメモリ・エントリと一対一に相
関させ、従って、同一アドレスの変名(別名)となるよ
うに手配することができる。
【0051】本発明は、以下でより明確に説明される通
り、リモートメモリ空間をローカルメモリの一部にマッ
プするのに効果的に使用して、このローカルメモリ空間
がリモートキャッシュの機能を果たすことができるよう
にする。
【0052】このような役割を果たすローカルメモリ部
分は、図1の数字9Aで示される。
【0053】プロセッサ3と4は、ローカルバス11を
用いて、ローカルメモリ9(メモリ制御ユニット10を
介して)に接続される。
【0054】さらに、例えば、周辺装置(大容量記憶装
置、I/Oターミナル、プリンタ)が接続されている頭
字語PCI(周辺制御装置相互接続)の公知タイプの二
次バスと相互接続するためのブリッジ12と、ノード1
をリモート相互接続チャネルまたはリング(REM I
NTCNT LINK)14を介してデータ処理システ
ムの他のノードに相互接続するためのブリッジ13も、
ローカルバス11に接続する。
【0055】分かりやすくするために、様々な機能は個
々の構成要素で果たされるが、ブリッジ13は、一般に
リモート・インタフェース・コントローラ(REM I
NTF CNTR)として定めることができ、様々なプ
ロセッサ、ブリッジ12、およびそれ自体によるローカ
ルバスへのアクセスを調停し、ローカルバスの通信・整
合プロトコルを制御し、ノードの様々なプロセッサに対
するリモートメモリ空間へのアクセス(すなわち、他の
ノードのローカルメモリに格納されたデータへのアクセ
ス)の要請を認識し、さらにデータの送信または受信の
ためにも、様々なノードの間でデータの整合性を保証す
るためにも、リング14を介して他のノードとメッセー
ジを交換する仕事がある。
【0056】以上の面はすべて、従来技術に属する。
【0057】好ましくは連想メモリとして形成されるロ
ーカルメモリのディレクトリLMD15は、リモート・
インタフェース・コントローラ13に接続して、ノード
のローカルメモリに格納されたデータブロックが他のノ
ードにコピーがあるか確認できるようにし、さらにこれ
らのコピーがどのノードに常駐しているか、またそれら
のコピーが変更されているかどうかも確認できるように
している。
【0058】このローカルメモリのディレクトリLMD
は、すでに述べた通り、ローカルメモリ空間に属するデ
ータを様々なノードの間で確実に整合できるようにする
ために、コントローラ13による読取りおよび書込みと
してアクセスできる。
【0059】このローカルメモリのディレクトリだけで
なく、SRAM技術で作られ、それゆえ高速であるスタ
ティックメモリ16も提供されて、他のノードのローカ
ルメモリ空間に属するデータブロックに関するラベルま
たはタグを格納し、さらに、それらのラベルまたはタグ
はノード1のリモートキャッシュ9Aにも入れられる。
【0060】メモリ16はRCT(リモートキャッシュ
・タグ)メモリと呼ばれ、コントローラ13に接続され
ており、読取りや書込みのためにアクセスしてリモート
キャッシュに入っているデータブロックと、それらの状
態を認識し、これらの指示により、整合性に必要な動
作、並びに、リモートキャッシュにも他のノードのロー
カルメモリにもアクセスするのに必要な動作を起こすこ
とができる。
【0061】ノード2のような他のノードのアーキテク
チュアは、上に説明されたものと同様であって、さらな
る説明は、まったく必要でない。
【0062】図1に示されるデータ処理システムの動作
を考察する前に、アドレス可能システム空間、すなわち
システム空間をどのようにマップするか考察することが
ふさわしい。
【0063】データ処理システムにおいては、データ
は、バイト水準でアドレス指定される。
【0064】それゆえ、アドレス指定できるバイドの数
は、アドレスを構成するビットの数によって決まる。
【0065】最新のデータ処理システムは、32ビット
のアドレス、もしくは48ビットまでのアドレスを使用
でき、アドレス可能データ用のスペースは、それぞれ4
Gb(ギガバイト)と256Tb(テラバイト)であ
る。
【0066】実際上、実行可能な実施の形態の現状で
は、システムメモリの全容量は16Gbを超えない。
【0067】それゆえ、34ビットで十分である。
【0068】図2は、一例として、cc−NUMAアー
キテクチュアを有する従来のシステムに、どのようにし
てシステム空間をマップするのか図示している。
【0069】分かりやすくするため、考察されるシステ
ム空間は、0〜16Gbのフィールドに制限され、また
データ処理システムが有するノードの数は、例えば4で
ある。
【0070】このような場合、例えば、ノード1のロー
カルメモリ空間として0〜3Gb−1のシステム空間が
割り当てられるか、または定められ、ノード2のローカ
ルメモリ空間として3Gb 〜6Gb−1のシステム空
間が割り当てられ、ノード3のローカルメモリ空間とし
て6Gb 〜9Gb−1のシステム空間が割り当てら
れ、さらに、ノード4のローカルメモリ空間として9G
b 〜13Gb−1のシステム空間が割り当てられる。
【0071】周辺空間として13Gb〜16Gb−1の
システム空間が割り当てられ、そのシステム空間を使用
して、周辺装置、レジスタ、および不揮発性制御メモリ
を識別する。
【0072】システム空間を様々なノードに分ける処理
は、まったく任意であって、かつ不均一である(例え
ば、図2では、ノード4に割り当てられるローカルメモ
リ空間が大きくなる)。
【0073】しかしながら、実際上、このように分ける
処理は、各ローカル空間の下限と上限を定めるのに求め
られるアドレスビット(これは、すでに述べられた通
り、各ノードのリモート・インタフェース・コントロー
ラ13の適切なレジスタに格納する必要がある(図
1))の数を最小限に減らすようなやり方で、効果的に
定められる。
【0074】言換すれば、全体のアドレス可能空間、お
よびその分割の説明は、各ノードのリモート・インタフ
ェース・コントローラ13に入れなければならないし、
またその説明は当然、ノードのすべてにおいて同一でな
ければならない。
【0075】各ノードのローカルメモリ空間を物理的に
サポートするために、モジュール17、18、19、2
0を、様々なノードに導入する。
【0076】様々なノードにあるメモリモジュールは必
ずしも、各ノードの全容量を、各ノードに割り当てられ
たローカルメモリ空間に等しくする必要はなく、すなわ
ち、その全容量は小さくなってもよく、そのような場
合、システム空間は、物理資源ではサポートされないホ
ール(アドレスフィールド)を有する。
【0077】様々なノードにあるメモリ構成ユニット1
0(図1)は、様々なモジュールの容量に基づいて、ロ
ーカルメモリ空間のフィールドのアドレスと、様々なモ
ジュールのアドレス可能位置との唯一の対応付けを決定
する。
【0078】各ノードのリモート・インタフェース・コ
ントローラ13(図1)は、ローカルバス上にあるアド
レスと、言及されたシステム構成レジスタの内容を比較
することにより、それらのアドレスが、ノードのローカ
ルメモリ空間に属するか、別のノードのローカルメモリ
空間に属するかどうか、もしもそうであれば、どのノー
ドであるか認識して、適切な処置を講じる。
【0079】各ノードでは、他のノードのローカルメモ
リ空間全体は、図2に示される通り、リモートメモリ空
間NODE1、2、3、REMOTE SPACEを構
成している。
【0080】図3は、一例として、どのようにして、こ
のような従来のマッピングシステムを変更して、ローカ
ルメモリの一部として実装される直接マップ・リモート
キャッシュを有するcc−NUMAシステムを形成する
のか図示している。
【0081】分かりやすくするために、データ処理シス
テムのメモリ空間のマッピングは、ローカルメモリ空間
がアドレスフィールド3Gb〜6Gb−1で定められて
いる単一ノードに関して示されている。
【0082】さらに、例えば、それぞれ容量が0.5G
bである5個のモジュール21...25は、ローカル
メモリとしてノードに導入されると考えられる。
【0083】これらのモジュールのうちの4個は、事実
上、ローカルデータの記憶装置専用であって、メモリ構
成ユニットは、ローカルメモリ空間のアドレスフィール
ド(例えば、3Gb〜6Gb−1)のアドレスと、モジ
ュール21、22、23、24の様々なアドレス可能位
置との唯一の対応付けを設定する。
【0084】しかしながら、他のモジュール25は、リ
モートメモリ空間に属するアドレスで特定されたデータ
を、リモートキャッシュとして記憶する専用モジュール
である。
【0085】この場合には、メモリ構成ユニットは、リ
モートメモリ空間のアドレスとモジュール25の様々な
アドレス可能位置との一対一の(ただし唯一ではない)
対応付けを設定する。
【0086】明らかに、リモートメモリ空間の複数のア
ドレスは、別のモジュールの変名と同一のモジュール2
5のアドレス可能位置と相関関係にある。
【0087】とくに、すでに述べられた通りモジュール
25が0.5Gbの容量を有する場合には、このモジュ
ールの様々なアドレス可能位置は、総称アドレスの29
の最下位ビットで特定される(これらの29ビットのう
ち、いくつかの最下位ビットは、メモリ並行処理、すな
わち、当該モジュールの1つのアドレス可能位置または
エントリに入っているバイト数により、無視される)。
【0088】16Gbのスペースにおいて1バイトのデ
ータを特定するのに必要な34のアドレスビットのう
ち、5つの最上位ビットは、このアドレスがローカルメ
モリ空間に属するか、リモートメモリ空間に属するかど
うか識別する。
【0089】それゆえ、ローカルメモリ空間に属するア
ドレスを除き、単に5の最上位ビットしかくい違ってな
い34ビットのアドレスはすべて、当該モジュールの同
一エントリと相関関係にあり、かつ別のモジュールの変
名であることが明らかである。
【0090】従って、モジュール25は、リモートメモ
リ空間向けの直接マップ・キャッシュRC、もっと正確
に言えば、直接マップ・キャッシュのデータセクション
となる。
【0091】これらのアドレスと、前記キャッシュに入
っているデータとの唯一の対応付けを設定し直すために
は、整合データが入っているだけでなく、各キャッシュ
・エントリの識別に役立たないアドレスビット(該当す
る例では、5の最上位ビット)から成るインデックスも
入っているタグを当該キャッシュ・エントリに対応付け
ることが必要である。
【0092】この機能は、図1に関して説明されている
通り、リモートキャッシュに対応付けられた高速SRA
Mメモリ16すなわちRCTによって果たされる。
【0093】リモートキャッシュを構成しているモジュ
ール(あるいは、モジュールの構成部分)の数と、リモ
ートキャッシュのサイズは要件により随意に選択でき、
しかもブート時にプログラムすることができるが、ただ
し、その最大サイズは、関連タグメモリRCTの最大サ
イズよりも大きくなく、またその最小サイズは、関連タ
グメモリに格納できるインデックス・フィールドの幅で
可能な最小サイズよりも小さくなり得ないという制限が
ある。
【0094】後者の構想を明らかにする例がある。
【0095】RCTメモリが10ビットのインデックス
・フィールドを格納できるようになっていて、またリモ
ートメモリ空間において1バイトを識別するアドレスが
34バイトから成っている場合には、リモートキャッシ
ュは、容量が少なくとも2(3 4-10)バイトでなければな
らない。
【0096】他の状況では、10ビットよりも大きい幅
のインデックス・フィールドは、RCTメモリに入れる
ことができなくとも、必要となろう。
【0097】リモートキャッシュの最適サイズは、デー
タ処理システムで実行されるアプリケーションの種類に
よって決まる。すなわち、様々なノードに属するプロセ
ッサが、おもに相互排他的に同一データで動作する場合
には、リモートキャッシュのサイズが大きくなればなる
ほど、それだけ衝突率が小さくなり、またノードを相互
接続するリングを介してリモートメモリ空間にアクセス
する必要性も少なくなる。
【0098】しかしながら、様々なノードに属する複数
のプロセッサが共に同一データで動作する必要がある場
合には、大容量のリモートキャッシュを使用すると、ノ
ード間の整合処理の頻度がかなり高まる場合があり、そ
の結果、リモートデータのローカルコピーを有するとい
う利点が大幅に失われてしまう。
【0099】このような欠点に加えて、リモートキャッ
シュとしてローカルメモリのかなりの部分を用いると、
効果的にローカルメモリとして利用できるローカルメモ
リ容量が小さくなるという欠点もある。
【0100】従って、本発明の効果的な面は、ブート時
にアプリケーションに応じて、上に質的に示された容量
の上限と下限の範囲内で、リモートキャッシュの容量を
プログラムできる点である。
【0101】この目的では、特許公開第629952号
に説明される通り、導入されたモジュールのサイズと数
に関しても、他のパラメータ、とくに各ノードのリモー
トキャッシュが有するべきサイズ(ノードにより様々で
ある)に関しても構成データを入力するには、メモリ制
御・構成ユニット10(図1)が、それ自体公知のJT
AGインタフェース26を有するだけで十分である。
【0102】また、JTAGインタフェースでなく、構
成ユニットの内部レジスタ(すなわちアドレス変換メモ
リ)は、周辺空間に属するアドレスでアドレス指定でき
る周辺装置であって、ローカルバスを用いて伝送されキ
ーボード・ターミナルを用いてデータ処理システムに入
力される適切なデータをロードすることのできる周辺装
置と見なされる。
【0103】図1のデータ処理システムの働きは、動作
の点で、cc−NUMAアーキテクチュアを有する従来
のシステムの働きとたいして違わないが、ここで、簡潔
に考察できる。
【0104】プロセッサ(例えば、図1のプロセッサ
3)が、読取りまたは書込みの動作のために、データ処
理システムのメモリ空間に属する総称アドレスIで特定
されるデータを必要とする場合には、この要求は、まず
第一に、一次キャッシュL1に送られる。
【0105】1)アドレス指定されたデータが属してい
るブロックがL1に入っている場合には、動作はローカ
ルで行われる。
【0106】整合動作が必要である場合には(例えば、
書込みのため)、そのアドレスは、必要な整合信号とい
っしょに、ローカルバスでキャッシュL2に伝送され
る。
【0107】リモート・インタフェース・コントローラ
でアドレスIを受け取れば、データがローカルメモリ空
間に属しているかどうか証明できる(そのような場合、
ローカルメモリのディレクトリを用いて、そのデータの
コピーが他のノードに常駐しているかどうか認識し、そ
の結果、適切な整合メッセージを、それらのノードに送
ることができる)。
【0108】データがリモートメモリ空間に属している
場合には、データが、セクションRCT内でその状態を
更新するためにコピーとしてリモートキャッシュに入っ
ているかどうか、リモートキャッシュのRCTセクショ
ン16を用いて認識することができる。
【0109】2)アドレス指定されたデータが属してい
るブロックが、L1には入ってなくてL2に入っている
場合には、動作はローカルで行われ、さらに、前のケー
スの通り、整合動作が必要である場合には、そのアドレ
スをローカルバスで伝送して、インタフェース・コント
ローラが、必要な整合動作を実行できるようにしてい
る。
【0110】3)アドレス指定されたデータが属してい
るブロックがL1/L2に入っていない場合には、ロー
カルバスで転送されるデータのアドレスから、リモート
・インタフェース・コントローラは、アドレス指定され
たデータがローカルメモリ空間に属しているか、リモー
トメモリ空間に属しているかどうか、また後者の場合に
はデータを含むブロックが、リモートキャッシュに入っ
ているかどうか認識することができる。
【0111】データがローカルメモリ空間に属している
か、またはリモートキャッシュに入っている場合には、
データが入っているブロックを読み取って、上位レベル
のキャッシュ(L1/L2)に取り込み、必要に応じ
て、データを変更する。
【0112】リモート・インタフェース・コントローラ
は、必要な整合動作をすべて実行する。
【0113】公知のやり方では、アドレス指定されたデ
ータが、ノードの別のプロセッサのキャッシュL1、L
2に入っている場合、このキャッシュをローカルメモリ
に代用でき、また要求されるデータを、介入として公知
の手順を用いて提供する際、リモートキャシュに代用で
きることも注目しなければならない。
【0114】4)最後に、アドレス指定されたデータが
ローカルメモリ空間に属してなく、またリモートキャッ
シュにも入っていない場合(書込み動作はリモートメモ
リ空間からリモートキャッシュへのデータの取り込みを
前提としているから、この事象は読込み動作についての
み可能である)には、リモート・インタフェース・コン
トローラは、適切なノード間通信メッセージを発生させ
る。
【0115】従って、この動作方法は、cc−NUMA
アーキテクチュアを有するシステムの動作方法と厳密に
同一であって、唯一の相違は、データがリモートキャッ
シュに入っている時に、ローカルメモリを起動して、独
立したリモートキャッシュではなくてリモートキャッシ
ュの働きをするローカルメモリの一部を選択する点であ
る。
【0116】
【発明の効果】このようにして得られたリモートキャッ
シュは、すでに考察されたデュアル(DRAM−SRA
M)実装技術からもたらされた効果を生かせるだけでな
く、以下のような利点も有している。
【0117】− このリモートキャッシュは柔軟性があ
る。なぜなら、そのサイズは、ブート時に必要に応じ
て、制御・構成ユニットで実行できる構成「解決」で、
またリモートキャッシュの最大容量を定める導入済みの
関連SRAMのサイズで制限を加えるだけで、選択でき
るからである。
【0118】− このリモートキャッシュは、それぞれ
のタイミングとリフレッシング・ロジックを有する専用
制御ユニットの追加費用の負担はない。つまり、これら
の機能はすべて、ローカルメモリの制御・構成ユニット
で行われるからである。
【0119】− このリモートキャッシュは、高度の並
行処理、インタリーブド・アーキテクチュア、ブレーク
ダウンの場合の再構成可能度などのようなローカルメモ
リのサブシステムにより講じられる機能すべてから効果
が得られる。
【0120】− ローカルバスの段階では、このリモー
トキャッシュは、ローカルバスのデータチャネルに接続
された負荷の数を減らすために、転送速度が速くなる。
【0121】この結果として得られた効果が主として補
償している唯一の欠点は、メモリ制御・構成ユニットを
構造的に簡単にしておく場合に、リモートキャッシュR
Cに直接マップしなければならないことである。
【0122】しかしながら、ローカルメモリの一部を、
複数の一連の連想メモリとして編成することを妨げるも
のは何もない。
【図面の簡単な説明】
【図1】本発明によりリモートキャッシュを各ノードの
ローカルメモリに組み込んでいるcc−NUMAアーキ
テクチュアを有するデータ処理システムの全体ブロック
図である。
【図2】従来のcc−NUMAアーキテクチュアにおけ
る様々なノードの間のデータ処理システム・アドレス可
能空間の分割およびマッピング図である。
【図3】本発明のcc−NUMAアーキテクチュアにお
ける単一ノードに限定されたデータ処理システム・アド
レス可能空間の分割およびマッピング図である。
【符号の説明】
1 ノード1 2 ノードM 3、4 プロセッサ 5、6、7、8 キャッシュ 9 ローカルメモリ 10 メモリコントローラ 11 ローカルバス 12 PCI 13 リモート・インターフェース・コントローラ 14 リモート相互接続リンク 15 LMD 16 RCT 17、18、19、20、21、22、23、24、2
5 モジュール

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 それぞれがローカルバス(11)を用い
    てDRAM技術のローカルメモリ(9)と相互通信する
    少なくとも1つのプロセッサ(3、4)で構成された複
    数のノード(1、2)から成り、それらのノード(1、
    2)がリモート・インタフェース・ブリッジ(13)お
    よび少なくとも1つの相互通信リング(14)を用いて
    相互通信し、それぞれがデータブロックおよびデータブ
    ロック内の1バイトを識別する複数のメモリアドレスで
    定められたシステムメモリ空間に各ノード(1、2)の
    少なくとも1つのプロセッサ(3、4)がアクセスす
    る、cc−NUMAアーキテクチュアを有するデータ処
    理システムであって、 各ノードが、 ローカルメモリ(9)を構成し、ノードごとに異なるシ
    ステムメモリ空間の第1の部分をローカルメモリの一部
    に単独にマップし、全体として他のノードすべてのロー
    カルメモリの一部に単独にマップされたシステムメモリ
    空間の一部をローカルメモリの残りの部分(9A)にマ
    ップするユニット(10)とそれぞれが、前記のローカ
    ルメモリの残りの部分に格納されたデータブロックに対
    応付けられ、かつ、ブロックを識別するインデックスと
    ブロックの整合状態を示すビットから成る複数のラベル
    (タグ)を格納して、各ノードにあるローカルメモリの
    残りの部分がノードのリモートキャッシュを構成するた
    めのSRAM技術のメモリとを備えていることを特徴と
    するデータ処理システム。
  2. 【請求項2】 前記構成ユニットが、データ処理システ
    ムをブートされる時に各ノード内のリモートキャッシュ
    のサイズをプログラミングする手段(26)を備えてい
    ることを特徴とする請求項1に記載のデータ処理システ
    ム。
JP10288429A 1997-10-10 1998-10-09 ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム Pending JPH11232173A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97830508A EP0908825B1 (en) 1997-10-10 1997-10-10 A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory
IT97830508.4 1997-10-10

Publications (1)

Publication Number Publication Date
JPH11232173A true JPH11232173A (ja) 1999-08-27

Family

ID=8230808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10288429A Pending JPH11232173A (ja) 1997-10-10 1998-10-09 ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム

Country Status (4)

Country Link
US (1) US6243794B1 (ja)
EP (1) EP0908825B1 (ja)
JP (1) JPH11232173A (ja)
DE (1) DE69715203T2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056121A (ja) * 2003-08-04 2005-03-03 Sony Corp 情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム
JP2005539282A (ja) * 2002-01-09 2005-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一のコヒーレントなシステム内の分散コンピュータ・ノードにキャッシュ・コヒーレンスを提供するのにグローバル・スヌープを使用する方法および装置
JP2007183915A (ja) * 2005-12-30 2007-07-19 Internatl Business Mach Corp <Ibm> マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム)
JP2008521114A (ja) * 2004-11-24 2008-06-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ローカルメモリデータのコヒーレントなキャッシュ処理
WO2010038301A1 (ja) 2008-10-02 2010-04-08 富士通株式会社 メモリアクセス方法及び情報処理装置
JP2022509735A (ja) * 2018-11-07 2022-01-24 アーム・リミテッド 記憶されたデータの変更装置及び変更方法

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449695B1 (en) * 1999-05-27 2002-09-10 Microsoft Corporation Data cache using plural lists to indicate sequence of data storage
US6421775B1 (en) * 1999-06-17 2002-07-16 International Business Machines Corporation Interconnected processing nodes configurable as at least one non-uniform memory access (NUMA) data processing system
US6366994B1 (en) * 1999-06-22 2002-04-02 Sun Microsystems, Inc. Cache aware memory allocation
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
WO2001016738A2 (en) * 1999-08-31 2001-03-08 Times N Systems, Inc. Efficient page ownership control
US6480973B1 (en) * 1999-09-30 2002-11-12 Bull Information Systems Inc. Gate close failure notification for fair gating in a nonuniform memory architecture data processing system
US6615375B1 (en) * 2000-02-03 2003-09-02 International Business Machines Corporation Method and apparatus for tolerating unrecoverable errors in a multi-processor data processing system
KR100362607B1 (ko) * 2000-05-10 2002-11-29 정상화 I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법
US7330904B1 (en) * 2000-06-07 2008-02-12 Network Appliance, Inc. Communication of control information and data in client/server systems
US6742072B1 (en) * 2000-08-31 2004-05-25 Hewlett-Packard Development Company, Lp. Method and apparatus for supporting concurrent system area network inter-process communication and I/O
US20020161453A1 (en) * 2001-04-25 2002-10-31 Peltier Michael G. Collective memory network for parallel processing and method therefor
US7130841B1 (en) * 2001-07-31 2006-10-31 America Online, Inc. Enabling a search for both local and remote electronic content
US6721852B2 (en) * 2001-10-17 2004-04-13 Sun Microsystems, Inc. Computer system employing multiple board sets and coherence schemes
US20030115402A1 (en) * 2001-11-16 2003-06-19 Fredrik Dahlgren Multiprocessor system
US6868485B1 (en) 2002-09-27 2005-03-15 Advanced Micro Devices, Inc. Computer system with integrated directory and processor cache
US7096323B1 (en) * 2002-09-27 2006-08-22 Advanced Micro Devices, Inc. Computer system with processor cache that stores remote cache presence information
US7043579B2 (en) * 2002-12-05 2006-05-09 International Business Machines Corporation Ring-topology based multiprocessor data access bus
US7190367B2 (en) * 2003-03-25 2007-03-13 Mitsubishi Electric Research Laboratories, Inc. Method, apparatus, and system for rendering using a progressive cache
JP4376040B2 (ja) 2003-11-27 2009-12-02 株式会社日立製作所 複数のプロセッサを用いて情報処理を行う装置及び方法
US20050206648A1 (en) * 2004-03-16 2005-09-22 Perry Ronald N Pipeline and cache for processing data progressively
US7373466B1 (en) 2004-04-07 2008-05-13 Advanced Micro Devices, Inc. Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer
US7395375B2 (en) * 2004-11-08 2008-07-01 International Business Machines Corporation Prefetch miss indicator for cache coherence directory misses on external caches
US7970980B2 (en) * 2004-12-15 2011-06-28 International Business Machines Corporation Method and apparatus for accessing memory in a computer system architecture supporting heterogeneous configurations of memory structures
JP4892209B2 (ja) * 2005-08-22 2012-03-07 日立化成デュポンマイクロシステムズ株式会社 半導体装置の製造方法
US7702743B1 (en) 2006-01-26 2010-04-20 Symantec Operating Corporation Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes
US7596654B1 (en) * 2006-01-26 2009-09-29 Symantec Operating Corporation Virtual machine spanning multiple computers
US7756943B1 (en) 2006-01-26 2010-07-13 Symantec Operating Corporation Efficient data transfer between computers in a virtual NUMA system using RDMA
CN100377116C (zh) * 2006-04-04 2008-03-26 浙江大学 处理器高速数据缓存重配置方法
JP5079342B2 (ja) 2007-01-22 2012-11-21 ルネサスエレクトロニクス株式会社 マルチプロセッサ装置
US9152569B2 (en) * 2008-11-04 2015-10-06 International Business Machines Corporation Non-uniform cache architecture (NUCA)
JP5338375B2 (ja) * 2009-02-26 2013-11-13 富士通株式会社 演算処理装置、情報処理装置および演算処理装置の制御方法
US8527697B2 (en) * 2009-07-20 2013-09-03 Netapp, Inc. Virtualized data storage in a network computing environment
US9557792B1 (en) 2013-05-31 2017-01-31 Amazon Technologies, Inc. Datacenter power management optimizations

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113510A (en) * 1987-12-22 1992-05-12 Thinking Machines Corporation Method and apparatus for operating a cache memory in a multi-processor
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
US5394555A (en) * 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US5802578A (en) * 1996-06-12 1998-09-01 Sequent Computer Systems, Inc. Multinode computer system with cache for combined tags
US5897664A (en) * 1996-07-01 1999-04-27 Sun Microsystems, Inc. Multiprocessor system having mapping table in each node to map global physical addresses to local physical addresses of page copies
US5848434A (en) * 1996-12-09 1998-12-08 Intel Corporation Method and apparatus for caching state information within a directory-based coherency memory system
FR2763712B1 (fr) * 1997-05-26 2001-07-13 Bull Sa Dispositif d'instrumentation pour machine avec memoire a acces non uniforme
FR2764097B1 (fr) * 1997-06-02 1999-07-02 Bull Sa Detection de points chauds dans une machine avec memoire a acces non uniforme
US6073225A (en) * 1997-06-24 2000-06-06 Intel Corporation Method and apparatus for monitoring bus transactions based on cycle type and memory address range

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005539282A (ja) * 2002-01-09 2005-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一のコヒーレントなシステム内の分散コンピュータ・ノードにキャッシュ・コヒーレンスを提供するのにグローバル・スヌープを使用する方法および装置
JP2005056121A (ja) * 2003-08-04 2005-03-03 Sony Corp 情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム
JP2008521114A (ja) * 2004-11-24 2008-06-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ローカルメモリデータのコヒーレントなキャッシュ処理
JP2007183915A (ja) * 2005-12-30 2007-07-19 Internatl Business Mach Corp <Ibm> マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム)
WO2010038301A1 (ja) 2008-10-02 2010-04-08 富士通株式会社 メモリアクセス方法及び情報処理装置
JP2022509735A (ja) * 2018-11-07 2022-01-24 アーム・リミテッド 記憶されたデータの変更装置及び変更方法

Also Published As

Publication number Publication date
DE69715203T2 (de) 2003-07-31
DE69715203D1 (de) 2002-10-10
EP0908825A1 (en) 1999-04-14
EP0908825B1 (en) 2002-09-04
US6243794B1 (en) 2001-06-05

Similar Documents

Publication Publication Date Title
JPH11232173A (ja) ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム
JP3722415B2 (ja) 効率的なバス機構及びコヒーレンス制御を有する繰り返しチップ構造を有するスケーラブル共用メモリ・マルチプロセッサ・コンピュータ・システム
US5878268A (en) Multiprocessing system configured to store coherency state within multiple subnodes of a processing node
US6370585B1 (en) Multiprocessing computer system employing a cluster communication launching and addressing mechanism
KR100491435B1 (ko) 다수의 시스템 버스를 가지는 컴퓨터 시스템 내의 메모리 일관성을 유지하기 위한 시스템 및 방법
JP3102495B2 (ja) 仮想記憶管理方法
US5897664A (en) Multiprocessor system having mapping table in each node to map global physical addresses to local physical addresses of page copies
EP0095598B1 (en) Multiprocessor with independent direct cache-to-cache data transfers
US5274789A (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication
US6295598B1 (en) Split directory-based cache coherency technique for a multi-processor computer system
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
JPH06243035A (ja) コンピュータ・システムのためのクラスタ・アーキテクチャにおける一般化共用記憶
JPH0531776B2 (ja)
KR100515229B1 (ko) 멀티프로세서 시스템에서 가상화된 물리적 메모리를관리하는 방법 및 시스템
US6148378A (en) Process for operating a machine with non-uniform memory access and cache coherency and a machine for implementing the process
JPH10240707A (ja) 主記憶共有型マルチプロセッサ
JP2002373115A (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
JPH11328018A (ja) スヌ―プ・ポ―トを用いるプリフェッチ・キャッシュ問い合わせのための方法及びシステム
JP2008512758A (ja) 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法
JP2008511882A (ja) 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
US20040064655A1 (en) Memory access statistics tool
JPH01226056A (ja) アドレス変換回路