JP2000298653A - 並列計算機システムにおけるキャッシュ一貫性保証方法及びその並列計算機 - Google Patents

並列計算機システムにおけるキャッシュ一貫性保証方法及びその並列計算機

Info

Publication number
JP2000298653A
JP2000298653A JP11106193A JP10619399A JP2000298653A JP 2000298653 A JP2000298653 A JP 2000298653A JP 11106193 A JP11106193 A JP 11106193A JP 10619399 A JP10619399 A JP 10619399A JP 2000298653 A JP2000298653 A JP 2000298653A
Authority
JP
Japan
Prior art keywords
access right
cache
memory
processor
node
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
JP11106193A
Other languages
English (en)
Inventor
Hideya Akashi
英也 明石
Naoki Hamanaka
直樹 濱中
Tetsuhiko Okada
哲彦 岡田
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 JP11106193A priority Critical patent/JP2000298653A/ja
Publication of JP2000298653A publication Critical patent/JP2000298653A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 他プロセッサノードとのキャッシュ一致制御
の頻度を少くし、システムのメモリアクセススループッ
トを向上させる 【解決手段】 アクセス権メモリ及びアクセス権制御回
路をノード制御回路内に設け、自ノードからのメモリア
クセス時に、まずアクセス権メモリをチェックし、自ノ
ードが既にアクセス権を持っている場合に他ノードのキ
ャッシュ一致制御を省略する。また、アクセス権メモリ
の各エントリに、当該ラインが他ノード内のアクセス権
メモリに登録されている可能性があることを示すCCビ
ットを設け、自ノードのアクセス発行時にアクセス権メ
モリをチェックした結果、当該ラインがアクセス権メモ
リに登録されているにも係らず自ノードにアクセス権が
存在しない場合、CCビットが1であるノードのみにキ
ャッシュ一致制御要求を発行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムに
おけるキャッシュメモリの一貫性制御に係り、特に、並
列計算機システムにおいて複数プロセッサ間のキャッシ
ュメモリ間の一貫性制御を行う方法に関する。
【0002】
【従来の技術】大規模集積回路の設計プロセス微細化に
よる周波数向上、方式改良による処理効率向上に伴っ
て、マイクロプロセッサの性能は年々向上している。こ
れに伴い、マイクロプロセッサに接続するメモリシステ
ムのアクセススループット向上、及び、アクセスレイテ
ンシ短縮の必要性が高まっている。
【0003】メモリシステムの性能を向上させる方法と
して、キャッシュメモリを用いる方式が一般化してい
る。キャッシュメモリは、主メモリと比較して小容量で
はあるが、アクセススループットが高くアクセスレイテ
ンシの短いメモリである。キャッシュメモリをプロセッ
サと主メモリの間に配置し、主メモリの内容の一部をキ
ャッシュメモリに一時的に保持させる。プロセッサのメ
モリアクセス処理時に、キャッシュメモリ内に保持され
たデータについてはキャッシュメモリからデータを供給
することで、主メモリからデータを供給する場合と比較
し高スループット、低レイテンシでデータ供給が可能と
なる。
【0004】単一プロセッサで実現できない計算機性能
を得るためには、以上に述べたプロセッサ複数をバス又
はネットワークで接続したマルチプロセッサシステムを
構成する。マルチプロセッサシステムでは、複数のプロ
セッサが共通のメモリ(共有メモリ)をアクセスし、処
理を進める。この様なシステムでは、あるプロセッサが
メモリアクセスを発行すると、他の全プロセッサのキャ
ッシュ上で最新データの存在等のチェックを行い、全プ
ロセッサのキャッシュの一貫性を保証しなければならな
い。この処理は、キャッシュ一致制御(スヌープ)と呼
ばれる。
【0005】参考文献「SCALABLE SHARE
D−MEMORY MULTIPROCESSING
(DANIEL E. LENOSKI他、Morga
n Kaufmann Publishers発行)」
のp.16〜p.19には、複数プロセッサを結合する
システムにおいてキャッシュ一致制御を行う方法が記載
されている。この例では、あるプロセッサが発行したメ
モリアクセスを全てのプロセッサへと転送し、全プロセ
ッサのキャッシュ上で最新データの存在等のチェックを
行い、キャッシュの一貫性を保証する。
【0006】
【発明が解決しようとする課題】従来技術によるマルチ
プロセッサシステムでは、キャッシュの一貫性を保証す
るために、プロセッサのメモリアクセスを全プロセッサ
にブロードキャストし、システム内の全プロセッサでキ
ャッシュ一致制御処理を行う必要がある。
【0007】特に、マルチプロセッサシステムのプロセ
ッサ台数が増加すると、各プロセッサが受けるキャッシ
ュ一致制御要求量はプロセッサ台数に比例して増大す
る。このため、各プロセッサのキャッシュ一致制御処理
量が増大し、プロセッサのキャッシュアクセスが阻害さ
れる点、及び、システム内の全プロセッサを接続するネ
ットワーク上で転送されるキャッシュ一致制御要求が増
大し、ネットワークが飽和する点の問題が生じる。
【0008】このため、システム内で発行されるキャッ
シュ一致制御要求量を削減する方式が必要となる。
【0009】
【課題を解決するための手段】上記目的を達成するため
の本発明の特徴は、複数のプロセッサまたは複数のI/
Oデバイスからアクセスされる共有メモリを有し、前期
プロセッサまたはI/Oデバイスは複数のノードに分割
されいる並列計算機システムのキャッシュ一貫性保証方
法であって、共有メモリ上のあるブロックに対するアク
セス権が自ノードに存在することを示すアクセス権エン
トリを複数登録する、各ノード毎に準備されたアクセス
権メモリを用い、複数プロセッサ又は複数I/Oデバイ
スからアクセスされる共有メモリのアクセス権を制御す
るキャッシュ一貫性保証装置であって、前記キャッシュ
一貫性保証装置は、システム内の全プロセッサ又はI/
Oデバイスを複数のノードに分割した各ノード毎に、共
有メモリ上のあるブロックに対するアクセス権が自ノー
ドに存在することを示すアクセス権エントリを複数登録
するアクセス権メモリをノード毎に持ち、キャッシュ一
致制御を必要とするプロセッサ又はI/Oデバイスの共
有メモリアクセス時に、当該プロセッサ又はI/Oデバ
イスを含むノードがアクセス対象の共有メモリブロック
のアクセス権を保持する場合には、他ノード上のキャッ
シュメモリのキャッシュ一致制御を行うことなく共有メ
モリブロックをアクセスし、キャッシュ一致制御を必要
とするプロセッサ又はI/Oデバイスの共有メモリアク
セス時に、当該プロセッサ又はI/Oデバイスを含むノ
ードがアクセス対象の共有メモリブロックのアクセス権
を保持しない場合には、他ノード上のキャッシュメモリ
のキャッシュ一致制御を行うと共に、必要に応じて共有
メモリブロックをアクセスするようにしたことにある。
【0010】また、より詳細には、前記アクセス権メモ
リは、共有メモリのブロックアドレスの一部をアクセス
権エントリアドレス、共有メモリのブロックアドレスの
うち、アクセス権エントリアドレス以外の部分をアクセ
ス権エントリタグとし、アクセス権エントリタグ及びア
クセス権状態を格納するアクセス権エントリを一又は複
数をアクセス権メモリの同一アクセス権エントリアドレ
スに記憶するようにしている。
【0011】また、前記キャッシュ一貫性保証装置は、
アクセス権メモリのアクセス時に、共有メモリのブロッ
クアドレスから求めたアクセス権エントリアドレスを用
いてアクセス権メモリを読み出し、当該アクセス権エン
トリアドレス内の複数アクセス権エントリ内に存在する
アクセス権エントリタグ部と、共有メモリのブロックア
ドレスから求めたアクセス権エントリタグが一致したア
クセス権エントリに存在するアクセス権状態を当該ノー
ドが有するようにしている。
【0012】また、前記キャッシュ一貫性保証装置にお
いて、前記アクセス権状態は、アクセス権無、共有アク
セス権有、排他アクセス権有の3状態を有するようにし
ている。この場合、プロセッサ又はI/Oデバイスがキ
ャッシュ一致制御を必要とする共有メモリ読み出しを発
行した時に、当該プロセッサ又はI/Oデバイスを有す
るノードのアクセス権メモリを検索し、共有メモリのア
クセス対象ブロックに対応するアクセス権エントリが存
在しない場合、又は、共有メモリのアクセス対象ブロッ
クに対応するアクセス権エントリが存在し、当該アクセ
ス権エントリのアクセス権状態がアクセス権無の場合、
他の全ノード上のプロセッサ及びI/Oデバイスに存在
するキャッシュの一致制御を行い、共有メモリのアクセ
ス対象ブロックに対応するアクセス権エントリが存在
し、当該アクセス権エントリのアクセス権状態が共有ア
クセス権有又は排他アクセス権有の場合、他のノード上
のプロセッサ及びI/Oデバイスに存在するキャッシュ
の一致制御を行わないこととしている。
【0013】さらに、他ノードから共有メモリ読み出し
によるキャッシュ一致制御要求を受けた時に、自ノード
上のプロセッサ及びI/Oデバイスに存在するキャッシ
ュの一致制御を行うと共に、当該ノードのアクセス権メ
モリを検索し、キャッシュ一致制御要求の対象ブロック
に対応するアクセス権エントリが存在し、当該アクセス
権エントリのアクセス権状態が共有アクセス権有又は排
他アクセス権有の場合、当該アクセス権状態をアクセス
権無に変更するか、他ノードから共有メモリ読み出しに
よるキャッシュ一致制御要求を受けた時に、自ノード上
のプロセッサ及びI/Oデバイスに存在するキャッシュ
の一致制御を行うと共に、当該ノードのアクセス権メモ
リを検索し、キャッシュ一致制御要求の対象ブロックに
対応するアクセス権エントリが存在し、当該アクセス権
エントリのアクセス権状態が排他アクセス権有の場合、
当該アクセス権状態を共有アクセス権有に変更すること
としている。
【0014】プロセッサ又はI/Oデバイスがキャッシ
ュ一致制御を必要とする共有メモリ読み出しを発行し、
他ノードのキャッシュ一致制御要求を発行した結果他の
全ノードが当該共有メモリブロックのアクセス権を持た
ない場合に、自ノードのアクセス権を排他アクセス権有
としてアクセス権メモリに登録し、他ノードのキャッシ
ュ一致制御要求を発行した結果他の最低1つのノードが
当該共有メモリブロックの共有アクセス権を持つ場合
に、自ノードのアクセス権を共有アクセス権有としてア
クセス権メモリに登録することとしている。
【0015】また、プロセッサ又はI/Oデバイスがキ
ャッシュ一致制御を必要とする共有メモリ書込み又は無
効化を伴う読み出しを発行した時に、当該プロセッサ又
はI/Oデバイスを有するノードのアクセス権メモリを
検索し、共有メモリのアクセス対象ブロックに対応する
アクセス権エントリが存在しない場合、又は、共有メモ
リのアクセス対象ブロックに対応するアクセス権エント
リが存在し、当該アクセス権エントリのアクセス権状態
がアクセス権無又は共有アクセス権有の場合、他の全ノ
ード上のプロセッサ及びI/Oデバイスに存在するキャ
ッシュの一致制御を行い、共有メモリのアクセス対象ブ
ロックに対応するアクセス権エントリが存在し、当該ア
クセス権エントリのアクセス権状態が排他アクセス権有
の場合、他のノード上のプロセッサ及びI/Oデバイス
に存在するキャッシュの一致制御を行わないこととして
いる。
【0016】他ノードから共有メモリ書込み又は無効化
を伴う読み出しによるキャッシュ一致制御要求を受けた
時に、自ノード上のプロセッサ及びI/Oデバイスに存
在するキャッシュの一致制御を行うと共に、当該ノード
のアクセス権メモリを検索し、キャッシュ一致制御要求
の対象ブロックに対応するアクセス権エントリが存在す
る場合、当該アクセス権状態をアクセス権無に変更する
こととしている。
【0017】また、プロセッサ又はI/Oデバイスがキ
ャッシュ一致制御を必要とする共有メモリ書込み又は無
効化を伴う読み出しを発行し、他ノードのキャッシュ一
致制御要求を発行した結果他の全ノードが当該共有メモ
リブロックのアクセス権を持たない場合に、自ノードの
アクセス権を排他アクセス権有としてアクセス権メモリ
に登録することとしている。
【0018】また、アクセス権状態は、アクセス権無、
共有アクセス権有の2状態を有することとしてもよい。
この場合、プロセッサ又はI/Oデバイスがキャッシュ
一致制御を必要とする共有メモリ読み出しを発行した時
に、当該プロセッサ又はI/Oデバイスを有するノード
のアクセス権メモリを検索し、共有メモリのアクセス対
象ブロックに対応するアクセス権エントリが存在しない
場合、又は、共有メモリのアクセス対象ブロックに対応
するアクセス権エントリが存在し、当該アクセス権エン
トリのアクセス権状態がアクセス権無の場合、他の全ノ
ード上のプロセッサ及びI/Oデバイスに存在するキャ
ッシュの一致制御を行い、共有メモリのアクセス対象ブ
ロックに対応するアクセス権エントリが存在し、当該ア
クセス権エントリのアクセス権状態が共有アクセス権有
の場合、他のノード上のプロセッサ及びI/Oデバイス
に存在するキャッシュの一致制御を行わないこととして
いる。
【0019】他ノードから共有メモリ読み出しによるキ
ャッシュ一致制御要求を受けた時に、自ノード上のプロ
セッサ及びI/Oデバイスに存在するキャッシュの一致
制御を行うと共に、当該ノードのアクセス権メモリを検
索し、キャッシュ一致制御要求の対象ブロックに対応す
るアクセス権エントリが存在し、当該アクセス権エント
リのアクセス権状態が共有アクセス権有の場合、当該ア
クセス権状態を共有アクセス権有のまま保つこととして
いる。
【0020】プロセッサ又はI/Oデバイスがキャッシ
ュ一致制御を必要とする共有メモリ読み出しを発行し、
他ノードのキャッシュ一致制御要求を発行した結果、自
ノードのアクセス権を共有アクセス権有としてアクセス
権メモリに登録することとしている。
【0021】また、前記アクセス権状態は、アクセス権
無、排他アクセス権有の2状態を有することとしてもよ
い。この場合、プロセッサ又はI/Oデバイスがキャッ
シュ一致制御を必要とする共有メモリ読み出しを発行し
た時に、当該プロセッサ又はI/Oデバイスを有するノ
ードのアクセス権メモリを検索し、共有メモリのアクセ
ス対象ブロックに対応するアクセス権エントリが存在し
ない場合、又は、共有メモリのアクセス対象ブロックに
対応するアクセス権エントリが存在し、当該アクセス権
エントリのアクセス権状態がアクセス権無の場合、他の
全ノード上のプロセッサ及びI/Oデバイスに存在する
キャッシュの一致制御を行い、共有メモリのアクセス対
象ブロックに対応するアクセス権エントリが存在し、当
該アクセス権エントリのアクセス権状態が排他アクセス
権有の場合、他のノード上のプロセッサ及びI/Oデバ
イスに存在するキャッシュの一致制御を行わないことと
している。
【0022】他ノードから共有メモリ読み出しによるキ
ャッシュ一致制御要求を受けた時に、自ノード上のプロ
セッサ及びI/Oデバイスに存在するキャッシュの一致
制御を行うと共に、当該ノードのアクセス権メモリを検
索し、キャッシュ一致制御要求の対象ブロックに対応す
るアクセス権エントリが存在し、当該アクセス権エント
リのアクセス権状態が排他アクセス権有の場合、当該ア
クセス権状態をアクセス権無に変更することとしてい
る。
【0023】プロセッサ又はI/Oデバイスがキャッシ
ュ一致制御を必要とする共有メモリ読み出しを発行し、
他ノードのキャッシュ一致制御要求を発行した結果他の
全ノードが当該共有メモリブロックのアクセス権を持た
ない場合に、自ノードのアクセス権を排他アクセス権有
としてアクセス権メモリに登録することとしている。
【0024】プロセッサ又はI/Oデバイスがキャッシ
ュ一致制御を必要とする共有メモリ書込みを発行した時
に、当該プロセッサ又はI/Oデバイスを有するノード
のアクセス権メモリを検索し、共有メモリのアクセス対
象ブロックに対応するアクセス権エントリが存在しない
場合、又は、共有メモリのアクセス対象ブロックに対応
するアクセス権エントリが存在し、当該アクセス権エン
トリのアクセス権状態がアクセス権無の場合、他の全ノ
ード上のプロセッサ及びI/Oデバイスに存在するキャ
ッシュの一致制御を行い、共有メモリのアクセス対象ブ
ロックに対応するアクセス権エントリが存在し、当該ア
クセス権エントリのアクセス権状態が排他アクセス権有
の場合、他のノード上のプロセッサ及びI/Oデバイス
に存在するキャッシュの一致制御を行わないこととして
いる。
【0025】他ノードから共有メモリ書込みによるキャ
ッシュ一致制御要求を受けた時に、自ノード上のプロセ
ッサ及びI/Oデバイスに存在するキャッシュの一致制
御を行うと共に、当該ノードのアクセス権メモリを検索
し、キャッシュ一致制御要求の対象ブロックに対応する
アクセス権エントリが存在する場合、当該アクセス権状
態をアクセス権無に変更することとしている。
【0026】プロセッサ又はI/Oデバイスがキャッシ
ュ一致制御を必要とする共有メモリ書込みを発行し、他
ノードのキャッシュ一致制御要求を発行した結果他の全
ノードが当該共有メモリブロックのアクセス権を持たな
い場合に、自ノードのアクセス権を排他アクセス権有と
してアクセス権メモリに登録することとしている。
【0027】また、前記キャッシュ一貫性保証装置は、
各アクセス権エントリに当該共有メモリブロックが自ノ
ード内の一又は複数のプロセッサ又はI/Oデバイスに
キャッシングされていることを示すビットを設けること
ができる。
【0028】また、各アクセス権エントリに、当該共有
メモリブロックが自ノード内の一又は複数のプロセッサ
又はI/Oデバイスにキャッシングされていること、及
び、当該共有メモリブロックのキャッシング状態を示す
フィールドを設けることができる。
【0029】また、各アクセス権エントリに、当該共有
メモリブロックをアクセス権メモリに登録している可能
性があるか、又は、当該共有メモリブロックをキャッシ
ングしている可能性がある他ノードを特定するフィール
ドを設け、自ノード内のプロセッサ又はI/Oデバイス
がキャッシュ一致制御を必要とする共有メモリアクセス
を発行した時に、自ノードのアクセス権メモリを検索
し、共有メモリのアクセス対象ブロックに対応するアク
セス権エントリが存在し、かつ、他ノードのキャッシュ
一致制御が必要となった場合に、前記フィールドの情報
に基づき、当該共有メモリブロックをアクセス権メモリ
に登録している可能性があるか、又は、当該共有メモリ
ブロックをキャッシングしている可能性がある他ノード
のみにキャッシュ一致制御要求を発行することも可能で
ある。
【0030】さらに、各アクセス権エントリに設けた当
該共有メモリブロックをアクセス権メモリに登録してい
る可能性があるか、又は、当該共有メモリブロックをキ
ャッシングしている可能性がある他ノードを特定するフ
ィールドは、自ノード内プロセッサ又はI/Oデバイス
が当該共有メモリブロックをアクセスし、他ノードにキ
ャッシュ一致制御要求を送付した結果、キャッシュ一致
制御要求を受けた他ノードが各々当該共有メモリブロッ
クをアクセス権メモリに登録していること、又は、当該
共有メモリブロックをキャッシングしていることを示す
情報を返送し、これらの情報を集めて生成されることと
している。
【0031】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。
【0032】(実施の形態例1)まず、本発明の第1の
実施の形態を図1〜6を用いて説明する。
【0033】図1は、本発明に係る並列計算機を示す。
図1の並列計算機は、8個のプロセッサノード100a
〜100b、4個のメモリノード175a〜175b、
4個のI/Oノード185a〜185bをネットワーク
170で接続した構成をとる。
【0034】プロセッサノード100a〜100bは、
CPUバス115で接続された複数のプロセッサ105
a−1〜105a−2、プロセッサノード制御回路15
0、アクセス権メモリ125から構成される。
【0035】各プロセッサは、プロセッサ内部(又はプ
ロセッサ外部であって、プロセッサコアからCPUバス
115以外の信号線を介した一時記憶装置)にキャッシ
ュメモリ110a−1〜110a−2を有する。
【0036】プロセッサノード制御回路150は、プロ
セッサとの信号の授受を行うCPUバスインターフェイ
ス118、ネットワーク170との信号の授受を行うネ
ットワークインターフェイス155、アクセス権メモリ
125の制御を行うアクセス権制御回路120からな
る。
【0037】メモリノード175a〜175bは、並列
計算機の主記憶装置を構成する。並列計算機内の物理メ
モリアドレス空間は、全プロセッサノード100a〜1
00bにより共有される。物理メモリアドレス空間は4
分割され、分割された各領域が各メモリノード175a
〜175bに分散して配置される。
【0038】I/Oノード185a〜185bは、並列
計算機の入出力装置を構成する。並列計算機内の物理I
/Oアドレス空間は、全プロセッサノード100a〜1
00bにより共有される。物理I/Oアドレス空間は4
分割され、分割された各領域が各I/Oノード185a
〜185bに分散して配置される。
【0039】各プロセッサノード100a〜100b上
の各プロセッサ105a−1〜105a−2は、メモリ
及びI/Oをアクセスしながらプログラムの処理を進め
る。I/Oノード185a〜185bは、I/Oアクセ
スによって渡されるプロセッサ105a−1〜105a
−2の指示に従い、必要に応じてメモリをアクセスしな
がらI/O処理を行う。プロセッサ105a−1〜10
5a−2は、メモリの内容を内部キャッシュメモリ11
0a−1〜110a−2にキャッシング可能である。
【0040】本実施の形態例では、プロセッサノード1
00a〜100bが、メモリノード175a〜175b
上のメモリをアクセスする場合にのみ当該メモリライン
のアクセス権を得ることができるものとする。このた
め、本発明が適用されるのは、プロセッサノードがメモ
リノードをアクセスする場合のみとなる。よって、以後
I/Oノードに対するアクセス処理は除外して説明す
る。
【0041】また、本実施の形態例では、I/Oノード
はアクセス権メモリを持たないものとする。このため、
I/Oノードがメモリの内容をアクセスする場合、必ず
プロセッサノード内のキャッシュメモリの一致制御を行
う。I/Oノードは、アクセス権を持たないプロセッサ
ノードと同様のメモリアクセストランザクションを用い
てこれを実現する。よって、以後I/Oノードからのア
クセス処理は除外して説明する。
【0042】一方、I/Oノードがアクセス権メモリを
持つ場合には、プロセッサノードと同様の動作を行えば
よい。
【0043】本実施の形態例では、内部キャッシュ11
0a−1〜110a−2は公知の方式であるMESIプ
ロトコルに基づき動作するものとする。MESIプロト
コルでは、複数のプロセッサがメモリの同一ラインを共
有状態(Shared)でキャッシング可能である。一
方、最新のライン(Modified)、又は、排他ラ
イン(Exclusive)は、いずれか1つのプロセ
ッサのみがキャッシング可能であり、他のプロセッサは
当該ラインをキャッシングできない(Invali
d)。
【0044】これを実現するために、対象ラインのアク
セス権を持たないプロセッサノード上のプロセッサが発
行する全てのメモリアクセス要求は、要求元以外の全プ
ロセッサノード及びアクセス対象のメモリノードに配布
され、それぞれのプロセッサノードでキャッシュ一致制
御、対象メモリノードでメモリアクセスが行われる。次
に各プロセッサノード内のキャッシュ一致制御結果がま
とめられて全プロセッサノードのキャッシュ一致制御結
果が生成され、要求元プロセッサノードに送付される。
【0045】例えば、メモリ読み出しの場合、全プロセ
ッサノードがメモリ読み出し要求を受け、プロセッサノ
ード内の全プロセッサのキャッシュ一致制御を行う。す
なわち、各プロセッサは、キャッシュ内に最新ライン
(Modified)が存在する場合、当該ラインを書
き戻して当該ラインを無効化(Invalid)し、排
他ライン(Exclusive)が存在する場合、当該
ラインを共有ライン(Shared)に変更する。この
結果、全プロセッサにおける当該ラインの状態はInv
alid又はSharedとなる。要求元プロセッサノ
ードは他の全プロセッサのキャッシュ状態がInval
idとなった場合、自プロセッサのキャッシュ状態をE
xclusiveとする。一方、いずれかのプロセッサ
のキャッシュ状態がSharedとなった場合、自プロ
セッサのキャッシュ状態をSharedとする。
【0046】また、プロセッサがメモリ書込み命令を実
行する時に発行されるメモリ読み出し&無効化要求(詳
細は後述)の場合、全プロセッサノードがメモリ読み出
し&無効化要求を受け、プロセッサノード内の全プロセ
ッサのキャッシュ一致制御を行う。すなわち、各プロセ
ッサは、キャッシュ内に最新ライン(Modifie
d)が存在する場合、当該ラインを書き戻して無効化
(Invalid)し、共有ライン(Shared)ま
たは排他ライン(Exclusive)が存在する場
合、当該ラインを無効化(Invalid)する。この
結果、全プロセッサにおける当該ラインの状態はInv
alidとなる。要求元プロセッサノードは、自プロセ
ッサノードのキャッシュ状態をExclusiveと
し、その後書込みを行ってModifiedに変更す
る。
【0047】本実施の形態例では、以上と同じ機能を効
率良く実現するために、各プロセッサノード100aに
おけるラインのアクセス権を、アクセス権メモリ125
に登録する。アクセス権は、アクセス権無、共有アクセ
ス権、排他アクセス権の3種類が存在する。
【0048】アクセス権無は、自プロセッサノードが当
該ラインのアクセス権を持たず、他プロセッサノード上
のプロセッサが当該ラインをShared、Exclu
sive、Modifiedのいずれかの状態でキャッ
シングしている可能性があることを示す。従って、自プ
ロセッサノードのメモリアクセス時に、他プロセッサノ
ードのキャッシュ一致制御を行う必要がある。
【0049】共有アクセス権は、自プロセッサノードは
当該ラインのアクセス権を持つが、他プロセッサノード
上のプロセッサが当該ラインをShared状態でキャ
ッシングしている可能性があることを示す。従って、自
プロセッサノードのメモリ読み出し時には、他プロセッ
サノードのキャッシュ一致制御を省略できる。一方、自
プロセッサノードのメモリ書込み時には、他プロセッサ
ノード上のプロセッサのキャッシュ一致制御を行う必要
がある。
【0050】排他アクセス権は、自プロセッサノードが
当該ラインのアクセス権を持ち、他プロセッサノード上
のプロセッサは当該ラインをキャッシングしていないこ
とを示す。従って、自プロセッサノードのメモリアクセ
ス時に、他プロセッサノード上のプロセッサのキャッシ
ュ一致制御は不要である。
【0051】以下に、プロセッサのメモリアクセス処理
を、メモリ読み出し命令を例に概説する(詳細な説明は
後述)。
【0052】(1) プロセッサ(105a−1とする)は
メモリ読み出し命令の実行時に、内部キャッシュ110
a−1にこの命令に対応するラインが存在するかどうか
をチェックする。内部キャッシュ110a−1に対応す
るラインが存在する場合、このライン内の当該データを
読み出し結果として使用する(終了)。内部キャッシュ
に対応するラインが存在しない場合、 プロセッサ10
5a−1はCPUバス115を介してメモリ読み出し要
求をプロセッサノード制御回路150に発行する。(2)
プロセッサノード制御回路150は、メモリ読み出し要
求を受けるとアクセス権メモリ125(アクセス権制御
回路120により制御される)内に対応するラインのア
クセス権が存在するかどうかチェックする。アクセス権
メモリ内に対応するラインのアクセス権が存在する場
合、プロセッサ制御回路はネットワーク170を介して
メモリ読み出し要求をアクセスアドレスに対応するメモ
リノード(175a)に発行する((3) は実行しな
い)。アクセス権メモリ125内に対応するラインが存
在しない場合、プロセッサ制御回路150は、ネットワ
ーク170を介してメモリ読み出し要求を他プロセッサ
ノード100b及びアクセスアドレスに対応するメモリ
ノード(175aとする)に発行する。
【0053】・アクセス権メモリ125をアクセスし、
当該プロセッサノードに当該ラインのアクセス権が保持
されているかをチェックする。アクセス権が保持されて
いる場合、アクセス権を共有又は無効状態に変更する。
【0054】・当該プロセッサノード100b内のCP
Uバス115へキャッシュ一致制御を発行する。この
後、アクセス権及びプロセッサのキャッシュ一致制御結
果からプロセッサノード100bのキャッシュ一致制御
結果を生成し、ネットワーク170に報告する。
【0055】・上記において、当該メモリ読み出し要求
に対応する最新ラインがプロセッサノード100b内の
内部キャッシュに存在した場合、ネットワーク170を
介して要求元プロセッサノード100aに最新ラインを
転送する。
【0056】(4) メモリ読み出し要求を受けたメモリノ
ード175aは、メモリ読み出し要求のアドレスに対応
するラインをメモリから読み出し、ネットワーク170
を介して要求元プロセッサノード100aに転送する。
【0057】(5) ネットワーク170は、全プロセッサ
ノードから受けたキャッシュ一致制御結果をまとめ、こ
れを要求元プロセッサノード100aに転送する。ま
た、(3)、(4)で示した最新ライン及びメモリデータの転
送を行う。
【0058】(6) 要求元プロセッサノード100aは、
キャッシュ一致制御結果に応じて共有又は占有アクセス
権をアクセス権メモリ125に登録すると共に、CPU
バス115を介してプロセッサ105a−1に送出す
る。プロセッサ105a−1は、このラインを内部キャ
ッシュ100a−1に登録すると共に、ライン内の読み
出しデータを使用する。(終了)本実施の形態例では、
プロセッサノード100a内にアクセス権メモリ125
及びアクセス権制御回路120を設け、ラインに対する
以前のキャッシュ一致制御結果をアクセス権メモリ12
5に登録しておき、自プロセッサノード100aがメモ
リアクセスを行う際に、まずアクセス権メモリ125を
チェックし、自プロセッサノード100aがアクセス権
を保持しており他プロセッサノードのキャッシュ一致制
御が不要な場合には、他プロセッサノードのキャッシュ
一致制御を行わずにメモリアクセスを行うことで、ネッ
トワーク170上で転送されるメモリアクセストランザ
クションのトラフィック量、及び、各プロセッサノード
が受けるキャッシュ一致制御処理の頻度を低下させる点
に特徴がある。これにより、同一ネットワーク170を
用いた時に、従来と比較しより多くのトランザクション
をネットワーク170を介して転送可能となり、システ
ムの実効スループットを向上することができる。
【0059】また、従来と比較しプロセッサバス115
に発行されるキャッシュ一致制御処理の頻度を削減可能
であり、プロセッサバスの実効スループットを向上する
ことができる。
【0060】以下、本実施の形態例を詳しく説明する。
【0061】本実施の形態例の並列計算機は、32bi
tアドレス空間(4GB)を持つ。内部キャッシュメモ
リ及び外部キャッシュメモリのキャッシュラインサイズ
は32Bであり、アクセス権メモリ125の容量は4M
Bとする。内部キャッシュメモリの容量はプロセッサノ
ード内で合計1MBとする。アクセス権メモリは2ウェ
イセットアソシアティブ方式を採用する。このため、ラ
インアドレスは16bit(32B×64Kエントリ×
2ウェイ=4MB)となる。
【0062】プロセッサ外部においては、メモリ領域
(メモリノード0〜3上のアドレス空間)は キャッシ
ュライン単位でアクセスされる。プロセッサの発行する
メモリアクセスには、メモリ読み出し(RD:Rea
D)トランザクション、メモリ読み出し&無効化(R
I:Read and Invalidate)トランザ
クション、メモリ書き戻し(WB:Write Bac
k)トランザクションの3種類が存在する。これらのト
ランザクションを以下に説明する。
【0063】(メモリ読み出しトランザクション)プロ
セッサ105a−1〜105a−2のメモリ読み出し命
令(LD命令)実行時に内部キャッシュ100a−1〜
100a−2に当該ラインが格納されていない場合、当
該プロセッサはメモリ読み出し(RD)トランザクショ
ンをCPUバス115に対して発行する。
【0064】RDトランザクションには、メモリ読み出
し対象アドレスが付加されている。システムは、メモ
リ、又は、他プロセッサノード上のキャッシュメモリか
ら当該ラインを読み出し、発行元プロセッサに返送す
る。
【0065】RDトランザクション発行の結果、発行元
プロセッサノードの当該ラインに対するアクセス権は、
共有又は排他アクセス権となる。
【0066】RDトランザクション受付の結果、発行元
以外のプロセッサノードの当該ラインに対するアクセス
権は、アクセス権無又は共有アクセス権となる。
【0067】(メモリ読み出し&無効化トランザクショ
ン)プロセッサ105a−1〜105a−2のメモリ書
込み命令(ST命令)実行時に内部キャッシュ100a
−1〜100a−2に当該ラインが格納されていない場
合、または、当該ラインがS状態で格納されている場
合、当該プロセッサはメモリ読み出し&無効化(RI)
トランザクションを発行する。
【0068】RIトランザクションは、他プロセッサ上
のキャッシュに格納された当該ラインを無効化すると共
に、発行元プロセッサに当該ラインの読み出し結果を返
すトランザクションであり、発行元プロセッサは、RI
トランザクションで排他的に読み出した当該ラインに対
して内部キャッシュ100a−1〜100a−2上で書
込みを行うことができる。
【0069】RIトランザクションにはメモリ読み出し
&無効化対象アドレスが付加される。システムは、メモ
リ、又は、他プロセッサノード上のキャッシュから当該
ラインを読み出し、発行元プロセッサに返送すると共
に、他のプロセッサ上の内部キャッシュ110a−1〜
110a−2に格納されている当該ラインを無効化す
る。
【0070】RIトランザクション発行の結果、発行元
プロセッサノードの当該ラインに対するアクセス権は、
排他アクセス権となる。
【0071】RIトランザクション受付の結果、発行元
以外のプロセッサノードの当該ラインに対するアクセス
権は、アクセス権無となる。
【0072】(メモリ書き戻しトランザクション)プロ
セッサ105a−1〜105a−2が以前に書込みを行
ったキャッシュラインをメモリに書き戻す場合(キャッ
シュラインのリプレース)、当該プロセッサはメモリ書
き戻し(WB)トランザクションを発行する。
【0073】WBトランザクションには書き戻し対象ア
ドレス及び書き戻しラインデータが付加されており、シ
ステムはメモリに書き戻しラインデータを格納する。
【0074】RIトランザクション発行の結果、発行元
プロセッサノードの当該ラインに対するアクセス権は、
変更されない。
【0075】図2に図1の並列計算機で用いるアドレス
値を示す。キャッシュラインサイズが32Bのため、ア
ドレスの最下位5bit(220)はライン内アドレス
フィールドとなる。ラインアドレスフィールド210は
アクセス権メモリ125のエントリを指定する16bi
tのフィールドであり、ライン内アドレスフィールド2
20の上位に配置される。ラインアドレスフィールド2
10の上位11bitはタグフィールド200となる。
タグフィールド200の上位3bitは、アクセス対象
のメモリノード0〜3(000b〜011b、ただし0
11bは2進数で011[10進数で3]を示す)、又
は、アクセス対象のI/Oノード0〜3(100b〜11
1b)の指定に使用される。
【0076】タグフィールド200の使用方法は後述す
る。
【0077】アクセス権メモリ125は、ラインアドレ
スフィールド210をアドレスとしてアクセスされるメ
モリである。図3にアクセス権メモリ125の各エント
リを示す。
【0078】本実施例では、アクセス権メモリは2ウェ
イセットアソシアティブ方式を採用する。このため、ア
クセス権メモリ125には2ウェイ分のアクセス権情報
が格納される。
【0079】LRUビット300は、当該ラインアドレ
スの2ウェイの内、最近使用したエントリを示す。LR
Uビット300が0の場合、ウェイ0が最近使用された
ことを示す。LRUビット300が1の場合、ウェイ1
が最近使用されたことを示す。
【0080】状態ビット310a、310bは、アクセ
ス権の状態(00b:Invalid(アクセス権
無)、10b:Shared(共有アクセス権)、11
b:Exclusive(排他アクセス権))を記録す
る。
【0081】タグ330a、330bは、アクセス権メ
モリの当該ラインアドレスに登録されたラインアクセス
権のタグフィールド200の値を記録する。あるアドレ
スAのラインアドレスフィールド210に対応するアク
セス権メモリのエントリにおいて、状態ビット310
a、310bが00b以外、かつ、タグ330a、33
0bのいずれかがタグフィールド200と一致する場
合、アドレスAに対応するラインアクセス権が当該ウェ
イに格納されている。
【0082】図4にプロセッサノード上のネットワーク
インターフェイス155、メモリノード175a〜17
5b、I/Oノード185a〜185bとネットワーク
170間で授受されるトランザクションの構成を示す。
【0083】発行ノード600は、要求トランザクショ
ンを発行したノード番号を示すフィールドである。発行
ノード番号0〜7は各々プロセッサノード0〜7、発行
ノード番号8〜11はI/Oノード0〜3を示す。メモ
リノード175a〜175bは要求トランザクションを
発行しないため、発行ノード番号は割当てられない。
【0084】発行側識別子610は、要求トランザクシ
ョンを発行したノード内におけるトランザクションの識
別子を示すフィールドである。
【0085】処理状態630は、トランザクションの状
態(キャッシュ一致制御付アクセス要求、一致制御要
求、一致制御応答、アクセス応答、キャッシュ一致制御
無アクセス要求のいずれか)を示すフィールドである。
各状態の使用方法は後述する。
【0086】命令種類640は、要求トランザクション
の種類(RD、RI、WB)を示すフィールドである。
【0087】キャッシュ状態650は、各プロセッサノ
ードのキャッシュ一致制御結果(Invalid、Mo
dified、Shared、Retry)を示すフィ
ールドである。Invalid及びSharedは、プ
ロセッサノードがキャッシュ一致制御の結果、キャッシ
ュラインの状態をInvalid又はSharedに変
更したことを示す。Modifiedは、プロセッサノ
ードがキャッシュ一致制御の結果、最新のラインをWB
トランザクションを用いて書き戻した後、キャッシュラ
インの状態をInvalidに変更したことを示す。R
etryは、あるプロセッサノードが当該ラインに対す
るアクセス権を使用中であり、本トランザクションをリ
トライする必要があることを示す。
【0088】対象アドレス660は、アクセス対象のア
ドレスを示すフィールドである。データ第0〜3ワード
は、アクセス対象ラインの転送時に使用されるフィール
ドである。
【0089】以下に、本実施の形態例の並列計算機にお
けるメモリアクセス動作の詳細を示す。
【0090】(プロセッサのメモリ読み出し) (1) プロセッサのメモリ読み出し(RD)トランザクシ
ョン発行 プロセッサ(105a−1とする)はアドレスAへのメ
モリ読み出し命令の実行時に、内部キャッシュ110a
−1に対応するラインが存在するかどうかをチェックす
る。内部キャッシュに対応するラインが存在する場合、
このライン内の当該データを読み出し結果として使用す
る(終了)。内部キャッシュに対応するラインが存在し
ない場合、プロセッサ105a−1はアドレスAへのR
DトランザクションをCPUバス115に発行する。
【0091】(2) CPUバス上のキャッシュ一致制御 プロセッサ105a−1と同一CPUバス115に接続
されたプロセッサ105a−2は、アドレスAへのRD
トランザクションを受けて内部キャッシュ110a−2
のキャッシュ一致制御を行う。
【0092】(2-1) プロセッサ105a−2がアドレス
Aに対応するラインを保持していない場合、プロセッサ
105a−2は、CPUバス115に対しキャッシュ状
態Invalidを返答する。
【0093】(2-2) プロセッサ105a−2がアドレス
Aに対応するラインをShared状態、又は、Exc
lusive状態で保持している場合、プロセッサ10
5a−2は、CPUバス115に対しキャッシュ状態S
haredを返答する。当該ラインがExclusiv
e状態の場合、Shared状態に変更する。
【0094】(2-3) プロセッサ105a−2がアドレス
Aに対応するラインをModified状態で保持して
いる場合、プロセッサ105a−2は、CPUバス11
5に対しキャッシュ状態Modifiedを返答する。
また、当該キャッシュラインをWBトランザクションを
用いて返送し、当該ラインをInvalid状態に変更
する。プロセッサ105a−1は、CPUバス115か
らModified状態の通知を受けると、プロセッサ
105a−2が発行したWBトランザクションを受けて
内部キャッシュ110a−1に書込み、Exclusi
ve状態とする。(終了、ただし、WBトランザクショ
ンの処理を行う) (3) アクセス権メモリのヒットチェック CPUバスインターフェイス118は、(1)のRDトラ
ンザクション、(2-1)〜(2-3)のキャッシュ状態返答、W
Bトランザクションを受け取る。
【0095】CPUバスインターフェイス118は、信
号線160−1を通してRDトランザクション、キャッ
シュ状態返答をアクセス権制御回路120に転送する。
【0096】アクセス権制御回路120は、(1)のRD
トランザクションを受け、 アクセス権メモリ125内
のアドレスAのラインアドレスフィールド210(Al
aとする)に対応するエントリ(Tla)を読み出す。
その後、Tlaの2つのウェイについてタグ330a、
330bとアドレスAのタグフィールド200(Ata
とする)が一致し、状態ビット310a、310bが0
0bでないウェイ(WayAとする)を検索する。
【0097】(3-1) Way Aが存在しない場合 メモリ読み出し対象ラインのアクセス権を格納するウェ
イを決定し、Way Aとする。決定方法は以下の通り
である。
【0098】・状態ビットが00bのウェイが存在する
場合、このウェイを使用する。
【0099】・状態ビットが00bのウェイが存在しな
い場合、LRUビットが0ならウェイ1を使用する。L
RUビットが1ならウェイ0を使用する。この時、使用
するウェイの状態ビットは00b(Invalid)と
し、LRUビットは反転させる。
【0100】以後、アクセス権制御回路120は、トラ
ンザクションの完了までこのウェイを使用する自プロセ
ッサノードからのトランザクションをリトライさせる。
【0101】(3-1)により、Way Aを確保した後、
(4)へ進む。
【0102】(3-2)Way Aが存在する場合 Way Aの状態ビットは、10b(Shared)又
は11b(Exclusive)のいずれかである。こ
の時、他プロセッサノードのアクセス権、及び、他プロ
セッサノード上のプロセッサの内部キャッシュ状態は、
Shared又はInvalidであるため、他プロセ
ッサノードのキャッシュ一致制御無しにメモリアクセス
可能である。
【0103】以後、アクセス権制御回路120は、Wa
y Aのアクセス権を使用中とし、トランザクションの
完了までこのウェイを使用する自他プロセッサノードか
らのトランザクションをリトライさせる。
【0104】(4) ネットワークにメモリ読み出し要求ト
ランザクションを発行 アクセス権制御回路120は、信号線160−5を介し
てネットワークインターフェイス155にアドレスAを
送付しRD要求トランザクションの発行を指示する。
【0105】ネットワークインターフェイス155は、
ネットワーク170にRD要求トランザクションを発行
する。RD要求トランザクションは、図6の各フィール
ドに、発行ノード番号600に自ノードの番号、発行側
識別子610にネットワークインターフェイス155で
定めたトランザクションの識別子、処理状態630に0
又は4(アクセス要求)、命令種類640に0(R
D)、対象アドレス660にアドレスAを格納したトラ
ンザクションである。処理状態630は、(3)でWay
Aが存在し、状態ビットが10b(Shared)又は
11b(Exclusive)であった場合、キャッシ
ュ一致制御無アクセス要求とする。これ以外の場合、キ
ャッシュ一致制御付アクセス要求とする。
【0106】(5)ネットワークによるメモリ読み出し要
求トランザクションの転送 ネットワーク170は、対象アドレス660の最上位3
ビットから対象メモリノードを得て、対象メモリノード
にRD要求トランザクションを転送する。
【0107】また、処理状態630がキャッシュ一致制
御付アクセス要求の場合、RD要求トランザクションの
処理状態630を1とし、RDキャッシュ一致制御要求
トランザクションに変更して発行元以外の全プロセッサ
ノードに転送する。
【0108】(6)他プロセッサノードにおけるキャッシ
ュ一致制御要求受付 (4)で要求元プロセッサノードがキャッシュ一致制御付
アクセス要求を発行した場合、他プロセッサノード10
0a〜100bのネットワークインターフェイス155
は、ネットワーク170からRDキャッシュ一致制御要
求トランザクションを受付ける。
【0109】ネットワークインターフェイス155は、
信号線160―6を介してアドレスAをアクセス権制御
回路120に転送し、RDキャッシュ一致制御処理を指
示する。
【0110】(7)他プロセッサノードにおけるアクセス
権メモリのチェック アクセス権制御回路120は、RDキャッシュ一致制御
を受けると、アドレスAのラインアドレスフィールド2
10に対応するアクセス権エントリをアクセス権メモリ
125から読み出し、(3)と同様にアクセス権のヒット
チェックを行う。
【0111】(7-1)当プロセッサノードが当該ウェイの
アクセス権を使用したメモリアクセスを発行中である場
合 アクセス権制御回路120は、信号線160−2を介し
てCPUバスインターフェイス118にRDキャッシュ
一致制御、及び、アクセス権状態Retryを転送す
る。
【0112】(7-2)アクセス権メモリにアドレスAが格
納されていない場合 アクセス権制御回路120は、信号線160−2を介し
てCPUバスインターフェイス118にRDキャッシュ
一致制御、及び、アクセス権状態Invalidを転送
する。
【0113】(7-3)アクセス権メモリ125にアドレス
Aが格納されており、当該ウェイの状態ビット310a
又は310bがSharedの場合 当プロセッサノードは、アドレスAの共有アクセス権
(Shared)を保持している。アクセス権制御回路
120は、信号線160−2を介してCPUバスインタ
ーフェイス118にRDキャッシュ一致制御、及び、ア
クセス権状態Sharedを転送する。
【0114】(7-4)アクセス権メモリ125にアドレス
Aが格納されており、当該ウェイの状態ビット310a
又は310bがExclusiveの場合 当プロセッサノードは、アドレスAの排他アクセス権
(Exclusive)を保持している。アクセス権制
御回路120は、信号線160−2を介してCPUバス
インターフェイス118にRDキャッシュ一致制御、及
び、アクセス権状態Sharedを転送し、アクセス権
メモリ125の当該Wayのアクセス権を共有アクセス
権(Shared)に変更する。
【0115】(8)他プロセッサノードにおけるプロセッ
サのキャッシュ一致制御 アクセス権制御回路120からRDキャッシュ一致制御
を受けると、CPUバスインターフェイス118は当該
プロセッサノード上のプロセッサのキャッシュ一致制御
を行う。
【0116】i) CPUバスインターフェイス118
は、アクセス権制御回路120から受けたアクセス権状
態がRetry以外の場合、CPUバス115にRDト
ランザクションを発行する。
【0117】ii) CPUバス115に接続された全プロ
セッサ105a−1〜105a−2は、RDキャッシュ
一致制御を行う。すなわち、アドレスAの最新ラインを
Modified状態で保持するプロセッサは、CPU
バス115を介して最新ラインをWBトランザクション
によりCPUバスインターフェイス118に転送する。
アドレスAをExclusive状態、又は、Shar
ed状態で保持するプロセッサは、アドレスAのキャッ
シュ状態をSharedに変更し、キャッシュ状態とし
てSharedを返す。アドレスAを保持しないプロセ
ッサは、キャッシュ状態としてInvalidを返す。
【0118】iii) CPUバスインターフェイス118
は、以下に示す様に当該プロセッサノードのキャッシュ
状態を生成する。
【0119】・アクセス権状態がRetryの場合、キ
ャッシュ状態をRetryとする。
【0120】・プロセッサのキャッシュ状態がModi
fiedの場合、キャッシュ状態をModifiedと
する。
【0121】・アクセス権状態又はプロセッサのキャッ
シュ状態のいずれかがSharedの場合、キャッシュ
状態をSharedとする。
【0122】・アクセス権状態及びプロセッサのキャッ
シュ状態の両方がInvalidの場合、キャッシュ状
態をInvalidとする。
【0123】iv) CPUバスインターフェイス118
は、信号線160−7を介してキャッシュ状態をネット
ワークインターフェイス155に転送する。また、CP
Uバス115から最新ラインを受けた場合、信号線16
0―9を介してネットワークインターフェイス155に
最新ラインを転送する。
【0124】(9)他プロセッサノードによるキャッシュ
一致制御結果の返送 ネットワークインターフェイス155は、信号線160
―7よりキャッシュ状態を受け、i)又はii)の処理を行
う。
【0125】i) キャッシュ状態がModifiedの
場合 ネットワークインターフェイス155は、RDキャッシ
ュ一致制御応答トランザクションを用いて最新ラインを
ネットワーク170に転送する。ここで使用するRDキ
ャッシュ一致制御応答トランザクションは、RDキャッ
シュ一致制御要求トランザクションの処理状態630を
一致制御応答、キャッシュ状態650をModifie
dに変更し、データ670a〜670dに最新ラインを
付加したトランザクションである。
【0126】ii)キャッシュ状態がModifiedで
ない場合ネットワークインターフェイス155は、RD
キャッシュ一致制御応答トランザクションをネットワー
ク170に転送する。ここで使用するRDキャッシュ一
致制御応答トランザクションは、RDキャッシュ一致制
御要求トランザクションの処理状態630を一致制御応
答、キャッシュ状態650を信号線160−7から受け
たキャッシュ状態に変更したトランザクションである。
【0127】(10)メモリノードによるメモリデータの返
送 (5)でネットワーク170からRD要求トランザクショ
ンを受けた対象メモリノードは、アドレスAのキャッシ
ュラインを読み出しRD返答トランザクションをネット
ワーク170に返送する。RD返答トランザクション
は、RD要求トランザクションの処理状態630をアク
セス応答、データ670a〜670dを読み出したライ
ンとしたトランザクションである。
【0128】(11)ネットワークによるキャッシュ一致制
御結果、メモリデータの返送 ネットワーク170は、対象メモリノードからRD返答
トランザクションを受け、発行ノード600で指定され
る発行元プロセッサノードへ転送する。
【0129】また、キャッシュ一致制御付RD要求トラ
ンザクションの場合には、全プロセッサノードからRD
キャッシュ一致制御応答トランザクションを受けて、キ
ャッシュ一致制御結果をまとめてキャッシュ状態650
に書込み、発行ノード600で指定される発行元プロセ
ッサノードにRDキャッシュ一致制御返答トランザクシ
ョンを転送する。
【0130】あるプロセッサノードのキャッシュ一致制
御応答トランザクションのキャッシュ状態650がRe
tryの場合、このトランザクションをキャッシュ一致
制御返答トランザクションとする。
【0131】あるプロセッサノードのキャッシュ一致制
御応答トランザクションのキャッシュ状態650がMo
difiedの場合、このトランザクションをキャッシ
ュ一致制御返答トランザクションとする。
【0132】あるプロセッサノードのキャッシュ一致制
御応答トランザクションのキャッシュ状態650がSh
aredの場合、キャッシュ状態650をShared
とする。
【0133】上記以外の場合、キャッシュ状態650を
Invalidとする。
【0134】(12)アクセス権の更新 i) 発行元のネットワークインターフェイス155は、
RDキャッシュ一致制御応答トランザクション、及び、
RD応答トランザクションを受け、信号線160―11
を介してアクセス権制御回路120にキャッシュ状態を
報告すると共に、信号線160―8を介してキャッシュ
状態をCPUバスインターフェイス118に転送する。
また、トランザクションのデータ670a〜670d
は、信号線160−10を介してCPUバスインターフ
ェイスに転送される。ここで、キャッシュ状態がMod
ifiedの場合、RDキャッシュ一致制御応答トラン
ザクションのデータ670a〜670dをアクセスした
ラインとして使用する。キャッシュ状態がModifi
ed以外の場合、RD応答トランザクションのデータ6
70a〜670dをアクセスしたラインとして使用す
る。
【0135】ii) ネットワーク155から受けたキャッ
シュ状態がRetry以外の場合、アクセス権制御回路
120は、アドレスAをWay Aに登録する。この
時、状態ビット310a又は310b、タグ330a又
は330bをアドレスAのタグフィールド200を設定
する。状態ビット310aは、ネットワーク155から
受けたキャッシュ状態がInvalid又はModif
iedの場合Exclusive、Sharedの場合
Sharedに設定する。
【0136】(13)発行元プロセッサへのメモリ読み出し
結果返送 CPUバスインターフェイス118は、キャッシュ状態
がRetry以外の場合、対象ラインをCPUバス11
5に送出しメモリ読み出しの返答を行う。この時、キャ
ッシュ状態がInvalidなら、プロセッサのキャッ
シュ状態をExclusiveとする。キャッシュ状態
がSharedなら、プロセッサのキャッシュ状態をS
haredとする。キャッシュ状態がRetryの場
合、当該トランザクションをリトライさせる。
【0137】(プロセッサのメモリ読み出し&無効化) (1) プロセッサのメモリ読み出し&無効化(RI)トラ
ンザクション発行 プロセッサ(105a−1とする)はアドレスAへのメ
モリ書込み命令の実行時に、内部キャッシュ110a−
1にこの命令に対応するラインが存在するかどうかをチ
ェックする。内部キャッシュに対応するラインがExc
lusive又はModified状態で存在する場
合、このライン内の当該データに書込みを行う。内部キ
ャッシュに対応するラインが存在しない場合、又は、内
部キャッシュに対応するラインが存在するがShare
d状態の場合、プロセッサ105a−1はアドレスAへ
のRIトランザクションをCPUバス115に発行す
る。
【0138】(2)CPUバス上のキャッシュ一致制御 プロセッサ105a−1と同一CPUバス115に接続
されたプロセッサ105a−2は、アドレスAへのRI
トランザクションを受けて内部キャッシュ110a−2
のキャッシュ一致制御を行う。
【0139】(2-1)プロセッサ105a−2がアドレス
Aに対応するラインを保持していない場合 プロセッサ105a−2は、CPUバス115に対しキ
ャッシュ状態Invalidを返答する。
【0140】(2-2)プロセッサ105a−2がアドレス
Aに対応するラインをShared状態、又は、Exc
lusive状態で保持している場合 プロセッサ105a−2は、CPUバス115に対しキ
ャッシュ状態Invalidを返答する。この後、当該
ラインの状態をInvalid状態に変更する。
【0141】(2-3)プロセッサ105a−2がアドレス
Aに対応するラインをModified状態で保持して
いる場合 プロセッサ105a−2は、CPUバス115に対しキ
ャッシュ状態Modifiedを返答する。また、当該
キャッシュラインをWBトランザクションを用いて返送
し、当該ラインをInvalid状態に変更する。プロ
セッサ105a−1は、CPUバス115からModi
fied状態の通知を受けると、プロセッサ105a−
2が発行したWBトランザクションを受けて内部キャッ
シュ110a−1に書込む。この後、メモリ書込み命令
に伴う書込みを内部キャッシュ110a−1上で行い、
キャッシュ状態をModified状態とする。(終
了、ただし、WBトランザクションの処理を行う) (3) アクセス権メモリのヒットチェック CPUバスインターフェイス118は、(1)のRIトラ
ンザクション、(2-1)〜(2-3)のキャッシュ状態返答、W
Bトランザクションを受け取る。CPUバスインターフ
ェイス118は、信号線160−1を通してRIトラン
ザクション、キャッシュ状態返答をアクセス権制御回路
120に転送する。
【0142】アクセス権制御回路120(構成の詳細は
後述する)は、(1)のRIトランザクションを受け、ア
クセス権メモリ125内のアドレスAのラインアドレス
フィールド210(Alaとする)に対応するエントリ
(Tla)を読み出す。その後、Tlaの2つのウェイ
についてタグ330a、330bとアドレスAのタグフ
ィールド200(Ataとする)が一致し、状態ビット
310a、310bが00bでないウェイ(Way A
とする)を検索する。
【0143】(3-1) Way Aが存在しない場合 メモリ読み出し対象のラインのアクセス権を格納するウ
ェイを決定し、WayAとする。決定方法は以下の通り
である。
【0144】・状態ビットが00bのウェイが存在する
場合、このウェイを使用する。
【0145】・状態ビットが00bのウェイが存在しな
い場合、LRUビットが0ならウェイ1を使用する。L
RUビットが1ならウェイ0を使用する。この時、使用
するウェイの状態ビットは00b(Invalid)と
し、LRUビットは反転させる。
【0146】以後、アクセス権制御回路120は、トラ
ンザクションの完了までこのウェイを使用する自プロセ
ッサノードからのトランザクションをリトライさせる。
【0147】(3-1)により、Way Aを確保した後、
(4)へ進む。
【0148】(3-2) Way AがExclusive状
態で存在する場合 この時、他プロセッサノードのアクセス権、及び、他プ
ロセッサノード上のプロセッサの内部キャッシュ状態
は、Invalidであるため、他プロセッサノードの
キャッシュ一致制御無しにメモリアクセス可能である。
【0149】以後、アクセス権制御回路120はWay
Aのアクセス権を使用中とし、トランザクションの完
了までこのウェイを使用する自他プロセッサノードから
のトランザクションをリトライさせる。
【0150】(4) ネットワークにメモリ読み出し&無効
化要求トランザクションを発行 アクセス権制御回路120は、信号線160−5を介し
てネットワークインターフェイス155にアドレスAを
送付しRI要求トランザクションの発行を指示する。
【0151】ネットワークインターフェイス155は、
ネットワーク170にRI要求トランザクションを発行
する。RI要求トランザクションは、図6の各フィール
ドに、発行ノード番号600に自ノードの番号、発行側
識別子610にネットワークインターフェイス155で
定めたトランザクションの識別子、処理状態630に0
又は4(アクセス要求)、命令種類640に1(R
I)、対象アドレス660にアドレスAを格納したトラ
ンザクションである。処理状態630は、(3)でWay
Aが存在し、状態ビットが11b(Exclusiv
e)であった場合、キャッシュ一致制御無アクセス要求
とする。これ以外の場合、キャッシュ一致制御付アクセ
ス要求とする。
【0152】(5)ネットワークによるメモリ読み出し&
無効化要求トランザクションの転送 ネットワーク170は、対象アドレス660の最上位3
ビットから対象メモリノードを得て、対象メモリノード
にRI要求トランザクションを転送する。また、処理状
態630がキャッシュ一致制御付アクセス要求の場合、
RI要求トランザクションの処理状態630を1とし、
RIキャッシュ一致制御要求トランザクションに変更し
て他プロセッサノードに転送する。
【0153】(6)他プロセッサノードにおけるキャッシ
ュ一致制御要求受付 (4)で要求元プロセッサノードがキャッシュ一致制御付
アクセス要求を発行した場合、他プロセッサノード10
0a〜100bのネットワークインターフェイス155
は、ネットワーク170からRIキャッシュ一致制御要
求トランザクションを受付ける。ネットワークインター
フェイス155は、信号線160−6を介してアドレス
Aをアクセス権制御回路120に転送し、RIキャッシ
ュ一致制御を指示する。
【0154】(7)他プロセッサノードにおけるアクセス
権メモリのチェック アクセス権制御回路120は、RIキャッシュ一致制御
を受けると、アドレスAのラインアドレスフィールド2
10に対応するアクセス権エントリをアクセス権メモリ
125から読み出し、(3)と同様にアクセス権のヒット
チェックを行う。
【0155】(7-1)当プロセッサノードが当該ウェイの
アクセス権を使用したメモリアクセスを発行中である場
合 アクセス権制御回路120は、信号線160−2を介し
てCPUバスインターフェイス118にRIキャッシュ
一致制御、及び、アクセス権Retryを転送する。
【0156】(7-2) アクセス権メモリにアドレスAが格
納されていない場合 アクセス権制御回路120は、信号線160−2を介し
てCPUバスインターフェイスにRIキャッシュ一致制
御、及び、アクセス権状態Invalidを転送する。
【0157】(7-3) アクセス権メモリ125にアドレス
Aが格納されており、当該ウェイの状態ビット310a
又は310bがShared又はExclusiveの
場合 当プロセッサノードは、アドレスAの共有アクセス権
(Shared)又は排他アクセス権(Exclusi
ve)を保持している。アクセス権制御回路120は信
号線160―2を介してCPUバスインターフェイス1
18にRIキャッシュ一致制御、及び、アクセス権状態
Invalidを転送する。また、アクセス権メモリ1
25の当該ウェイの状態ビット310a又は310bを
00b(Invalid)に変更し、キャッシュタグメ
モリ125に書き戻す。
【0158】(8)他プロセッサノードにおけるプロセッ
サのキャッシュ一致制御 アクセス権制御回路120からRIキャッシュ一致制御
を受けると、CPUバスインターフェイス118は当該
プロセッサノード上のプロセッサのキャッシュ一致制御
を行う。
【0159】i) CPUバスインターフェイス118
は、アクセス権制御回路120から受けたアクセス権状
態がRetry以外の場合、CPUバス115にRIト
ランザクションを発行する。
【0160】ii) CPUバス115に接続された全プロ
セッサ105a−1〜105a−2は、RIキャッシュ
一致制御を行う。すなわち、アドレスAの最新ラインを
Modified状態で保持するプロセッサは、CPU
バス115を介して最新ラインをCPUバスインターフ
ェイス118に転送する。アドレスAをExclusi
ve状態、又は、Shared状態で保持するプロセッ
サは、アドレスAのキャッシュ状態をInvalidに
変更し、キャッシュ状態としてInvalidを返す。
アドレスAを保持しないプロセッサは、キャッシュ状態
としてInvalidを返す。
【0161】iii) CPUバスインターフェイス118
は、以下に示す様に当該プロセッサノードのキャッシュ
状態を生成する。
【0162】・アクセス権状態がRetryの場合、キ
ャッシュ状態をRetryとする。
【0163】・プロセッサのキャッシュ状態がModi
fiedの場合、キャッシュ状態をModifiedと
する。
【0164】・上記以外の場合、キャッシュ状態をIn
validとする。
【0165】iv) CPUバスインターフェイス118
は、キャッシュ状態をネットワークインターフェイス1
55に転送する。また、CPUバス115から最新ライ
ンを受けた場合、信号線160−9を介してネットワー
クインターフェイス155に最新ラインを転送する。
【0166】(9)他プロセッサノードによるキャッシュ
一致制御結果の返送 ネットワークインターフェイス155は、信号線160
―7よりキャッシュ状態を受け、i)又はii)の処理を行
う。
【0167】i) キャッシュ状態がModifiedの
場合 ネットワークインターフェイス155は、RIキャッシ
ュ一致制御応答トランザクションを用いて最新ラインを
ネットワーク170に転送する。RIキャッシュ一致制
御応答トランザクションは、RIキャッシュ一致制御要
求トランザクションの処理状態630を一致制御応答、
キャッシュ状態650をModifiedに変更し、デ
ータ670a〜670dに最新ラインを付加したトラン
ザクションである。
【0168】ii) キャッシュ状態がModified
でない場合 ネットワークインターフェイス155は、RIキャッシ
ュ一致制御応答トランザクションをネットワーク170
に転送する。RIキャッシュ一致制御応答トランザクシ
ョンは、RIキャッシュ一致制御要求トランザクション
の処理状態630を一致制御応答、キャッシュ状態65
0を信号線160−7から受けたキャッシュ状態に変更
したトランザクションである。
【0169】(10)メモリノードによるメモリデータの返
送 (5)でネットワーク170からRI要求トランザクショ
ンを受けた対象メモリノードは、アドレスAのキャッシ
ュラインを読み出しRI返答トランザクションをネット
ワーク170に返送する。RI返答トランザクション
は、RI要求トランザクションの処理状態630をアク
セス応答、データ670a〜670dを読み出したライ
ンとしたトランザクションである。
【0170】(11)ネットワークによるキャッシュ一致制
御結果、メモリデータの返送 ネットワーク170は、対象メモリノードからRI返答
トランザクションを受け、発行ノード600で指定され
る発行元プロセッサノードへ転送する。
【0171】また、キャッシュ一致制御付RI要求トラ
ンザクションの場合には、全プロセッサノードからRI
キャッシュ一致制御応答トランザクションを受けて、キ
ャッシュ一致制御結果をまとめてキャッシュ状態650
に書込み、発行ノード600で指定される発行元プロセ
ッサノードにRIキャッシュ一致制御返答トランザクシ
ョンを転送する。
【0172】あるプロセッサノードのキャッシュ一致制
御応答トランザクションのキャッシュ状態650がRe
tryの場合、このトランザクションをキャッシュ一致
制御返答トランザクションとする。
【0173】あるプロセッサノードのキャッシュ一致制
御応答トランザクションのキャッシュ状態650がMo
difiedの場合、このトランザクションをキャッシ
ュ一致制御返答トランザクションとする。
【0174】上記以外の場合、キャッシュ状態650を
Invalidとする。
【0175】(12)アクセス権の更新 i) 発行元のネットワークインターフェイス155は、
RIキャッシュ一致制御応答トランザクション、及び、
RI応答トランザクションを受け、信号線160―11
を介してアクセス権制御回路120にキャッシュ状態を
報告すると共に、信号線160―8を介してキャッシュ
状態をCPUバスインターフェイスに転送する。トラン
ザクションのデータ670a〜670dは、信号線16
0−10を介してCPUバスインターフェイス118に
転送される。ここで、キャッシュ状態がModifie
dの場合、RIキャッシュ一致制御応答トランザクショ
ンのデータ670a〜670dをアクセスしたラインと
して使用する。キャッシュ状態がModified以外
の場合、RI応答トランザクションのデータ670a〜
670dをアクセスしたラインとして使用する。
【0176】ii) ネットワーク155から受けたキャッ
シュ状態がRetry以外の場合、アクセス権制御回路
120は、アドレスAをWay Aに登録する。この
時、状態ビット310a又は310bにアクセス権、タ
グ330a又は330bにアドレスAのタグフィールド
200を設定する。状態ビット310aは、Exclu
siveに設定する。
【0177】(13)発行元プロセッサへのメモリ読み出し
&無効化結果返送 CPUバスインターフェイス118は、キャッシュ状態
がRetry以外の場合、対象ラインをCPUバス11
5に送出しメモリ読み出し&無効化の返答を行う。キャ
ッシュ状態がRetryの場合、当該トランザクション
をリトライさせる。
【0178】(プロセッサのメモリ書き戻し) (1)プロセッサのメモリ書き戻し(WB)トランザクシ
ョン発行 プロセッサ(105a−1とする)は内部キャッシュ1
10a−1のリプレース時に、リプレース対象のライン
のWBトランザクションをCPUバス115に発行す
る。
【0179】(2)CPUバス上のキャッシュ一致制御 WBトランザクションの対象はプロセッサ105a−1
に格納されたModified状態のラインである。従
って、他のプロセッサ105a−2等は当該ラインを保
持していない。
【0180】(3) ネットワークにメモリ書き戻しトラン
ザクションを発行 CPUバスインターフェイス118は、(1)のWBトラ
ンザクションを受け取る。すると、CPUバスインター
フェイス118は、信号線160−1を通してWBトラ
ンザクションのアドレスAをアクセス権制御回路120
に転送する。アクセス権制御回路120(構成の詳細は
後述する)は、信号線160−5を介してWBトランザ
クションをネットワークインターフェイス155に転送
する。 (4) ネットワークにWB要求トランザクションを発行ネ
ットワークインターフェイス155は、ネットワーク1
70にWB要求トランザクションを発行する。WB要求
トランザクションは、図4の各フィールドに発行ノード
番号600に自ノートの番号、発行側識別子610にネ
ットワークインターフェイス155で定めたトランザク
ションの識別子、処理状態630に0(アクセス要
求)、命令種類640に2(WB)、対象アドレス66
0にアドレスA、データ第0〜3ワード670a〜67
0dにCPUバスインターフェイス118から信号線1
60−9を介して受けたライトバック対象ラインを格納
したトランザクションである。
【0181】(4) ネットワークによるWB要求トランザ
クションの転送 ネットワーク170は、対象アドレス660の最上位3
ビットから対象メモリノードを得て、対象メモリノード
にWB要求トランザクションを転送する。
【0182】(5) メモリノードによるライトバック処理 (5)でネットワークからWB要求トランザクションを受
けた対象メモリノードは、アドレスAにデータ第0〜第
3ワードを書込む。
【0183】以上の処理における内部キャッシュの状態
遷移を図5にまとめる。図5におけるrmt RD、r
mt RIは外部からのキャッシュ一致制御、RD、R
I、WBは、プロセッサ内部のアクセス、replac
eは、内部キャッシュのリプレースを示す。
【0184】図5において、 Invalid→Invalidは、RD(7-2)、RD
(8)、RI(7-2)、RI(8)、 Invalid→Exclusiveは、RD(13)、R
I(13)、 Invalid→Sharedは、RD(13)、 Invalid→Modifiedは、RI(13)、 Exclusive→Invalidは、RI(8)、 Exclusive→Exclusiveは、RD
(1)、RI(1)、RI(2-2)、 Exclusive→Sharedは、RD(2-2)、R
D(8)、 Exclusive→Modifiedは、RI(1)、
RI(13)、 Shared→Invalidは、RI(8)、 Shared→Exclusiveは、RI(13)、 Shared→Modifiedは、RI(13)、 Modified→Invalidは、RD(2-3)、R
D(8)、RI(2-3)、RI(8)、 Modified→Modifiedは、RD(1)、R
I(1)で述べた状態遷移を示す。
【0185】図6にアクセス権制御回路120の構成を
示す。
【0186】アクセス権制御回路120は、アクセス権
チェックを必要とする各種トランザクションを受け、一
旦格納するトランザクションバッファ700、複数個の
アクセス権エントリを一時的に格納するアクセス権バッ
ファ740、トランザクションバッファ700内のトラ
ンザクションに応じてアクセス権のチェックを行うアク
セス権チェック回路710、トランザクションの種類及
びアクセス権の状態に応じてCPUバスインターフェイ
ス118、ネットワークインターフェイス155へトラ
ンザクションの処理方法を指示するトランザクションル
ータ720、アクセス権チェック回路710の指示に従
いアクセス権メモリ125とアクセス権バッファ740
の間でアクセス権エントリの転送を行うアクセス権メモ
リアクセス回路730アクセス権チェック回路710の
指示に従いアクセス権バッファ740の状態を変更する
アクセス権変更回路750からなる。
【0187】自プロセッサノード内のプロセッサからの
要求トランザクションは、CPUバスインターフェイス
118から信号線160―1を介してトランザクション
バッファ700に格納される。
【0188】他プロセッサノードからのキャッシュ一致
制御要求トランザクションは、ネットワークインターフ
ェイス155から信号線160―6を介してトランザク
ションバッファ700に格納される。
【0189】自プロセッサノード内のプロセッサから発
行した要求トランザクションに対応する応答トランザク
ションは、ネットワークインターフェイス155から信
号線160−11を介してトランザクションバッファ7
00に格納される。
【0190】アクセス権チェック回路710は、アクセ
ス権バッファ740内のトランザクションを受けて、ト
ランザクションに対応するアクセス権エントリのアクセ
ス権状態をチェックする。アクセス権状態のチェックに
おいては、アクセス権バッファ740(詳細は後述)を
使用する。アクセス権状態のチェックが完了するとアク
セス権状態をトランザクションルータ720に転送す
る。
【0191】トランザクションルータ720は、トラン
ザクションバッファ700からトランザクション、アク
セス権チェック回路710からトランザクションに対応
するアクセス権状態を受け、先に各トランザクションの
処理で示した通りに信号線160―2を介してCPUバ
スインターフェイス118、信号線160―5を介して
ネットワークインターフェイス155にトランザクショ
ンの処理を指示する。
【0192】アクセス権バッファ740は、複数のアク
セス権エントリを一時的に格納するバッファであり、有
効ビット(V)、更新ビット(M)、エントリ使用ビッ
ト(U)、アクセス権使用ビット(L)、アクセス権ア
ドレス、アクセス権データのフィールドからなる。有効
ビットは、アクセス権バッファ740の当該エントリが
有効であることを示すビットである。更新ビットは、ア
クセス権バッファ740の当該エントリが変更されてお
り、アクセス権メモリ125に書き戻す必要があること
を示すビットである。エントリ使用ビットは、アクセス
権バッファ740の当該エントリを自プロセッサノード
からのトランザクションが使用中、すなわち、当該アク
セス権エントリを使用するトランザクションを発行した
が、このトランザクションが未完了であることを示すビ
ットである。アクセス権使用ビットは、自プロセッサノ
ードから当該エントリのアクセス権を使用するキャッシ
ュ一致制御無トランザクションを発行中であることを示
すビットである。
【0193】アクセス権アドレスは、アクセス権バッフ
ァ740に格納しているアクセス権メモリエントリのラ
インアドレスを示す。アクセス権データは、アクセス権
バッファ740に格納しているアクセス権メモリエント
リの全ビット(図3の全ビット)を格納する。
【0194】アクセス権回路710は、アクセス権状態
のチェック時に有効ビットが1かつトランザクションの
ラインアドレスフィールド210とアクセス権アドレス
が等しいアクセス権エントリをアクセス権バッファ74
0内から検索する。
【0195】(1)一致するエントリがアクセス権バッフ
ァ740内に存在しない場合 i) アクセス権チェック回路710は信号線760―3
を使用してアクセス権メモリアクセス回路730にアク
セス権メモリ125の読み出しを指示する。
【0196】ii) アクセス権メモリアクセス回路730
は、アクセス権バッファ740に空きエントリを確保す
る。すなわち、有効ビットが0のエントリが存在する場
合、このエントリを使用する。有効ビットが0のエント
リが存在しない場合、エントリ使用ビットが0のエント
リを選択し、これを使用する。この時、更新ビットが1
の場合、当該エントリをアクセス権メモリ125に書き
戻す。
【0197】iii) アクセス権メモリアクセス回路73
0は、信号線160―3にラインアドレスフィールド2
10及び読み出しコマンドを出力してアクセス権メモリ
125を読み出し、読み出したエントリを信号線160
―4を介して受け取る。
【0198】iv) アクセス権メモリアクセス回路730
は、読み出したエントリをアクセス権バッファ740の
アクセス権データ部に格納し、有効ビットを1、更新ビ
ットを0、エントリ使用ビットを0、アクセス権使用ビ
ットを0、アクセス権アドレスをラインアドレスとす
る。
【0199】v) この後、(2)の処理に進む。
【0200】(2)一致するエントリがアクセス権バッフ
ァ740内に存在する場合 i) トランザクションが要求トランザクションかつエン
トリ使用ビットが1の場合、当該トランザクションのリ
トライをCPUバスインターフェイス118に通知す
る。この時、以下の処理は行わない。
【0201】ii) トランザクションがキャッシュ一致制
御要求トランザクションかつアクセス権使用ビットが1
の場合、当該トランザクションのアクセス権状態をRe
tryとし、CPUバスインターフェイス118に通知
する。この時、以下の処理は行わない。
【0202】iii) トランザクションが要求トランザク
ションの場合、エントリ使用ビットを1とする。トラン
ザクションが応答トランザクションの場合、エントリ使
用ビットを0とする。
【0203】iv) アクセス権データ部に変更がある場
合、アクセス権チェック回路710は信号線760―4
を介してアクセス権変更回路750にアクセス権の変更
を指示する。アクセス権変更回路750はこれを受けて
アクセス権バッファ740のアクセス権データ部を変更
し、更新ビットを1とする。
【0204】図6に示したアクセス権制御回路120の
構成を採ることで、プロセッサノード内のプロセッサか
らメモリへの要求トランザクション発行時に、当該ライ
ンのアクセス権が既にアクセス権メモリ125に設定さ
れていた場合、当該要求トランザクションのキャッシュ
一致制御は既に完了しているものと見なし、メモリアク
セスのみを行うことができる。
【0205】これにより、当該要求トランザクションを
全プロセッサノードにブロードキャストしキャッシュ一
致制御を行う処理を省くことができ、ネットワーク17
0上のキャッシュ一致制御トランザクション、及び、各
プロセッサノードにおけるキャッシュ一致制御処理を削
減することができる。
【0206】本実施例ではアクセス権メモリによりアク
セス権が設定可能な領域は最大4MB(64Kエントリ
×2Way×32B)である。例えば、プロセッサノー
ド内の全プロセッサで、内部キャッシュメモリ容量合計
が1MBであった場合、全プロセッサにキャッシングさ
れる領域の4倍の領域にアクセス権が設定される。ここ
で、プロセッサ内部キャッシュでミスしたトランザクシ
ョンの50%にアクセス権が存在すると仮定すると、ネ
ットワーク170上のキャッシュ一致制御トランザクシ
ョン、及び、各プロセッサノードにおけるキャッシュ一
致制御処理を1/2に削減することができる。
【0207】アクセス権メモリ125の容量を増やせ
ば、トランザクション当りのアクセス権の存在確率は更
に高くなると考えられる。
【0208】以上が本発明の実施の形態例1である。
【0209】アクセス権メモリ125及びアクセス権制
御回路120をプロセッサノード制御回路150内に設
け、自プロセッサノードからのメモリアクセスについて
は、まずアクセス権メモリ125をチェックし、自プロ
セッサノードが既にアクセス権を持っている場合に他プ
ロセッサノードのキャッシュ一致制御を省略すること
で、ネットワーク170上で転送されるキャッシュ一致
制御トランザクション数、及び、他プロセッサノードの
キャッシュ一致制御の頻度を低下させることができる。
これにより、同一ネットワーク及び同一プロセッサノー
ドを用いた時に、従来と比較しより多くのメモリアクセ
ス処理がシステム内で可能となり、システムのメモリア
クセススループットを向上させることができる。
【0210】(実施の形態例2)本発明の第2の実施の
形態を説明する。
【0211】実施の形態例2は、実施の形態例1の変形
であるため、相違点についてのみ説明する。本実施の形
態例は、各プロセッサノードにおけるラインのアクセス
権を、アクセス権無、共有アクセス権の2種類とする点
が異なる。
【0212】以下、本実施の形態例におけるメモリアク
セス動作の詳細を、実施の形態例1との相違点を中心に
説明する。
【0213】(プロセッサのメモリ読み出し)アクセス
権メモリ125の各エントリの状態ビットは、00b
(Invalid)又は10b(Shared)のいず
れかである。このため、状態ビットが11b(Excl
usive)の場合の処理は存在せず、又、状態ビット
を11b(Exclusive)とする処理は行わな
い。よって、実施の形態例1のプロセッサのメモリ読み
出しと以下の点が異なる。
【0214】(3-2)、(4)、(7-4)、(8)において、Way
Aの状態ビットは、00b(Invalid)又は1
0b(Shared)であり、11b(Exclusi
ve)にはなり得ない。
【0215】(12)上記ii)において、ネットワーク15
5から受けたキャッシュ状態に関わらず、Way Aの
状態ビット310aをSharedに設定する。
【0216】(13)において、キャッシュ状態に関わらず
プロセッサのキャッシュ状態をSharedとする。
【0217】(プロセッサのメモリ読み出し&無効化)
アクセス権メモリ125の各エントリの状態ビットは、
00b(Invalid)又は10b(Shared)
のいずれかである。このため、状態ビットが11b(E
xclusive)の場合の処理は存在せず、又、状態
ビットを11b(Exclusive)とする処理は行
わない。よって、実施の形態例1のプロセッサのメモリ
読み出し&無効化と以下の点が異なる。
【0218】(3-2)、(4)、(7-3)、(8)において、Way
Aの状態ビットは、10b(Shared)であり、
11b(Exclusive)にはなり得ない。特に、
(4)においてWay Aの状態ビットは00b(Inv
alid)又は10b(Shared)であることか
ら、メモリ読み出し&無効化では必ずキャッシュ一致制
御有のアクセス要求が発行される。
【0219】本実施の形態例により、アクセス権メモリ
125の状態ビット310a、310bは、1ビット幅
に削減できる(例えば、0bはアクセス権無、1bは共
有アクセス権)。これにより、アクセス権メモリ125
の容量(総ビット数)が削減でき、又、実施の形態例1
と比較しメモリアクセス処理を簡単にできる。一方、プ
ロセッサからのメモリアクセス処理時にキャッシュ一致
制御を省略できる可能性は低くなる。
【0220】以上が本発明の実施の形態例2である。
【0221】(実施の形態例3)本発明の第3の実施の
形態を説明する。
【0222】実施の形態例3は、実施の形態例1の変形
であるため、相違点についてのみ説明する。本実施の形
態例は、各プロセッサノードにおけるラインのアクセス
権を、アクセス権無、排他アクセス権の2種類とする点
が異なる。
【0223】以下、本実施の形態例におけるメモリアク
セス動作の詳細を、実施の形態例1との相違点を中心に
説明する。
【0224】(プロセッサのメモリ読み出し)アクセス
権メモリ125の各エントリの状態ビットは、00b
(Invalid)又は11b(Exclusive)
のいずれかである。このため、状態ビットが10b(S
hared)の場合の処理は存在せず、又、状態ビット
を10b(Shared)とする処理は行わない。よっ
て、実施の形態例1のプロセッサのメモリ読み出しと以
下の点が異なる。
【0225】(3-2)、(4)、(7-3)において、Way A
の状態ビットは、00b(Invalid)又は11b
(Exclusive)であり、10b(Share
d)にはなり得ない。
【0226】(7-4)において、アクセス権制御回路12
0は、信号線160―2を介してCPUバスインターフ
ェイス118にRIキャッシュ一致制御、及び、アクセ
ス権Invalidを転送し、アクセス権メモリ125
の当該Wayのアクセス権をアクセス権無(Inval
id)に変更する。
【0227】(8)は、(プロセッサのメモリ読み出し&
無効化)(8)と同じ処理を行う。
【0228】(12) ii)において、Way Aの状態ビッ
ト310aをExclusiveに設定する。
【0229】(13)において、プロセッサのキャッシュ状
態をExclusiveとする。
【0230】(プロセッサのメモリ読み出し&無効化)
アクセス権メモリ125の各エントリの状態ビットは、
00b(Invalid)又は11b(Exclusi
ve)のいずれかである。このため、状態ビットが10
b(Shared)の場合の処理は存在せず、又、状態
ビットを10b(Shared)とする処理は行わな
い。よって、実施の形態例1のプロセッサのメモリ読み
出し&無効化と以下の点が異なる。
【0231】(7-3)、(8)において、Way Aの状態ビ
ットは、11b(Exclusive)であり、10b
(Shared)にはなり得ない。
【0232】本実施の形態例により、アクセス権メモリ
125の状態ビット310a、310bは、1ビット幅
に削減できる(例えば、0bはアクセス権無、1bは排
他アクセス権)。これにより、アクセス権メモリ125
の容量(総ビット数)が削減でき、又、実施の形態例1
と比較しメモリアクセス処理を簡単にできる。一方、プ
ロセッサからのメモリアクセス処理時にキャッシュ一致
制御を省略できる可能性は低くなる。
【0233】以上が本発明の実施の形態例3である。
【0234】(実施の形態例4)本発明の第4の実施の
形態を図7を用いて説明する。
【0235】実施の形態例4は、実施の形態例1の変形
であるため、相違点についてのみ説明する。本実施の形
態例は、アクセス権メモリ125の各エントリに、当該
ラインが自プロセッサノード100a〜100b内のい
ずれかのプロセッサ105a−1〜105a−2にキャ
ッシングされている可能性があることを示すCPUビッ
トを設ける点、及び、プロセッサノード100a〜10
0bは、自プロセッサノード100a〜100b内のい
ずれかのプロセッサ105a−1〜105a−2にキャ
ッシングされているラインが必ずアクセス権メモリ12
5に登録されていることを保証できる様に動作する点が
異なる。
【0236】これにより、他プロセッサノード(100
bとする)からキャッシュ一致制御要求を受けた場合、
アクセス権メモリ125をチェックした時点で対象ライ
ンがアクセス権メモリ125に登録されていない、又
は、対象ラインがアクセス権メモリに登録されているが
CPUビットが0ならば、CPUバス115へのキャッ
シュ一致制御トランザクション発行を省略できる。よっ
て、CPUバス115のビジー率を低下させ、システム
のメモリアクセス性能を向上できる。
【0237】以下、実施の形態例4を、実施の形態例1
との相違点を中心に詳しく説明する。
【0238】本実施の形態例では、アクセス権メモリ1
25の各エントリを、実施の形態例1の図3に代わって
図7に示す構成とする。すなわち、各エントリ毎に、当
該ラインが自プロセッサノード100a〜100b内の
いずれかのプロセッサ105a−1〜105a−2にキ
ャッシングされている可能性があることを示すCPUビ
ット720a、720bを追加する。
【0239】CPUビット720a、720bが0の場
合、当該エントリに登録されたラインは自プロセッサノ
ード内のいずれのキャッシュ110a−1〜110a−
2にもキャッシングされていないことを示す。CPUビ
ット720a、720bが1の場合、当該エントリに登
録されたラインは自プロセッサノード内のいずれかのキ
ャッシュ110a−1〜110a−2にキャッシングさ
れている可能性があることを示す。
【0240】本実施の形態例では、アクセス権メモリは
自プロセッサノード100a〜100b内のいずれかの
プロセッサ105a−1〜105a−2にキャッシング
されているラインを全て登録していることを保証する。
このため、実施の形態例1のメモリアクセス動作と以下
の点が異なる。
【0241】(プロセッサのメモリ読み出し及びプロセ
ッサのメモリ読み出し&無効化)(3-1)で状態ビット0
0bのウェイが存在しない場合、以下の処理を行う。
【0242】i)LRUビットが0ならウェイ1を使用す
る。LRUビットが1ならウェイ0を使用する。
【0243】ii)選択したウェイのCPUビットが0の
場合、iii)以降の処理は行わない。
【0244】iii)選択したウェイのCPUビットが1の
場合、アクセス権制御回路120はこのウェイに登録さ
れているアドレス(Bとする)へのRIキャッシュ一致
制御をCPUバスインターフェイス118に発行する。
【0245】iv)CPUバスインターフェイス118
は、CPUバス115にRIトランザクションを発行す
る。
【0246】アドレスBをExclusive状態、又
は、Shared状態で保持するプロセッサは、アドレ
スBのキャッシュ状態をInvalidに変更する。
【0247】vi)v)の処理により、アドレスBは自プロ
セッサノード内のいずれのプロセッサにも保持されてい
ないことが保証される。この後、選択したウェイの状態
ビットを00b(Invalid)とし、LRUビット
は反転させる。
【0248】(7)でアクセス権制御回路120は、信号
線160−2を介してCPUバスインターフェイス11
8にRD又はRIキャッシュ一致制御、アクセス権状態
に加え、当該ウェイのCPUビットを転送する。
【0249】(8)上記i)でCPUバスインターフェイス
118は、アクセス権制御回路120から受けたアクセ
ス権状態がRetry以外、かつ、CPUビットが1の
場合、CPUバス115にキャッシュ一致制御トランザ
クションを発行する。
【0250】(8)上記iii)でCPUバスインターフェイ
ス118は、CPUビットが0の場合プロセッサのキャ
ッシュ状態をInvalidと見なしてプロセッサノー
ドのキャッシュ状態を生成する。CPUビットが1の場
合、実施の形態例1と同様にプロセッサノードのキャッ
シュ状態を生成する。
【0251】(12)上記ii)でアクセス権制御回路120
は、アドレスAをWay Aに登録する時に、CPUビ
ットを1とする。
【0252】本実施の形態例では、アクセス権メモリ1
25の各エントリにCPUビットを追加し、自プロセッ
サノード100a〜100b内のいずれかのプロセッサ
105a−1〜105a−2にキャッシングされている
ラインが必ずアクセス権メモリ125に登録されている
ことを保証できる様に動作することで、他プロセッサノ
ード(100bとする)からキャッシュ一致制御要求を
受けた場合、アクセス権メモリ125をチェックした時
点で対象ラインがアクセス権メモリ125に登録されて
いない、又は、対象ラインがアクセス権メモリに登録さ
れているがCPUビットが0ならば、CPUバス115
へのキャッシュ一致制御トランザクション発行を省略で
きる。これにより、CPUバス115のビジー率を低下
させ、システムのメモリアクセス性能を向上できる。ま
た、本実施の形態例の変形例として、アクセス権メモリ
125の各エントリに、CPUビットの代わりに自プロ
セッサノードの各プロセッサキャッシュの状態を登録す
る方法も考えられる。
【0253】以上が、本発明の実施の形態例4である。
【0254】(実施の形態例5)本発明の第5の実施の
形態を図8〜9を用いて説明する。
【0255】実施の形態例5は、実施の形態例4の変形
であるため、相違点についてのみ説明する。
【0256】本実施の形態例は、アクセス権メモリ12
5の各エントリに、当該ラインが他プロセッサノード1
00a〜100b内のアクセス権メモリに登録されてい
る可能性があることを示すビットマップ(CCビット)
を設け、プロセッサのアクセス発行時にアクセス権メモ
リ125をチェックした結果、当該ラインがアクセス権
メモリ125に登録されているにも係らず自プロセッサ
ノードにアクセス権が存在しない場合、CCビットが1
であるプロセッサノードのみにキャッシュ一致制御要求
を発行する点が異なる。
【0257】これにより、自プロセッサノードにアクセ
ス権が存在しない場合にも、当該ラインがアクセス権メ
モリ125に登録されているならば、一部のプロセッサ
ノードのみにキャッシュ一致制御要求を発行すればよ
く、実施の形態例4と比較しネットワーク170上で転
送されるキャッシュ一致制御トランザクション数、及
び、他プロセッサノードのキャッシュ一致制御の頻度を
低下させることができる。
【0258】以下、実施の形態例5を、実施の形態例4
との相違点を中心に詳しく説明する。
【0259】本実施の形態例では、アクセス権メモリ1
25の各エントリを、実施の形態例4の図7に代わって
図8に示す構成とする。すなわち、各エントリ毎に、当
該ラインが他プロセッサノードのアクセス権メモリに登
録されている可能性があることを示すCCビット825
a、825bを追加する。CCビットは8bitのビッ
トマップで構成され、各ビットは対応するプロセッサノ
ードが当該ラインをアクセス権メモリ125に登録して
いる可能性があることを示す。すなわち、CCビットの
bit0が1ならば、プロセッサノード0は当該ライン
をアクセス権メモリ125に登録している可能性があ
り、以下同様にbit7が1ならばプロセッサノード7
は当該ラインをアクセス権メモリ125に登録している
可能性がある。
【0260】本実施の形態例では、プロセッサノード上
のネットワークインターフェイス155、メモリノード
175a〜175b、I/Oノード185a〜185b
とネットワーク170間で授受されるトランザクション
の構成を、実施の形態例4の図4に代わって、図9に示
す構成とする。すなわち、第0ワードにCCビット95
5を追加し、キャッシュ状態950のInvalid状
態をInvalid hit状態、Invalid Mi
ss状態に分ける点が異なる。
【0261】以下に、メモリアクセス動作における実施
の形態例4と本実施の形態例との相違点を示す。
【0262】(プロセッサのメモリ読み出し、又はプロ
セッサのメモリ読み出し&書込み)(3-1)で状態ビット
が00bのウェイが存在しない場合、CCビットを全ビ
ット1として以後の処理を行う。
【0263】(3-2)でWay Aの状態ビットが00b
(Invalid)、01b(Shared、メモリ読
み出し&書込みのみ)の場合、CCビットが1のプロセ
ッサノードのみキャッシュ一致制御を行う必要がある。
【0264】(4)において、(3)でWay Aが存在し、
かつ、状態ビットが00b(Invalid)、01b
(Shared、メモリ読み出し&書込みのみ)であっ
た場合、CCビットが1のプロセッサノードのキャッシ
ュ一致制御要求を発行する。
【0265】(5)でネットワーク170は、この要求元
プロセッサノードから受けたCCビット955に従い、
キャッシュ一致制御要求トランザクションを転送するプ
ロセッサノードを選択する。
【0266】(9)でキャッシュ一致制御要求トランザク
ションを受けた各プロセッサノードは、キャッシュ一致
制御結果と共に、当該ラインがアクセス権メモリ125
に登録されているかを示す情報をネットワーク170に
返送する。すなわち、キャッシュ一致制御結果Inva
lid Hit、Shared、Modifiedの場
合、当該ラインはアクセス権メモリ125に登録されて
いることを示す。一方、Invalid Missの場
合、当該ラインはアクセス権メモリ125に登録されて
いないことを示す。
【0267】また、アクセス権メモリ125に当該ライ
ンが登録されている場合、CCビット825a、825
bの要求元プロセッサノードに対応するビットを1とす
る。
【0268】(11)でネットワーク170は、キャッシュ
一致制御結果から要求元プロセッサノードのアクセス権
メモリ125に登録するCCビット825a、825b
を生成する。すなわち、キャッシュ一致制御要求に対し
てInvalid Hit、Shared、Modif
iedを返したプロセッサノードに対応するビットのみ
1とする。このCCビットをキャッシュ一致制御応答ト
ランザクションのCCビットとして要求元プロセッサノ
ードに転送する。
【0269】(12)で要求元プロセッサノードは、ネット
ワーク170から受けたCCビットの自プロセッサノー
ドに対応するビットを1とし、アクセス権メモリ125
の当該エントリに登録する。
【0270】図10に、本実施の形態例におけるプロセ
ッサノード間のキャッシュ一貫性保証動作を示す。本説
明では、説明の便宜上プロセッサノード数を4とし、プ
ロセッサノードのキャッシュ一致制御処理のみを示す。
従ってメモリノード、I/Oノードの動作は示さない。
【0271】図10では、あるアドレスAが複数プロセ
ッサノードからアクセスされた時のシステムの動作、及
び、アクセス権メモリの当該エントリの状態を示す。シ
ステムの初期状態は、全プロセッサノードがアドレスA
をアクセス権メモリに登録していないものとする。
【0272】以下、図10のキャッシュ一貫性保証動作
を示す。
【0273】(1)プロセッサノード0がRD発行 プロセッサノード0内のプロセッサがRDトランザクシ
ョンを発行する。この時、アクセス権メモリにアドレス
Aが登録されていないため、CCビット=1111と見
なして全プロセッサノードにキャッシュ一致制御要求ト
ランザクションが発行される。
【0274】プロセッサノード1〜3は、アクセス権メ
モリにアドレスAを登録していないため、キャッシュ状
態=Invalid Missを返答する。
【0275】ネットワークは、プロセッサノード1〜3
のInvalid Missを受け、要求元プロセッサ
ノードにキャッシュ状態=Invalid、CCビット
=0000を返答する。
【0276】プロセッサノード0は、キャッシュ状態I
nvalid、CCビット=0000を受けて、アクセ
ス権メモリにアドレスAを登録し、アクセス権メモリの
状態ビット=Exclusive(排他アクセス権)、
CCビット=1000とする。
【0277】プロセッサノード2がRD発行 プロセッサノード2内のプロセッサがRDトランザクシ
ョンを発行する。この時、アクセス権メモリにアドレス
Aが登録されていないため、CCビット=1111と見
なして全プロセッサノードにキャッシュ一致制御要求ト
ランザクションが発行される。
【0278】プロセッサノード0は、アクセス権メモリ
にアドレスAを登録しており、排他アクセス権を持つ。
キャッシュ一致制御要求トランザクションを受けると、
排他アクセス権を共有アクセス権に変更し、キャッシュ
状態=Sharedを返答する。又、自プロセッサノー
ド内アクセス権メモリの当該エントリを、状態ビット=
Shared、CCビット=1010に変更する。
【0279】プロセッサノード1、3は、アクセス権メ
モリにアドレスAを登録していないため、キャッシュ状
態=Invalid Missを返答する。
【0280】ネットワークは、プロセッサノード0、
1、3のShared及びInvalid Missを
受け、要求元プロセッサノードにキャッシュ状態=Sh
ared、CCビット=1000を返答する。
【0281】プロセッサノード0は、キャッシュ状態S
hared、CCビット=1000を受けて、アクセス
権メモリにアドレスAを登録し、アクセス権メモリの状
態ビット=Shared(共有アクセス権)、CCビッ
ト=1010とする。
【0282】(1)プロセッサノード0がRI発行 プロセッサノード0内のプロセッサがRIトランザクシ
ョンを発行する。この時、アクセス権メモリにアドレス
Aが登録されているが、排他アクセス権が存在しないた
め、CCビット=1010と見なしてプロセッサノード
2にキャッシュ一致制御要求トランザクションが発行さ
れる。
【0283】プロセッサノード2は、アクセス権メモリ
にアドレスAを登録しており、共有アクセス権を持つ。
キャッシュ一致制御要求トランザクションを受けると、
共有アクセス権をアクセス権無に変更し、キャッシュ状
態=Invalid Hitを返答する。又、自プロセ
ッサノード内アクセス権メモリの当該エントリを、状態
ビット=Invalidに変更する。
【0284】プロセッサノード1、3は、キャッシュ一
致制御要求を受けない。
【0285】ネットワークは、プロセッサノード2のI
nvalid Hitを受け、要求元プロセッサノード
にキャッシュ状態=Invalid、CCビット=00
10を返答する。
【0286】プロセッサノード0は、キャッシュ状態I
nvalid、CCビット=0010を受けて、アクセ
ス権メモリにアドレスAを登録し、アクセス権メモリの
状態ビット=Exclusive(排他アクセス権)と
する。
【0287】(2)プロセッサノード0が当該エントリ置
換え後、プロセッサノード2がRD発行 プロセッサノード0がアクセス権メモリのアドレスAに
対応するエントリを置き換える。その後、プロセッサノ
ード2内のプロセッサがRDトランザクションを発行す
る。この時、アクセス権メモリにアドレスAが登録され
ているが、アクセス権が存在しないため、CCビット=
1010と見なしてプロセッサノード0にキャッシュ一
致制御要求トランザクションが発行される。
【0288】プロセッサノード0は、アクセス権メモリ
にアドレスAを登録していないため、キャッシュ状態=
Invalid Missを返答する。
【0289】プロセッサノード1、3は、キャッシュ一
致制御要求を受けない。
【0290】ネットワークは、プロセッサノード0のI
nvalid Missを受け、要求元プロセッサノー
ドにキャッシュ状態=Invalid、CCビット=0
000を返答する。
【0291】プロセッサノード2は、キャッシュ状態I
nvalid、CCビット=0000を受けて、アクセ
ス権メモリにアドレスAを登録し、アクセス権メモリの
状態ビット=Exclusive(排他アクセス権)、
CCビット=0010とする。
【0292】本実施の形態例では、あるプロセッサノー
ドでアクセス権メモリ125からアドレスAが別アドレ
スに置き換えられ、他プロセッサノードが当該プロセッ
サノードにキャッシュ一致制御要求を発行した場合にの
み、要求元プロセッサノードのCCビットにおける当該
プロセッサノードに対応するビットが0となる。
【0293】本実施の形態例の変形例として、アクセス
権メモリにあるラインが登録されている場合でも、ある
条件を満たせば登録されていないものと見なし、CCビ
ットが1となる確率を低下させる方法も考えられる。こ
の条件の一例として、以下のものが考えられる。
【0294】・CCビット内の1のビット数が一定以上
の場合、当該エントリは登録されていないものと見な
す。
【0295】・アクセス権メモリの各エントリに状態ビ
ットがカウンタを付加し、状態ビットがInvalid
の時に他プロセッサノードから当該エントリにキャッシ
ュ一致制御要求を受けた回数をカウントする。このカウ
ンタ値が一定以上になった場合、当該エントリは登録さ
れていないものと見なす。
【0296】以上が、本発明の実施の形態例5である。
【0297】アクセス権メモリ125の各エントリに、
当該ラインが他プロセッサノード100a〜100b内
のアクセス権メモリに登録されている可能性があること
を示すCCビットを設け、プロセッサのアクセス発行時
にアクセス権メモリ125をチェックした結果、当該ラ
インがアクセス権メモリ125に登録されているにも係
らず自プロセッサノードにアクセス権が存在しない場
合、CCビットが1であるプロセッサノードのみにキャ
ッシュ一致制御要求を発行する点が異なる。
【0298】これにより、自プロセッサノードにアクセ
ス権が存在しない場合にも、当該ラインがアクセス権メ
モリ125に登録されているならば、一部のプロセッサ
ノードのみにキャッシュ一致制御要求を発行すればよ
く、実施の形態例4と比較しネットワーク170上で転
送されるキャッシュ一致制御トランザクション数、及
び、他プロセッサノードのキャッシュ一致制御の頻度を
低下させることができる。
【0299】
【発明の効果】本発明によれば、アクセス権メモリ及び
アクセス権制御回路をプロセッサノード制御回路内に設
け、自プロセッサノードからのメモリアクセスについて
は、まずアクセス権メモリをチェックし、自プロセッサ
ノードが既にアクセス権を持っている場合に他プロセッ
サノードのキャッシュ一致制御を省略することができ
る。
【0300】これにより、ネットワーク上で転送される
キャッシュ一致制御トランザクション数、及び、他プロ
セッサノードのキャッシュ一致制御の頻度を低下させる
ことができ、同一ネットワーク及び同一プロセッサノー
ドを用いた時に、従来と比較しより多くのメモリアクセ
ス処理がシステム内で可能となり、システムのメモリア
クセススループットを向上させることができる。
【0301】また、アクセス権メモリの各エントリにC
PUビットを追加し、自プロセッサノード内のいずれか
のプロセッサにキャッシングされているラインが必ずア
クセス権メモリに登録されていることを保証できる様に
動作することで、他プロセッサノードからキャッシュ一
致制御要求を受けた場合、アクセス権メモリをチェック
した時点で対象ラインがアクセス権メモリ125に登録
されていない、又は、対象ラインがアクセス権メモリに
登録されているがCPUビットが0ならば、CPUバス
115へのキャッシュ一致制御トランザクション発行を
省略できる。これにより、CPUバスのビジー率を低下
させ、システムのメモリアクセス性能を向上できる。
【0302】また、アクセス権メモリの各エントリに、
当該ラインが他プロセッサノード内のアクセス権メモリ
に登録されている可能性があることを示すCCビットを
設け、プロセッサのアクセス発行時にアクセス権メモリ
をチェックした結果、当該ラインがアクセス権メモリに
登録されているにも係らず自プロセッサノードにアクセ
ス権が存在しない場合、CCビットが1であるプロセッ
サノードのみにキャッシュ一致制御要求を発行する。
【0303】これにより、自プロセッサノードにアクセ
ス権が存在しない場合にも、当該ラインがアクセス権メ
モリに登録されているならば、一部のプロセッサノード
のみにキャッシュ一致制御要求を発行すればよく、ネッ
トワーク上で転送されるキャッシュ一致制御トランザク
ション数、及び、他プロセッサノードのキャッシュ一致
制御の頻度を低下させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態例1に係る並列計算機の構
成を示す図。
【図2】本発明の実施の形態例1に係る並列計算機で使
用するアドレス値を示す図。
【図3】本発明の実施の形態例1に係る並列計算機のア
クセス権メモリに格納される各エントリの構成を示す
図。
【図4】本発明の実施の形態例1に係る並列計算機のネ
ットワークで転送されるトランザクションの構造を示す
図。
【図5】本発明の実施の形態例1に係る並列計算機のプ
ロセッサキャッシュメモリに格納されるラインの状態遷
移を示す図。
【図6】本発明の実施の形態例1に係る並列計算機のア
クセス権制御回路の構成を示す図。
【図7】本発明の実施の形態例4に係る並列計算機のア
クセス権メモリに格納される各エントリの構成を示す
図。
【図8】本発明の実施の形態例5に係る並列計算機のア
クセス権メモリに格納される各エントリの構成を示す
図。
【図9】本発明の実施の形態例5に係る並列計算機のネ
ットワークで転送されるトランザクションの構造を示す
図。
【図10】本発明の実施の形態例5に係る並列計算機の
キャッシュ一致制御動作を示す図。
【符号の説明】
100a、100b…プロセッサノード、 105a−1、105a−2…プロセッサ、 110a−1、110a−2…キャッシュ、 115…CPUバス、 118…CPUバスインターフェイス、 120…アクセス権制御回路、 125…アクセス権メモリ、 150…プロセッサノード制御回路、 155…ネットワークインターフェイス、 160―1、160―2、160―3、160―4、1
60―5、160―6、160―7、160―8、16
0―9、160―10、160―11…信号線、 165a−1、165a−2、165b−1、165b
−2…プロセッサノードとネットワーク間の信号線、 180a−1、180a−2、180b−1、180b
−2…メモリノードとネットワーク間の信号線、 190a−1、190a−2、190b−1、190b
−2…I/Oノードとネットワーク間の信号線、 170…ネットワーク、 175a、175b…メモリノード、 185a、185b…I/Oノード、 200…タグフィールド、 210…ラインアドレスフィールド、 220…ライン内アドレスフィールド、 300…LRUビット、 310a、310b…アクセス権状態ビット、 320a、320b…CPUビット(CPU内にキャッ
シングされていることを示す)、 330a、330b…タグフィールド 400…発行ノード番号、 410…発行側識別子、 430…トランザクションの処理状態、 440…命令種類、 450…キャッシュ状態、 460…対象アドレス、 470a、470b、470c、470d…トランザク
ションのデータ第0〜第3ワード、 600…トランザクションバッファ、 610…アクセス権チェック回路、 620…トランザクションルータ、 630…アクセス権メモリアクセス回路、 640…アクセス権バッファ、 650…アクセス権変更回路、 660−1、660―2、660―3、660―4…信
号線、 700…LRUビット、 710a、710b…アクセス権状態ビット、 720a、720b…CPUビット(CPU内にキャッ
シングされていることを示す)、 730a、730b…タグフィールド、 800…LRUビット、 810a、810b…アクセス権状態ビット、 820a、820b…CPUビット(CPU内にキャッ
シングされていることを示す)、 825a、825b…CCビット(当該ラインをアクセ
ス権メモリに登録している可能性があるノードを示
す)、 830a、830b…タグフィールド、 900…発行ノード番号、 910…発行側識別子、 930…トランザクションの処理状態、 940…命令種類、 950…キャッシュ状態、 955…CCビット、 960…対象アドレス、 970a、970b、970c、970d…トランザク
ションのデータ第0〜第3ワード。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡田 哲彦 神奈川県海老名市下今泉810番地 株式会 社日立製作所サーバ開発本部内 Fターム(参考) 5B005 KK02 KK13 MM01 NN43 NN53 PP00 PP21 QQ02 UU41 5B045 DD01 DD12 GG11

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサまたは複数のI/Oデバ
    イスからアクセスされる共有メモリを有し、前期プロセ
    ッサまたはI/Oデバイスは複数のノードに分割されい
    る並列計算機システムのキャッシュ一貫性保証方法であ
    って、共有メモリ上のあるブロックに対するアクセス権
    が自ノードに存在することを示すアクセス権エントリを
    複数登録する、各ノード毎に準備されたアクセス権メモ
    リを用い、キャッシュ一貫性保証を必要とするプロセッ
    サ又はI/Oデバイスの共有メモリアクセス時にアクセ
    ス権メモリをアクセスしてアクセス権状態を決定し、当
    該プロセッサ又はI/Oデバイスを含むノードがアクセ
    ス対象の共有メモリブロックのアクセス権を保持する場
    合には、他ノード上のキャッシュメモリのキャッシュ一
    致制御を行うことなく共有メモリブロックをアクセス
    し、当該プロセッサ又はI/Oデバイスを含むノードが
    アクセス対象の共有メモリブロックのアクセス権を保持
    しない場合には、他ノード上のキャッシュメモリのキャ
    ッシュ一致制御を行うと共に、必要に応じて共有メモリ
    ブロックをアクセスすることを特徴とするキャッシュ一
    貫性保証方法。
  2. 【請求項2】前記アクセス権メモリは、共有メモリのブ
    ロックアドレスの一部をアクセス権エントリアドレス、
    共有メモリのブロックアドレスのうち、アクセス権エン
    トリアドレス以外の部分をアクセス権エントリタグと
    し、アクセス権エントリタグ及びアクセス権状態を格納
    するアクセス権エントリを一又は複数をアクセス権メモ
    リの同一アクセス権エントリアドレスに記憶することを
    特徴とする請求項1記載のキャッシュ一貫性保証方法。
  3. 【請求項3】アクセス権メモリのアクセス時に、共有メ
    モリのブロックアドレスから求めたアクセス権エントリ
    アドレスを用いてアクセス権メモリを読み出し、当該ア
    クセス権エントリアドレス内の複数アクセス権エントリ
    内に存在するアクセス権エントリタグ部と、共有メモリ
    のブロックアドレスから求めたアクセス権エントリタグ
    が一致したアクセス権エントリに存在するアクセス権状
    態を当該ノードが有することを特徴とする請求項2記載
    のキャッシュ一貫性保証方法。
  4. 【請求項4】前記アクセス権状態は、アクセス権無、共
    有アクセス権有、排他アクセス権有の3状態を有するこ
    とを特徴とする請求項1乃至3のいずれかに記載のキャ
    ッシュ一貫性保証方法。
  5. 【請求項5】プロセッサ又はI/Oデバイスがキャッシ
    ュ一貫性保証を必要とする共有メモリ読み出しを発行し
    た時に、当該プロセッサ又はI/Oデバイスを有するノ
    ードのアクセス権メモリを検索し、共有メモリのアクセ
    ス対象ブロックに対応するアクセス権エントリが存在し
    ない場合、又は、共有メモリのアクセス対象ブロックに
    対応するアクセス権エントリが存在し、当該アクセス権
    エントリのアクセス権状態がアクセス権無の場合、他の
    全ノード上のプロセッサ及びI/Oデバイスに存在する
    キャッシュの一致制御を行い、共有メモリのアクセス対
    象ブロックに対応するアクセス権エントリが存在し、当
    該アクセス権エントリのアクセス権状態が共有アクセス
    権有又は排他アクセス権有の場合、他のノード上のプロ
    セッサ及びI/Oデバイスに存在するキャッシュの一致
    制御を行わないことを特徴とする請求項4記載のキャッ
    シュ一貫性保証方法。
  6. 【請求項6】他ノードから共有メモリ読み出しによるキ
    ャッシュ一致制御要求を受けた時に、自ノード上のプロ
    セッサ及びI/Oデバイスに存在するキャッシュの一致
    制御を行うと共に、当該ノードのアクセス権メモリを検
    索し、キャッシュ一致制御要求の対象ブロックに対応す
    るアクセス権エントリが存在し、当該アクセス権エント
    リのアクセス権状態が共有アクセス権有又は排他アクセ
    ス権有の場合、当該アクセス権状態をアクセス権無に変
    更することを特徴とする請求項4又は5のいずれかに記
    載のキャッシュ一貫性保証方法。
  7. 【請求項7】他ノードから共有メモリ読み出しによるキ
    ャッシュ一致制御要求を受けた時に、自ノード上のプロ
    セッサ及びI/Oデバイスに存在するキャッシュの一致
    制御を行うと共に、当該ノードのアクセス権メモリを検
    索し、キャッシュ一致制御要求の対象ブロックに対応す
    るアクセス権エントリが存在し、当該アクセス権エント
    リのアクセス権状態が共有アクセス権有又は排他アクセ
    ス権有の場合、当該アクセス権状態を共有アクセス権有
    とすることを特徴とする請求項4又は5のいずれかに記
    載のキャッシュ一貫性保証方法。
  8. 【請求項8】プロセッサ又はI/Oデバイスがキャッシ
    ュ一致制御を必要とする共有メモリ読み出しを発行し、
    他ノードのキャッシュ一致制御要求を発行した結果他の
    全ノードが当該共有メモリブロックのアクセス権を持た
    ない場合に、自ノードのアクセス権を排他アクセス権有
    としてアクセス権メモリに登録し、他ノードのキャッシ
    ュ一致制御要求を発行した結果他の最低1つのノードが
    当該共有メモリブロックの共有アクセス権を持つ場合
    に、自ノードのアクセス権を共有アクセス権有としてア
    クセス権メモリに登録することを特徴とする請求項4乃
    至7のいずれかに記載のキャッシュ一貫性保証方法。
  9. 【請求項9】プロセッサ又はI/Oデバイスがキャッシ
    ュ一致制御を必要とする共有メモリ書込み又は無効化を
    伴う読み出しを発行した時に、当該プロセッサ又はI/
    Oデバイスを有するノードのアクセス権メモリを検索
    し、共有メモリのアクセス対象ブロックに対応するアク
    セス権エントリが存在しない場合、又は、共有メモリの
    アクセス対象ブロックに対応するアクセス権エントリが
    存在し、当該アクセス権エントリのアクセス権状態がア
    クセス権無又は共有アクセス権有の場合、他の全ノード
    上のプロセッサ及びI/Oデバイスに存在するキャッシ
    ュの一致制御を行い、共有メモリのアクセス対象ブロッ
    クに対応するアクセス権エントリが存在し、当該アクセ
    ス権エントリのアクセス権状態が排他アクセス権有の場
    合、他のノード上のプロセッサ及びI/Oデバイスに存
    在するキャッシュの一致制御を行わないことを特徴とす
    る請求項4乃至7のいずれかに記載のキャッシュ一貫性
    保証方法。
  10. 【請求項10】他ノードから共有メモリ書込み又は無効
    化を伴う読み出しによるキャッシュ一致制御要求を受け
    た時に、自ノード上のプロセッサ及びI/Oデバイスに
    存在するキャッシュの一致制御を行うと共に、当該ノー
    ドのアクセス権メモリを検索し、キャッシュ一致制御要
    求の対象ブロックに対応するアクセス権エントリが存在
    する場合、当該アクセス権状態をアクセス権無に変更す
    ることを特徴とする請求項4乃至7のいずれかに記載の
    キャッシュ一貫性保証方法。
  11. 【請求項11】プロセッサ又はI/Oデバイスがキャッ
    シュ一致制御を必要とする共有メモリ書込み又は無効化
    を伴う読み出しを発行し、他ノードのキャッシュ一致制
    御要求を発行した結果他の全ノードが当該共有メモリブ
    ロックのアクセス権を持たない場合に、自ノードのアク
    セス権を排他アクセス権有としてアクセス権メモリに登
    録することを特徴とする請求項4乃至7のいずれかに記
    載のキャッシュ一貫性保証方法。
  12. 【請求項12】前記アクセス権状態は、アクセス権無、
    共有アクセス権有の2状態を有することを特徴とする請
    求項1乃至3のいずれかに記載のキャッシュ一貫性保証
    方法。
  13. 【請求項13】プロセッサ又はI/Oデバイスがキャッ
    シュ一致制御を必要とする共有メモリ読み出しを発行し
    た時に、当該プロセッサ又はI/Oデバイスを有するノ
    ードのアクセス権メモリを検索し、共有メモリのアクセ
    ス対象ブロックに対応するアクセス権エントリが存在し
    ない場合、又は、共有メモリのアクセス対象ブロックに
    対応するアクセス権エントリが存在し、当該アクセス権
    エントリのアクセス権状態がアクセス権無の場合、他の
    全ノード上のプロセッサ及びI/Oデバイスに存在する
    キャッシュの一致制御を行い、共有メモリのアクセス対
    象ブロックに対応するアクセス権エントリが存在し、当
    該アクセス権エントリのアクセス権状態が共有アクセス
    権有の場合、他のノード上のプロセッサ及びI/Oデバ
    イスに存在するキャッシュの一致制御を行わないことを
    特徴とする請求項12記載のキャッシュ一貫性保証方
    法。
  14. 【請求項14】他ノードから共有メモリ読み出しによる
    キャッシュ一致制御要求を受けた時に、自ノード上のプ
    ロセッサ及びI/Oデバイスに存在するキャッシュの一
    致制御を行うと共に、当該ノードのアクセス権メモリを
    検索し、キャッシュ一致制御要求の対象ブロックに対応
    するアクセス権エントリが存在し、当該アクセス権エン
    トリのアクセス権状態が共有アクセス権有の場合、当該
    アクセス権状態を共有アクセス権有のまま保つことを特
    徴とする請求項12又は13のいずれかに記載のキャッ
    シュ一貫性保証方法。
  15. 【請求項15】プロセッサ又はI/Oデバイスがキャッ
    シュ一致制御を必要とする共有メモリ読み出しを発行
    し、他ノードのキャッシュ一致制御要求を発行した結
    果、自ノードのアクセス権を共有アクセス権有としてア
    クセス権メモリに登録することを特徴とする請求項12
    乃至14のいずれかに記載のキャッシュ一貫性保証方
    法。
  16. 【請求項16】前記アクセス権状態は、アクセス権無、
    排他アクセス権有の2状態を有することを特徴とする請
    求項1乃至3のいずれかに記載のキャッシュ一貫性保証
    方法。
  17. 【請求項17】プロセッサ又はI/Oデバイスがキャッ
    シュ一致制御を必要とする共有メモリ読み出しを発行し
    た時に、当該プロセッサ又はI/Oデバイスを有するノ
    ードのアクセス権メモリを検索し、共有メモリのアクセ
    ス対象ブロックに対応するアクセス権エントリが存在し
    ない場合、又は、共有メモリのアクセス対象ブロックに
    対応するアクセス権エントリが存在し、当該アクセス権
    エントリのアクセス権状態がアクセス権無の場合、他の
    全ノード上のプロセッサ及びI/Oデバイスに存在する
    キャッシュの一致制御を行い、共有メモリのアクセス対
    象ブロックに対応するアクセス権エントリが存在し、当
    該アクセス権エントリのアクセス権状態が排他アクセス
    権有の場合、他のノード上のプロセッサ及びI/Oデバ
    イスに存在するキャッシュの一致制御を行わないことを
    特徴とする請求項16記載のキャッシュ一貫性保証方
    法。
  18. 【請求項18】キャッシュ一貫性保証装置であって、他
    ノードから共有メモリ読み出しによるキャッシュ一致制
    御要求を受けた時に、自ノード上のプロセッサ及びI/
    Oデバイスに存在するキャッシュの一致制御を行うと共
    に、当該ノードのアクセス権メモリを検索し、キャッシ
    ュ一致制御要求の対象ブロックに対応するアクセス権エ
    ントリが存在し、当該アクセス権エントリのアクセス権
    状態が排他アクセス権有の場合、当該アクセス権状態を
    アクセス権無に変更することを特徴とする請求項16又
    は17のいずれかに記載のキャッシュ一貫性保証方法。
  19. 【請求項19】プロセッサ又はI/Oデバイスがキャッ
    シュ一致制御を必要とする共有メモリ読み出しを発行
    し、他ノードのキャッシュ一致制御要求を発行した結果
    他の全ノードが当該共有メモリブロックのアクセス権を
    持たない場合に、自ノードのアクセス権を排他アクセス
    権有としてアクセス権メモリに登録することを特徴とす
    る請求項16乃至18のいずれかに記載のキャッシュ一
    貫性保証方法。
  20. 【請求項20】プロセッサ又はI/Oデバイスがキャッ
    シュ一致制御を必要とする共有メモリ書込みを発行した
    時に、当該プロセッサ又はI/Oデバイスを有するノー
    ドのアクセス権メモリを検索し、共有メモリのアクセス
    対象ブロックに対応するアクセス権エントリが存在しな
    い場合、又は、共有メモリのアクセス対象ブロックに対
    応するアクセス権エントリが存在し、当該アクセス権エ
    ントリのアクセス権状態がアクセス権無の場合、他の全
    ノード上のプロセッサ及びI/Oデバイスに存在するキ
    ャッシュの一致制御を行い、共有メモリのアクセス対象
    ブロックに対応するアクセス権エントリが存在し、当該
    アクセス権エントリのアクセス権状態が排他アクセス権
    有の場合、他のノード上のプロセッサ及びI/Oデバイ
    スに存在するキャッシュの一致制御を行わないことを特
    徴とする請求項16乃至19のいずれかに記載のキャッ
    シュ一貫性保証方法。
  21. 【請求項21】他ノードから共有メモリ書込みによるキ
    ャッシュ一致制御要求を受けた時に、自ノード上のプロ
    セッサ及びI/Oデバイスに存在するキャッシュの一致
    制御を行うと共に、当該ノードのアクセス権メモリを検
    索し、キャッシュ一致制御要求の対象ブロックに対応す
    るアクセス権エントリが存在する場合、当該アクセス権
    状態をアクセス権無に変更することを特徴とする請求項
    16乃至20のいずれかに記載のキャッシュ一貫性保証
    方法。
  22. 【請求項22】プロセッサ又はI/Oデバイスがキャッ
    シュ一致制御を必要とする共有メモリ書込みを発行し、
    他ノードのキャッシュ一致制御要求を発行した結果他の
    全ノードが当該共有メモリブロックのアクセス権を持た
    ない場合に、自ノードのアクセス権を排他アクセス権有
    としてアクセス権メモリに登録することを特徴とする請
    求項16乃至21のいずれかに記載のキャッシュ一貫性
    保証方法。
  23. 【請求項23】各アクセス権エントリに当該共有メモリ
    ブロックが自ノード内の一又は複数のプロセッサ又はI
    /Oデバイスにキャッシングされていることを示すビッ
    トを設けることを特徴とする請求項1乃至22のいずれ
    かに記載のキャッシュ一貫性保証方法。
  24. 【請求項24】各アクセス権エントリに、当該共有メモ
    リブロックが自ノード内の一又は複数のプロセッサ又は
    I/Oデバイスにキャッシングされていること、及び、
    当該共有メモリブロックのキャッシング状態を示すフィ
    ールドを設けることを特徴とする請求項1乃至22のい
    ずれかに記載のキャッシュ一貫性保証方法。
  25. 【請求項25】各アクセス権エントリに、当該共有メモ
    リブロックをアクセス権メモリに登録している可能性が
    あるか、又は、当該共有メモリブロックをキャッシング
    している可能性がある他ノードを特定するフィールドを
    設け、自ノード内のプロセッサ又はI/Oデバイスがキ
    ャッシュ一致制御を必要とする共有メモリアクセスを発
    行した時に、自ノードのアクセス権メモリを検索し、共
    有メモリのアクセス対象ブロックに対応するアクセス権
    エントリが存在し、かつ、他ノードのキャッシュ一致制
    御が必要となった場合に、前記フィールドの情報に基づ
    き、当該共有メモリブロックをアクセス権メモリに登録
    している可能性があるか、又は、当該共有メモリブロッ
    クをキャッシングしている可能性がある他ノードのみに
    キャッシュ一致制御要求を発行することを特徴とする点
    が異なる請求項1乃至24のいずれかに記載のキャッシ
    ュ一貫性保証方法。
  26. 【請求項26】各アクセス権エントリに設けた当該共有
    メモリブロックをアクセス権メモリに登録している可能
    性があるか、又は、当該共有メモリブロックをキャッシ
    ングしている可能性がある他ノードを特定するフィール
    ドは、自ノード内プロセッサ又はI/Oデバイスが当該
    共有メモリブロックをアクセスし、他ノードにキャッシ
    ュ一致制御要求を送付した結果、キャッシュ一致制御要
    求を受けた他ノードが各々当該共有メモリブロックをア
    クセス権メモリに登録していること、又は、当該共有メ
    モリブロックをキャッシングしていることを示す情報を
    返送し、これらの情報を集めて生成されることを特徴と
    する請求項25記載のキャッシュ一貫性保証方法。
  27. 【請求項27】請求項1乃至26に記載のキャッシュ一
    致性保証方法を実行する機構を備えたことを特徴とする
    並列計算機。
JP11106193A 1999-04-14 1999-04-14 並列計算機システムにおけるキャッシュ一貫性保証方法及びその並列計算機 Pending JP2000298653A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11106193A JP2000298653A (ja) 1999-04-14 1999-04-14 並列計算機システムにおけるキャッシュ一貫性保証方法及びその並列計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11106193A JP2000298653A (ja) 1999-04-14 1999-04-14 並列計算機システムにおけるキャッシュ一貫性保証方法及びその並列計算機

Publications (1)

Publication Number Publication Date
JP2000298653A true JP2000298653A (ja) 2000-10-24

Family

ID=14427358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11106193A Pending JP2000298653A (ja) 1999-04-14 1999-04-14 並列計算機システムにおけるキャッシュ一貫性保証方法及びその並列計算機

Country Status (1)

Country Link
JP (1) JP2000298653A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1684181A2 (en) 2005-01-24 2006-07-26 Fujitsu Limited Memory control apparatus and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1684181A2 (en) 2005-01-24 2006-07-26 Fujitsu Limited Memory control apparatus and method
US8032717B2 (en) 2005-01-24 2011-10-04 Fujitsu Limited Memory control apparatus and method using retention tags

Similar Documents

Publication Publication Date Title
US7174431B2 (en) Mechanism for resolving ambiguous invalidates in a computer system
US5822763A (en) Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
US5671391A (en) Coherent copyback protocol for multi-level cache memory systems
JP4848771B2 (ja) キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム
JP3269967B2 (ja) キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム
US5680576A (en) Directory-based coherence protocol allowing efficient dropping of clean-exclusive data
US5297269A (en) Cache coherency protocol for multi processor computer system
US6571322B2 (en) Multiprocessor computer system with sectored cache line mechanism for cache intervention
EP0667578B1 (en) Apparatus and method for checking cache coherency with double snoop mechanism
US20050188159A1 (en) Computer system supporting both dirty-shared and non dirty-shared data processing entities
US7003635B2 (en) Generalized active inheritance consistency mechanism having linked writes
JP3661764B2 (ja) 不均等メモリ・アクセス・コンピュータ・システムにおいてエヴィクション・プロトコルを提供するための方法およびシステム
US6279085B1 (en) Method and system for avoiding livelocks due to colliding writebacks within a non-uniform memory access system
JP2000010860A (ja) キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム
EP1190326A1 (en) System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem
US6269428B1 (en) Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system
US6041376A (en) Distributed shared memory system having a first node that prevents other nodes from accessing requested data until a processor on the first node controls the requested data
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
JP2002197073A (ja) キャッシュ一致制御装置
US6615321B2 (en) Mechanism for collapsing store misses in an SMP computer system
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
US6226718B1 (en) Method and system for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform access system
US6892290B2 (en) Linked-list early race resolution mechanism
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法
US7000080B2 (en) Channel-based late race resolution mechanism for a computer system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20081019

LAPS Cancellation because of no payment of annual fees