JPH0272452A - 無効要求を選別する方法及び装置 - Google Patents

無効要求を選別する方法及び装置

Info

Publication number
JPH0272452A
JPH0272452A JP1152049A JP15204989A JPH0272452A JP H0272452 A JPH0272452 A JP H0272452A JP 1152049 A JP1152049 A JP 1152049A JP 15204989 A JP15204989 A JP 15204989A JP H0272452 A JPH0272452 A JP H0272452A
Authority
JP
Japan
Prior art keywords
memory
cache
tag store
bus
cache tag
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.)
Granted
Application number
JP1152049A
Other languages
English (en)
Other versions
JP2662603B2 (ja
Inventor
L Stamm Rebecca
リベッカ エル スターム
G Michael Uhler
ジー マイケル ユーラー
W H Durdan
ダブリュー ヒュー ダーダン
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH0272452A publication Critical patent/JPH0272452A/ja
Application granted granted Critical
Publication of JP2662603B2 publication Critical patent/JP2662603B2/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/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本願と同し譲受人に譲渡された下記の特許出願が、本願
の原出願と同時に出願され、関連の主題を含んでいる 発明者Michael A、 Ca1lender、 
Geroge MichaelUhler及びW、 I
lugh Durdanによる、「共有メモリとプライ
ヘートキャノシュメモリを有するマルチプロセッサコン
ピュータシステム」、出願通し番号集     号。
(産業上の利用分野) この発明は一般にキャソソユメモリを用いたコンピュー
タシステムに関し、より詳しくはいずれかまたは全ての
ローカルキャッシュメモリ内に存在する共有データの?
MDコピーを有するマルチプロセッサコンピュータシス
テムに関する。
(従来の技術) −FG的な単一プロセノサ計算機システムのアーキテク
チャは、ノイマンモデルの計算法のある変形と考えられ
る。このモデルによれば、命令とデータが同一メモリ内
に記憶され、プロセッサがそのメモリから1つづつ命令
をフェッチして、各命令で指定された演算を実行する。
プロセッサの速度が速まるにつれ、主コンピユータメモ
リのアクセス時間をプロセッサの計算速度ともっと適切
に整合させる方法が必要とされてきた。これを達成する
一つの周知の方法はキャッシュメモリを用いる方法で、
これは一般に主メモリよりはるかに速いアクセス時間を
有するが、主メモリよりも何倍も高価につくことがある
。従って、実用−Fの考7Cから、通常キャッシュメモ
リは主メモリよりはるかに小さい。
キャッシュメモリは主メモリに記憶された情報の一部の
部分集合(サブセット)を含み、プロセッサと主メモリ
間のデータ路を与えるシステムバスと処理装置(CP 
U)との間に存在する。プロセッサがキャッシュ内にコ
ピーされている王メモリのロケーションへアクセスしよ
うとするとき(キャッシュ °ヒント)、必要な値をC
PUへ与えるのに主メモリへアクセスする必要がなく、
プロセッサはより速く動作を再開できる。一方、プロセ
ッサがキャッシュ内にコピーされていない主メモリのロ
ケーションへアクセスしようとするときにはくキャッシ
ュ °ミス°)、主メモリへのアクセスが行われなけれ
ばならない。この場合、続出データはプロセッサとキャ
ッシュ両方に送られ、その後同じメモリロケーションへ
アクセスする試みがキャッシュヒントになるようにする
。こうして、プロセッサの実効メモリアクセス時間は、
キャッシュメモリΦ速いアクセス時間と主メモリの遅い
アクセス時間との中間値に減少される。通常キャッシュ
メモリは主メモリより1等級(マグニチュード)以上小
さいので、キャッシュメモリを制御するコンピュータサ
ブシステムは、どのメモリロケーションがどのキャッシ
ュロケーションに対応しているのかを判定する方法(マ
ツピング機能)、及びすでに満杯のキャッシュ内へ新た
なメモリロケーションを書き込む場合に、どのキャッシ
ュロケーションにオーバライド(重ね書き)すべきかを
判定する方法(キャッシュ交換アルゴリズム)を備えて
いなければならない。これらの構成オプションを妥当に
選択すると、90〜99%のキャッシュ “ヒソ)l”
(キャッソユヒ5.トをもたらすメモリアクセス要求の
割合)が得られる。
キャッシュ性能の別の重要な側面は、所望なメモリロケ
ーションが該当処理装置のキャッシュメモリ内にも存在
するかどうかを処理装置が判定するために辿らねばなら
ない手順である。かかるキャッシュメモリの探索をでき
るだけ速く効率的に行うための多くの手法が、当該分野
に存在する。
使用すべき的確な手法は、キャッシュ自体の個々の実行
方式、特にマツピング機能に依存する。しかし−殻内に
は、 “タグディレクトリ゛ またはタグストア° と
呼ばれる構成が、キャッシュの速い探索を可能にするも
のとして提供されている。
タグストアとは、各々がキャッシュメモリの1ブロツク
と対応した複数のエントリからなるチーフルである。従
来、キャッシュブロックは幾つかの主メモリワードを含
んでおり、キャッシュへのアクセスは全てこの基本のキ
ャソシュブロソクサイズを単位として行われている。タ
グストアの各エントリは、キャッシュ内のいずれか1つ
のキャッシュブロックを指定するのに充分なビットを含
んでいる。主メモリからの1データブロツクがキャ7シ
ュブロノク内ヘマソピングされるとき、そのキャッシュ
ブロックに対応したタグストアのエントリに、主メモリ
におけるデータフ゛ロックのアドレスの高位ビットがロ
ードされる。完全連想式のキャッシュ設計では、キャッ
シュをサーチして所望の主メモリロケーションを探索し
たい場合、プロセッサは所望のアドレスをタグストア内
のエントリと比較する。合致が認められると、対応した
ワードが複数のワードキャッシュブロック内から選ばれ
る。直接マツピング式のキャッシュ設計では、対象アド
レスの最下位ピントがタグストアへのインデックスとし
て使われる。そして、アドレスの残りの高位ビットがタ
グストアのエントリと比較され、キャツシュヒツトを判
定する。セット連想式のキャッシュ設計では、対象アド
レスの最下位ビットがタグストア内における少数(例え
ば2または4)のロケーションへのインデックスとして
使われ、これらのロケーションからインデックストエン
トリが抽出され、その限定数のエントリ毎に並列に比較
が行われてキャツシュヒツトを判定する。
CPUモジュールの平均メモリアクセス時間を減らすの
に有効な別の向上策は、キャッシュメモリをマルチレベ
ルの階層構造に編成し、最も小さく最も速い一次キャッ
シュメモリがCPUに最も近く位置し、徐々に遅く且つ
大きくなる二次キャッシュメモリがプロセッサと主メモ
リ間のデータバスに沿って位置するように構成すること
である。
このような構成は、非常に速いメモリ装置の高コストと
比較的低コストなメモリ装置の遅いアクセス時間との折
衷を表している。最も速く最も小さい一次キャッシュメ
モリでキャッシュミスが生じると、CPUは階層内で次
に下位のキャッシュメモリにアクセスし、そこでの大き
いメモリサイズはキャツシュヒツトのより大きい確率を
示唆している。そこでもキャッシュミスが生じると、C
PUは階層内でさらに下位の二次キャッシュメモリにア
クセスし、キャッシュ構造のどこかのレベルでキャツシ
ュヒツトが生じるまで、あるいは主メモリへのアクセス
が開始されるまで、上記のプロセスが繰り返される。
しかし、キャッシュメモリの使用の結果システム効率が
高くなるにつれ、データ一貫性(コヒーレンス)の問題
が生じる。つまり、キャッシュロケーションがそれの対
応する主メモリロケーションと同じ値を保持しているこ
とが保証されねばならない。データの一貫性を維持する
ための一つの方法は、該当メモリロケーションへのメモ
リ書込アクセスが要求される度に、キャッシュメモリ内
に含まれるデータの変更値をキャッシュメモリ(キャッ
シュ内に存在する場合)とそれに対応した主メモリロケ
ーションの両方へ書き込むことである。この方法は、 
“書込配分でない′ ライトスルー(write−th
rough)方式と呼ばれている。ライトスル一方式は
代替的に、そのメモリロケーションカキャソシュ内に存
在していない書込トランザクションのメモリロケーショ
ンを割り当てることもでき、この場合ライトスル一方式
は書込割当機能を用いる。データの一貫性を維持する別
の方法はライトパンク(wrlte−back)方式で
、この方式では対応のキャッシュロケーションをオーバ
ライトレなければならなくなるまで、変更データ値は遅
い主メモリに書き込まれない。これら両方式を比べた得
失として、ライトスル一方式では各書込アクセス毎に主
メモリを更新するのにメモリサブシステムのレベルで大
きいバンド幅を必要とする一方、ライトパンク方式では
キャッシュの一貫性の複数さが増大する。充分なハンド
幅を持つシステムでは、ライトスル一方式の方がその単
純さのため好ましいことが多い。
(発明が解決しようとする課題) 最近における処理装置のコスト低下が、ノイマン型マシ
ン編成からのさらに急速な発展を容易とし、共通のシス
テムバスを介して共通の主メモリスペースへアクセスを
行いながら、複数のプロセッサが相互に同時に動作する
方式が出現してきた。
各プロセッサは、プロセッサとシステムバス間に存在す
る各自のプライヘートキャソシュをDHえることができ
る。このようなマルチプロセッサシステムでは、キャッ
シュメモリの使用がシングルプロセッサシステムの場合
よりシステム性能にとってより重要となる。なぜなら、
共有メモリへアクセスするため共通のシステムバスを使
用する際、各プロセッサが別のプロセッサと競合状態に
なるからである。同しく、1つのメモリロケーション内
に記tαされている値が、いずれかまたは全てのプロセ
ッサのブライヘートキャッシュメモリ内へ以前に複製さ
れているかもしれないため、データ一貫性の問題も一層
深刻になる。ローカルキャッシュメモリが各々ライトパ
ンク方式を採用する場合、1つのプロセッサがあるメモ
リロケーションの値を変更して、その変更値を自分のキ
ャッシュメモリにだけ書き込むとき、他のいずれかのロ
ーカルキャッシュメモリ内におけるそのメモリロケーシ
ョンのコピーもその1つのプロセッサによってなされた
変更を反映することを、システムがなんとか保証しなけ
ればならない。
(課題を解決するための手段) 本発明は、時分割式のシステムバスを介して共通のメモ
リスペースを共有する複数のCPUモジュール’c (
Q 7したマルチプロセッサコンピュータシステムに係
わる。共通のメモリスペースは、各々が共有システムメ
モリの一部を含む複数のメモリモジュールとして実現で
きる。各CPUモジュールは、命令の実行を行うプロセ
ッサと、プライベートなキャッシュメモリ装置と、CP
Uモジュールの効率的な制御及びCPUモジュールとシ
ステム内の他の構成要素との調整のために付加可能なサ
ポート用ハードウェアを具備する。
マルチプロセンサの分野では一般的なように、システム
バスにインタフェースされたいずれのモジュールも、次
の4種類のトランザクションのうち1つをバスに対して
開始できる;空(null)、読取、書込及びデータ読
出。これらのトランザクションの1つがバス上で行われ
ている間の時間を、バスサイクルと呼ぶ。空トランザク
ションはいずれのモジュールもバスに要求を出していな
いときに生じ、全てのモジュールによって無視される。
読取トランザクションは、CPUがメモリモジュールに
対してメモリデータを戻す要求を送った場合に生じる。
書込トランザクションは、CPUがメモリモジュールに
対して新たなメモリデータを書き込む要求を送った場合
に生じる。データ続出トランザクションは、前の読取ト
ランザクションに応じてメモリモジュールがデータをC
PUへ戻すときに生じる。各モジュール間でのシステム
バスの使用をめぐる競合は、システムバスの実行方式に
特有で、仲裁プロトコルの分野で周知な何らかの方法で
仲裁される。
CPUモジュールに関連したサポートハードウェアの一
部として、当該分野で周知な方式は、読出データキュー
 (Read Data Queue)と呼ばれる機構
をシステムバストCPUモジュールの間に導入し得るこ
とを示唆している。この機構は、読取トランザクション
に応じてメモリから戻されてきたデータ値を保持する。
続出データのキューイングは、主メモリへのアクセスが
行われている間、データが戻ってくるのをただ待つ代わ
りに、プロセッサが他のタスクを行えるようにすること
によってシステムの性能を高める。続出データキューは
、′4ri数のエントリを含む先入れ先出しくFIFO
)キューで、各エントリはデータフィールドと有効ビッ
トを含んでいる。CPUモジュールがデータ続出トラン
ザクションを介して主メモリからデータを受け取るとき
、そのデータは続出データキューの一端に置かれ、有効
ビットがそのエントリにセントされる。CPUが送られ
てきたデータをそのキャッシュメモリ内に受け入れる準
備が整うと、最初の有効エントリがキューの他端から取
り出され、有効ビットがクリアされる。
インバリデート(無効要求)キュー(Inシalida
teロueue)と呼ばれる別のFIFO機構を、シス
テムバスとCPUモジュールとの間に導入することもで
きる。インバリデートキューも、各々が少なくともアド
レスフィールドと有効ビットを具備し、“インバリデー
ト と称する複数のエントリを含んでいる。CPUが、
一貫性トランザクジョンのためにシステムバスをモニタ
ーする。前記ライトスル一方式を採用したシステムでは
、CPUがシステムバス上における書込トランザクショ
ンをモニターする。システムバス上でいずれかのデータ
書込トランザクションが検出されると、そのトランザク
ションのアドレスがCPUモジュールのインバリデート
キューの一端に置かれ、有効ビットがセントされる。C
PUがインバリデートを処理可能になると、最初の有効
エントリがインバリデートキューの他端から取り出され
、有効ビットがクリアされる。書込トランザクションの
アドレスがキャッシュ構造の内容に照らしてチエツクさ
れ、存在すれば、そのアドレスに対応したエントリは無
効としてマーク表示される。こうして、CPUが古くな
ったデータ値を使うことが防がれる。
マルチプロセッサシステムでのキャッシュの一貫性に対
する要求は、複雑である。マルチプロセッサシステムに
おけるキャッシュの一貫性の一側面は、各キャッシュメ
モリがシステムバス上に生じたトランザクションを同じ
順序で処理すれば維持される。システムバス上に現れた
インバリデートの順序は、それらを保存するFIFOキ
ューによって保つことができる。同じく、データ続出ト
ランザクションの順序も、それらのFIFOキューによ
って保持できる。しかし残念ながら、システムバスに現
れた際における。データ続出トランザクションに対する
インバリデートの順序、同じく逆にインバリデートに対
するデータ続出トランザクションの順序は、別個の続出
データ及びインバリデートキューを用いても通常保存で
きない。
上記したようなキューを用いずにキャッシュの一貫性を
維持する別の方法も、当該分野において存在する。例え
ば、個々のプロセッサモジュール間における直接交信の
手段を与える追加のハードウェアをシステムに含めたり
;データの一貫性を保存する専用のコマンドをCPUの
命令セットに含めたり;あるいは主メモリと個々の各プ
ライベートキャッシュメモリとの間に直接交信の手段を
確立したりすることが可能である。さらに別の代替法で
は、どのデータが各々のキャッシュメモリ内に存在する
かをシステムが追跡し続けられるように包括的なディレ
クトリを構成し、必要に応じてシステムがキャッシュメ
モリ内のデータを無効にし、データの一貫性を維持する
ようにもできる。
しかし、上記の方法のいずれかを実施する際、システム
コストまたはシステム性能のどちらかで、ある程度の犠
牲が余儀なくされる。プロセッサ同土間もしくはキャッ
シュメモリと主メモリ間に交信路を形成する場合、さら
に包括的なキャッシュディレクトリを含める場合、上記
の犠牲は主に経済的な面で現れる一方、命令セットを変
更してデータの一貫性を保存しようとすると、システム
性能が犠牲にされることとなろう。
データの一貫性を保存するため、検出された全ての書込
トランザクションを処理する別の方式は、CPU (プ
ロセッサ)のバス飽和を引き起こすことになろう。つま
り、システムバス上のどの書込トランザクションについ
ても各CPUでインバリデートの処理を行えば、マルチ
プロセッサシステムの全計算時間のかなりの量がそれで
占められてしまう。
従って、プロセッサバスがオーバロードしないように、
プライベートプロセッサバスに送られるインバリデート
バスの数を、“選別(フィルタリング)する”効率的な
手段を実施するのが有利である。つまり、該当プロセッ
サのキャッシュ内に存在するメモリアドレスに対応した
インバリデートだけを、プライベートプロセッサバスへ
送るのが有利である。
本発明は、マルチプロセッサシステム内のCPuモジュ
ールが、そのCPUモジュールのキャッシュメモリ内の
データに影響を及ぼさない書込トランザクションを“選
別出力”するのを可能とした方法及び装置を提供する。
これによって、マルチプロセッサシステム内で発生され
る過度なインバリデートトラヒックのため、システムの
効率が著しく減少されることはない。
本発明に従って設計されるマルチプロセッサコンピュー
タシステムは、共通のシステムバスにイツクフェースさ
れた複数のCPUモジュールを具備する。これらのモジ
ュールが、コンピュータの主メモリを形成すると共に時
間分割式システムバスにインタフェースされた複数のメ
モリモジュールへのアクセスを共有する。CPUモジュ
ールは各々、中央プロセッサの他、キャッシュメモリの
機能を制御するのに必要なハードウェアと共に、主メモ
リ内の情報の一部の部分集合を記憶するのに使われるロ
ーカルキャッシュメモリを具備している。本発明の一実
施例において、ローカルキャッシュメモリは、一次キャ
ッシュとそれより大きい二次つまりバンクアップキャッ
シュで構成された階層構造を有する。一次キャッシュメ
モリに含まれるデータはバンクアンプキャッシュメモリ
内に含まれたデータの部分集合としてもよいし、あるい
は各キャッシュメモリ内のデータ集合(セソ日を相互に
排他的にしてもよい。前者の場合、各プロセッサモジュ
ールの一次及びバンクアップキャッシュメモリ内におけ
るコピー間でもデータの一貫性を保持する必要があるた
め、データ一貫性の問題がさらに複雑化する。
各CPUモジュール内のプロセッサバスが、CPUから
メモリインタフェースへ至り、主メモリまたはキャッシ
ュメモリからデータを読み取ったり、そこへデータを書
き込むためのデータ路を与える。プロセッサバスは、要
求されたキャッシュインハリデート(無効要求)を実行
するのにも使われる。各CPUモジュール内のメモリイ
ンタフェースカ、ローカルプロセッサバスヲ共通の時分
割式システムバスに接続する。またメモリインタフェー
スは、システム内における複数のCPUモジュール間で
のバス競合を処理するのに使われ仲裁プロトコルにも寄
与する。本発明では、プロセッサバスの他、メモリイン
タフェースとキャッシュコントローラロジック間での直
接交信のため専用のデータ路が設けられている。以下、
この専用データ路をインバリデートハス(I−バス)と
称し、このバスがプロセッサバスと共にメモリインタフ
ェースの一部と見なされる。
潜在的なインバリデー1〜の選別(フィルタリング)は
、各CPUモジュールのメモリインタフェースで行われ
る。メモリインタフェースが、他のCPUモジュールか
らのメモリ書込について、共通のシステムバスをモニタ
ーする。書込トランザクションが検出されると、メモリ
インタフェースがIハスを介してキャッシュコントロー
ラと交信し、書込トランザクションが該当CPUモジュ
ールのキャッシュメモリ階層にコピーされたメモリロケ
ーションを含んでいるかどうかを判定する。
書込ロケーションがCPUモジュールのキャッシュメモ
リ内のどこにも存在しないと、書込トランザクションは
無視され、どのインバリデートもキャッシュコントロー
ラつまりCPUモジュールに送られず、プロセッサバス
はCPUモジュールによって利用可能な状態に留まる。
書込ロケーションがCPUモジュールのキャッシュメモ
リ内にコピーされていると、メモリインタフェースがプ
ロセッサバスを介して書込トランザクションの情報を送
り、キャッシュコントローラ及びCPUモジュールによ
って受け携られ、インバリデートとして処理される。
本発明の前記及びその他の特徴は、添付の図面を参照し
た好ましい実施例の説明から一層明かとなろう。
図面は発明の好ましい実施例を示し、各図中間じ部材は
同じ参照番号で表しである。
(実施例) 本発明によるマルチプロセッサベースのコンピュータシ
ステム8の全体構成が、第1図に示しである。システム
の共有主メモリを構成する多数(N個)のメモリモジュ
ール10が、当該分野で周知なように、バスの実行方式
に依存した手段によって共通のシステム12にインタフ
ェースされたものとして表しである。実際上、メモリモ
ジュール10の数Nは、主メモリの所望な実行方式に応
じて1以上の任意の数とし得る。本発明は2つ以上のプ
ロセッサモジュール14を用いた計算機システムを意図
しているが、分かりやすくするため2つだけが図示しで
ある。
第2図は、2つのCPUモジュール14を有する同様な
マルチプロセッサコンピュータシステム8を示す。各C
PUモジュール14は、緊密に接続された一次キャソシ
ュ及びCPU装置20からなる2レベルの階層キャッシ
ュメモリ構造と、バックアップキャッシュ/キャッシュ
コントローラ装置22を使用する。また各CPUモジュ
ール14は、システムバス12へのアクセスに関する仲
裁プロトコルに寄与するメモリインタフェース装置24
も具備している。プロセッサバス30が、CPU20と
バソクアソブキャソシュ/キャッシュコントローラ装置
220間、及びCPU20と各CPUモジュール14の
メモリインタフェース装置24の間での交信用データ路
を与える。システム用の共有主メモリは、同じくシステ
ムバス12にインタフェースされた複数のメモリモジュ
ール10の形で実施される。このような主メモリに係わ
る実行及びインタフェース方式は、当該分野で周知であ
る。尚CPUモジュール14は、2レベルのキャッシュ
メモリ階層を用いたCPUの典型例である。
第2図に示したマルチプロセッサコンピュータシステム
8におけるキャッシュメモリの無効化は、次のように行
われる。メモリインタフェース装置24がシステムバス
12をモニターし、そこに現れる各書込トランザクショ
ンを検出する。各書込トランザクション毎に、メモリイ
ンタフェース装置24が適切な無効化情報(書込アクセ
スのアドレスを含む)を、それぞれの各CPUモジュー
ル14内のプロセッサバス30を介してCPU20とバ
ックアップキャッシュ/キャッシュコントローラ装置2
2の両方に送る。
本発明では、CPUモジュール内の異なる構成を開示す
る。すなわち第3図が、本発明に従って設計された第1
図のCPUモジュール14の1つを示している。CPU
モジュール14は、第2図に示した典型的なマルチプロ
セッサシステムと同様、CPU/一次キャッシュ装置2
0、キャッシュコントローラ/バックアップキャッシュ
装置22、メモリインタフェース装置24、これら3つ
の装置を相互に接続するプロセッサバス30で構成され
ている。CPU/一次キャッシュ装置20内には、複数
のエントリのテーブルを与える一次キヤ・7シユタグス
トア44が含まれており、各エントリが一次キャッシュ
メモリ内の1ブロツクのデータと対応している。ここで
、本発明の一特徴は、一次キャッシュタグストア44の
コピー40がキャッシュコントローラ装置22に含まれ
ている点にある。第3図に示された別の特徴は、メモリ
インタフェース装置24とキャッシュコントローラ/バ
ックアップキャッシュ装置22の間に追加のデータ路4
6が設けられていることである。この追加のデータ路4
6は、インバリデートバス(I−バス)と称する専用バ
スである。
本発明のシステムにおけるキャッシュメモリの無効化は
、次のように行われる。メモリインタフェース装置24
が通常の方法でシステムバス12をモニターし、書込ト
ランザクションをモニターする。書込トランザクション
が検出されると、メモリインタフェース装置24が書込
アクセスのアドレスを、インバリデートバス46を介し
てキャッシュコントローラ/バックアップキャッシュ装
置22に送る。キャッシュコントローラ/バックアップ
キャッシュ装置22は、書込トランザクションに含まれ
ているロケーションが一次キャッシュタグストア44ま
たはバックアップキャッシュタグストア42のどちらか
に存在しているかどうかを、バックアップキャッシュタ
グストア42と一次キャッシュタグストアのコピー40
に問い合わせる。書込アクセスのロケーションがいずれ
かのキャッシュタグストア内に存在すれば、メモリイン
タフェース装置24がプロセッサバス30上にインバリ
デート(無効要求)を出力し、これがcpU、’一次キ
ャソシュ装置20またはキャッシュコントローラ/バッ
クアンプキャッシュ装置22のいずれか、あるいは両方
によって通常の方法で処理される。書込トランザクショ
ンに含まれているロケーションがいずれのキャッシュメ
モリにも存在しなければ、それ以上の措置を講じる必要
は何等なく、プロセッサバス30は自由な状態のままで
ある。
別の実施例(図示せず)では、キャッシュコントローラ
装置がCPUに直接に付設され、バンクアップつまり二
次キャッシュ装置は使われない。
この実施例での専用Iバス46はCPUに直接接続され
、前述したように機能して、無効要求をプロセッサバス
30へ選別出力する。
本発明の原理、好ましい実施例及び形態を、以上の明細
書において説明した。ここに開示した特定の形態は制限
するものでなく例示と見なされるので、本発明はそれら
の形態に制限されるものと解釈されるべきでない。また
、発明の精神を逸脱することなく、各種の変形及び変更
が当業者にとっては可能であろう。
【図面の簡単な説明】
第1図は共有の主メモリを構成する複数のメモリモジュ
ールと複数のCPUモジュールを含み、これら全てが共
通のシステムバスにインタフェースされているマルチプ
ロセッサコンピュータシステムのブロック図;第2図は
同様なマルチプロセッサコンピュータシステムのブロッ
ク図で、各々2レベルの階層キャッシュメモリを有し、
共通のシステムバスにインタフェースされた2つのCP
Uモジュールを示す:及び第3図は本発明に従って編成
された第1図のCPUモジュールの1つのブロック図で
ある。 8・・・・・・コンピュータシステi、10・・・・・
・主メモリを構成するメモリモジュール、12・・・・
・・システムバス、14・・・・・・プロセッサ(CP
Uモジュール)、20・・・・・・CPU (中央処理
装置)、22・・・・・・キャッシュコントローラ(及
び二次キャッシュメモi月、24・・・・・・メモリイ
ンタフェース、30・・・・・・プロセッサバス、40
・・・・・・一次キャッシュタグストアのコピー 42
・・・・・・二次キャッシュタグストア、44・・・・
・・一次キャッシュメモリ及びそのタグストア、46・
・・・・・インバリデートバス。 ig1 FIGURE 3

Claims (1)

  1. 【特許請求の範囲】 1、コンピュータシステムを動作する方法で、コンピュ
    ータシステムが複数ブロックのデータを記憶する主メモ
    リを有し、前記コンピュータシステムがさらに無効要求
    を形成する書込トランザクションを出力可能な複数のプ
    ロセッサを有し、前記コンピュータシステムがさらに前
    記主メモリと前記プロセッサを相互に接続するシステム
    バスを有し、前記プロセッサの各々が前記主メモリに記
    憶されたデータの部分集合を記憶する付属の一次キャッ
    シュメモリと該一次キャッシュメモリ内に存在する複数
    ブロックのメモリアドレスを識別するための一次キャッ
    シュタグストアとを有し、前記プロセッサの各々がさら
    に前記システムバス上の書込トランザクションを検出す
    るメモリインタフェースを有し、前記プロセッサの各々
    がさらにインバリデートバスによって前記メモリインタ
    フェースに接続されたキャッシュコントローラを有し、
    前記キャッシュコントローラが前記主メモリに記憶され
    たデータの部分集合を記憶する二次キャッシュメモリと
    該二次キャッシュメモリ内に存在する複数ブロックのメ
    モリアドレスを識別するための二次キャッシュタグスト
    アとを有し、前記キャッシュコントローラがさらに一次
    キャッシュタグストアのコピーを具備したものにおいて
    : a、システムバス上の書込トランザクションを検出する
    ステップで、該書込トランザクションが前記主メモリ内
    のメモリロケーションを指定している; b、前記指定されたメモリアドレスを、前記インバリデ
    ートバスを介してキャッシュコントローラに送るステッ
    プ; c、前記メモリアドレスを、前記二次キャッシュタグス
    トア及び前記一次キャッシュタグストアのコピー内に指
    示されているメモリアドレスと比較するステップ;及び d、前記メモリアドレスが前記二次キャッシュタグスト
    アまたは前記一次キャッシュタグストアのコピー内に指
    示されていれば無効要求を出力し、指示されていなけれ
    ば前記書込トランザクションを無視するステップ; によって無効要求を選別することを含む前記動作方法。 2、a、データを記憶し、メモリ制御信号を発生する複
    数のアドレス可能な記憶ロケーションを具備した主メモ
    リ手段; b、データを処理する複数のプロセッサで、該プロセッ
    サの各々が; i、命令に応じてデータを処理し、前記主メモリ手段内
    のアドレス可能な記憶ロケーションにアクセスするトラ
    ンザクションを開始する中央処理装置で、前記主メモリ
    手段に記憶されたデータの部分集合を記憶する一次キャ
    ッシュメモリと該一次キャッシュメモリ内に記憶された
    データのメモリアドレスを指示する一次キャッシュタグ
    ストアとを含む中央処理装置;及び ii、前記主メモリ手段に記憶されたデータの部分集合
    を記憶する二次キャッシュメモリ、該二次キャッシュメ
    モリ内に記憶されたデータのメモリアドレスを指示する
    二次キャッシュタグストア、及び前記一次キャッシュタ
    グストアのコピーを記憶する一次キャッシュタグストア
    コピー手段を含むキャッシュコントローラを具備してい
    る; c、前記主メモリ手段と前記プロセッサを相互に接続し
    、且つ前記プロセッサの各々を相互に接続するシステム
    バス; d、前記プロセッサの各々がさらにメモリインタフェー
    スを具備し、該メモリインタフェースが; i、前記システムバス上の書込トランザクションをモニ
    ターするため、前記メモリインタフェースをシステムバ
    スに接続する接続手段; ii、前記システムバス上で検出された書込トランザク
    ションを受け取る受取手段; iii、検出された書込トランザクションに関連のメモ
    リアドレスを、前記キャッシュコントローラに伝送する
    インバリデートバス手段;及び iv、前記受取手段を前記キャッシュコントローラと前
    記中央処理装置に接続するプロセッサバス手段で、前記
    受取手段によって前記キャッシュコントローラに伝送さ
    れたメモリアドレスが前記一次キャッシュタグストアま
    たは前記二次キャッシュタグストア内に存在すれば、前
    記メモリアドレスが無効要求として前記プロセッサバス
    に伝送され、存在しなければ前記書込トランザクション
    が前記プロセッサによって無視される; を備えたコンピュータシステム。 3、コンピュータシステムを動作する方法で、コンピュ
    ータシステムが複数ブロックのデータを記憶する主メモ
    リを有し、前記コンピュータシステムがさらに無効要求
    を形成する書込トランザクションを各々出力可能な複数
    のプロセッサを有し、前記コンピュータシステムがさら
    に前記主メモリと前記プロセッサを相互に接続するシス
    テムバスを有し、前記プロセッサの各々が前記主メモリ
    に記憶されたデータの部分集合を記憶する付属の一次キ
    ャッシュメモリと該一次キャッシュメモリ内に存在する
    複数ブロックのメモリアドレスを識別するための一次キ
    ャッシュタグストアとを有し、前記プロセッサの各々が
    さらに前記システムバス上の書込トランザクションを検
    出するメモリインタフェースを有し、前記プロセッサの
    各々がさらにインバリデートバスによって前記メモリイ
    ンタフェースに接続されたキャッシュコントローラを有
    し、前記キャッシュコントローラが一次キャッシュタグ
    ストアのコピーを具備したものにおいて: a、システムバス上の書込トランザクションを検出する
    ステップで、該書込トランザクションが前記主メモリ内
    のメモリロケーションを指定している; b、前記指定されたメモリアドレスを、前記インバリデ
    ートバスを介してキャッシュコントローラに送るステッ
    プ; c、前記メモリアドレスを、前記一次キャッシュタグス
    トアのコピー内に指示されているメモリアドレスと比較
    するステップ;及び d、前記メモリアドレスが前記一次キャッシュタグスト
    アのコピー内に指示されていれば無効要求を出力し、指
    示されていなければ前記書込トランザクションを無視す
    るステップ;によって無効要求を選別することを含む前
    記動作方法。 4、前記キャッシュコントローラが前記主メモリに記憶
    されたデータの部分集合を記憶する二次キャッシュメモ
    リと該二次キャッシュメモリ内に存在する複数ブロック
    のメモリアドレスを識別するための二次キャッシュタグ
    ストアとを具備した請求項3記載の動作方法。 5、前記メモリアドレスを前記二次キャッシュタグスト
    ア内に指示されているメモリアドレスと比較するステッ
    プと、前記メモリアドレスが前記二次キャッシュタグス
    トア内に指示されていれば無効要求を出力するステップ
    とを含む請求項4記載の動作方法。 6、a、データを記憶し、メモリ制御信号を発生する複
    数のアドレス可能な記憶ロケーションを具備した主メモ
    リ手段; b、データを処理する複数のプロセッサで、該プロセッ
    サの各々が; i、命令に応じてデータを処理し、前記主メモリ手段内
    のアドレス可能な記憶ロケーションにアクセスするトラ
    ンザクションを開始する中央処理装置で、前記主メモリ
    手段に記憶されたデータの部分集合を記憶するキャッシ
    ュメモリと該キャッシュメモリ内に記憶されたデータの
    メモリアドレスを指示する一次キャッシュタグストアと
    を含む中央処理装置;及び ii、前記キャッシュタグストアのコピーを記憶する一
    次キャッシュタグストアコピー手段を含むキャッシュコ
    ントローラ; c、前記主メモリ手段と前記プロセッサを相互に接続し
    、且つ前記プロセッサの各々を相互に接続するシステム
    バス; d、前記プロセッサの各々がさらに前記システムバスに
    接続されたメモリインタフェースを具備し、該メモリイ
    ンタフェースが; i、前記システムバス上で検出された書込トランザクシ
    ョンを受け取る受取手段; ii、検出された書込トランザクションに関連のメモリ
    アドレスを、前記キャッシュコントローラに伝送するイ
    ンバリデートバス手段;及び iii、前記メモリインタフェースを前記中央処理装置
    に接続するプロセッサバス手段で、 前記受取手段によって前記キャッシュコントローラに伝
    送されたメモリアドレスが前記キャッシュタグストアま
    たは前記キャッシュタグストアのコピー内に存在すれば
    、 前記メモリアドレスが無効要求として前記プロセッサバ
    スに伝送され、存在しなければ前記書込トランザクショ
    ンが前記プロセッサによって無視される; を備えたコンピュータシステム。 7、前記キャッシュコントローラが前記主メモリに記憶
    されたデータの部分集合を記憶する二次キャッシュメモ
    リと該二次キャッシュメモリ内に存在する複数ブロック
    のメモリアドレスを識別するための二次キャッシュタグ
    ストアとを具備した請求項6記載のコンピュータシステ
    ム。 8、前記受取手段によって前記キャッシュコントローラ
    に伝送されたメモリアドレスが前記キャッシュタグスト
    アのコピーまたは前記二次キャッシュタグストア内に存
    在すれば、前記メモリアドレスが無効要求として前記プ
    ロセッサバスに伝送され、存在しなければ前記書込トラ
    ンザクションが前記プロセッサによって無視される請求
    項4記載のコンピュータシステム。
JP1152049A 1988-06-27 1989-06-14 無効要求を選別する方法及び装置 Expired - Lifetime JP2662603B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/212,416 US5058006A (en) 1988-06-27 1988-06-27 Method and apparatus for filtering invalidate requests
US212416 1994-03-11

Publications (2)

Publication Number Publication Date
JPH0272452A true JPH0272452A (ja) 1990-03-12
JP2662603B2 JP2662603B2 (ja) 1997-10-15

Family

ID=22790922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1152049A Expired - Lifetime JP2662603B2 (ja) 1988-06-27 1989-06-14 無効要求を選別する方法及び装置

Country Status (5)

Country Link
US (1) US5058006A (ja)
EP (1) EP0349122B1 (ja)
JP (1) JP2662603B2 (ja)
CA (1) CA1324221C (ja)
DE (1) DE68924206T2 (ja)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
CA2011807C (en) * 1989-03-20 1999-02-23 Katsumi Hayashi Data base processing system using multiprocessor system
US5287484A (en) * 1989-06-21 1994-02-15 Hitachi, Ltd. Multi-processor system for invalidating hierarchical cache
JPH0348951A (ja) * 1989-07-18 1991-03-01 Fujitsu Ltd アドレスモニタ装置
US5283886A (en) * 1989-08-11 1994-02-01 Hitachi, Ltd. Multiprocessor cache system having three states for generating invalidating signals upon write accesses
JP2509344B2 (ja) * 1989-09-19 1996-06-19 富士通株式会社 デ―タ処理装置
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5212781A (en) * 1990-03-21 1993-05-18 Chips And Technologies, Inc. Secondary cache control for a computer system
US5289585A (en) * 1990-03-26 1994-02-22 Siemens Nixdorf Informationssysteme Ag Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory
JP2986176B2 (ja) * 1990-05-11 1999-12-06 株式会社日立製作所 バス権制御方式およびバスシステム
US5325510A (en) * 1990-05-25 1994-06-28 Texas Instruments Incorporated Multiprocessor system and architecture with a computation system for minimizing duplicate read requests
DE69127936T2 (de) * 1990-06-29 1998-05-07 Digital Equipment Corp Busprotokoll für Prozessor mit write-back cache
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
US5287512A (en) * 1990-08-06 1994-02-15 Ncr Corporation Computer memory system and method for cleaning data elements
IE860318L (en) * 1990-10-01 1986-08-05 Digital Equipment Corp System bus for a multi-cache data processing system
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
US5673394A (en) * 1990-10-31 1997-09-30 Microsoft Corporation Method of sharing memory between an operating system and an application program
US5249282A (en) * 1990-11-21 1993-09-28 Benchmarq Microelectronics, Inc. Integrated cache memory system with primary and secondary cache memories
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
JPH04328657A (ja) * 1991-04-30 1992-11-17 Toshiba Corp キャッシュメモリ
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
DE69219433T2 (de) * 1991-11-04 1997-12-11 Sun Microsystems Inc Virtueller Durchschreibcachespeicher Synonym-Adressierung und Cache-Ungültigkeitserklärungen
US5649154A (en) * 1992-02-27 1997-07-15 Hewlett-Packard Company Cache memory system having secondary cache integrated with primary cache for use with VLSI circuits
US5528755A (en) * 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification
JP2819982B2 (ja) * 1993-03-18 1998-11-05 株式会社日立製作所 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
US5506967A (en) * 1993-06-15 1996-04-09 Unisys Corporation Storage queue with adjustable level thresholds for cache invalidation systems in cache oriented computer architectures
US5640531A (en) * 1993-06-22 1997-06-17 Unisys Corporation Enhanced computer operational system using auxiliary mini-cache for enhancement to general cache
US5598551A (en) * 1993-07-16 1997-01-28 Unisys Corporation Cache invalidation sequence system utilizing odd and even invalidation queues with shorter invalidation cycles
US5604882A (en) * 1993-08-27 1997-02-18 International Business Machines Corporation System and method for empty notification from peer cache units to global storage control unit in a multiprocessor data processing system
US5636365A (en) * 1993-10-05 1997-06-03 Nec Corporation Hierarchical buffer memories for selectively controlling data coherence including coherence control request means
JP3200757B2 (ja) * 1993-10-22 2001-08-20 株式会社日立製作所 並列計算機の記憶制御方法および並列計算機
US5572704A (en) * 1993-12-15 1996-11-05 Silicon Graphics, Inc. System and method for controlling split-level caches in a multi-processor system including data loss and deadlock prevention schemes
US5832534A (en) * 1994-01-04 1998-11-03 Intel Corporation Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories
US5671391A (en) * 1994-01-10 1997-09-23 Ncr Corporation Coherent copyback protocol for multi-level cache memory systems
JP2634141B2 (ja) * 1994-01-19 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
US5603004A (en) * 1994-02-14 1997-02-11 Hewlett-Packard Company Method for decreasing time penalty resulting from a cache miss in a multi-level cache system
JPH07334450A (ja) * 1994-06-10 1995-12-22 Mitsubishi Denki Semiconductor Software Kk インタフェイス装置
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
US5603005A (en) * 1994-12-27 1997-02-11 Unisys Corporation Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US5701313A (en) * 1995-02-24 1997-12-23 Unisys Corporation Method and apparatus for removing soft errors from a memory
US5511164A (en) * 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5657472A (en) * 1995-03-31 1997-08-12 Sun Microsystems, Inc. Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor
DE69628079T2 (de) * 1995-03-31 2004-02-26 Sun Microsystems, Inc., Santa Clara Mechanismus auf Systemebene zum Entwerten von Daten, die im externen Cache eines Prozessors in einem Computersystem gespeichert sind
US5581729A (en) * 1995-03-31 1996-12-03 Sun Microsystems, Inc. Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system
US5737756A (en) * 1995-04-28 1998-04-07 Unisys Corporation Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue
US5696937A (en) * 1995-04-28 1997-12-09 Unisys Corporation Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US5699500A (en) * 1995-06-01 1997-12-16 Ncr Corporation Reliable datagram service provider for fast messaging in a clustered environment
US5612865A (en) * 1995-06-01 1997-03-18 Ncr Corporation Dynamic hashing method for optimal distribution of locks within a clustered system
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
US5822611A (en) * 1995-06-05 1998-10-13 Donley; Greggory D. Method for cycle request with quick termination without waiting for the cycle to reach the destination by storing information in queue
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
US5745728A (en) * 1995-12-13 1998-04-28 International Business Machines Corporation Process or renders repeat operation instructions non-cacheable
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
US5687348A (en) * 1996-01-29 1997-11-11 Unisys Corporation Variable-depth, self-regulating cache queue flushing system
US5835946A (en) * 1996-04-18 1998-11-10 International Business Machines Corporation High performance implementation of the load reserve instruction in a superscalar microprocessor that supports multi-level cache organizations
US5822763A (en) * 1996-04-19 1998-10-13 Ibm Corporation Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
US5920892A (en) * 1996-08-26 1999-07-06 Unisys Corporation Method and system for inhibiting transfer of duplicate write addresses in multi-domain processor systems with cross-bus architecture to reduce cross-invalidation requests
US6065097A (en) * 1996-08-29 2000-05-16 Sun Microsystems, Inc. Apparatus and method for sharing a unified memory bus between external cache memory and primary memory
US6202125B1 (en) 1996-11-25 2001-03-13 Intel Corporation Processor-cache protocol using simple commands to implement a range of cache configurations
US6279098B1 (en) 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
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
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5860093A (en) * 1997-01-21 1999-01-12 Unisys Corporation Reduced instruction processor/storage controller interface
US6209072B1 (en) 1997-05-06 2001-03-27 Intel Corporation Source synchronous interface between master and slave using a deskew latch
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
US6295598B1 (en) * 1998-06-30 2001-09-25 Src Computers, Inc. Split directory-based cache coherency technique for a multi-processor computer system
US7174401B2 (en) * 2002-02-28 2007-02-06 Lsi Logic Corporation Look ahead split release for a data bus
US7706302B2 (en) * 2004-09-14 2010-04-27 Alcatel Lucent Optimization of routing forwarding database in a network processor
US8683128B2 (en) * 2010-05-07 2014-03-25 International Business Machines Corporation Memory bus write prioritization
US8838901B2 (en) 2010-05-07 2014-09-16 International Business Machines Corporation Coordinated writeback of dirty cachelines
GB2521227B (en) * 2013-12-16 2020-11-25 Advanced Risc Mach Ltd Invalidation of index items for a temporary data store
US10402337B2 (en) * 2017-08-03 2019-09-03 Micron Technology, Inc. Cache filter

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5492137A (en) * 1977-12-29 1979-07-21 Fujitsu Ltd Buffer setting system
JPS6162150A (ja) * 1984-09-03 1986-03-31 Mitsubishi Electric Corp デ−タ処理装置
JPH0212543A (ja) * 1988-06-30 1990-01-17 Nec Corp 情報処理システム
JPH0247756A (ja) * 1987-07-27 1990-02-16 Computer X Inc 多重プロセツサ・システム用書込み共用キヤツシユ回路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache
US4562536A (en) * 1983-06-30 1985-12-31 Honeywell Information Systems Inc. Directory test error mode control apparatus
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US4814981A (en) * 1986-09-18 1989-03-21 Digital Equipment Corporation Cache invalidate protocol for digital data processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5492137A (en) * 1977-12-29 1979-07-21 Fujitsu Ltd Buffer setting system
JPS6162150A (ja) * 1984-09-03 1986-03-31 Mitsubishi Electric Corp デ−タ処理装置
JPH0247756A (ja) * 1987-07-27 1990-02-16 Computer X Inc 多重プロセツサ・システム用書込み共用キヤツシユ回路
JPH0212543A (ja) * 1988-06-30 1990-01-17 Nec Corp 情報処理システム

Also Published As

Publication number Publication date
JP2662603B2 (ja) 1997-10-15
US5058006A (en) 1991-10-15
EP0349122A2 (en) 1990-01-03
EP0349122A3 (en) 1991-04-24
DE68924206D1 (de) 1995-10-19
CA1324221C (en) 1993-11-09
DE68924206T2 (de) 1996-05-15
EP0349122B1 (en) 1995-09-13

Similar Documents

Publication Publication Date Title
JP2662603B2 (ja) 無効要求を選別する方法及び装置
US6631447B1 (en) Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
US6345342B1 (en) Cache coherency protocol employing a read operation including a programmable flag to indicate deallocation of an intervened cache line
JP4316016B2 (ja) 複数のシステムバスを有するコンピュータシステムにおいてメモリコヒーレンスを維持するためのシステムおよび方法
US5394555A (en) Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US6295582B1 (en) System and method for managing data in an asynchronous I/O cache memory to maintain a predetermined amount of storage space that is readily available
US6049847A (en) System and method for maintaining memory coherency in a computer system having multiple system buses
KR100194253B1 (ko) 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템
US6629205B2 (en) System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem
US5692149A (en) Block replacement method in cache only memory architecture multiprocessor
EP0347040B1 (en) Data memory system
US6321306B1 (en) High performance multiprocessor system with modified-unsolicited cache state
US6560681B1 (en) Split sparse directory for a distributed shared memory multiprocessor system
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7325102B1 (en) Mechanism and method for cache snoop filtering
US20040117558A1 (en) System for and method of operating a cache
JP2746530B2 (ja) 共有メモリマルチプロセッサ
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US6345344B1 (en) Cache allocation mechanism for modified-unsolicited cache state that modifies victimization priority bits
JPH0551937B2 (ja)
US6918021B2 (en) System of and method for flow control within a tag pipeline
US6477622B1 (en) Simplified writeback handling
US6813694B2 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
US6374333B1 (en) Cache coherency protocol in which a load instruction hint bit is employed to indicate deallocation of a modified cache line supplied by intervention
US6792512B2 (en) Method and system for organizing coherence directories in shared memory systems