[go: up one dir, main page]

JPH0816470A - 並列計算機 - Google Patents

並列計算機

Info

Publication number
JPH0816470A
JPH0816470A JP6174768A JP17476894A JPH0816470A JP H0816470 A JPH0816470 A JP H0816470A JP 6174768 A JP6174768 A JP 6174768A JP 17476894 A JP17476894 A JP 17476894A JP H0816470 A JPH0816470 A JP H0816470A
Authority
JP
Japan
Prior art keywords
data
cache memory
address
remote
local
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
JP6174768A
Other languages
English (en)
Inventor
Naonobu Sukegawa
直伸 助川
Toshiaki Tarui
俊明 垂井
Keimei Fujii
啓明 藤井
Hideya Akashi
英也 明石
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 JP6174768A priority Critical patent/JPH0816470A/ja
Priority to US08/497,751 priority patent/US5778429A/en
Publication of JPH0816470A publication Critical patent/JPH0816470A/ja
Priority to US09/070,851 priority patent/US6295579B1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/27Using a specific cache architecture
    • G06F2212/272Cache only memory architecture [COMA]

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)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 キャッシュに登録されるリモートデータによ
りキャッシュに溢れが生じ、キャッシュから高使用頻度
のローカルデータが追い出されるのを防止する。 【構成】 キャッシュをローカルリモート分離キャッシ
ュ30とし、該キャッシュ30は、ローカルデータ領域
40とリモートデータ領域70とアドレスアレイ350
を有するキャッシュと、キャッシュメモリコントローラ
340と、プロセッサからのアクセス要求アドレスに基
づきアクセス要求がローカルデータとリモートデータの
いずれに対するアクセスかを判定するマスク310と比
較器320とノード番号レジスタ330からなる判定手
段と、該手段の判定結果とアクセス要求アドレスに基づ
きキャッシュにアクセスするアドレスを生成し前記コン
トローラに出力するアドレス混成器370を備え、自ノ
ードへのアクセスはローカルデータ領域に、他ノードへ
のアクセスはリモートデータ領域にアクセスする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のキャッシュメモ
リおよび共有メモリを有する並列計算機に係り、特に、
共有メモリとして分散型共有メモリを有する並列計算機
に関する。
【0002】
【従来の技術】計算機性能の向上のため、多数台のプロ
セッサを並列動作させる並列計算機が有望視されてい
る。並列計算機ではプロセッサ間の通信手段が必要とな
る。通信手段としては、ネットワークを介してメッセー
ジを交換するメッセージパッシング方式と、各プロセッ
サよりアクセスできる共有メモリ領域を用意する共有メ
モリ方式とがある。メッセージパッシング方式における
メッセージの交換は、一般にオペレーティングシステム
を起動することで実現する。オペレーティングシステム
の起動は、特に短いメッセージの通信において、非常に
重いオーバヘッドとなる。これに対し、共有メモリを用
いる方法では、オペレーティングシステムを起動するこ
となく通信が実現する。このため、共有メモリ方式は、
通信におけるプロセッサの負担を軽減できる。
【0003】大規模並列計算機の共有メモリ方式とし
て、共有メモリを分割・分散させて用意する、分散型共
有メモリ方式が有効である。共有メモリを分散させるこ
とで、複数のプロセッサによる共有メモリの同時アクセ
スが可能になり、高度な並列性を持つ処理が実現する。
分散共有メモリ方式は、プロセッサと一部の共有メモリ
とを持つ構成要素(ノード)を、ネットワークで結合する
構成が知られている。分散型共有メモリシステムとして
は、特開平5−89056などが開示されている。これ
らの方式では、プロセッサが共有メモリをアクセスする
場合、高い確率でネットワークを介してデータ転送する
ことになる。近年のプロセッサの処理速度の向上は、ネ
ットワーク速度の向上と比べ著しい。このため、ネット
ワークを介するアクセスでは、遅延時間が大きな問題に
なる。
【0004】各プロセッサの共有メモリアクセスの高速
化手段として、キャッシュメモリを各ノードに用意する
方式が有効である。キャッシュメモリは、共有メモリの
一部の内容を登録する、小容量高速なバッファである。
キャッシュメモリを用意する分散型共有メモリとして
は、特開平5−128071、「The Stanfo
rd Dash Multiprocessor,IE
EE Computer,March 1992 p
p.63〜78」などがある。これら、キャッシュメモ
リを使用する分散型共有メモリは、同じノード内の共有
メモリ上のデータ(ローカルデータ)と、他ノードの共
有メモリ上のデータ(リモートデータ)とを、同一のキ
ャッシュメモリに記録することを特徴とする。分散型共
有メモリシステムでは、大規模配列データを分割し、各
ノードの共有メモリに分散させて配置する。配列演算に
おいては、各プロセッサがローカルデータとともに、リ
モートデータを利用し、並列に計算を行う。配列演算で
使用するリモートデータは、一般に膨大である。キャッ
シュメモリを持つ分散型共有メモリシステムで大規模配
列演算を行った場合には、演算で使用するリモートデー
タがキャッシュメモリに入り切らず、キャッシュ溢れが
発生する。配列データとは別に、ローカルデータの中に
は、OSが利用する各種のシステム変数など、データ量
は限られているが極めて高い頻度で利用するデータが存
在する。このような使用頻度の高いデータは、常にキャ
ッシュメモリに登録されていることが性能上望まれる。
【0005】
【発明が解決しようとする課題】前記のキャッシュメモ
リを用いた分散型共有メモリシステムで、大規模配列演
算を実行した場合、他ノードのデータをアクセスしたこ
とにより発生するキャッシュ溢れのために、使用頻度の
高いローカルデータがキャッシュメモリから追い出され
てしまい、性能が低下する。
【0006】本発明の目的は、上記問題を解決し、キャ
ッシュメモリに登録されるリモートデータによりキャッ
シュメモリに溢れが生じ、キャッシュメモリから使用頻
度の高いローカルデータが追い出されることを防止する
ことにある。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数のプロセッサと該各プロセッサがア
クセスできる複数の分散型の共有メモリを備え、前記プ
ロセッサと前記共有メモリとより構成されるノードを複
数持ち、前記各共有メモリのデータを登録するキャッシ
ュメモリを前記各ノード内に備える計算機において、前
記キャッシュメモリは、ローカルリモート分離キャッシ
ュメモリであり、該ローカルリモート分離キャッシュメ
モリは、ローカルデータ領域とリモートデータ領域とア
ドレスアレイを有するキャッシュメモリと、キャッシュ
メモリコントローラと、プロセッサからのアクセス要求
アドレスに基づきアクセス要求が自ノードに対するアク
セスか他ノードに対するアクセスかを判定する判定手段
と、該判定手段の判定結果と前記アクセス要求アドレス
に基づきキャッシュメモリにアクセスするアドレスを生
成し前記キャッシュメモリコントローラに出力するアド
レス混成器を備え、自ノードに属するデータに対するア
クセスは前記ローカルデータ領域に、他ノードに属する
データに対するアクセスは前記リモートデータ領域にア
クセスするようにしている。また、前記キャッシュメモ
リは、アドレスアレイとキャッシュメモリとキャッシュ
メモリコントローラからなるローカルデータキャッシュ
メモリと、アドレスアレイとキャッシュメモリとキャッ
シュメモリコントローラからなるリモートデータキャッ
シュメモリからなり、プロセッサからのアクセス要求ア
ドレスに基づきアクセス要求が自ノードに対するアクセ
スか他ノードに対するアクセスかを判定し、該判定結果
に基づき前記ローカルデータキャッシュメモリかリモー
トデータキャッシュメモリのいずれかにアクセスアドレ
スを出力するアクセス分離部を備え、自ノードに属する
データに対するアクセスは前記ローカルデータキャッシ
ュメモリに、他ノードに属するデータに対するアクセス
は前記リモートデータキャッシュメモリにアクセスする
ようにしている。
【0008】
【作用】使用頻度の高いローカルデータはローカルデー
タ領域またはローカルデータキャッシュに登録されるた
め、リモートデータはリモートデータ領域またはリモー
トデータキャッシュに登録され、リモートデータに対す
るアクセスによりローカルデータがキャッシュメモリか
ら溢れ出ることがなくなり、これにより並列計算機の性
能が向上する。
【0009】
【実施例】
〈実施例1〉図1に本発明の実施例を示す。本実施例
は、プロセッサ20、120、共有メモリ60、16
0、およびローカルリモート分離キャッシュメモリ3
0、130を持つノード10、110を、ネットワーク
200で接続する。ローカルリモート分離キャッシュメ
モリ30、130の内部には、ローカルデータ領域4
0、140、およびリモートデータ領域70、170を
持つ(ノード10とノード110は同じ構成を取る)。
本実施例では、ネットワーク200に、ノード10、1
10と同じ構成のノードを計8個持つとする。
【0010】最初に、本実施例のアドレス空間を、図3
を用いて説明する。本実施例では、共有メモリ256メ
ガバイトをもつノードを8個ネットワークで結合する。
この場合、分散型共有メモリ方式では、アドレス000
00000〜7FFFFFFFまでの2ギガバイトの領
域580から、各ノードの共有メモリをアクセスできる
ことになる。アドレス空間の上位にはI/Oアクセスの
ための領域590があり、この領域の中に、ノード番号
レジスタ330をアクセスするためのアドレス600が
存在する。ノード番号レジスタ330は、図2Aに示す
ように、ローカルリモート分離キャッシュメモリ30、
130内に存在し、自ノード番号を記憶するレジスタで
ある。以上述べた例におけるアドレスビットの意味を、
図4のアドレス情報610に示す。最上位ビットがメモ
リアクセスかI/Oアクセスかを判定するためのビット
であり、以下3ビットはメモリアクセスの場合にアクセ
ス先のノード番号を示す。
【0011】次に、図1、図2Aを用いて、各ノードの
初期化の時点での動作を説明する。各ノードのプロセッ
サ20、120は、OSより与えられる自ノード番号
を、アドレス空間上の特定アドレス600にストアす
る。ストアされた自ノード番号情報は、データ線520
を通じてノード番号レジスタ330にセットされる。以
下、図1、図2Aを用いて、プロセッサ20が、自ノー
ド10内の共有メモリ60および他ノード110内の共
有メモリ160をロードまたはストアした場合の、本発
明の実施例について説明する。
【0012】[1] プロセッサ20が自ノード10内
のローカルデータをロードする場合 (1−1) ロードするデータが、ローカルリモート分
離キャッシュメモリ30のローカルデータ領域40に登
録されていない場合 プロセッサ20より出されたロード要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でロ
ード要求アドレスよりローカルデータに対するロード
か、リモートデータに対するロードかが判定される。こ
の判定は、マスク310、比較器320、ノード番号レ
ジスタ330からなる判定手段により行なわれる。判定
方法を図4に示す。ロード要求アドレス610と、マス
ク310の保持する情報620との論理積をとること
で、ノード番号630が抽出できる。これとノード番号
レジスタ330内の情報640とを比較器320で比較
し、一致の場合にはローカルデータアクセス、不一致の
場合にはリモートデータアクセスと認識できる。比較器
320は、比較の結果、ローカルデータに対するロード
であると判定し、ローカルリモート判定信号線540を
通じて、アドレス混成器370に1を送出するととも
に、ローカルメモリアクセス部390をアクティブとす
る。ロード要求は、マスク310、比較器320によっ
てローカルリモート判定を受けると同時に、アドレス信
号線510よりアドレス混成器370に送出される。
【0013】アドレス混成器370におけるアドレス混
成法について、図2Bを用いて説明する。ここでは、1
メガバイトのダイレクトマップキャッシュメモリ用にア
ドレスを混成する。アドレス信号線510から得られる
アドレス信号512の下位19ビットと、上位12ビッ
ト(共有メモリ空間の大きさを2ギガバイトの場合)の
間に、ローカルリモート判定信号線540から得られる
1ビットのローカルリモート判定信号542を埋め込
み、混成アドレス572を生成する。アドレス混成器3
70により生成された混成アドレス572はキャッシュ
メモリコントローラ340に伝えられる。キャッシュメ
モリコントローラ340は、混成アドレス572を、キ
ャッシュメモリ制御信号線550を通じてアドレスアレ
イ350に出す。ローカルリモート判定信号線が1であ
ることから、混成アドレス572の下位20ビットの値
は16進数で80000〜FFFFFとなる。よって、
キャッシュメモリコントローラ340はロード要求に対
し、1メガバイトのダイレクトマップのキャッシュメモ
リの上位512キロバイトに相当するローカルデータ領
域40について、アドレスアレイ350を検索する。検
索の結果、要求データについては登録が無いことがキャ
ッシュメモリ制御線550を通じてキャッシュメモリコ
ントローラ340に伝わる。
【0014】登録無しの情報を受けた場合、キャッシュ
メモリコントローラ340は、メモリへのロード要求を
メモリアクセス要求信号線560を通じて、ローカルメ
モリアクセス部390およびリモートメモリアクセス部
400に出す。ローカルメモリアクセス部390は、ロ
ーカルリモート判定信号線540によりアクティブとな
っているため、アドレス信号線510の示すロード要求
アドレスを、セレクタ50を介し、共有メモリ60に出
す。共有メモリ60は、ロード要求に対する返答データ
をローカルメモリアクセス部390に返す。返答データ
は、データ線520を通じてプロセッサ20に送られ
る。同時に、キャッシュメモリコントローラ340から
は、返答データ登録の要求がキャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出力される。
アドレスアレイ350は、登録要求を受けて、ローカル
データ領域40のデータを一部抹消し(すなわち、ロー
カルデータ領域40のいずれかのエントリを抹消し)、
データ線530を通じて得られる返答データをローカル
データ領域40に新たに登録するとともに、アドレスア
レイ350内の情報を更新する。以上により、キャッシ
ュメモリの上位512キロバイトに相当するローカルデ
ータ領域40に登録されていないローカルデータに対す
るロードでは、キャッシュメモリの下位512キロバイ
トに相当するリモートデータ領域70は影響を受けな
い。
【0015】(1−2) ロードするデータが、ローカ
ルリモート分離キャッシュメモリ30のローカルデータ
領域40に登録されている場合 プロセッサ20より出されたロード要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でロ
ード要求アドレスよりローカルデータに対するロード
か、リモートデータに対するロードかが判定される。判
定方法は、(1−1)と同様である。比較器320は、
比較の結果ローカルデータに対するロードであると判定
し、ローカルリモート判定信号線540を通じて、アド
レス混成器370に1を送出するとともに、ローカルメ
モリアクセス部390をアクティブとする。ロード要求
は、マスク310、比較器320によってローカルリモ
ート判定を受けると同時に、アドレス信号線510より
アドレス混成器370に送出される。アドレス混成器3
70により生成された混成アドレス572はキャッシュ
メモリコントローラ340に伝えられる。キャッシュメ
モリコントローラ340は、混成アドレス572を、キ
ャッシュメモリ制御信号線550を通じてアドレスアレ
イ350に出す。ローカルリモート判定信号線が1であ
ることから、混成アドレス572の下位20ビットの値
は16進数で80000〜FFFFFとなる。よって、
キャッシュメモリコントローラ340はロード要求に対
し、1メガバイトのダイレクトマップのキャッシュメモ
リの上位512キロバイトに相当するローカルデータ領
域40について、アドレスアレイ350を検索する。検
索の結果、要求データについては登録が有ることがキャ
ッシュメモリ制御線550を通じてキャッシュメモリコ
ントローラ340に伝わる。同時に登録されているデー
タが、データ線530、520を通じてプロセッサ20
に送られる。以上により、ローカルデータ領域40に登
録されているローカルデータに対するロードでは、リモ
ートデータ領域70は影響を受けない。
【0016】[2] プロセッサ20が自ノード10内
のローカルデータをストアする場合 (2−1) ストアするデータが、ローカルリモート分
離キャッシュメモリ30のローカルデータ領域40に登
録されていない場合 プロセッサ20より出されたストア要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でス
トア要求アドレスよりローカルデータに対するストア
か、リモートデータに対するストアかが判定される。判
定方法は、(1−1)と同様である。比較器320は、
比較の結果ローカルデータに対するストアであると判定
し、ローカルリモート判定信号線540を通じて、アド
レス混成器370に1を送出するとともに、ローカルメ
モリアクセス部390をアクティブとする。ストア要求
は、マスク310、比較器320によってローカルリモ
ート判定を受けると同時に、アドレス信号線510より
アドレス混成器370に送出される。
【0017】アドレス混成器370により生成された混
成アドレス572はキャッシュメモリコントローラ34
0に伝えられる。キャッシュメモリコントローラ340
は、混成アドレス572を、キャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出す。ローカ
ルリモート判定信号線が1であることから、混成アドレ
ス572の下位20ビットの値は16進数で80000
〜FFFFFとなる。よって、キャッシュメモリコント
ローラ340はストア要求に対し、1メガバイトのダイ
レクトマップのキャッシュメモリの上位512キロバイ
トに相当するローカルデータ領域40について、アドレ
スアレイ350を検索する。検索の結果、要求データに
ついては登録が無いことがキャッシュメモリ制御線55
0を通じてキャッシュメモリコントローラ340に伝わ
る。登録無しの情報を受けた場合、キャッシュメモリコ
ントローラ340は、メモリへのストア要求をメモリア
クセス要求信号線560を通じて、ローカルメモリアク
セス部390およびリモートメモリアクセス部400に
出す。ローカルメモリアクセス部390は、ローカルリ
モート判定信号線540によりアクティブとなっている
ため、アドレス信号線510の示すストア要求アドレ
ス、およびデータ信号線520の示すストアデータを、
セレクタ50を介し、共有メモリ60に出す。共有メモ
リ60は、要求に従ってデータを更新する(すなわち、
更新データは、キャッシュではなく、共有メモリに格納
される)。以上により、ローカルデータ領域40に登録
されていないローカルデータに対するストアでは、リモ
ートデータ領域70は影響を受けない。
【0018】(2−2) ストアするデータが、ローカ
ルリモート分離キャッシュメモリ30のローカルデータ
領域40に登録されている場合 プロセッサ20より出されたストア要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でス
トア要求アドレスよりローカルデータに対するストア
か、リモートデータに対するストアかが判定される。判
定方法は、(1−1)と同様である。比較器320は、
比較の結果ローカルデータに対するストアであると判定
し、ローカルリモート判定信号線540を通じて、アド
レス混成器370に1を送出するとともに、ローカルメ
モリアクセス部390をアクティブとする。ストア要求
は、マスク310、比較器320によってローカルリモ
ート判定を受けると同時に、アドレス信号線510より
アドレス混成器370に送出される。
【0019】アドレス混成器370により生成された混
成アドレス572はキャッシュメモリコントローラ34
0に伝えられる。キャッシュメモリコントローラ340
は、混成アドレス572を、キャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出す。ローカ
ルリモート判定信号線が1であることから、混成アドレ
ス572の下位20ビットの値は16進数で80000
〜FFFFFとなる。よって、キャッシュメモリコント
ローラ340はストア要求に対し、1メガバイトのダイ
レクトマップのキャッシュメモリの上位512キロバイ
トに相当するローカルデータ領域40について、アドレ
スアレイ350を検索する。検索の結果、要求データに
ついては登録が有ることがキャッシュメモリ制御線55
0を通じてキャッシュメモリコントローラ340に伝わ
る。
【0020】登録有りの情報を受けた場合、キャッシュ
メモリコントローラ340は、ストア要求されているデ
ータの登録を抹消する要求をアドレスアレイ350に出
力する。アドレスアレイ350は、登録抹消要求を受け
てローカルデータ領域40からストアされたデータの登
録情報を抹消する。さらに、キャッシュメモリコントロ
ーラ340は、メモリへのストア要求をメモリアクセス
要求信号線560を通じて、ローカルメモリアクセス部
390およびリモートメモリアクセス部400に出す。
ローカルメモリアクセス部390は、ローカルリモート
判定信号線540によりアクティブとなっているため、
アドレス信号線510の示すストア要求アドレス、およ
びデータ信号線520の示すストアデータを、セレクタ
50を介し、共有メモリ60に出す。共有メモリ60
は、要求に従ってデータを更新する。以上により、ロー
カルデータ領域40に登録されているローカルデータに
対するストアでは、リモートデータ領域70は影響を受
けない。
【0021】[3] プロセッサ20が他ノード110
内のリモートデータをロードする場合 (3−1) ロードするデータが、ローカルリモート分
離キャッシュメモリ30のリモートデータ領域70に登
録されていない場合 プロセッサ20より出されたロード要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でロ
ード要求アドレスよりローカルデータに対するロード
か、リモートデータに対するロードかが判定される。判
定方法は、(1−1)と同様である。比較器320は、
比較の結果リモートデータに対するロードであると判定
し、ローカルリモート判定信号線540を通じて、アド
レス混成器370に0を送出するとともに、リモートメ
モリアクセス部400をアクティブとする。ロード要求
は、マスク310、比較器320によってローカルリモ
ート判定を受けると同時に、アドレス信号線510より
アドレス混成器370に送出される。
【0022】アドレス混成器370により生成された混
成アドレス572はキャッシュメモリコントローラ34
0に伝えられる。キャッシュメモリコントローラ340
は、混成アドレス572を、キャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出す。ローカ
ルリモート判定信号線が0であることから、混成アドレ
ス572の下位20ビットの値は16進数で00000
〜7FFFFとなる。よって、キャッシュメモリコント
ローラ340はストア要求に対し、1メガバイトのダイ
レクトマップのキャッシュメモリの下位512キロバイ
トに相当するリモートデータ領域70について、アドレ
スアレイ350を検索する。検索の結果、要求データに
ついては登録が無いことがキャッシュメモリ制御線55
0を通じてキャッシュメモリコントローラ340に伝わ
る。
【0023】登録無しの情報を受けた場合、キャッシュ
メモリコントローラ340は、メモリへのロード要求を
メモリアクセス要求信号線560を通じて、ローカルメ
モリアクセス部390およびリモートメモリアクセス部
400に出す。リモートメモリアクセス部400は、ロ
ーカルリモート判定信号線540によりアクティブとな
っているため、アドレス信号線510の示すロード要求
アドレスを、リモートアクセス発行部80に出す。リモ
ートアクセス発行部80は、リモートメモリアクセス部
400からの要求に対し、リモートロード要求メッセー
ジを作成する。さらに、図4と同様の手法を用いて、ロ
ード要求アドレスからノード番号を抽出し、抽出した番
号のノードのリモートアクセス受付部190へ、ネット
ワーク200を通じてリモートロード要求メッセージを
送信する。リモートロード要求メッセージを受けたリモ
ートアクセス受付部190は、共有メモリ160からデ
ータをロードした後に、ロードデータを含むリモートロ
ード返答メッセージを作成し、リモートアクセス発行部
80にネットワーク200を通じて返信する。リモート
アクセス発行部80は、返信されたリモートロード返答
メッセージからロード要求に対する返答データを抽出
し、リモートメモリアクセス部400に返す。返答デー
タは、データ線520を通じてプロセッサ20に送られ
る。同時に、キャッシュメモリコントローラ340から
は、返答データ登録の要求がキャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出力される。
アドレスアレイ350は、登録要求を受けて、リモート
データ領域70のデータを一部抹消し、データ線530
を通じて得られる返答データをリモートデータ領域70
に新たに登録するとともに、アドレスアレイ350内の
情報を更新する。以上により、リモートデータ領域70
に登録されていないリモートデータに対するロードで
は、ローカルデータ領域40は影響を受けない。
【0024】(3−2) ロードするデータが、ローカ
ルリモート分離キャッシュメモリ30のリモートデータ
領域70に登録されている場合 プロセッサ20より出されたロード要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でロ
ード要求アドレスよりローカルデータに対するロード
か、リモートデータに対するロードかが判定される。判
定方法は、(1−1)と同様である。比較器320は、
比較の結果リモートデータに対するロードであると判定
し、ローカルリモート判定信号線540を通じて、アド
レス混成器370に0を送出するとともに、リモートメ
モリアクセス部400をアクティブとする。ロード要求
は、マスク310、比較器320によってローカルリモ
ート判定を受けると同時に、アドレス信号線510より
アドレス混成器370に送出される。
【0025】アドレス混成器370により生成された混
成アドレス572はキャッシュメモリコントローラ34
0に伝えられる。キャッシュメモリコントローラ340
は、混成アドレス572を、キャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出す。ローカ
ルリモート判定信号線が0であることから、混成アドレ
ス572の下位20ビットの値は16進数で00000
〜7FFFFとなる。よって、キャッシュメモリコント
ローラ340はストア要求に対し、1メガバイトのダイ
レクトマップのキャッシュメモリの下位512キロバイ
トに相当するリモートデータ領域70について、アドレ
スアレイ350を検索する。検索の結果、要求データに
ついては登録が有ることがキャッシュメモリ制御線55
0を通じてキャッシュメモリコントローラ340に伝わ
る。同時に登録されているデータが、データ線530、
520を通じてプロセッサ20に送られる。以上によ
り、リモートデータ領域70に登録されているリモート
データに対するロードでは、ローカルデータ領域40は
影響を受けない。
【0026】[4] プロセッサ20が他ノード110
内のリモートデータをストアする場合 (4−1) ストアするデータが、ローカルリモート分
離キャッシュメモリ30のリモートデータ領域70に登
録されていない場合 プロセッサ20より出されたストア要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でス
トア要求アドレスよりローカルデータに対するストア
か、リモートデータに対するストアかが判定される。判
定方法は、(1−1)と同様である。比較器320は、
比較の結果リモートデータに対するストアであると判定
し、ローカルリモート判定信号線540を通じて、アド
レス混成器370に0を送出するとともに、リモートメ
モリアクセス部400をアクティブとする。ストア要求
は、マスク310、比較器320によってローカルリモ
ート判定を受けると同時に、アドレス信号線510より
アドレス混成器370に送出される。
【0027】アドレス混成器370により生成された混
成アドレス572はキャッシュメモリコントローラ34
0に伝えられる。キャッシュメモリコントローラ340
は、混成アドレス572を、キャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出す。ローカ
ルリモート判定信号線が0であることから、混成アドレ
ス572の下位20ビットの値は16進数で00000
〜7FFFFとなる。よって、キャッシュメモリコント
ローラ340はストア要求に対し、1メガバイトのダイ
レクトマップのキャッシュメモリの下位512キロバイ
トに相当するリモートデータ領域70について、アドレ
スアレイ350を検索する。検索の結果、要求データに
ついては登録が無いことがキャッシュメモリ制御線55
0を通じてキャッシュメモリコントローラ340に伝わ
る。
【0028】登録無しの情報を受けた場合、キャッシュ
メモリコントローラ340は、メモリへのストア要求を
メモリアクセス要求信号線560を通じて、ローカルメ
モリアクセス部390およびリモートメモリアクセス部
400に出す。リモートメモリアクセス部400は、ロ
ーカルリモート判定信号線540によりアクティブとな
っているため、アドレス信号線510の示すストア要求
アドレス、およびデータ信号線520の示すストアデー
タを、リモートアクセス発行部80に出力する。リモー
トアクセス発行部80は、リモートメモリアクセス部4
00からの要求に対し、ストア要求アドレスおよびデー
タを含むリモートストア要求メッセージを作成する。さ
らに、図4と同様の手法を用いて、ストア要求アドレス
からノード番号を抽出し、抽出した番号のノードのリモ
ートアクセス受付部190へ、ネットワーク200を通
じてリモートストア要求メッセージを送信する。リモー
トストア要求メッセージを受けたリモートアクセス受付
部190は、メッセージからリモートストアアドレスお
よびデータを抽出し、共有メモリ160に出力する。共
有メモリ160は、要求に従い、データを更新する。以
上により、リモートデータ領域70に登録されていない
リモートデータに対するストアでは、ローカルデータ領
域40は影響を受けない。
【0029】(4−2) ストアするデータが、ローカ
ルリモート分離キャッシュメモリ30のリモートデータ
領域70に登録されている場合 プロセッサ20より出されたストア要求が、図2Aのロ
ーカルリモート分離キャッシュメモリ30に出力される
と、ローカルリモート分離キャッシュメモリ30内でス
トア要求アドレスよりローカルデータに対するストア
か、リモートデータに対するストアかが判定される。判
定方法は、(1−1)と同様である。比較器320は、
比較の結果リモートデータに対するストアであると判定
し、ローカルリモート判定信号線540を通じて、アド
レス混成器370に0を送出するとともに、リモートメ
モリアクセス部400をアクティブとする。ストア要求
は、マスク310、比較器320によってローカルリモ
ート判定を受けると同時に、アドレス信号線510より
アドレス混成器370に送出される。
【0030】アドレス混成器370により生成された混
成アドレス572はキャッシュメモリコントローラ34
0に伝えられる。キャッシュメモリコントローラ340
は、混成アドレス572を、キャッシュメモリ制御信号
線550を通じてアドレスアレイ350に出す。ローカ
ルリモート判定信号線が0であることから、混成アドレ
ス572の下位20ビットの値は16進数で00000
〜7FFFFとなる。よって、キャッシュメモリコント
ローラ340はストア要求に対し、1メガバイトのダイ
レクトマップのキャッシュメモリの下位512キロバイ
トに相当するリモートデータ領域70について、アドレ
スアレイ350を検索する。検索の結果、要求データに
ついては登録が有ることがキャッシュメモリ制御線55
0を通じてキャッシュメモリコントローラ340に伝わ
る。
【0031】登録有りの情報を受けた場合、キャッシュ
メモリコントローラ340は、ストア要求されているデ
ータの登録を抹消する要求をアドレスアレイ350に出
力する。アドレスアレイ350は、ローカルリモート判
定信号線540によりアクティブとなっているため、登
録抹消要求を受けてリモートデータ領域70から登録情
報を抹消する。さらに、キャッシュメモリコントローラ
340は、メモリへのストア要求をメモリアクセス要求
信号線560を通じて、ローカルメモリアクセス部39
0およびリモートメモリアクセス部400に出す。リモ
ートメモリアクセス部400は、ローカルリモート判定
信号線540によりアクティブとなっているため、アド
レス信号線510の示すストア要求アドレス、およびデ
ータ信号線520の示すストアデータを、リモートアク
セス発行部80に出力する。リモートアクセス発行部8
0は、リモートメモリアクセス部400からの要求に対
し、ストア要求アドレスおよびデータを含むリモートス
トア要求メッセージを作成する。さらに、図4と同様の
手法を用いて、ストア要求アドレスからノード番号を抽
出し、抽出した番号のノードのリモートアクセス受付部
190へ、ネットワーク200を通じてリモートストア
要求メッセージを送信する。リモートストア要求メッセ
ージを受けたリモートアクセス受付部190は、メッセ
ージからリモートストアアドレスおよびデータを抽出
し、共有メモリ160に出力する。共有メモリ160
は、要求に従い、データを更新する。以上により、リモ
ートデータ領域70に登録されているリモートデータに
対するストアでは、ローカルデータ領域40は影響を受
けない。
【0032】〈実施例2〉図5に本発明の実施例を示
す。本実施例は、プロセッサ25、125、共有メモリ
65、165、およびローカルデータキャッシュ45、
145、リモートデータキャッシュ75を持つノード1
5、115を、ネットワーク205で接続する(ノード
15とノード115は同じ構成を取る)。本実施例で
は、ネットワーク205に、ノード15、115と同じ
構成のノードを計8個持つとする。
【0033】最初に、本実施例のアドレス空間を、図3
を用いて説明する。本実施例では、共有メモリ256メ
ガバイトをもつノードを8個ネットワークで結合する。
この場合、分散型共有メモリ方式では、アドレス000
00000〜7FFFFFFFまでの2ギガバイトの領
域580から、各ノードの共有メモリをアクセスできる
ことになる。アドレス空間の上位にはI/Oアクセスの
ための領域590があり、この領域の中に、ノード番号
レジスタ335をアクセスするためのアドレス600が
存在する。ノード番号レジスタ335は、図6に示すよ
うに、アクセス分離部35、135内に存在し、自ノー
ド番号を記憶するレジスタである。以上述べた例におけ
るアドレスビットの意味を、図4のアドレス情報610
に示す。最上位ビットがメモリアクセスかI/Oアクセ
スかを判定するためのビットであり、以下3ビットはメ
モリアクセスの場合にアクセス先のノード番号を示す。
次に、図5、図6を用いて、各ノードの初期化の時点で
の動作を説明する。各ノードのプロセッサ25、125
は、OSより与えられる自ノード番号を、アドレス空間
上の特定アドレス600にストアする。ストアされた自
ノード番号情報は、データ線525を通じてノード番号
レジスタ335にセットされる。以下、図5、図6、図
7、図8を用いて、プロセッサ25が、自ノード15内
の共有メモリ65および他ノード115内の共有メモリ
165をロードまたはストアした場合の、実施例2につ
いて説明する。
【0034】[1] プロセッサ25が自ノード15内
のローカルデータをロードする場合 (1−1) ロードするデータが、ローカルデータキャ
ッシュ45に登録されていない場合 プロセッサ25より出されたロード要求が、図6のアク
セス分離部35に出力されると、ロード要求アドレスよ
りローカルデータに対するロードか、リモートデータに
対するロードかが判定される。判定方法を図4に示す。
ロード要求アドレス610と、マスク315の保持する
情報620との論理積をとることで、ノード番号630
が抽出できる。これとノード番号レジスタ335内の情
報640とを比較器325で比較し、一致の場合にはロ
ーカルデータアクセス、不一致の場合にはリモートデー
タアクセスと認識できる。比較器325は、比較の結果
ローカルデータに対するロードであると判定し、ローカ
ルリモート判定信号線545を通じて、ラッチ395を
アクティブとする。これにより、ロード要求は、図7に
示すローカルデータキャッシュ45に出力される。
【0035】ローカルデータキャッシュ45に出力され
たロード要求は、アドレス信号線513よりキャッシュ
メモリコントローラ343に伝えられる。キャッシュメ
モリコントローラ343は、ロード要求のアドレスを、
キャッシュメモリ制御信号線553を通じてアドレスア
レイ353に出す。キャッシュメモリ363に登録され
ている情報のアドレスを記憶するアドレスアレイ353
が、キャッシュメモリコントローラ343からロード要
求されているデータのキャッシュメモリ363への登録
の有無を判定し、登録無しの情報をキャッシュメモリ制
御線553を通じてキャッシュメモリコントローラ34
3に伝える。
【0036】登録無しの情報を受けた場合、キャッシュ
メモリコントローラ343は、メモリへのロード要求
を、メモリアクセス要求信号線563を通じて、メモリ
アクセス部393に出す。メモリアクセス部393は、
アドレス信号線513の示すロード要求アドレスを、セ
レクタ55を介し、共有メモリ65に出す。共有メモリ
65は、ロード要求に対する返答データをメモリアクセ
ス部393に返す。返答データは、データ線523を通
じてプロセッサ25に送られる。同時に、キャッシュメ
モリコントローラ343からは、返答データ登録の要求
がキャッシュメモリ制御信号線553を通じてアドレス
アレイ353に出力される。アドレスアレイ353は、
登録要求を受けて、キャッシュメモリ363のデータを
一部抹消し、データ線533を通じて得られる返答デー
タをキャッシュメモリ363に新たに登録するととも
に、アドレスアレイ353内の情報を更新する。以上に
より、ローカルデータキャッシュ45に登録されていな
いローカルデータに対するロードでは、リモートデータ
キャッシュ75は影響を受けない。
【0037】(1−2) ロードするデータが、ローカ
ルデータキャッシュ45に登録されている場合 プロセッサ25より出されたロード要求が、図6のアク
セス分離部35に出力されると、ロード要求アドレスよ
りローカルデータに対するロードか、リモートデータに
対するロードかが判定される。判定方法は、(1−1)
と同様である。比較器325は、比較の結果ローカルデ
ータに対するロードであると判定し、ローカルリモート
判定信号線545を通じて、ラッチ395をアクティブ
とする。これにより、ロード要求は、図7に示すローカ
ルデータキャッシュ45に出力される。
【0038】ローカルデータキャッシュ45に出力され
たロード要求は、アドレス信号線513よりキャッシュ
メモリコントローラ343に伝えられる。キャッシュメ
モリコントローラ343は、ロード要求のアドレスを、
キャッシュメモリ制御信号線553を通じてアドレスア
レイ353に出す。キャッシュメモリ363に登録され
ている情報のアドレスを記憶するアドレスアレイ353
が、キャッシュメモリコントローラ343からロード要
求されているデータのキャッシュメモリ363への登録
の有無を判定し、登録有りの情報をキャッシュメモリ制
御線553を通じてキャッシュメモリコントローラ34
3に伝える。同時に登録されているデータを、データ線
533、523を通じてプロセッサ25に送る。以上に
より、ローカルデータキャッシュ45に登録されている
ローカルデータに対するロードでは、リモートデータキ
ャッシュ75は影響を受けない。
【0039】[2] プロセッサ25が自ノード15内
のローカルデータをストアする場合 (2−1) ストアするデータが、ローカルデータキャ
ッシュ45に登録されていない場合 プロセッサ25より出されたストア要求が、図6のアク
セス分離部35に出力されると、ストア要求アドレスよ
りローカルデータに対するストアか、リモートデータに
対するストアかが判定される。判定方法は、(1−1)
と同様である。比較器325は、比較の結果ローカルデ
ータに対するストアであると判定し、ローカルリモート
判定信号線545を通じて、ラッチ395をアクティブ
とする。これにより、ストア要求は、図7に示すローカ
ルデータキャッシュ45に出力される。
【0040】ローカルデータキャッシュ45に出力され
たストア要求は、アドレス信号線513よりキャッシュ
メモリコントローラ343に伝えられる。キャッシュメ
モリコントローラ343は、ストア要求のアドレスを、
キャッシュメモリ制御信号線553を通じてアドレスア
レイ353に出す。キャッシュメモリ363に登録され
ている情報のアドレスを記憶するアドレスアレイ353
が、キャッシュメモリコントローラ343からストア要
求されているデータのキャッシュメモリ363への登録
の有無を判定し、登録無しの情報をキャッシュメモリ制
御線553を通じてキャッシュメモリコントローラ34
3に伝える。
【0041】登録無しの情報を受けた場合、キャッシュ
メモリコントローラ343は、メモリへのストア要求
を、メモリアクセス要求信号線563を通じて、メモリ
アクセス部393に出す。メモリアクセス部393は、
アドレス信号線513の示すストア要求アドレス、およ
びデータ信号線523の示すストアデータを、セレクタ
55を介し、共有メモリ65に出す。共有メモリ65
は、要求に従ってデータを更新する。以上により、ロー
カルデータキャッシュ45に登録されていないローカル
データに対するストアでは、リモートデータキャッシュ
75は影響を受けない。
【0042】(2−2) ストアするデータが、ローカ
ルデータキャッシュ45に登録されている場合 プロセッサ25より出されたストア要求が、図6のアク
セス分離部35に出力されると、ストア要求アドレスよ
りローカルデータに対するストアか、リモートデータに
対するストアかが判定される。判定方法は、(1−1)
と同様である。比較器325は、比較の結果ローカルデ
ータに対するストアであると判定し、ローカルリモート
判定信号線545を通じて、ラッチ395をアクティブ
とする。これにより、ストア要求は、図7に示すローカ
ルデータキャッシュ45に出力される。
【0043】ローカルデータキャッシュ45に出力され
たストア要求は、アドレス信号線513よりキャッシュ
メモリコントローラ343に伝えられる。キャッシュメ
モリコントローラ343は、ストア要求のアドレスを、
キャッシュメモリ制御信号線553を通じてアドレスア
レイ353に出す。キャッシュメモリ363に登録され
ている情報のアドレスを記憶するアドレスアレイ353
が、キャッシュメモリコントローラ343からストア要
求されているデータのキャッシュメモリ363への登録
の有無を判定し、登録有りの情報をキャッシュメモリ制
御線553を通じてキャッシュメモリコントローラ34
3に伝える。
【0044】登録有りの情報を受けた場合、キャッシュ
メモリコントローラ343は、ストア要求されているデ
ータの登録を抹消する要求をアドレスアレイ353に出
力する。アドレスアレイ353は、登録抹消要求を受け
てキャッシュメモリ363から登録情報を抹消するとと
もに、アドレスアレイ353の情報を更新する。さら
に、キャッシュメモリコントローラ343は、メモリへ
のストア要求をメモリアクセス要求信号線563を通じ
て、メモリアクセス部393に出す。ローカルメモリア
クセス部393は、アドレス信号線513の示すストア
要求アドレス、およびデータ信号線523の示すストア
データを、セレクタ55を介し、共有メモリ65に出
す。共有メモリ65は、要求に従ってデータを更新す
る。以上により、ローカルデータキャッシュ45に登録
されているローカルデータに対するストアでは、リモー
トデータキャッシュ75は影響を受けない。
【0045】[3] プロセッサ25が他ノード115
内のリモートデータをロードする場合 (3−1) ロードするデータが、リモートデータキャ
ッシュ75に登録されていない場合 プロセッサ25より出されたロード要求が、図6のアク
セス分離部35に出力されると、ロード要求アドレスよ
りローカルデータに対するロードか、リモートデータに
対するロードかが判定される。判定方法は、(1−1)
と同様である。比較器325は、比較の結果リモートデ
ータに対するロードであると判定し、ローカルリモート
判定信号線545を通じて、ラッチ405をアクティブ
とする。これにより、ロード要求は、図8のリモートデ
ータキャッシュ75に出力される。
【0046】リモートデータキャッシュ75に出力され
たロード要求は、アドレス信号線516よりキャッシュ
メモリコントローラ346に伝えられる。キャッシュメ
モリコントローラ346は、ロード要求のアドレスを、
キャッシュメモリ制御信号線556を通じてアドレスア
レイ356に出す。キャッシュメモリ366に登録され
ている情報のアドレスを記憶するアドレスアレイ356
が、キャッシュメモリコントローラ346からロード要
求されているデータのキャッシュメモリ366への登録
の有無を判定し、登録無しの情報をキャッシュメモリ制
御線556を通じてキャッシュメモリコントローラ34
6に伝える。
【0047】登録無しの情報を受けた場合、キャッシュ
メモリコントローラ346は、メモリへのロード要求を
メモリアクセス要求信号線566を通じて、メモリアク
セス部396に出す。メモリアクセス部396は、アド
レス信号線516の示すロード要求アドレスを、リモー
トアクセス発行部85に出す。リモートアクセス発行部
85は、メモリアクセス部396からの要求に対し、リ
モートロード要求メッセージを作成する。さらに、図4
と同様の手法を用いて、ロード要求アドレスからノード
番号を抽出し、抽出した番号のノードのリモートアクセ
ス受付部195へ、ネットワーク205を通じてリモー
トロード要求メッセージを送信する。リモートロード要
求メッセージを受けたリモートアクセス受付部195
は、共有メモリ165からデータをロードした後に、ロ
ードデータを含むリモートロード返答メッセージを作成
し、リモートアクセス発行部85にネットワーク205
を通じて返信する。リモートアクセス発行部85は、返
信されたリモートロード返答メッセージからロード要求
に対する返答データを抽出し、メモリアクセス部396
に返す。返答データは、データ線526を通じてプロセ
ッサ25に送られる。同時に、キャッシュメモリコント
ローラ346からは、返答データ登録の要求がキャッシ
ュメモリ制御信号線556を通じてアドレスアレイ35
6に出力される。アドレスアレイ356は、登録要求を
受けて、キャッシュメモリ366のデータを一部抹消
し、データ線536を通じて得られる返答データをキャ
ッシュメモリ366に新たに登録するとともに、アドレ
スアレイ356内の情報を更新する。以上により、リモ
ートデータキャッシュ75に登録されていないリモート
データに対するロードでは、ローカルデータキャッシュ
45は影響を受けない。
【0048】(3−2) ロードするデータが、リモー
トデータキャッシュ75に登録されている場合 プロセッサ25より出されたロード要求が、図6のアク
セス分離部35に出力されると、ロード要求アドレスよ
りローカルデータに対するロードか、リモートデータに
対するロードかが判定される。判定方法は、(1−1)
と同様である。比較器325は、比較の結果リモートデ
ータに対するロードであると判定し、ローカルリモート
判定信号線545を通じて、ラッチ405をアクティブ
とする。これにより、ロード要求は、図8のリモートデ
ータキャッシュ75に出力される。
【0049】リモートデータキャッシュ75に出力され
たロード要求は、アドレス信号線516よりキャッシュ
メモリコントローラ346に伝えられる。キャッシュメ
モリコントローラ346は、ロード要求のアドレスを、
キャッシュメモリ制御信号線556を通じてアドレスア
レイ356に出す。キャッシュメモリ366に登録され
ている情報のアドレスを記憶するアドレスアレイ356
が、キャッシュメモリコントローラ346からロード要
求されているデータのキャッシュメモリ366への登録
の有無を判定し、登録有りの情報をキャッシュメモリ制
御線556を通じてキャッシュメモリコントローラ34
6に伝える。同時に登録されているデータを、データ線
536、526を通じてプロセッサ25に送る。以上に
より、リモートデータキャッシュ75に登録されている
リモートデータに対するロードでは、ローカルデータキ
ャッシュ45は影響を受けない。
【0050】[4] プロセッサ25が他ノード115
内のリモートデータをストアする場合 (4−1) ストアするデータが、リモートデータキャ
ッシュ75に登録されていない場合 プロセッサ25より出されたストア要求が、図6のアク
セス分離部35に出力されると、ストア要求アドレスよ
りローカルデータに対するストアか、リモートデータに
対するストアかが判定される。判定方法は、(1−1)
と同様である。比較器325は、比較の結果ローカルデ
ータに対するストアであると判定し、ローカルリモート
判定信号線545を通じて、ラッチ395をアクティブ
とする。これにより、ストア要求は、図8のリモートデ
ータキャッシュ75に出力される。
【0051】リモートデータキャッシュ75に出力され
たストア要求は、アドレス信号線516よりキャッシュ
メモリコントローラ346に伝えられる。キャッシュメ
モリコントローラ346は、ストア要求のアドレスを、
キャッシュメモリ制御信号線556を通じてアドレスア
レイ356に出す。キャッシュメモリ366に登録され
ている情報のアドレスを記憶するアドレスアレイ356
が、キャッシュメモリコントローラ346からストア要
求されているデータのキャッシュメモリ366への登録
の有無を判定し、登録無しの情報をキャッシュメモリ制
御線556を通じてキャッシュメモリコントローラ34
6に伝える。
【0052】登録無しの情報を受けた場合、キャッシュ
メモリコントローラ346は、メモリへのストア要求
を、メモリアクセス要求信号線566を通じて、メモリ
アクセス部396に出す。メモリアクセス部396は、
アドレス信号線516の示すストア要求アドレス、およ
びデータ信号線526の示すストアデータを、リモート
アクセス発行部85に出力する。リモートアクセス発行
部85は、メモリアクセス部396からの要求に対し、
ストア要求アドレスおよびデータを含むリモートストア
要求メッセージを作成する。さらに、図4と同様の手法
を用いて、ストア要求アドレスからノード番号を抽出
し、抽出した番号のノードのリモートアクセス受付部1
95へ、ネットワーク205を通じてリモートストア要
求メッセージを送信する。リモートストア要求メッセー
ジを受けたリモートアクセス受付部195は、メッセー
ジからリモートストアアドレスおよびデータを抽出し、
共有メモリ165に出力する。共有メモリ165は、要
求に従い、データを更新する。以上により、リモートデ
ータキャッシュ75に登録されていないリモートデータ
に対するストアでは、ローカルデータキャッシュ45は
影響を受けない。
【0053】(4−2) ストアするデータが、リモー
トデータキャッシュ75に登録されている場合 プロセッサ25より出されたストア要求が、図6のアク
セス分離部35に出力されると、ストア要求アドレスよ
りローカルデータに対するストアか、リモートデータに
対するストアかが判定される。判定方法は、(1−1)
と同様である。比較器325は、比較の結果ローカルデ
ータに対するストアであると判定し、ローカルリモート
判定信号線545を通じて、ラッチ395をアクティブ
とする。これにより、ストア要求は、図8のリモートデ
ータキャッシュ75に出力される。
【0054】リモートデータキャッシュ75に出力され
たストア要求は、アドレス信号線516よりキャッシュ
メモリコントローラ346に伝えられる。キャッシュメ
モリコントローラ346は、ストア要求のアドレスを、
キャッシュメモリ制御信号線556を通じてアドレスア
レイ356に出す。キャッシュメモリ366に登録され
ている情報のアドレスを記憶するアドレスアレイ356
が、キャッシュメモリコントローラ346からストア要
求されているデータのキャッシュメモリ366への登録
の有無を判定し、登録有りの情報をキャッシュメモリ制
御線556を通じてキャッシュメモリコントローラ34
6に伝える。
【0055】登録有りの情報を受けた場合、キャッシュ
メモリコントローラ346は、ストア要求されているデ
ータの登録を抹消する要求をアドレスアレイ356に出
力する。アドレスアレイ356は、登録抹消要求を受け
てキャッシュメモリ366から登録情報を抹消するとと
もに、アドレスアレイ356の情報を更新する。さら
に、キャッシュメモリコントローラ346は、メモリへ
のストア要求を、メモリアクセス要求信号線566を通
じて、メモリアクセス部396に出す。メモリアクセス
部396は、アドレス信号線516の示すストア要求ア
ドレス、およびデータ信号線526の示すストアデータ
を、リモートアクセス発行部85に出力する。
【0056】リモートアクセス発行部85は、メモリア
クセス部396からの要求に対し、ストア要求アドレス
およびデータを含むリモートストア要求メッセージを作
成する。さらに、図4と同様の手法を用いて、ストア要
求アドレスからノード番号を抽出し、抽出した番号のノ
ードのリモートアクセス受付部195へ、ネットワーク
205を通じてリモートストア要求メッセージを送信す
る。リモートストア要求メッセージを受けたリモートア
クセス受付部195は、メッセージからリモートストア
アドレスおよびデータを抽出し、共有メモリ165に出
力する。共有メモリ165は、要求に従い、データを更
新する。以上により、リモートデータキャッシュ75に
登録されているリモートデータに対するストアでは、ロ
ーカルデータキャッシュ45は影響を受けない。
【0057】
【発明の効果】本発明によれば、ローカルデータおよび
リモートデータをキャッシュメモリに登録する分散型共
有メモリ方式の並列計算機において、使用頻度の高いロ
ーカルデータが、リモートデータのアクセスによりキャ
ッシュメモリから追い出されることを防止できる。これ
により並列計算機の性能を向上することができる。
【図面の簡単な説明】
【図1】実施例1のローカルリモート分離キャッシュメ
モリを持つ並列計算機の構成を示す図である。
【図2A】実施例1におけるローカルリモート分離キャ
ッシュメモリを示す図である。
【図2B】実施例1におけるアドレス混成器によるアド
レス混成法を説明するための図である。
【図3】実施例1、2におけるアドレス空間を示す図で
ある。
【図4】実施例1、2におけるローカルデータアクセス
を判定方法を説明するための図である。
【図5】実施例2のローカルデータキャッシュとリモー
トデータキャッシュとを持つ並列計算機の構成を示す図
である。
【図6】実施例2におけるアクセス分離部の構成を示す
図である。
【図7】実施例2におけるローカルデータキャッシュの
構成を示す図である。
【図8】実施例2におけるリモートデータキャッシュの
構成を示す図である。
【符号の説明】
10、110、15、115 ノード 20、120、25、125 プロセッサ 30、130 ローカルリモート分離キャッシュメモリ 35、135 アクセス分離部 40、140 ローカルデータ領域 70、170 リモートデータ領域 45、145 ローカルデータキャッシュ 75、175 リモートデータキャッシュ 50、150、55、155 セレクタ 60、160、65、165 共有メモリ 80、180、85、185 リモートアクセス発行部 90、190、95、195 リモートアクセス受付部 205 ネットワーク 310、315 マスク 320、325 比較器 330、335 ノード番号レジスタ 340、343、346 キャッシュメモリコントロー
ラ 350、353、356 アドレスアレイ 363、366 キャッシュメモリ 370 アドレス混成器 390 ローカルメモリアクセス部 393、396 メモリアクセス部 395、405 ラッチ 400 リモートメモリアクセス部
フロントページの続き (72)発明者 明石 英也 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサと該各プロセッサがア
    クセスできる複数の分散型の共有メモリを備え、前記プ
    ロセッサと前記共有メモリとより構成されるノードを複
    数持ち、前記各共有メモリのデータを登録するキャッシ
    ュメモリを前記各ノード内に備える計算機において、 前記キャッシュメモリは、ローカルリモート分離キャッ
    シュメモリであり、 該ローカルリモート分離キャッシュメモリは、ローカル
    データ領域とリモートデータ領域とアドレスアレイを有
    するキャッシュメモリと、キャッシュメモリコントロー
    ラと、プロセッサからのアクセス要求アドレスに基づき
    アクセス要求が自ノードに対するアクセスか他ノードに
    対するアクセスかを判定する判定手段と、該判定手段の
    判定結果と前記アクセス要求アドレスに基づきキャッシ
    ュメモリにアクセスするアドレスを生成し前記キャッシ
    ュメモリコントローラに出力するアドレス混成器を備
    え、自ノードに属するデータに対するアクセスは前記ロ
    ーカルデータ領域に、他ノードに属するデータに対する
    アクセスは前記リモートデータ領域にアクセスすること
    を特徴とする並列計算機。
  2. 【請求項2】 複数のプロセッサと該各プロセッサがア
    クセスできる複数の分散型の共有メモリを備え、前記プ
    ロセッサと前記共有メモリとより構成されるノードを複
    数持ち、前記各共有メモリのデータを登録するキャッシ
    ュメモリを前記各ノード内に備える計算機において、 前記キャッシュメモリは、アドレスアレイとキャッシュ
    メモリとキャッシュメモリコントローラからなるローカ
    ルデータキャッシュメモリと、アドレスアレイとキャッ
    シュメモリとキャッシュメモリコントローラからなるリ
    モートデータキャッシュメモリからなり、 プロセッサからのアクセス要求アドレスに基づきアクセ
    ス要求が自ノードに対するアクセスか他ノードに対する
    アクセスかを判定し、該判定結果に基づき前記ローカル
    データキャッシュメモリかリモートデータキャッシュメ
    モリのいずれかにアクセスアドレスを出力するアクセス
    分離部を備え、自ノードに属するデータに対するアクセ
    スは前記ローカルデータキャッシュメモリに、他ノード
    に属するデータに対するアクセスは前記リモートデータ
    キャッシュメモリにアクセスすることを特徴とする並列
    計算機。
JP6174768A 1994-07-04 1994-07-04 並列計算機 Pending JPH0816470A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP6174768A JPH0816470A (ja) 1994-07-04 1994-07-04 並列計算機
US08/497,751 US5778429A (en) 1994-07-04 1995-07-03 Parallel processor system including a cache memory subsystem that has independently addressable local and remote data areas
US09/070,851 US6295579B1 (en) 1994-07-04 1998-05-01 Parallel processor system including a cache memory subsystem that has independently addressable local and remote data areas

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6174768A JPH0816470A (ja) 1994-07-04 1994-07-04 並列計算機

Publications (1)

Publication Number Publication Date
JPH0816470A true JPH0816470A (ja) 1996-01-19

Family

ID=15984336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6174768A Pending JPH0816470A (ja) 1994-07-04 1994-07-04 並列計算機

Country Status (2)

Country Link
US (2) US5778429A (ja)
JP (1) JPH0816470A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536611A (ja) * 2004-04-26 2007-12-13 エヌキューブ コーポレイション 拡張可能な情報流通システム用のキャッシュメモリ
JP2011511989A (ja) * 2008-04-02 2011-04-14 インテル・コーポレーション チップマルチプロセッサにおけるキャッシュの適応的編成方法
US9075725B2 (en) 2010-06-09 2015-07-07 Micron Technology, Inc. Persistent memory for processor main memory
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US6088769A (en) * 1996-10-01 2000-07-11 International Business Machines Corporation Multiprocessor cache coherence directed by combined local and global tables
US6044436A (en) * 1996-11-15 2000-03-28 Sony Corporation Recording/reproducing apparatus including file management information
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6324623B1 (en) * 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6574720B1 (en) 1997-05-30 2003-06-03 Oracle International Corporation System for maintaining a buffer pool
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US5950199A (en) * 1997-07-11 1999-09-07 International Business Machines Corporation Parallel file system and method for granting byte range tokens
US6223256B1 (en) * 1997-07-22 2001-04-24 Hewlett-Packard Company Computer cache memory with classes and dynamic selection of replacement algorithms
US6295584B1 (en) * 1997-08-29 2001-09-25 International Business Machines Corporation Multiprocessor computer system with memory map translation
US6226706B1 (en) 1997-12-29 2001-05-01 Samsung Electronics Co., Ltd. Rotation bus interface coupling processor buses to memory buses for interprocessor communication via exclusive memory access
US6128690A (en) * 1998-03-24 2000-10-03 Compaq Computer Corporation System for remote memory allocation in a computer having a verification table contains information identifying remote computers which are authorized to allocate memory in said computer
US6195730B1 (en) * 1998-07-24 2001-02-27 Storage Technology Corporation Computer system with storage device mapping input/output processor
US6779072B1 (en) * 2000-07-20 2004-08-17 Silicon Graphics, Inc. Method and apparatus for accessing MMR registers distributed across a large asic
US6831924B1 (en) 2000-07-20 2004-12-14 Silicon Graphics, Inc. Variable mode bi-directional and uni-directional computer communication system
US6839856B1 (en) 2000-07-20 2005-01-04 Silicon Graphics, Inc. Method and circuit for reliable data capture in the presence of bus-master changeovers
US7333516B1 (en) 2000-07-20 2008-02-19 Silicon Graphics, Inc. Interface for synchronous data transfer between domains clocked at different frequencies
US7248635B1 (en) 2000-07-20 2007-07-24 Silicon Graphics, Inc. Method and apparatus for communicating computer data from one point to another over a communications medium
US6681293B1 (en) 2000-08-25 2004-01-20 Silicon Graphics, Inc. Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US6792507B2 (en) 2000-12-14 2004-09-14 Maxxan Systems, Inc. Caching system and method for a network storage system
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US20030028514A1 (en) * 2001-06-05 2003-02-06 Lord Stephen Philip Extended attribute caching in clustered filesystem
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
ATE376691T1 (de) * 2002-02-22 2007-11-15 Neosera Systems Ltd Verfahren und prozessor zur parallelen verarbeitung einer logikereignis-simulation
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US20030200330A1 (en) * 2002-04-22 2003-10-23 Maxxan Systems, Inc. System and method for load-sharing computer network switch
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US20030220943A1 (en) * 2002-05-23 2003-11-27 International Business Machines Corporation Recovery of a single metadata controller failure in a storage area network environment
US7448077B2 (en) * 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
US8140622B2 (en) 2002-05-23 2012-03-20 International Business Machines Corporation Parallel metadata service in storage area network environment
US7010528B2 (en) * 2002-05-23 2006-03-07 International Business Machines Corporation Mechanism for running parallel application programs on metadata controller nodes
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
PL203206B1 (pl) * 2003-07-17 2009-09-30 Abb Spo & Lstrok Ka Z Ogranicz Układ zabezpieczający dla przekładników napięciowych średniego napięcia
JP2005332145A (ja) * 2004-05-19 2005-12-02 Nec Electronics Corp データ転送制御回路及びデータ転送方法
US7685365B2 (en) * 2004-09-30 2010-03-23 Intel Corporation Transactional memory execution utilizing virtual memory
US7426583B1 (en) * 2005-09-28 2008-09-16 Xilinx, Inc. Method and circuit for decoding an address of an address space
GB2481232A (en) * 2010-06-16 2011-12-21 Advanced Risc Mach Ltd Cache for a multiprocessor system which can treat a local access operation as a shared access operation
US8447932B2 (en) * 2010-06-22 2013-05-21 International Business Machines Corporation Recover store data merging
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US9032152B2 (en) 2013-03-22 2015-05-12 Applied Micro Circuits Corporation Cache miss detection filter
US9252131B2 (en) 2013-10-10 2016-02-02 Globalfoundries Inc. Chip stack cache extension with coherency
US20150370707A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Disunited shared-information and private-information caches
US9727239B2 (en) 2014-11-13 2017-08-08 Samsung Electronics Co., Ltd. Electronic system with partitioning mechanism and method of operation thereof
WO2017031637A1 (zh) * 2015-08-21 2017-03-02 华为技术有限公司 一种内存访问方法、装置和系统
US10042762B2 (en) * 2016-09-14 2018-08-07 Advanced Micro Devices, Inc. Light-weight cache coherence for data processors with limited data sharing

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US5317716A (en) * 1988-08-16 1994-05-31 International Business Machines Corporation Multiple caches using state information indicating if cache line was previously modified and type of access rights granted to assign access rights to cache line
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
JPH0589056A (ja) 1991-09-27 1993-04-09 Nec Corp マルチプロセツサ通信方式およびマルチプロセツサ通信装置
US5434986A (en) * 1992-01-09 1995-07-18 Unisys Corporation Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction
US5522058A (en) * 1992-08-11 1996-05-28 Kabushiki Kaisha Toshiba Distributed shared-memory multiprocessor system with reduced traffic on shared bus
DE4423559A1 (de) * 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
US5577204A (en) * 1993-12-15 1996-11-19 Convex Computer Corporation Parallel processing computer system interconnections utilizing unidirectional communication links with separate request and response lines for direct communication or using a crossbar switching device
US5829052A (en) * 1994-12-28 1998-10-27 Intel Corporation Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
US5900020A (en) * 1996-06-27 1999-05-04 Sequent Computer Systems, Inc. Method and apparatus for maintaining an order of write operations by processors in a multiprocessor computer to maintain memory consistency
US5937431A (en) * 1996-07-12 1999-08-10 Samsung Electronics Co., Ltd. Multi- node, multi-level cache- only memory architecture with relaxed inclusion

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536611A (ja) * 2004-04-26 2007-12-13 エヌキューブ コーポレイション 拡張可能な情報流通システム用のキャッシュメモリ
US7970999B2 (en) 2004-04-26 2011-06-28 Arris Group Cache memory for a scalable information distribution system
JP2011511989A (ja) * 2008-04-02 2011-04-14 インテル・コーポレーション チップマルチプロセッサにおけるキャッシュの適応的編成方法
US9075725B2 (en) 2010-06-09 2015-07-07 Micron Technology, Inc. Persistent memory for processor main memory
US9384134B2 (en) 2010-06-09 2016-07-05 Micron Technology, Inc. Persistent memory for processor main memory
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories

Also Published As

Publication number Publication date
US6295579B1 (en) 2001-09-25
US5778429A (en) 1998-07-07

Similar Documents

Publication Publication Date Title
JPH0816470A (ja) 並列計算機
US6510496B1 (en) Shared memory multiprocessor system and method with address translation between partitions and resetting of nodes included in other partitions
US8250254B2 (en) Offloading input/output (I/O) virtualization operations to a processor
JP2977688B2 (ja) マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
JP3470951B2 (ja) 非一様メモリ・アクセス・コンピュータ・システム及びその操作方法
US6038644A (en) Multiprocessor system with partial broadcast capability of a cache coherent processing request
JP2819982B2 (ja) 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
JP3512910B2 (ja) 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
US5574862A (en) Multiprocessing system with distributed input/output management
JP3748774B2 (ja) キャッシュコヒーレンス共用ディスクコンピュータシステムにおけるi/o転送
EP0603801A2 (en) Generalized shared memory in a cluster architecture for a computer system
JPH11120116A5 (ja)
JPH10187470A (ja) スピンロック動作を最適化する装置を含むマルチプロセス・システム
JPH1185710A (ja) サーバ装置およびファイル管理方法
CN120407201B (zh) 内存资源的分配方法、装置、电子设备、介质及产品
CN117806526A (zh) 数据迁移方法、装置、芯片以及计算机可读存储介质
JPH10301850A (ja) データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム
US6961837B2 (en) Method and apparatus for address translation pre-fetch
EP4453706A1 (en) Coherent block read fulfillment
JPH09311820A (ja) マルチプロセッサシステム
US6301648B1 (en) Method and apparatus for processing memory accesses utilizing a TLB
CN118331512B (zh) 一种基于存储控制卡的处理方法和装置
CN119396764B (zh) 一种芯片互联方法、装置、电子设备及存储介质
JP2006164218A (ja) ストレージシステム及びそのキャッシュ制御方法
JPH05233510A (ja) 文字データ管理方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050726