[go: up one dir, main page]

JPH0743670B2 - ストアスルーキャッシュ管理システム - Google Patents

ストアスルーキャッシュ管理システム

Info

Publication number
JPH0743670B2
JPH0743670B2 JP3082991A JP8299191A JPH0743670B2 JP H0743670 B2 JPH0743670 B2 JP H0743670B2 JP 3082991 A JP3082991 A JP 3082991A JP 8299191 A JP8299191 A JP 8299191A JP H0743670 B2 JPH0743670 B2 JP H0743670B2
Authority
JP
Japan
Prior art keywords
cache
bit
processor
store
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP3082991A
Other languages
English (en)
Other versions
JPH04227552A (ja
Inventor
フィリップ・ジョージ・エマ
ジョシュア・ウィルソン・ナイト
ジェームズ・ハーバート・ポメリーン
トーマス・ロバーツ・プザック
ルドルフ・ネイサン・レヒツシャッフェン
フランク・ジョン・スパラチオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04227552A publication Critical patent/JPH04227552A/ja
Publication of JPH0743670B2 publication Critical patent/JPH0743670B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、一般的にはマルチプ
ロセッサシステムのストアスルーキャッシュメモリ管理
に関し、より詳細には、大きな細分単位(例えば、ペー
ジ)で排他性が許可される、例えば排他的ライトスルー
・ライトアロケート(WTWAX)管理を用いて排他的
に管理されるストアスルー環境に関する。この発明は、
排他性が解除されたときに、単一の伝送によって、全て
の変更されたラインに対してXI(相互無効化)を実現
する。
【0002】
【従来の技術】別々のプロセッサ上で同時に実行するこ
とができる動作を並列的に実行することによりスループ
ットの向上を図るために、高性能のマルチプロセッサ
(MP)コンピュータシステムが開発されている。この
ような高性能のMPコンピュータシステムは、独立にそ
して並列的に動作するが、互いに通信したり、或いはデ
ータを交換する必要があるときに主記憶装置(MS)と
通信したりすることもある多重中央処理装置(CP)に
よって特徴付けられる。これらのCP及びMSは、デー
タを交換するために接続されなければならない入出力
(I/O)ポートを有する。
【0003】複数のCPのそれぞれが自分のキャッシュ
を有する密結合マルチプロセッサシステムとして知られ
ているタイプのMPシステムにおいては、システムの種
々のレベルに同一性の問題が存在する。すなわち、メモ
リ階層の隣接レベル間に不一致が生じることがあり得
る。例えば、あるCPが自身のキャッシュのコピーを変
更したために、同じデータであっても内容の異なるもの
が複数のキャッシュに存在することがある。従って、そ
れぞれのプロセッサのキャッシュは、同時に幾つかのキ
ャッシュに存在するラインに起こッたことを知る必要が
ある。同一の主記憶装置を共用する多くのCPが存在す
るMPシステムにおいては、それぞれのCPは、アクセ
スが行われるときにアーキテクチャ仕様に従って最も最
近に更新された最新版のデータを得る必要がある。この
要求により、キャッシュ間のデータの同一性を絶えずモ
ニターする必要が生じる。
【0004】このキャッシュの同一性の問題に対して多
くの解決法が提案されてきた。初期の解決法は、C.K. T
ang 著“Cache System Design in the Tightly Coupled
Multiprocessor System”、Proceedings of the AFIPS
(1976)及びL.M. Censier及びP. Feautrier“A New So
lution to Coherence Problems in Multicache System
s”、IEEE Transactions on Computers、Dec. 1978 、p
p.1112-1118に記載されている。 Censierらは、集中型
グローバルアクセス許可テーブルを用いて、書き込み可
能な共用データを複数のキャッシュに存在させることが
できる方式について述べている。しかし、著者らがその
結論の部分において述べているように、その二年前にTa
ngによって述べられたものと類似のアプローチには気が
ついていなかった。Tangはキャッシュのコピーディレク
トリを用いて状態を保持することを提案したが、 Censi
erらは各メモリブロックに類似の状態ビットでタグを付
けることを提案した。
【0005】これらの初期のアプローチは、必要なとき
に相互照会(XI)を達成するための管理方法に関する
ものである。この概念は、プロセッサキャッシュがライ
ンのコピーを有し、複数のキャッシュのうちの一つがそ
のラインを変更した情報をグローバルディレクトリに記
録することであった。基本動作は、プロセッサがライン
に記憶を行ったときに、その状態をグローバルテーブル
に(変更ビットで)記録させることである。ストアイン
キャッシュが用いられているので、プロセッサキャッシ
ュ制御装置は、そのキャッシュディレクトリから、どの
ラインが変更されたものか、あるいは私用であるかがわ
かる。プロセッサにおける変更されていないラインへの
記憶は、記憶制御装置との同期と変更状態を最初に得る
こととを必要とするであろう。従って、記憶ブロック
は、キャッシュがシステムにおけるラインの唯一のコピ
ーを有しているときでさえ、プロセッサが実際にそれに
記憶を行わなかったならば、プロセッサに対して排他的
または変更可能とはなり得ない。
【0006】より一般的な意味でのEX状態は、米国特
許第4、394、731号に記載されているように、ラ
インがキャッシュに記憶されなかったときでさえ、記憶
制御エレメント(SCE)と対話することなく、プロセ
ッサがキャッシュに記憶を行わせることを可能とする。
これは、細かな相違ではあるが、例えばIBM/308
1システムにおいて、次の記憶が来そうなときにプロセ
ッサでラインのEX状態を得ることを可能にするので、
概念的な観点からはかなり重要なことである。
【0007】従来技術によるMPシステムには、種々の
タイプのキャッシュがある。一つのタイプのキャッシュ
は、米国特許第4、142、234号に記載されている
ようなストアスルー(ST)キャッシュである。STキ
ャッシュの設計は、主記憶装置に対するデータの変更を
いつも最新のものとするために、主記憶装置(または第
2レベルキャッシュ)にデータを直接記憶するCPと抵
触するものではない。主記憶装置に対するストアスルー
の更新時には、適当な相互照会(XI)アクションが起
きて、記憶されたキャッシュラインの可能な遠隔コピー
を無効化する。記憶制御エレメント(SCE)は、適当
なストアスタックを維持して主記憶装置(MS)の記憶
要求をキューし、バッファ制御エレメント(BCE)と
SCEとの間の標準的な通信は、記憶スタックオーバー
フロー条件を避けるであろう。SCEの記憶スタックが
一杯になったときには、関連するBCEは、条件がクリ
アされるまでそのMS記憶を保持する。
【0008】他のタイプのキャッシュの設計は、例えば
米国特許第3、735、360号及び第4、771、1
37号に記載されているようなストアイン(SI)キャ
ッシュである。SIキャッシュディレクトリは、上述の
米国特許第4、394、731号に詳細に述べられてい
る。そこでは、ストアインキャッシュにおける各ライン
が排他/読み出し専用(EX/RO)フラグビットによ
りマルチプロセッサの共用可能性を制御される。ST及
びSIキャッシュの間の主な相違は、後者の全ての記憶
はキャッシュそれ自身に向かって行われることである
(このため、記憶されたラインがSIキャッシュに存在
しなければキャッシュミスを生じる)。米国特許第4、
503、497号においては、コピーが遠隔キャッシュ
にあるならば、ミスフェッチが生じたときのデータ転送
がキャッシュ間転送(CTC)によって起こり得ること
も提案されている。SCEとしては、各キャッシュのデ
ィレクトリのコピーを含むものが用いられる。これによ
って、相互照会(XI)決定をSCEにおいて解決する
ことができる。通常、キャッシュラインの変更は、ライ
ンがキャッシュから置き換えられるときにだけ、主記憶
装置に対して更新される。
【0009】
【発明が解決しようとする課題】従来の相互照会(X
I)方法においては、ブロックBがCP Pi に対して
排他状態(EX)にロックされたとき、遠隔キャッシュ
においてブロックBによりカバーされるどのような第1
レベルのラインも無効化される。ブロックのサイズが第
1レベルのラインのサイズよりも大きいときには、しば
しば冗長相互照会(XI)が生じる。すなわち、ライン
は、他のCPにおいて変更されることなく無効化され
る。付加的なキャッシュミスやディレクトリの処理によ
るオーバーヘッドは、ブロックのサイズがラインのサイ
ズよりもずっと(例えば、16倍)大きいときには許容
し難いものとなる。
【0010】実験より、フェッチとストアとの両方に対
して著しい空間的局所性が観測された。より大きな細分
単位のブロックでEXロックを行うことにより、非排他
的ストアの割合を著しく減少させることができる。その
結果、上述の性能のオーバーヘッドを生じることなく、
大きな細分単位でEXロックを行うことができることは
重要である。特願平2−37533号においては、大き
な細分単位の排他的ロックにより実現される性能の向上
について詳細に述べられている。この発明は、マルチプ
ロセッサシステムにおけるキャッシュ管理の性能をより
向上させるためにその環境の上になされたものである。
【0011】従って、この発明の目的は、大きな細分単
位の排他的ロックを用いるストアスルー環境において、
排他性が解除されたときに、単一の伝送によって全ての
変更されたラインに対して相互無効化を行うことにあ
る。
【0012】この発明の他の目的は、大きな細分単位で
排他性が許可され、あるプロセッサがページを排他的に
保持する間にラインの遠隔コピーをそのまま(ただしア
クセスはできない)にすることができ、これによって変
更されないページを有するラインに対する将来のミスを
避けることができるキャッシュ管理システムを提供する
ことにある。
【0013】この発明の更に他の目的は、ラインの遠隔
コピーをそのままにすることができるが、プロセッサが
ページを排他的に保持する間はアクセスが可能でなく、
排他性が解除されたときに、一組の局所変更ビットが全
てのプロセッサに伝送されて変更されたラインを無効化
し、遠隔プロセッサにおけるページの状態が、この遠隔
プロセッサにおけるページの前の状態がどのようなもの
であるかに応じて読み出し専用または排他に変更される
キャッシュ管理システムを提供することにある。
【0014】
【課題を解決するための手段】この発明によれば、時に
は変換索引バッファ(TLB)と呼ばれるディレクトリ
索引テーブル(DLAT)と共に動作するダイナミック
テーブルが、同時に排他的に保持することができるペー
ジの数を決定する。すなわち、このテーブルに有効なエ
ントリがあると、それは、対応するページが排他状態に
あることを示す。このテーブルのエントリは、実ページ
アドレスと、「有効エントリ」ビットと、一組の「局所
変更」ビット(LCB)とを含む。適切な動作速度のた
め、この特別なテーブルは、フルアソシアティブまたは
少なくともセットアソシアティブでなければならない。
このダイナミックテーブルは、DLATに取り込むこと
もできる。
【0015】この発明は、排他性が許容されるときのミ
スの減少及びXIの複雑性の減少という付加的な利点を
与える、遠隔DLATにおける「有効不在」状態に基づ
くものである。より詳細には、各DLATエントリもま
た、一組の「存在」ビットと「有効不在」ビットとを含
むように拡張される。排他性はページ単位で許可され
る。最初は全てのLCBはオフされる。キャッシュにお
けるラインの存在は、DLATにおける対応する存在ビ
ットとキャッシュディレクトリにおける有効ビットとの
結合(例えば論理積)により示される。排他状態でのラ
インへの記憶により、対応する局所変更ビットがセット
される。排他性が解除されるとき、局所変更ビットの組
は全てのプロセッサに伝送される。そのような伝送を受
けたとき、適切なアクションは、「有効不在」標識を読
み出し専用に変更すること及び対応する局所変更ビット
がセットされている存在ビットをクリアすることであ
る。もし経歴ビットが付加されてページの前の状態(例
えば、読み出し専用または排他)を記録するならば、そ
のページは、排他性が解除されたときに遠隔プロセッサ
における前の状態を回復することができる。
【0016】この発明は、この発明が仮想キャッシュに
おいて実現される好ましい実施例によって説明される。
しかし、当業者ならば、この発明がどのような実キャッ
シュインプリメンテーションにも直接容易に適用可能で
あることを理解することができるであろう。
【0017】
【実施例】以下、図面、特に図1を参照すると、図1に
は、この発明を使用できるタイプの密結合マルチプロセ
ッサ(MP)システムのブロック図が示される。このM
Pシステムは、4個の中央処理装置(CP0、CP1、
CP2、CP3)10、11、12および13を含み、
各々が命令実行(IE)ユニット14、15、16およ
び17と、バッフア制御ユニット(BCE)20、2
1、22および23とをそれぞれ含む。各IEユニット
は、主記憶装置(MS)50中のオペランドのフェッチ
と記憶とを要求する命令を出すハードウエアとマイクロ
コードを有している。
【0018】IEユニット14〜17は、それらの各キ
ャッシュ制御ユニット20〜23に対して、フェッチ或
いは格納のコマンドを出すことにより、フェッチ或いは
記憶の動作を開始する。キャッシュ制御ユニットは、関
連するプロセッサキャッシュディレクトリ(PD)を有
するプロセッサストアスルー(ST)キャッシュと、関
連するCP10〜13により排他的に使用される全ての
プロセッサキャッシュ制御を含む。CPは、通常、オペ
ランドにより要求される各ダブルワード(DW)ユニッ
トのフェッチ或いは記憶のコマンドを出す。若し、DW
を含むキャッシュラインがPD中にあれば、これは、キ
ャッシュヒットであり、このDWがコマンドに従ってキ
ャッシュにおいてフェッチ或いは記憶される。キャッシ
ュにおけるオペランドのフェッチヒットにより、BCE
だけで記憶装置のアクセスが完了する。要求されたDW
がキャッシュ内に無いと、キャッシュミスとなる。IE
のフェッチ或いは記憶コマンドが終了する以前に、DW
は、主記憶装置からフェッチされねばならない。これを
行うのに、BCEは、対応するフェッチ或いは記憶ミス
コマンドを発生する。このミスコマンドは、記憶制御エ
レメント(SCE)30がIEユニットで要求されたD
Wを持つデータユニットを主記憶装置50から得ること
を要求する。このデータユニット(例えば1ページ)は
主記憶装置50でユニット境界上に位置する。しかしな
がら、要求されたDWは、ミスした転送の完了前に、I
Eの要求に応答するために、要求元のBCEへ最初に戻
される。
【0019】SCE30は、CP10〜13と主記憶装
置50とに接続される。主記憶装置50は、複数の基本
記憶モジュール(BSM)コントローラBSC0、BS
C1、BSC2およびBSC3(それぞれ、51、5
2、53および54)を含み、ここでは、各基本記憶モ
ジュールコントローラが2個のBSM、すなわちBSM
0(60、62、64および66)とBSM1(61、
63、65および67)に接続される。4個のBSC5
1〜54がそれぞれSCE30に接続される。
【0020】従来のシステムでは、SCE30が4個の
コピーディレクトリ(CD)31、32、33および3
4を含み、米国特許第4,394,731号明細書に記
載のものと同様にして、BCEの一つの中にある対応す
るプロセッサキャッシュディレクトリ(PD)の内容の
イメージを各CDが有している。前述の特願平2−37
533号明細書に記載されているように、ライン存在情
報を記録する他のディレクトリを介するXI無効化の量
をより低減することが可能であるが、必ずしもCDを採
用しなくて良い。
【0021】ダブルワード幅の双方向データバスが主記
憶装置の各BSM60〜67と対応するSCEポートと
の間、SCEポートとI/Oチャンネルプロセッサ40
との間、およびSCEポートと各CP10〜13との間
に設けられている。これらのデータバスと共に、コント
ロールおよびアドレス信号用のコマンドバスのセットが
分離して設けられる。CPでDWアクセス要求に関して
キャッシュミスが生じると、そのBCEがSCE30に
ミスコマンドを送ることにより主記憶装置に対するライ
ンアクセス要求を開始し、そして、SCE30が主記憶
装置の要求されたBSMに対するコマンドを再発行す
る。BSMがビジー状態の場合には、SCE30がコマ
ンド待ち行列中に要求をセーブし、そのBSMが後で使
用可能になる時にそれを再発行する。また、SCE30
は、主記憶装置コマンドを規則的に順番に並べ、従っ
て、そのXIロジックによりキャッシュの衝突が検出さ
れた時を除いて、特定のBSMに対する全てのコマンド
が先入れ先出し(FIFO)の順で出される。主記憶装
置要求を扱う通常のシーケンスの間、SCE30が主記
憶装置の状態を絶えずモニタし、保護キーとの照会結
果、および全てのキャッシュディレクトリを分析し、現
にSCE30に保持されている保留中の全てのコマンド
の更新された状態を試験し、また、SCE30で受信さ
れるためにBCE20〜23で待機している新たなBC
Eコマンドを捜す。
【0022】SCE30は、複数のストアスタック(S
S0、SS1、SS2およびSS3)35、36、37
および38を保持する。これらは、対応するCPのため
に、16個のダブルワードまでの主記憶装置記憶要求を
保持するためのものである。SCE30は、主記憶装置
アドレスおよび有効性を示すための、ストアスタックに
とって充分なディレクトリ情報を保持する。ストアスタ
ックがオーバーフローするおそれがある時には、SCE
30が関連するBCE20〜23に優先要求を送り、ス
トアスタックが一杯の状態をクリアする信号をあとでS
CE30からBCEが受け取るまで、それ以上の記憶要
求の送出がホールドされる。ストアスタックのデータは
各ストアスタックへの入力順序を維持しながら適切なス
ケジュールでもって主記憶装置において更新される。ス
トアスタックにある全てのライン記憶要求が関連するB
SM60〜67へ送られたことをSCEが確信するま
で、CPからのラインフェッチ要求はSCE30により
ホールドされる。
【0023】キャッシュディレクトリのエントリにEX
状態を記録する従来の方法は、頗る無駄が多い。例えば
32Kのエントリを持つ第2レベルのキャッシュを考え
る。若し、SCEがEX状態のために第2レベルエント
リ毎に3ビットを保持するならば、100Kビットに加
えて第1レベルのディレクトリでの同様なビットが必要
である。先の特願平2−37533号明細書でより詳細
に開示されているように、比較的小さなロックテーブル
を使用することによりそのような回路コストを低減する
ことが可能である。各プロセッサPi(1≦i≦n)に
関して、SCEはロックテーブルを保持する。ロックテ
ーブルは、通常、アドレスを介して索引付け(或いはハ
ッシュ)されたセットアソシアティブテーブルとして構
成される。或いはこれは単純な先入れ先出し(FIF
O)スタックとして実現可能である。ロックテーブルの
各エントリに関して、ブロックBのアドレスを記録する
IDフィールド(適切な有効タグが付加されている)が
ある。また、SCEはロックテーブルの置換動作のため
に必要な状態アレイを保持する。ロックテーブルの各エ
ントリが対応するプロセッサのブロックのEXロックを
表す。初期的には、ロックテーブル中の全てのエントリ
が無効である。ブロックの大きさbは、第1レベル或い
は第2レベルのキャッシュのラインの大きさと同一であ
る必要はない。通常は、これは、第1レベルのキャッシ
ュのラインの大きさの整数倍である。
【0024】典型的なSTキャッシュのためのSCEに
おける記憶同期機構を考える。ここでは、CPからの各
記憶がSCEと同期している必要がある。SCEにおけ
る基本的な動作は、以下のものである。最初にプロセッ
サPiからの記憶同期要求(ブロックBについて)をS
CEにより取り扱うことを考える。
【0025】(a.1)ブロックBがロックテーブルT
iでヒットする時は、その記憶同期が対応するプロセッ
サPiに直ちに許可される。
【0026】(a.2)ブロックBがどのロックテーブ
ルにもない時には、SCEは、ロックテーブルTi中に
Bのための新たなエントリを作成し、プロセッサPiに
記憶同期を許可する。上述の処理と並行して、SCE
は、遠隔キャッシュ中のBをXI−無効化するために信
号を(データブロックBを含んでいるかも知れないCP
へ)送る。
【0027】(a.3)ブロックBがロックテーブルT
j(j≠i)にヒットする時は、SCEにおける遠隔E
Xヒットと同様である。この場合、新たなエントリがロ
ックテーブルTiで作成されると共に、ブロックBのエ
ントリがロックテーブルTjから削除される(XI−無
効化信号がプロセッサPjへ送られる)。
【0028】次に、SCEがプロセッサPiからブロッ
クB中のラインに関して、フェッチ要求を受け取る時
(例えば第1レベルのキャッシュのミス)の動作を考え
る。
【0029】(a.4)ブロックBが遠隔CPによりE
Xロックされていない時は、このフェッチを遅延なく開
始できる。
【0030】(a.5)ブロックBがロックテーブルT
jにヒットする時(ここでj≠i)、ブロックBのエン
トリが最初にロックテーブルTjから無効とされる。
【0031】ストアスルーキャッシュ設計では、ストア
スタックに保留中のライン記憶要求がない状態で、ライ
ン(ミス)フェッチが実行されうることが重要である。
SCEによるこの種の検査は、ラインフェッチの要求が
受信される時に必要とされる。
【0032】上述のステップにおいて、(a.1)は、
異なるCPからの複数の記憶に関して並列になされるこ
とができる。同一のサイクルで一以上の記憶同期要求を
実行する可能性を排除するものではないが、適当な直列
化が他のステップが実行される時にSCEにおいて必要
かもしれない。ロックの細分単位bがより大きくなると
(例えば4K)、ステップ(a.2)および(a.3)
からのXI無効化が厳しい第1レベルキャッシュミスを
引き起こすであろう。
【0033】ストアスルーキャッシュは、排他制御を持
つ必要がない。ストアスルーキャッシュには3つの基本
的な方式がある。すなわち、WTWAX(「排他管理の
ライトスルー、ライトアロケート」)、WTWA(「ラ
イトスルー、ライトアロケート」(排他管理でな
い))、並びにWTNWA(「ライトスルー、ノーライ
トアロケート」(排他管理でない))がある。
【0034】どの点から見ても、WTWAXキャッシュ
動作は、ストアインキャッシュと頗る類似しているが、
記憶動作は主記憶装置へのストアスルーであり、従っ
て、キャッシュからの書戻し(キャストアウト)がない
点で相違している。各記憶要求は独立した事象として主
記憶装置に出されるので、SCEは、所与のプロセッサ
からの記憶要求をそれらが出された順序で処理する必要
がある(異なるプロセッサからの記憶要求の順序付けは
不要)。なお、ストアインキャッシュでは、個々の記憶
の間の順序付けが本質的にキャストアウトで扱われるの
で、SCEはこれに関与する必要がない。
【0035】WTWAキャッシュは、排他管理がない点
を除けば、WTWAXキャッシュのように動作する。W
TNWAキャッシュは、WTWAキャッシュと同じく、
排他管理を有しない。そのような管理がないので、プロ
セッサは、キャッシュ間の同一性を確立するために、よ
り厳しい規則に従わねばならない。この発明は、排他的
に管理されるストアスルー環境で実現され、従って、こ
の記述の目的のために、WTWAXキャッシュが想定さ
れている。
【0036】この発明の理解のために、最近のコンピュ
ータシステムにおける仮想アドレスから実アドレスへの
変換の処理を述べる必要がある。図2に示すように、I
BM3090シリーズのコンピュータで使用されている
ような31ビットのアドレスバッフア60が19ビット
の仮想アドレスと12ビットの変位に分割される。この
変位は、ページ中の所望バイトのアドレスである。上位
の19ビットは、そのバイトの実アドレスを得るために
変換されねばならない。これは、ディレクトリ索引テー
ブル(DLAT、変換検索バッフア(TLB)ともい
う)61により遂行される。DLATは、最新のページ
変換を有するキャッシュ内のキャッシュである。DLA
Tでエントリが発見されると、その出力が実ページアド
レス(RPA)である。これは、レジスタ62でアドレ
スバッフア60からの下位の12ビットと結合され、実
アドレスを形成する。
【0037】DLATは、実ページアドレスに加えて、
有効ビット、記憶ID(STO ID)およびアドレス
タグ(仮想アドレスの一部)を含む。有効ビット、ST
OIDおよびアドレスタグは、全てヒットを認識するの
に必要である。DLATのエントリがセットアソシアテ
ィブであるため、アドレスタグが必要とされる。また、
DLATでエントリと共に貯えられる他のオプションの
記憶キーがあっても良い。
【0038】若し、DLATにエントリがないならば、
仮想アドレスが変換されねばならない。これは、図3に
示すアーキテクチャでなされる。仮想アドレスがバッフ
ア65に一時的に記憶される。仮想アドレスがセグメン
ト部とページ部とに分割される。セグメントテーブル起
点レジスタ(STOR)66がセグメントテーブル起点
を含む。レジスタ66の出力がレジスタ67の仮想アド
レスのセグメントデータと結合され、セグメントテーブ
ルアドレスが生成される。セグメントテーブルアドレス
がセグメントテーブル70のページテーブル起点を参照
するのに使用される。ページテーブル起点がページアド
レスを生成するために、レジスタ71で仮想アドレスの
ページデータと結合される。このページアドレスは、ペ
ージフレーム番号を参照するのに使用され、ページフレ
ーム番号或いは実ページアドレス(RPA)が実アドレ
スを生成するために、レジスタ73でレジスタ65から
の変位と結合される。更に、ページテーブル72からの
RPAがLRUアルゴリズムを使用してDLAT61へ
加えられる。
【0039】図4がDLAT61の他にディレクトリ7
5およびアレイ76を含むようなキャッシュのアーキテ
クチャを示す。各ディレクトリエントリがアレイの1ラ
インに対応する。ディレクトリエントリは、有効ビット
と、ヒットの認識に関連するEX/ROビットおよびタ
グと、アレイセットIDとを含む。アレイセットID
は、アレイ76でデータが格納される場所を識別する。
各DLATエントリは、1ページと対応する。IBM3
090シリーズのコンピュータの例では、ページ当り3
2ラインあり、1ラインが128ビットである。アドレ
スバッフア60からの仮想アドレスがDLAT61、デ
ィレクトリ75およびキャッシュアレイ76の各々をア
ドレスする。アレイ76は、また、アドレスバッフア6
0からの下位の変位ビットでアドレスされる。ディレク
トリ75は、セットアソシアティブであるので、数個の
RPAキャッシュプレースメント候補を提供する。4個
のかかる候補が図示されているが、個数は、特定のアプ
リケーションに依存して変化しうる。DLAT61から
のRPAが比較回路77で各候補と比較され、また、比
較回路77からのキャッシュプレースメント出力がアレ
イ76からの正しい出力を選択するのに使用される。
【0040】ここまで述べたアーキテクチャおよび動作
が従来のものであることは、当業者が分かるであろう。
しかし、この発明を理解するためには、背景としてこの
アーキテクチャを理解することが必要である。仮想アド
レス変換のより詳細は、"AnIntroduction to Operating
Systems", Harvey M. Deitel著,Addison-Wesley(198
4)、並びに "Operating Systems", Harold Lorinおよび
M. Deitel著, Addison-Wesley(1981)を参照されたい。
【0041】この発明に特有の改良は、各DLATエン
トリと共に、ライン対応の32個の存在ビットページの
「不在」を示すビットおよびライン対応の32個の局所
変更ビット(LCB)が含まれていることである。「不
在」ビットは、ページ全体の32個の存在ビットを無効
にする。このビットを「有効不在」ビットと称する。こ
の結果、アクセスはできないが、ラインをキャッシュに
保持することができる。このビットは単一ビットでもよ
いが、以下の説明では、複数の状態ビットの特定の組み
合わせによって「有効不在」状態が示される。
【0042】図5は、有効ビット(V)、タグ(仮想ア
ドレスの一部)および実ページアドレス(RPA)から
なる旧い形のDLATエントリ80の一例を示す。この
発明の一態様として、図6に示すように、DLATエン
トリ81は、タグおよびRPAに加えて、状態ビット
(ST)、存在ビット(RB)および局所変更ビット
(LCB)を持つように、変形される。他の態様として
は、図7に示すように、DLATエントリ82は、状態
ビット、タグ、RPAおよびRBだけを有し、より小さ
なテーブルが有効ビット(V)、RPAおよびLCBか
らなるエントリ83を含む。図6および図7に示される
二つの態様は、全く等価である。後者は、やや複雑であ
るが、必要なメモリの合計が低減される利点がある。
【0043】この発明によれば、キャッシュの動作は、
下記の例外を除けば、普通で言うWTWAXである。す
なわち、 1.所与のプロセッサにおいて排他性がページベースで
許可されるとともに、上述したテーブルへの関連情報の
挿入により排他性が示される。これは、前述の特願平2
−37533号明細書に記載のような、大きな細分単位
のロックの一形式である。最初は、全ての局所変更ビッ
トは、オフにされる。他のプロセッサのDLAT中で
は、排他ページに対応するエントリにおいて「有効不
在」状態がセットされる。
【0044】2.ラインの存在は、DLATエントリ中
の対応する存在ビットとキャッシュディレクトリ中の有
効ビットとの結合(例えば論理積)で示される。
【0045】3.排他状態でのラインへの記憶により対
応する局所変更ビットがセットされる。
【0046】4.排他性が解除される時(CERO(排
他を読み出し専用へ変更)或いは上述のテーブルのエン
トリのエージングのいずれかにより)には、局所変更ビ
ットの組が全てのプロセッサに同報通信される。この同
報通信が受信されたときの適切な動作は、「有効不在」
標識を読み出し専用へ変更し、セットされていた局所変
更ビットに対応する存在ビットをクリアすることであ
る。(存在ビットは、要求元のプロセッサではクリアさ
れる必要がない。)
【0047】このプロセスが図8に示される。図8は、
プロセッサP1のDLATエントリ85とプロセッサP
2の対応するDLATエントリ86とを示す。プロセッ
サP1がページを排他的に保持し、そして、排他状態を
解除したとすると、DLATエントリ85からのLCB
の単一の同報通信は、プロセッサP1により書かれた全
てのラインに対応するDLATエントリ86中の存在ビ
ット(RB)をリセットすることにより、それらのライ
ンを無効にする。プロセッサP1による排他状態の解除
は、P1でのエージングの結果、又はプロセッサP2か
らの相互照会(XI)またはCEROの結果である。排
他状態または読み出し専用の状態がプロセッサP2に許
可されると、状態ビットが有効不在(VN)から場合に
応じてEXまたはROへ変わる。プロセッサP1のDL
ATエントリ中の対応する状態ビットがVN又はROに
変わる。
【0048】一般的な場合では、状態ビットSTは、下
記のページ状態をエンコードする2ビットからなる。 00−無効 01−有効不在 10−読み出し専用 11−排他 若し、エージングのために、あるプロセッサにより排他
状態が解除され、且つ他のプロセッサが以前にそのペー
ジを排他または読み出し専用に保持していたならば、排
他性の解除の時の適切な動作は、後者のプロセッサにお
いて有効不在状態を読み出し専用の状態へセットするこ
とである。しかしながら、若し、他のプロセッサが以前
にページを排他に保持していたならば、読み出し専用よ
りも、むしろ、状態が排他に戻されるようなアプリケー
ションがありうる。このために、「経歴」ビットと称さ
れるもう1つのビットが必要である。このビットは、ペ
ージが排他に保持されるならば、“1”にセットされ
る。その結果、排他性が解除される時に、“1”の経歴
ビットによって有効不在状態を読み出し専用でなくて、
排他に変化する。
【0049】
【発明の効果】この発明による利点は、二つある。第1
に、ページ内で変更されている全てのラインを無効にす
るのに単一の伝送で十分である。第2に、「有効不在」
状態により、あるプロセッサがページを排他に保持して
いる間に、ラインの遠隔コピーを存在のままにしておく
ことができる。従って、ページ内の変更されていないラ
インに関して将来のミスが避けられる。
【図面の簡単な説明】
【図1】この発明を使用できるマルチプロセッシングシ
ステムのブロック図である。
【図2】DLATアーキテクチャを示すとともに、キャ
ッシュアクセス経路を示すブロック図である。
【図3】セグメントおよびページテーブルアクセスを示
すとともに、仮想アドレスから実アドレスへの変換を示
すブロック図である。
【図4】DLAT、ディレクトリおよびアレイのアーキ
テクチャを示すともに、アレイ中の所望のワードをアク
セスする方法を示すブロック図である。
【図5】従来技術のDLATエントリのブロック表現の
図である。
【図6】この発明によるDLATエントリのブロック表
現の図である。
【図7】この発明の他の例のDLATエントリおよびテ
ーブルエントリのブロック表現の図である。
【図8】排他性の解除の時のこの発明の動作を示すブロ
ック図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョシュア・ウィルソン・ナイト アメリカ合衆国、ニューヨーク州モヒーガ ンレーク、サガモー3490 (72)発明者 ジェームズ・ハーバート・ポメリーン アメリカ合衆国、ニューヨーク州チャッパ クア、ノースベッドフォードロード403 (72)発明者 トーマス・ロバーツ・プザック アメリカ合衆国、コネチカット州リッジフ ィールド、スクールハウスプレース9 (72)発明者 ルドルフ・ネイサン・レヒツシャッフェン アメリカ合衆国、ニューヨーク州スカース デール、インネスロード24 (72)発明者 フランク・ジョン・スパラチオ アメリカ合衆国、フロリダ州サラソタ、ト レイパインズウェイ3726 (56)参考文献 特開 昭63−231650(JP,A) 特開 平2−041538(JP,A) 特開 平2−090259(JP,A) 特開 昭57−033471(JP,A) 特開 昭59−094289(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサおよび主記憶装置を含む
    マルチプロセッサシステムのストアスルーキャッシュ管
    理システムであって、前記複数のプロセッサのそれぞれ
    が、ストアスルーキャッシュと、該キャッシュをアクセ
    スするためのディレクトリと、仮想アドレスに応答して
    実ページアドレスを出力する索引テーブルとを含み、前
    記索引テーブルの各エントリが、前記実ページアドレス
    の他に、当該ページが読み出し専用であること、排他性
    であること、または存在はしているがアクセスできない
    有効不在の状態にあることを示す状態ビットと、当該ペ
    ージ内の個々のラインの存在を示す存在ビットと、排他
    状態の間に書き込みが行われたラインを示す局所変更ビ
    ット、及び、以前の状態が排他であったことを示す経歴
    ビットを含み、 (a)特定のページを排他状態にしていたプロセッサが
    その排他状態を解除する際に、前記索引テーブルの対応
    するエントリ中の前記局所変更ビットを他のプロセッサ
    に送って、該他のプロセッサの索引テーブルにおいて前
    記特定のページに対応するエントリ中の前記存在ビット
    を前記局所変更ビットに従って選択的に無効にし、 (b)前記他のプロセッサの索引テーブルにおいて存在
    ビットが無効にされる時に、そのエントリの状態を読み
    出し専用に変更し、 (c)前記存在ビットが無効にされる時に該経歴ビット
    がセットされている場合に、対応するエントリの状態を
    排他状態に変更する、 ことを特徴とするストアスルーキャッシュ管理システ
    ム。
JP3082991A 1990-04-05 1991-03-25 ストアスルーキャッシュ管理システム Expired - Lifetime JPH0743670B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/505,198 US5197139A (en) 1990-04-05 1990-04-05 Cache management for multi-processor systems utilizing bulk cross-invalidate
US505198 1990-04-05

Publications (2)

Publication Number Publication Date
JPH04227552A JPH04227552A (ja) 1992-08-17
JPH0743670B2 true JPH0743670B2 (ja) 1995-05-15

Family

ID=24009407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3082991A Expired - Lifetime JPH0743670B2 (ja) 1990-04-05 1991-03-25 ストアスルーキャッシュ管理システム

Country Status (3)

Country Link
US (1) US5197139A (ja)
EP (1) EP0450285A3 (ja)
JP (1) JPH0743670B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361368A (en) * 1991-09-05 1994-11-01 International Business Machines Corporation Cross interrogate synchronization mechanism including logic means and delay register
US5317738A (en) * 1992-02-18 1994-05-31 Ncr Corporation Process affinity scheduling method and apparatus
US5493663A (en) * 1992-04-22 1996-02-20 International Business Machines Corporation Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses
US5524212A (en) * 1992-04-27 1996-06-04 University Of Washington Multiprocessor system with write generate method for updating cache
JP2675961B2 (ja) * 1992-05-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 実記憶のページをロックするための方法
US5603008A (en) * 1992-09-30 1997-02-11 Amdahl Corporation Computer system having cache memories with independently validated keys in the TLB
US5437017A (en) * 1992-10-09 1995-07-25 International Business Machines Corporation Method and system for maintaining translation lookaside buffer coherency in a multiprocessor data processing system
JP2819982B2 (ja) * 1993-03-18 1998-11-05 株式会社日立製作所 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
US5463750A (en) * 1993-11-02 1995-10-31 Intergraph Corporation Method and apparatus for translating virtual addresses in a data processing system having multiple instruction pipelines and separate TLB's
US5581704A (en) * 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
US5761722A (en) * 1995-01-30 1998-06-02 Sun Microsystems, Inc. Method and apparatus for solving the stale data problem occurring in data access performed with data caches
US5740400A (en) * 1995-06-05 1998-04-14 Advanced Micro Devices Inc. Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
US5924125A (en) * 1995-08-01 1999-07-13 Arya; Siamak Method and apparatus for parallel access to consecutive TLB entries
US6098128A (en) 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US5778437A (en) * 1995-09-25 1998-07-07 International Business Machines Corporation Invalidation bus optimization for multiprocessors using directory-based cache coherence protocols in which an address of a line to be modified is placed on the invalidation bus simultaneously with sending a modify request to the directory
US5787486A (en) * 1995-12-15 1998-07-28 International Business Machines Corporation Bus protocol for locked cycle cache hit
US5680571A (en) * 1995-12-28 1997-10-21 Unisys Corporation Multi-processor data processing system with multiple, separate instruction and operand second level caches
US6070233A (en) * 1996-01-26 2000-05-30 Unisys Corporation Processor bus traffic optimization system for multi-level cache utilizing reflection status bit to indicate data inclusion in higher level cache
US5790774A (en) * 1996-05-21 1998-08-04 Storage Computer Corporation Data storage system with dedicated allocation of parity storage and parity reads and writes only on operations requiring parity information
US5787477A (en) * 1996-06-18 1998-07-28 International Business Machines Corporation Multi-processor cache coherency protocol allowing asynchronous modification of cache data
US5900015A (en) * 1996-08-09 1999-05-04 International Business Machines Corporation System and method for maintaining cache coherency using path directories
US5897655A (en) * 1996-12-10 1999-04-27 International Business Machines Corporation System and method for cache replacement within a cache set based on valid, modified or least recently used status in order of preference
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US6122711A (en) 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
US5860093A (en) * 1997-01-21 1999-01-12 Unisys Corporation Reduced instruction processor/storage controller interface
US6000015A (en) * 1997-09-16 1999-12-07 Unisys Corporation Processor bus traffic optimization system for multi-level cache utilizing reflection status bit to indicate data inclusion in a higher level cache
US6725334B2 (en) * 2000-06-09 2004-04-20 Hewlett-Packard Development Company, L.P. Method and system for exclusive two-level caching in a chip-multiprocessor
US20070180193A1 (en) * 2006-01-30 2007-08-02 International Business Machines Corporation History based line install
US20070260754A1 (en) * 2006-04-13 2007-11-08 Irish John D Hardware Assisted Exception for Software Miss Handling of an I/O Address Translation Cache Miss
US9208095B2 (en) 2006-12-15 2015-12-08 Microchip Technology Incorporated Configurable cache for a microprocessor
US7877537B2 (en) * 2006-12-15 2011-01-25 Microchip Technology Incorporated Configurable cache for a microprocessor
US7966457B2 (en) 2006-12-15 2011-06-21 Microchip Technology Incorporated Configurable cache for a microprocessor
US8285969B2 (en) * 2009-09-02 2012-10-09 International Business Machines Corporation Reducing broadcasts in multiprocessors
US9785554B2 (en) * 2014-05-30 2017-10-10 International Business Machines Corporation Synchronizing updates of page table status indicators in a multiprocessing environment
US9384133B2 (en) 2014-05-30 2016-07-05 International Business Machines Corporation Synchronizing updates of page table status indicators and performing bulk operations
CN111488293B (zh) * 2015-02-16 2024-06-25 华为技术有限公司 多核系统中数据访问者目录的访问方法及设备
US10733171B2 (en) * 2018-04-03 2020-08-04 Sap Se Database lock management with cache-optimized hash table
US10761856B2 (en) 2018-07-19 2020-09-01 International Business Machines Corporation Instruction completion table containing entries that share instruction tags

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
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
JPS5733471A (en) * 1980-07-31 1982-02-23 Fujitsu Ltd Memory access control system for multiprocessor
US4399506A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Store-in-cache processor means for clearing main storage
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
US4463420A (en) * 1982-02-23 1984-07-31 International Business Machines Corporation Multiprocessor cache replacement under task control
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
JPS5994289A (ja) * 1982-11-22 1984-05-30 Hitachi Ltd 記憶制御方式
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US4654778A (en) * 1984-06-27 1987-03-31 International Business Machines Corporation Direct parallel path for storage accesses unloading common system path
EP0203601B1 (en) * 1985-05-29 1992-08-05 Kabushiki Kaisha Toshiba Cache system adopting an lru system, and magnetic disk controller incorporating it
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US4775955A (en) * 1985-10-30 1988-10-04 International Business Machines Corporation Cache coherence mechanism based on locking
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
JPS63231650A (ja) * 1987-03-20 1988-09-27 Fujitsu Ltd キヤツシユメモリ制御方式
US4991090A (en) * 1987-05-18 1991-02-05 International Business Machines Corporation Posting out-of-sequence fetches
JPS6412348A (en) * 1987-07-06 1989-01-17 Hitachi Ltd Buffer control system
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
US4977498A (en) * 1988-04-01 1990-12-11 Digital Equipment Corporation Data processing system having a data memory interlock coherency scheme
US5032985A (en) * 1988-07-21 1991-07-16 International Business Machines Corporation Multiprocessor system with memory fetch buffer invoked during cross-interrogation
JP2961663B2 (ja) * 1988-08-01 1999-10-12 日本電信電話株式会社 キャッシュメモリ制御方法
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
JPH0290259A (ja) * 1988-09-27 1990-03-29 Hitachi Ltd マルチプロセッサシステム
US5016168A (en) * 1988-12-23 1991-05-14 International Business Machines Corporation Method for storing into non-exclusive cache lines in multiprocessor systems

Also Published As

Publication number Publication date
JPH04227552A (ja) 1992-08-17
US5197139A (en) 1993-03-23
EP0450285A2 (en) 1991-10-09
EP0450285A3 (en) 1992-12-30

Similar Documents

Publication Publication Date Title
JPH0743670B2 (ja) ストアスルーキャッシュ管理システム
EP0667578B1 (en) Apparatus and method for checking cache coherency with double snoop mechanism
US6587931B1 (en) Directory-based cache coherency system supporting multiple instruction processor and input/output caches
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5148533A (en) Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US5539895A (en) Hierarchical computer cache system
US6457101B1 (en) System and method for providing the speculative return of cached data within a hierarchical memory system
EP1399823B1 (en) Using an l2 directory to facilitate speculative loads in a multiprocessor system
EP0062165A2 (en) Multiprocessors including private and shared caches
EP0347040B1 (en) Data memory system
US6374332B1 (en) Cache control system for performing multiple outstanding ownership requests
US5210848A (en) Multi-processor caches with large granularity exclusivity locking
JPS6135584B2 (ja)
KR20040012812A (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치
US6477620B1 (en) Cache-level return data by-pass system for a hierarchical memory
US5214766A (en) Data prefetching based on store information in multi-processor caches
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
JPH0567976B2 (ja)
US5978886A (en) Method and apparatus for duplicating tag systems to maintain addresses of CPU data stored in write buffers external to a cache
JP4577729B2 (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
GB2307319A (en) Dual-directory virtual cache
JP2681410B2 (ja) マルチプロセッサ・キャッシュにおける排他性をロックする方法
EP1314090B1 (en) Method and system for translation lookaside buffer coherence in multi-processor systems
US20040068613A1 (en) Retry-based late race resolution mechanism for a computer system