JPS6284350A - 階層キヤツシユメモリ装置および方法 - Google Patents

階層キヤツシユメモリ装置および方法

Info

Publication number
JPS6284350A
JPS6284350A JP61151334A JP15133486A JPS6284350A JP S6284350 A JPS6284350 A JP S6284350A JP 61151334 A JP61151334 A JP 61151334A JP 15133486 A JP15133486 A JP 15133486A JP S6284350 A JPS6284350 A JP S6284350A
Authority
JP
Japan
Prior art keywords
cache memory
memory
memory device
location
cache
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
JP61151334A
Other languages
English (en)
Other versions
JP2540517B2 (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.)
ENKOAA COMPUTER CORP
Original Assignee
ENKOAA COMPUTER 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 ENKOAA COMPUTER CORP filed Critical ENKOAA COMPUTER CORP
Publication of JPS6284350A publication Critical patent/JPS6284350A/ja
Application granted granted Critical
Publication of JP2540517B2 publication Critical patent/JP2540517B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893—Caches characterised by their organisation or structure
    • G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815—Cache consistency protocols
    • G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

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)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明はキャッシュメモリ装置、特に共用バスマルチプ
ロセッサとともに用いるに適した階層キャッシング装置
に関する。
[従来の技術] 過去数年の間に、密接結合子ルチプロセッサシステム(
装置)のプロセッサおよびメモリを相互接続する多数の
方法が開発された。1つの方法はシステムの一方の側で
一群のプロセッサをそして他方の側で一群のプロセッサ
を編成し、プロセッサとメモリを中央のスイッチングネ
ットワークを用いて相互接続するものである。相互接続
層の階層ネットワークを用いてプロセッサ間にメモリを
分配する共用アドレス空間マシーンも開発、提案されて
いる。このスイッチングネットワークは遅延を更に増し
、主メモリはプロセッサと追随する程高速でないのが普
通であるから、各プロセッサに専用キャッシュを加えそ
れらが全速力で運転させるようにすることが必要である
。しかし、このような専用キャッシュを加えると、キャ
ッシュコヒーレンシー(統一性)の問題が生じ、これは
通常のスイッチングネットワークでは解決が非常に困難
である。事実、コヒーレンシーを維持するために今日ま
で提案されたシステムはしばしばシステムのネックとな
っている。
マルチプロセッサシステムの一群のプロセッサを相互接
続する別の方法は共用バスを介しての接続である。キャ
ッシュと主メモリの間トラフィックは全部、共用バス上
を通るから、各キャッシュは転送用のバスをモニタする
ことによって主メモリ位置の現在のコピーだけを含むよ
うにすることができ、これによってメモリ位置が廃用さ
れることになろう。共有バスはしばしば不適当な帯域幅
のために非難を受けたが、大きな専用キャッシュを用い
ると所要の帯域幅が大きく減少するとともにプロセッサ
に短かい有効アクセスタイムを与えることができる。さ
らに、コヒーレンスアルゴリズムによって発生した余分
のバストラフィックは無視できるのでバスの全帯域幅を
利用して実データを処理できる。単一プロセッサでは、
専用キャッシュは、対応する書込終了(write−ヒ
hrough)または書込延期(vrit、e −de
ffered )コヒーレンシ一手段とともに、書込終
了型でも書込延期型でもよい。バス帯域幅はこれらシス
テムの拡大に対する主な限定要素であるから、書込延期
型が一般的には望ましいが、書込終了型の方が実現する
のが簡単である。
多重プロセッサシステムにおける専用キャッシュ間のコ
ヒーレンシー問題はこれらの専用キャッシュがある特定
のメモリ位置の内容のコピーを有しているときに生じる
。これらのコピーが同一であることが重要であるのは明
らかである。プロセッサがそのキャッシュのメモリ位置
のコピーを修正する場合、その修正は主メモリか、その
位置のコピーを有する他の全ての専用キャッシュのいず
れかに移動しなければならない、別の方法では他のキャ
ッシュ全部を無効にすることができる。実際問題として
、無効化方法が通常要求されるが、それは、他のキャッ
シュにおけるメモリ位置のコピーの更新が試みられたと
きに生じることがある多数の乱調状態がその方法によっ
て除去されるからである。
非共用バススイッチング機構では、無効化メツセージに
よるトラフィックは極めて大きなものになることがある
。これに対して、共用バスはこれらのメツセージを暗黙
に与えることができる。
書込終了キャッシュ機構では、ある位置の専用キャッシ
ュのコピーがそれのプロセッサによって書込まれる毎に
、その書込みは共用バスを通って主メモリに移される。
第1図の書込終了キャッシュをベースとした多重プロセ
ッサのあるキャッシュ位置の状態図に示されるように、
システムの他の全てのキャッシュが書込み用の共用バス
をモニタすることになり、他の全てのキャッシュがその
メモリ位置のコピーを含む場合は、それらはそのコピー
を無効にする。他のいずれのキャッシュも実際にはその
位置を再び用いないとすれば、コヒーレンシー機構によ
って付加的なパストラフィックは生じない。1つまたは
それ以上のプロセッサが後でその位置を要求する場合は
、余分の主メモリ読取りが生じることになる。シミュレ
ーション実験によって、これらの余分の読取りはほとん
ど起らず、余分のパストラフィックにはほとんど寄与し
ない。キャッシュは読出し終了型であるから、バス上の
トラフィックの量はプロセッサ発生のメモリ書込み全部
の合計より決して少なくはなく。
通常、メモリ要求の15%〜20%を含む。書込み終了
キャッシングは限定された並列処理(20個程度の中間
速度プロセッサ)が要求される場合に有効性が高く、実
現するのが簡単である。 書込み延期キャッシング機構
は、書込み延期キャッシュが主メモリトラフィックの量
を書込み終了キャッシュのそれから大きく減少させるこ
とを発見した単一プロセッサの設計者によって値尾よく
用いられた。理論的にはキャッシュサイズが無限大に近
づくと、メモリトラフィックはゼロに近づく。
現在実際用いられているキャッシュサイズによって書込
み終了キャッシュを最大−桁越えた書込み延期キャッシ
ングを用いる多重プロセッサシステムにおいてパストラ
フィックを減少させることが可能で、それによって、潜
在的には一桁またはそれ以上のプロセッサを共用バス多
重プロセッサシステムに加える。コヒーレンシー維持の
必要性は事態を複雑にし、基本的な書込延期機構に対し
ていくつかの機構を加えることが通常必要になる。
純粋の書込延期システムより高いバス利用率をもったよ
り複雑なシステムが生じるが、書込み終了機構よりずっ
と低いプロセッサあたりの利用率が達成される。
キャッシュコヒーレンシーを維持する共用バス用の書込
み延期キャッシングシステムのいくつかの変形例が存在
する。
ジェームズ・アール・グツトマン博士(叶−Jarse
sR,Goodman)によるrプロセッサメモリトラ
フィックを減少をするためにキャッシュメモリを用いる
こと」(υsing Cache Memory t、
o Reduce ProcessorMeaaory
 Traffic (コンピュータアーキテクチャ第1
0回世界大会、10th International
 Symposiumon Computer Arc
hit、ecture)に記載されているキャッシング
システムは、最近得られたデータに対する初期書込終了
モードを用いてそのデータに対する局所的な修正の場合
、他のキャッシュを無効にするものである。第2図の状
態図に示されているように、グツドマンシステムでは、
主メモリ位置が最初にアクセスされるときは、それは有
効状態(読出しの場合)、または保持状態(書込みの場
合)のいずれかでキャッシュに入る。既に有効状態にあ
る位置はプロセッサ書込みアクセスが起る場合は保持状
態に入る。移行を保持状態にした書込みはキャッシュを
通過し、共用バスに移される。
その位置に対する次のプロセッサ書込みはその位置をキ
ャッシュがその位置の正しいコピーだけを有しているこ
とを示す特別の状態に置く。この状態は「汚れた」と呼
ばれる。
書込終了キャッシングにおけると同様に、グツドマンシ
ステムの全てのキャッシュは、それ自身のデータに影響
を及ぼす書込み用バスをモニタし、このような書込みが
現われたときはそのバスを無効にする。したがって、初
期の書込み終了を送った後、キャッシュはメモリ位置の
コピーだけをもつことが保証され、共有バスにさらに書
込みを送らなくともその位置に任意に書込みをなすこと
ができる。しかし、キャッシュは、それがコピーを命ま
で修正していたメモリ位置に対するどんな読取りに対し
ても共用バスをモニタしなければならない。というのは
、このような読取りの後では、キャッシュはその位置の
排他的なコピーをもたなくなるからである。初期の書込
終了書込みが起った場合、唯一の必要な動作は書込みを
既に行なっていて上記メモリ位置の排他的コピーをもっ
ていたことを忘れたキャッシュに対してである。2つま
たはそれ以上の書込みがキャッシュの関連プロセッサに
よってなされた場合、そのキャッシュは正しいコピーだ
けを有し、それ故、主メモリが他のキャッシュの読出し
要求に応答する前に主メモリを更新しなければならない
。
主メモリが他のキャッシュの読取り要求に応答する前に
その主メモリを更新し、それによってその更新をトリガ
した読取り要求がメモリ位置の最も最近のコピーを受け
るようにするいくつかのシステムがある。これらのシス
テムは一般に、修飾コピーを含むキャッシュを要求し、
その修飾コピーが帰還する迄メモリユニットが読取リド
ランザクジョンを完了しないようにする。別の方法はメ
モリから応答を廃棄する特別のバス要求を出すことであ
る。グツドマンシステムはまた、データが最初にアクセ
スされたとき他のいずれのコピーも存在しないことが知
られていれば初期の読出完了を避けるよう修正できる。
lブロックの非重複サブピースの別々のプロセッサによ
る同時修正および読取り1修正I書込みロックの実現な
どいくつかの乱調状態があるが、これらは慎重な設計に
よって解決可能である。
汚れたデータを主メモリに戻す問題を避ける別の公知の
システムでは主メモリの各ブロックに「チェックアウト
ビットが加えられる。専用キャッシュがある位置への独
占的なアクセスを必要とすることを発見するときは、独
占的なアクセス読取りで主メモリからその位置を読取り
、それによってチェックアウトビットが設定され、その
位置の所有権が専用キャッシュに転送される。そのデー
タのコピーを有している他のキャッシュはバス上で独占
的な読取りを検知したときこれらのコピーを無効にする
。こうして上記機構はグツドマンシステムの初期の書込
完了を第2の特別の読取で置き換える。この機構は初期
書込完了を不要にするが、このtanによってバスに与
えられたトラフィックの全体の量はグツドマンシステム
に匹敵する。
この機構は上記した読取1修正1書込ロック問題を直接
に解決する。
複雑さが増大するにもかかわらず、上記した書込延期機
構は一般的には書込完了キャッシュよりも望ましい。バ
ス飽和がこれらのコンピュータの寸法をなお限定すると
しても、書込延期キャッシュによって与えられたバスト
ラフィック減少はこれらのキャッシュを多重共用バスシ
ステムに対してかなり適したものにする。
[発明の概要] したがって、本発明の主目的は、信頼性高くキャッシュ
コヒーレンシーを維持する多重階層に編成された共用バ
スをもった共用バス多重プロセッサのキャッシングシス
テムを提供することである。
本発明の他の目的は多重プロセッサを多重階層編成の共
用バスを用いる複数個の多重プロセラさに分割できるよ
うにするキャッシングシステムを提供することである。
本発明のさらに他の目的は共用バスの使用が最小ですむ
多重階層編成された共用バスをもった多重プロセッサ用
のキャッシングシステムを提供することである。
本発明のさらに他の目的は書込完了または書込延期キャ
ッシュを用いることのできる多重階層編成共用バスをも
った多重プロセッサ用のキャッシングシステムを提供す
ることである。
共用バス多重プロセッサ用のキャッシングシステムは各
々が自己の専用キャッシュメモリを有する数個のプロセ
ッサを備えている。各専用キャッシュは第2の上位レベ
ルのキャッシュメモリが接続された第1のバスに接続さ
れる。この第2の上位レベルキャッシュは別のバスおよ
び上位レベルキャッシュメモリか、主システムメモリに
大域バスを介して接続される。各上位レベルキャッシュ
は十分なメモリ空間を有していてその上位レベルキャッ
シュがそれの直ぐ下のレベルにあるキャッシュにおける
全てのメモリ位置のコピーをもつことができるようにす
る。主メモリも最上位レベルのキャッシュメモリの各メ
モリ位置のコピー用の十分な空間を有している0本発明
のキャッシングシステムは書込完了または書込延期型の
キャッシュコヒーレンシー管理機構とともに用いること
ができる。多重ポートメモリを主メモリの代りに用いる
ことができる。
本発明のこれらの目的および他の目的、何点は添付図面
を参照して読まれるべき次の詳補な説明から完全に理解
できるだろう。なお、図面を通して同じ参照番号は同じ
部分を指す。
[実施例] 本発明の共用バス多重プロセッサ用のキャッシング装置
(システム)の単純化された実施例が第3図に示され1
階層形式で配列された複数個のキャッシュメモリを含ん
でいる。階層は、キャッシュメモリがお互いに対して別
々のレベルに配置され、1つまたはそれ以上の低レベル
キャッシュが共用バスを介して1つの上位レベルキャッ
シュに接続されることを意味する。このような上位レベ
ルキャッシュも同じレベルにある1つまたはそれ以上の
他のキャッシュとともに、主メモリかさらに高レベルの
キャッシュに接続される。
第3図に示された2レベルのキャッシュおよび共用バス
を含む実施例では、各プロセッサは対応したキャッシュ
メモリ14を有し、各キャッシュメモリ14は第1の共
用バス16に接続される。
バス16も第2の上位レベルキャッシュ18に接続され
、そのキャッシュ18も第2上位レベルの他の全てのキ
ャッシュ18の間で共用される第2の上位レベルバス2
0に接続される。バス20は主メモリモジュール22を
第2の上位レベルキャッシュ18に接続する。こうして
第3図は専用キ′ヤツシュ共用バスシステムが付加レベ
ルのキャッシングに循環的に与えられる階層キャッシン
グシステムを示すことになる。生成された木構造におい
て、上位レベルキャッシュはその木の下位ブランチとの
リンクを与える。たとえばキャッシュ18のような上位
レベルキャッシュはフィルタとして働き、それによって
木の上位レベルに移されるトラフィックの量を減少させ
る。これらの上位レベルキャッシュはまたレベル間のコ
ヒーレンシー制御を拡大し、システムの広範囲のアドレ
ス可能性を与える。
プロセッサの高速化の大部分は低レベルキャッシュ14
によって達成されるから、上位レベルキャッシュ18は
、主メモリモジュール22によって用いられるものと同
じ低速高密度のダイナミックランダムアクセスメモリ(
DRAM)で実現できる。上位レベルのスイッチング遅
れはヒツト(すなわち、プロセッサのキャッシュに格納
されたある位置に対するメモリアクセス要求)で避けら
れるから平均待ち時間はなお減少される。これらのキャ
ッシュから極大の利益を得るためには、そこに入る次の
低レベルキャッシュの全部の合計より1桁だけ大きくな
っている必要がある。このようなキャッシュはDRAM
でよいから、これは問題とならない。
階層システムにおける第2の上位レベルキャッシュ(第
3図の実施例では1g)はシステムの広範囲の多本キャ
ッシュコヒーレンシーを維持するためにはいくつかの拡
張を必要とする。最も重要な拡張は、下位レベルキャッ
シュにコピーがあるどのメモリ位置も上位レベルキャッ
シュにコピーを持っているという条件である。第4図の
状態図に示されるように、システムはこれを、ある位置
が上位レベルキャッシュから除去されたときにはいつで
も下位レベルキャッシュへの「無効化」信号を発生する
ことによって実現する。下位レベルキャッシュに含まれ
たメモリ位置の全てのコピーが上位レベルキャッシュに
もあるから、上位レベルキャッシュはそれに接続された
全部の下位レベルキャッシュに対する多重キャッシュコ
ヒーレンシーモニタとして作用することができる。
本発明において用いられる書込延期キャッシング機構は
各キャッシュ位置が4状態を有している詞においてグツ
ドマンシステムと同じである。しかし、本発明の上位レ
ベルキャッシュは多重キャッシュコヒーレンシーを維持
するために必要などきは下位レベルキャッシュに無効化
(フラッシュ)要求を送る。無効化要求は下位レベルキ
ャッシュによってバス書込みと同様に扱われる。
多重キャッシュコヒーレンシー制御は書込完了キャッシ
ュ、書込延期キャッシュのいずれかを用いて本発明の階
層共用バス多重プロセッサによって達成できる。第5図
の書込完了キャッシングを用いた多重キャッシュシステ
ムにおいて、プロセッサ12がメモリへの書込みを出す
とき、その書込みアクセスはキャシュの階層を通り、各
レベルでそれに関連した共用バス上に現われる。たとえ
ば、プロセッサ12bからの書込みはキャッシュ14b
からバス16a、キャッシュ18aそして最後にバス2
0へ移る(図示例において、それぞれのメモリユニット
の水平線15は共通のメモリ位置を表わす)。キャッシ
ュ12bが直接接続されるシステムの部分に対しては、
単一レベルの場合について上述した同様に無効化が進む
。さらに、利用されたメモリ位置I5のコピーをもつ各
キャッシュ(たとえばキャッシュ14c)は単にその位
置を無効にする。階層の上位レベルにあるキャッシュに
対しては、特定のメモリ位置の存在はそのキャッシュの
すぐ下にあるレベルで省略されるその位置のコピーが存
在することを意味する。たとえば、第5図の第2レベル
キヤツシユ18cがバス20上に書込みアクセスを検出
するとき、それ自身のキャッシュを無効化しなければな
らないだけでなく、それに接続され、そのメモリ位置を
含む下位レベルキャッシュに無効化要求を送らなければ
ならない、第5図の例では、無効化信号がキャッシュ1
4g、14iに送られるにの無効化を実現するために、
そのメモリ位置に対する書込みトランザクシ目ンとして
キャッシュ14g、14h、14iによって解釈される
無効化要求がバス16c上に置かれる。そのときこれら
のキャッシュは自己のコピーをそれが存在する場合、当
該無効化要求が共用バスの他のキャッシュからの書込み
であるかにように無効化ずろ、このようなシステムは、
下位レベルにあるメモリ位置のいずれのコピーも上位レ
ベルの対応したキャッシュに存在するものとみなしてい
る。これを保証するためには。
上位レベルの位置がミスのために置き換えられたときは
いつでも無効化要求を下位レベルキャッシュに送ること
が必要である。したがって、上位レベルキャッシュでミ
ス率を低く維持することが重要で、そのためには、この
ようなキャッシュは大容量でなければならない。
書込延期型キャッシュを用いた本発明の階層キャッシン
グシステムにおいて、無効化動作は書込完了型で用いた
ものと非常に似ている。書込延期型階層キャッシングシ
ステムで、グツトマンシステムの書込完了または他のシ
ステムの主メモリの特別ビットを用いた独占的アクセス
読取りは全ての書込完了におけると同じ態様で無効化を
開始されるように作用する。特に、グツドマン型の書込
延期型機構キャッシングシステムを用しいた本発明の実
施例では、初期書込完了は他のキャッシュの位置を無効
化するのに用いられる。独占的アクセス読取りおよび特
別ビットを用いる実施例では。
独占的アクセス読取りは他のキャッシュを無効化するだ
けでなく、メモリ位置の専用コピーが何らかのキャッシ
ュに存在することを示すビットを主メモリに設定する。
しかし、初期無効化の後他のプロセッサがデータに対す
る更新アクセスを要求するときに問題が生じる。単一レ
ベルのキャッシング機構と同様に、全てのキャッシュは
他のキャッシュからの読取要求に対して共用バスをモニ
タし、独占的なコピーをもっている位置の要求がなされ
る場合には適当な状態変化をつくらなければならない。
グツトマン型キャッシング機構を用いた実施例における
別の専用キャッシュからの次の読取りで、有効なコピー
をもったキャッシュは応答しない主メモリ24に信号を
送って、それ自身の位置のコピーを置き換える。独占的
アクセス読取実施例における別のプロセッサからの次の
読取りで、主メモリ24の設定ビットは主メモリが応答
するのを禁止し、その代りに、メモリ位置の有効なコピ
ーをもったキャッシュが応答する。さらに、キャッシュ
の状態が階層におけるその下のキャッシュにメモリ位置
の汚れたコピーがあるかもしれないことを示す場合、そ
こに「フラッシュ要求」を送らなければならない。これ
らのフラッシュ要求は階層の下位L//<ルに伝播し、
その下位レベルキャッシュがその状態を、その位置に対
する実際の読取りが共用バスに見られたかの如くに、「
有効」状態に修正するようにしなければならない。
第6図は階層書込延期型キャッシュシステムを用いた典
型的な場合を示す。第6図において、前の書込みからの
書込み順序の結果としてキャッシュ14b、18aが位
置15に対する独占的アクセスを有し、今、プロセッサ
12hがその位置を読取りたいものとした場合、その要
求は階層を通って伝播してしまい(すなわち、プロセッ
サ12hの直上のどのキャッシュにもコピーはない)の
で、その要求は各レベルで「ミス」してしまう。要求が
バス20に達すると、キャッシュ18aは独占的アクセ
スを放棄し、その位置の汚れたコピーを洗い出す(フラ
ッシュ)必要を検出する。キャッシュ14bが独占的ア
クセスを放棄し、メモリ位置15の修正コピーを階層の
上へ送り返す場合、キャッシュ18aはバス16aヘフ
ラツシユ要求を送る。どの書込延期型機構が用いられる
かに応じて、データは主メモリ22に最初に戻るが直接
キャッシュ18c、キャッシュ14hそしてプロセッサ
12hに進む。キャッシュ18aおよびキャッシュ14
bのコピーはそのままであるが独占的なものとしては示
されていない。
本発明の多重プロセッサシステムでは、影響を受けたメ
モリ位置のコピーを実際に有している階層の下位ブラン
チだけがコヒーレンシートラフィックに含まれる。上記
の例では、キャッシュ18bに関連したプロセッサおよ
びキャッシュメモリユニットは無効化またはフラッシュ
を全く見ないので、バス16bには何ら付加的なロード
は存在しない。結果として、バストラフィックをそれ程
増加させないでシステムを通じてキャッシュコヒーレン
シーが維持され、多重プrJセッサシステムの下位レベ
ル部分ができるだけお互いから分離される。複数バスに
よる下位レベルでのトラフィック分離、階層キャッシュ
による上位レベルでのトラフィック減少、必要な部分へ
のコヒーレンシー制御の限定の相乗効果によって、完全
な共用メモリおよび自動的なコヒーレンシー制御ととも
に帯域幅の大きな増加が生じる。書込完了型キャッシュ
の使用によって上位レベルでのバス飽和が生じるのに対
し、書込延期キャッシュを使用すると階層に対して複数
層を加えることによってほとんど無限定の拡張が可能と
なる。
キャッシュ18a、バス16a、専用キャッシュ14a
、14b、14cおよびプロセッサ12a、12b、1
2eを含んだ第5図および第6図に示された多重プロセ
ッサシステムの部分は「クラスタ」と呼ばれる。このよ
うなりラスタは実際は独立した多重プロセッサコンピュ
ータシステムで、キャッシュメモリ18が実際の主シス
テムメモリである。本発明の階層キャッシングシステム
によってこのような数個のクラスタを大きな多重プロセ
ッサコンピュータシステム(これはキャッジユニ8の全
てのデータのコピーを有する主中央メモリを備えている
)に組入れることが可能になる。キャッシュコヒーレン
シーがキャッシュ18間で維持されるから、データはク
ラスタ間で転送できる。
本発明の階層キャッシングシステムはまた多重ポートメ
モリ(これはそこに入るいくつかの共用バスを有してい
る)とともに用いることができる。
第7@に示されるように、多重ポートメモリは、一対の
ビットをメモリの各ブロックに加えてアクセスパターン
を追跡し、関連した共用バス16に無効またはフラッシ
ュを伝達する必要を判断する。
多重ポートメモリ24は書込完了キャッシング、書込延
期キャッシングのいずれが用いられるかに応じていくつ
かの方法で管理することができる。
キャッシングの両方の型とも、大部分の多重プロセッサ
システムにおける積極的共用データの量は非常に小さい
ので、共用の場合の非効率はがまんできる。最も簡単な
機構はどちらのポート25.26がメモリ位置に対する
独占的なアクセスを有しているのか(たとえあるにして
も)を追跡し。
適当な無効またはフラッシュ要求がポート状態が変化し
たときはいつでも送り出されるようにするものである。
第8図の状態図に示されるように。
これは各ポートに、書込みアクセスを受ける最後のポー
トで、それ以来他のポートから何ら読取りは生じていな
いことを示す状態を与えることによって実現される。最
後の書込み以来数個のポートから読取りがあったとき別
の状態が入れられ、種々のクラスタ内に位置のコピーが
あることを示す。
これらの状態によって書込完了、書込延期の両方の型の
マルチキャッシュコヒーレンシー機構とも複数のポート
を横切って拡大できるようになる。
2ポートメモリの動作は書込完了、iF込延期の両方の
機構に対して同じである。既に保持状態におかれたポー
トで正しいアクセスが受けられると、無効が他の全ての
ポートに送られる(それらは位置のコピーを有している
かもしれないから)、そのとき、そのメモリ位置はその
ポートに独占的アクセスを認めることによってそのポー
トに対して保持される。保持ポートがらさらに読取り、
書込みがあっても別の無効化は生じないが(したがって
、別のバストラフィックも生じない)、他のポートから
のアクセスがあると元のポートから独占的なアクセス許
可が除かれることになる。無効化要求は書込みが非保持
ポートに生じるときに送り出されるにすぎないから、メ
モリ位置がクラスタを通じて共用されず、または読取専
用態様で共用される通常の場合、さらに無効化は生じな
い。無効化要求は2つのバス間で積極的に共用され、修
正されたわずかな位置に対して生じるにすぎず、そのた
め非常にわずかなバストラフィックオーバヘッドが生じ
るにすぎない。書込延期機構に対しては、他のポートか
らの読取りアクセスのため独占的なアクセス状態を失な
うクラスタにフラッシュ要求を送らなければならない。
これによって、読取り要求はメモリ位置の最も最近のコ
ピーを受けることができるようになる。フラッシュ要求
が必要な場合は、それを誘起した読取りアクセスはフラ
ッシュ要求が満足されるまで続く。
本発明の階層キャッシングシステムは底レベルで2つの
ポートメモリと接続して、第9図に示すような階層相互
接続および物理的に分配された主メモリをもった構造を
形成する。局所メモリに対する離れた要求は、標準的な
単一ポートメモリを用いると同時に、多重ポートコヒー
レンシー制mを与える特別のアダプタボードを用しいて
局所共用バスを介して導くことができる。このようなり
ラスタシステムでは、各底レベルバスは、クラスタ局所
メモリのバンクに対する直接アクセスをもった完全な多
重プロセッサを形成する。
第1O図において、離れたクラスタに格納されたデータ
へのアクセスは直線階層キャッシュシステムと同じ態様
で進行する。クラスタキャッシュは第2レベルのキャッ
シュを形成し、第3図、第5図および第6図に示された
階層機構の第2レベルキヤツシユと同じ離れた基準に対
するフィルタリングおよびコヒーレンシー制御を与える
。階層の頂部(大域)レベルに到達した後、要求は所望
のメモリ位置を含むクラスタに降下され、そのクラスタ
の共用バスを通過する。クラスタバス上の専用キャッシ
ュはまたこのアクセスを見るので、局所メモリが真の多
重ポートメモリとして実現された場合に要求されるよう
な特別の多重ポートコヒーレンシー動作は必要とされな
い。起点プロセッサと同じクラスタ内でメモリに直接進
むアクセスに対しては、2ポートメモリに対してと同じ
線に沿って別のコヒーレンシー制御が要求される。この
コヒーレンシー制御は、ありうる離れたコピーを追跡す
るために、かつ離れたコピーが独占的なアクセスを持っ
ているかどうかにかかわらず書込延期キャッシュに対し
て特別のアダプタカードを用いて実現される。このよう
な状態で、局所書込みを受取り、アダプタカード(アダ
プタカード状態に対する第11図参照)か離れたコピー
が存在すると判断する場合、無効化要求が階層の上へ向
って送られ、書込み要求が純粋の階層で働らくという機
能を実施する。局所読取りが、離れた独占使用コピーの
存在が記録される位置に対して検出される場合、フラッ
シュ要求が階層の上へ向かって伝帳しなければならない
、これらの拡張とともに、階層構造に対して開発された
キャッシュコヒーレンシー構造を同様にクラスタ間コヒ
ーレンシーを与えるために用いることができる。
クラスタ構造には種々の利点がある。たとえば、コード
やスタックを所定のクラスタに局所的に保つことができ
、大域トラフィックに対してシステムの高レベルを残す
ことができる。その結果、クラスタアーキテクチャによ
って、中程度の大きさの多重プロセッサさえもより簡単
な書込完了キャッシング機構を用いることが可能となる
。各プロセスは任意の局所クラスタのプロセッサについ
て同じ容易さで実施され、それによって、密接結合プロ
セッサの自動ロート平衝の利点の大部分を得ることがで
きる。しかし、これらのプロセスはまた必要に応じて離
れたクラスタで実施できる0局所キャッシュメモリのた
めに、離れたクラスタから続くプロセスさえも最大性能
の近くになる。しかし、局所化がなければ、クラスタ間
パストラフィックが特に書込完了キャッシュが用いられ
たときに増大する。
クラスタアーキテクチャはまた大域共用アクセスの管理
でも有用である。多くの科学アルゴリズムの反復的性質
のために大域アクセスが悪いキャッシュ性を示すことに
なる。しかし、アクセスパターンは非常に断定的なもの
であるから、しばしば、大域を分割してそれを最大の使
用頻度が生じるクラスタに配置することが可能である。
他の場合には5大域データはクラスタ間で移動可能でな
ければならない。データが離れたクラスタで必要になる
前にこの移動を実現するためにブロック転送ハードウェ
アを備えることができる。したがって、クラスタは大き
なグレイン勘所性の利点を得て、大域データの悪いキャ
ッシュ性を克服して直線階層キャッシュ機構より短かい
待ち時間および少ない大域パストラフィックを生じさせ
る。
上述の発明は好適実施例について説明したけれども、種
々の修正および変形が当業者に可能である。たとえば、
発明は2レベルのキャッシュ(専用キャッシュおよび専
用キャッシュと主メモリの間に配置されたキャッシュを
含むものとして説明したけれども、各上位レベルキャッ
シュがそれが接続されている直下レベルのキャッシュの
各メモリ位置を含む程十分なメモリを有している限り任
意の数のレベルのキャッシュを専用キャッシュと主メモ
リの間に配置することができる。さらに、他の書込延期
キャッシュをキャッシュコヒーレンシーを維持するため
に用いることができる。これらおよび他の変形および修
正は特許請求の範囲に含まれろものとする。
【図面の簡単な説明】
第41は書込完了キャッシャを基本とした多重プロセッ
サにおけるキャッシュ位置に対する状態図である。 第2図は書込延期キャッシュを基本とした多重プロセッ
サにおけるキャッシュ位置に対する状態図である。 第3図は2レベルのキャッシュおよび共用バスを含む階
層多重プロセッサの概略図である。 第4図は本発明による多重キャッシュコヒーレンシーア
ルゴリズムを用いたレベル2キヤツシユの状態図である
。 第5図は、書込完了キャッシング機構を含んだ第1図に
示された多重プロセッサシステムの拡大実施例を示す概
略図である。 第6図は、書込延期キャッシング機構を用いた階層キャ
ッシュシステムを用いる、第1図に示された多重プロセ
ッサスジステムの別の実施例を示す概略図である。 第7図は2ポートメモリを基本とした多重プロセッサシ
ステムの概略図である。 第8図は本発明による多重キャッシュコヒーレンシー機
構を用いた2ポートメモリシステム用の状態図である。 第9図は多ポートメモリおよび本発明の階層キャッシン
グシステムを用いた多重プロセッサの概略図である。 第10図は第5図に示された多重プロセッサの別の実施
例の概略図である。 第11図は本発明による多重キャッシュコヒーレンシー
機構を用いたクラスタアダプタの状態図である。 12・・・・・・・・・プロセッサ 14・・・・・・・・・専用キャッシュメモリ16・・
・・・・・・・第2レベルバス22・・・・・・・・・
キャッシュメモリ20・・・・・・・・・第2レベルバ
ス22・・・・・・・・・主メモリ 15・・・・・・・・・メモリ位置 24・・・・・・・・・多重ポートメモリ25.26・
・・・・・ポート

Claims (1)

  1. 【特許請求の範囲】 1、複数個のプロセッサおよびシステムメモリを含む多
    重プロセッサコンピュータシステムとともに用いる階層
    キャッシュメモリ装置であって、前記各プロセッサに関
    連した第1の下位レベル専用キャッシュメモリ装置、前
    記専用キャッシュメモリ装置の少なくとも2つをお互い
    に接続する第1のバス装置、該第1のバス装置に接続さ
    れた第2の上位レベルキャッシュメモリ装置であって、
    前記第2の上位レベルキャッシュメモリ装置も接続され
    る前記第1バス装置に接続された前記専用キャッシュメ
    モリ装置の各メモリ位置の内容のコピーを含む前記第2
    上位レベルキャッシュメモリ装置および、上位レベルキ
    ャッシュメモリ装置および前記システムメモリに接続さ
    れた第2のバス装置を含み、該システムメモリはそれが
    接続されている前記第2バス装置に接続された前記上位
    レベルキャッシュメモリ装置の各メモリ位置の内容のコ
    ピーを含むことを特徴とする前記階層キャッシュメモリ
    装置。 2、対応するプロセッサによって書込まれていた専用キ
    ャッシュメモリ装置のメモリ位置の内容を、前記専用キ
    ャッシュメモリ装置と前記システムメモリの間に直接配
    列された上位レベルキャッシュメモリ装置の対応メモリ
    位置および前記システムメモリの対応メモリ位置に書込
    むことができるようにする装置をさらに含むことを特徴
    とする特許請求の範囲第1項に記載の階層キャッシュメ
    モリ装置。 3、専用キャッシュメモリ装置または書込み動作が行な
    われた別の専用キャッシュメモリ装置のメモリ位置に対
    応するメモリ位置を有する上位レベルキャッシュメモリ
    装置のメモリ位置の内容を無効化する装置をさらに含む
    ことを特徴とする特許請求の範囲第2項に記載の階層キ
    ャッシュ装置。 4、前記専用キャッシュメモリに関連したプロセッサが
    前記メモリ位置に書込動作をなすとき専用キャッシュメ
    モリ位置を保持状態に置き、その保持状態は前記保持メ
    モリ位置を含む専用キャッシュは前記メモリ位置の有効
    なコピーをもった唯一の専用キャッシュであることを示
    すような装置および前記専用キャッシュメモリ装置と前
    記システムメモリの間でその専用キャッシュメモリ装置
    に接続され、かつ前記保持メモリ位置を含む上位レベル
    キャッシュメモリ装置、および前記システムメモリに前
    記保持メモリ位置の内容をコピーする装置をさらに含む
    ことを特徴とする特許請求の範囲第1項に記載の階層キ
    ャッシュメモリ装置。 5、専用キャッシュメモリ装置または書込み動作が行な
    われた別の専用キャッシュメモリ装置のメモリ位置に対
    応するメモリ位置を有する上位レベルキャッシュメモリ
    装置のメモリ位置の内容を無効化する装置をさらに含む
    ことを特徴とする特許請求の範囲第4項に記載の階層キ
    ャッシュメモリ装置。 6、保持状態にあるメモリ位置をもった関連した専用キ
    ャッシュメモリ装置を有する前記プロセッサが、前記関
    連した専用キャッシュメモリ装置、前記保持位置を含む
    前記専用キャッシュメモリ装置を接続された前記第1の
    バス装置に接続された前記上位レベルキャッシュメモリ
    装置および付加的書込以前に存在した前記保持メモリ位
    置の内容を保持する前記システムメモリ装置に対してだ
    けその付加的な書込みをなすことができるようにする装
    置をさらに含むことを特徴とする特許請求の範囲第5項
    に記載の階層キャッシュメモリ装置。 7、上位レベルキャッシュメモリ装置が下位レベルキャ
    ッシュメモリ装置において保持状態にあるメモリ位置を
    確認できるような装置であって、その下位レベルキャッ
    シュメモリ装置は前記上位および下位レベルキャッシュ
    メモリ装置の両方が接続されるバスを介して前記確認上
    位レベルキャッシュメモリ装置に接続されているような
    装置をさらに含むことを特徴とする特許請求の範囲第4
    項に記載の階層キャッシュメモリ装置。 8、前記保持状態にある前記メモリ位置を確認する前記
    上位レベルキャッシュメモリ装置が前記保持状態にある
    前記メモリ位置の内容を取出すことができるようにする
    装置をさらに含むことを特徴とする特許請求の範囲第7
    項に記載の階層キャッシュメモリ装置。 9、前記第2のバス装置は前記第2の上位レベルキャッ
    シュメモリ装置に接続されることを特徴とする特許請求
    の範囲第1項に記載の階層キャッシュメモリ装置。 10、前記システムメモリは多重ポートメモリ装置を含
    み、その1つのポートは大域バスに接続され、他のポー
    トは上位レベルキャッシュも接続されるバスに接続され
    ることを特徴とする特許請求の範囲第1項に記載の階層
    キャッシュメモリ装置。 11、少なくとも1つの上位レベルキャッシュメモリ装
    置および前記第2上位レベルキャッシュメモリ装置と前
    記第2バス装置の間に接続された関連バス装置の少なく
    とも一組をさらに含み、前記関連バスの1つは前記第2
    上位レベルキャッシュメモリ装置に接続され、前記少な
    くとも一組の1つの上位レベルキャッシュメモリ装置は
    前記第2バス装置に接続されることを特徴とする階層キ
    ャッシュメモリ装置。 12、少なくとも1つのプロセッサ装置を含む第1の多
    重プロセッサ装置であって、前記各プロセッサは頻繁に
    アクセスされるメモリ位置を格納するために関連した専
    用キャッシュメモリ装置に接続され、前記各専用キャッ
    シュは第1の共通バス装置を介して前記専用キャッシュ
    の他のものに接続されるような前記第1の多重プロセッ
    サ装置、前記第1の共通バス装置に接続された第1の共
    用キャッシュメモリ装置であって、その第1共通バス装
    置に接続された前記専用キャッシュメモリ装置の各メモ
    リ位置の内容のコピーを含む前記第1共用キャッシュメ
    モリ装置、少なくとも1つのプロセッサ装置を含む第2
    の多重プロセッサ装置であって、前記各プロセッサは頻
    繁にアクセスされるメモリ位置を格納するために関連し
    た専用キャッシュメモリ装置に接続され、前記各専用キ
    ャッシュは第2の共通バス装置を介して前記専用キャッ
    シュの他のものに接続されるような前記第2の多重プロ
    セッサ装置、前記第2の共通バス装置に接続された第2
    の共用キャッシュメモリ装置であって、その第2共用バ
    ス装置に接続された前記専用キャッシュメモリ装置の各
    メモリ位置の内容のコピーを含む前記第2共用キャッシ
    ュメモリ装置、および前記第1、第2のキャッシュメモ
    リ装置も接続されている大域バス装置に接続され、その
    第1、第2のキャッシュメモリ装置の各メモリ位置の内
    容のコピーを含むシステムメモリ装置を含むことを特徴
    とする多重プロセッサ装置。 13、対応するプロセッサによって書込まれていた専用
    キャッシュメモリ装置のメモリ位置の内容を、前記第1
    はたは第2の共用キャッシュメモリ装置の対応メモリ位
    置および前記システムメモリ装置の対応メモリ位置に書
    込むことができるようにする装置をさらに含むことを特
    徴とする特許請求の範囲第12項に記載の多重プロセッ
    サ装置。 14、専用キャッシュメモリ装置または書込み動作が行
    なわれた別の専用キャッシュメモリ装置のメモリ位置に
    対応するメモリ位置を有する前記第1または第2の共用
    キャッシュメモリ装置のメモリ位置の内容を無効にする
    装置をさらに含むことを特徴とする特許請求の範囲第1
    3項に記載の多重プロセッサ装置。 15、前記専用キャッシュメモリに関連したプロセッサ
    が前記メモリ位置に書込動作をなすとき専用キャッシュ
    メモリ位置を保持状態に置き、その保持状態は前記保持
    メモリ位置を含む専用キャッシュは前記メモリ位置の有
    効なコピーをもった唯一の専用キャッシュであることを
    示すような装置および前記保持メモリ位置を前記専用キ
    ャッシュに接続された前記第1または第2の共用キャッ
    シュメモリ装置、および前記システムメモリ装置に前記
    保持メモリ位置の内容をコピーする装置をさらに含むこ
    とを特徴とする特許請求の範囲第12項に記載の多重プ
    ロセッサ装置。 16、専用キャッシュメモリ装置または、書込み動作が
    行なわれた別の専用キャッシュメモリ装置のメモリ位置
    に対応するメモリ位置を有する第1または第2の共用キ
    ャッシュメモリ装置のメモリ位置の内容を無効化する装
    置をさらに含むことを特徴とする特許請求の範囲第15
    項に記載の多重プロセッサ装置。 17、保持状態にあるメモリ位置をもった関連した専用
    キャッシュメモリ装置を有する前記プロセッサが、前記
    関連した専用キャッシュメモリ装置、前記第1または第
    2の共用キャッシュメモリ装置、および付加的書込以前
    に存在した前記保持メモリ位置の内容を保持する前記シ
    ステムメモリ装置に対してだけその付加的書込みをなす
    ことができるようにする装置をさらに含むことを特徴と
    する特許請求の範囲第16項に記載の多重プロセッサ装
    置。 18、共用キャッシュメモリ装置が専用キャッシュにお
    いて保持状態にあるメモリ位置を確認できるような装置
    であって、その専用キャッシュメモリ装置は前記共用お
    よび専用キャッシュメモリ装置の両方が接続されるバス
    を介して前記確認共用キャッシュメモリ装置に接続され
    ているような装置をさらに含むことを特徴とする特許請
    求の範囲第15項に記載の多重プロセッサ装置。 19、前記保持状態にある前記メモリ位置を確認する前
    記共用キャッシュメモリが前記保持状態の前記メモリ位
    置の内容を取出すことができるようにする装置をさらに
    含むことを特徴とする特許請求の範囲第18項に記載の
    多重プロセッサ装置。 20、各々が関連した専用キャッシュメモリおよび主シ
    ステムメモリを有する複数個のプロセッサを含む多重プ
    ロセッサコンピュータシステムとともに用いるように設
    計された階層キャッシュメモリシステムのキャッシュコ
    ヒーリンシーを維持する方法であって、少なくとも2つ
    の前記プロセッサによって共用された第1のバスを介し
    て前記専用キャッシュメモリに、そして第2の大域バス
    を介して前記システムメモリに接続された第2の上位レ
    ベルキャッシュメモリを備える段階、プロセッサがその
    関連した専用キャッシュメモリのメモリ位置に対して書
    込動作を行なうとき、前記メモリ位置の内容を前記第1
    バスに接続された前記第2の上位レベルキャッシュメモ
    リおよび前記第2の大域バスに接続された前記主システ
    ムメモリにコピーする段階および書込み動作がなされる
    専用キャッシュメモリおよびメモリ位置がコピーされて
    いて書込メモリ位置のコピーを含むキャッシュメモリ以
    外のキャッシュメモリのキャッシュメモリ位置を無効化
    する段階を含むことを特徴とする階層キャッシュメモリ
    システムのキャッシュコヒーリンシーを維持する方法。 21、各々が関連した下位レベル専用キャッシュメモリ
    および主システムメモリを有する複数個のプロセッサを
    含む多重プロセッサコンピュータシステムを含む多重プ
    ロセッサコンピュータシステムとともに用いるように設
    計された階層キャッシュメモリシステムのキャッシュコ
    ヒーレンシーを維持する方法であって、少なくとも2つ
    の前記プロセッサによって共用された第1のバスを介し
    て前記専用キャシュメモリに、そして第2の大域バスを
    介して前記システムメモリに接続された第2の上位レベ
    ルキャッシュメモリを備える段階、プロセッサがその関
    連した専用キャッシュメモリのメモリ位置に対して書込
    動作を行なうとき、前記メモリ位置の内容を前記第1バ
    スに接続された前記第2の上位レベルキャッシュメモリ
    および前記第2の大域バスに接続された前記主システム
    メモリにコピーする段階、書込み動作がなされる専用キ
    ャッシュメモリおよびメモリ位置がコピーされていて書
    込メモリ位置のコピーを含むキャッシュメモリ以外のキ
    ャッシュメモリのキャッシュメモリ位置を無効化する段
    階、書込み動作がなされる前記専用キャッシュメモリ位
    置を、保持メモリ位置を含む専用キャッシュが前記メモ
    リ位置の有効コピーをもった唯一の専用キャッシュであ
    ることを示す保持状態に置く段階、前記専用キャッシュ
    メモリ装置と前記システムメモリの間においてその専用
    キャッシュメモリ装置に接続され、前記保持メモリ位置
    を含む前記第2の上位レベルキャッシュメモリ、および
    前記システムメモリに前記保持メモリ位置の内容をコピ
    ーする段階、および保持状態にあるメモリ位置をもった
    関連した専用キャッシュメモリ装置を有する前記プロセ
    ッサが、前記関連した専用キャッシュメモリ装置、前記
    上位レベルキャッシュメモリ装置、および付加的書込以
    前に存在した前記保持メモリ位置の内容を保持する前記
    システムメモリ装置に対してだけその付加的書込みをな
    すことができるようにする段階、を含むことを特徴とす
    る階層キャッシュメモリシステムのキャッシュコヒーリ
    ンシーを維持する方法。 22、前記上位および下位レベルのキャッシュメモリ装
    置が接続されるバスを介してその上位レベルキャッシュ
    メモリ装置に接続された下位レベルキャッシュメモリに
    おいて保持状態にあるメモリ位置を上位レベルキャッシ
    ュメモリ装置が確認できるようにする段階、および前記
    保持状態にある前記メモリ位置を確認する前記上位レベ
    ルキャッシュメモリ装置がその保持状態のメモリ位置の
    内容を取出すことができるようにする段階をさらに含む
    ことを特徴とする特許請求の範囲第21項に記載の方法
    。
JP61151334A 1985-06-27 1986-06-27 階層キヤツシユメモリ装置および方法 Expired - Lifetime JP2540517B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/749,581 US4755930A (en) 1985-06-27 1985-06-27 Hierarchical cache memory system and method
US749581 1985-06-27

Publications (2)

Publication Number Publication Date
JPS6284350A true JPS6284350A (ja) 1987-04-17
JP2540517B2 JP2540517B2 (ja) 1996-10-02

Family

ID=25014344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61151334A Expired - Lifetime JP2540517B2 (ja) 1985-06-27 1986-06-27 階層キヤツシユメモリ装置および方法

Country Status (6)

Country Link
US (1) US4755930A (ja)
JP (1) JP2540517B2 (ja)
AU (1) AU585361B2 (ja)
DE (1) DE3621321A1 (ja)
FR (1) FR2584212B1 (ja)
GB (1) GB2178205B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02188847A (ja) * 1989-01-18 1990-07-24 Agency Of Ind Science & Technol 階層キャッシュメモリにおけるデータ交換方式
JPH03102546A (ja) * 1989-09-18 1991-04-26 Agency Of Ind Science & Technol 階層キャッシュメモリ装置
JPH03230238A (ja) * 1990-02-05 1991-10-14 Nippon Telegr & Teleph Corp <Ntt> キャッシュメモリ制御方式
JPH04242454A (ja) * 1991-01-17 1992-08-31 Nec Corp キャッシュメモリの一致処理方式
JPH0675856A (ja) * 1993-03-12 1994-03-18 Toshiba Corp キャッシュメモリシステム

Families Citing this family (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045996A (en) * 1986-11-12 1991-09-03 Xerox Corporation Multiprocessor cache memory housekeeping
US5276853A (en) * 1987-05-18 1994-01-04 Fujitsu Limited Cache system
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
US5119481A (en) * 1987-12-22 1992-06-02 Kendall Square Research Corporation Register bus multiprocessor system with shift
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5335325A (en) * 1987-12-22 1994-08-02 Kendall Square Research Corporation High-speed packet switching apparatus and method
US5282201A (en) * 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5761413A (en) 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5055999A (en) 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
DE68917326T2 (de) * 1988-01-20 1995-03-02 Advanced Micro Devices Inc Organisation eines integrierten Cachespeichers zur flexiblen Anwendung zur Unterstützung von Multiprozessor-Operationen.
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
JP2714952B2 (ja) * 1988-04-20 1998-02-16 株式会社日立製作所 計算機システム
EP0343567A3 (en) * 1988-05-25 1991-01-09 Hitachi, Ltd. Multi-processing system and cache apparatus for use in the same
US5058006A (en) * 1988-06-27 1991-10-15 Digital Equipment Corporation Method and apparatus for filtering invalidate requests
EP0348628A3 (en) * 1988-06-28 1991-01-02 International Business Machines Corporation Cache storage system
JPH03505793A (ja) * 1988-07-04 1991-12-12 スウェーディッシュ インスティテュート オブ コンピューター サイエンス 階層構造を有するキャッシュメモリシステムを含むマルチプロセッサシステム
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5185875A (en) * 1989-01-27 1993-02-09 Digital Equipment Corporation Method and apparatus for reducing memory read latency in a shared memory system with multiple processors
US5222224A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system
US5097532A (en) * 1989-03-03 1992-03-17 Compaq Computer Corporation Circuit for enabling a cache using a flush input to circumvent a late noncachable address input
EP0389151A3 (en) * 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
JPH02253356A (ja) * 1989-03-28 1990-10-12 Toshiba Corp 階層キャッシュメモリ装置とその制御方式
US5072369A (en) * 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates
CA2019300C (en) 1989-06-22 2001-06-12 Kendall Square Research Corporation Multiprocessor system with shared memory
US5155832A (en) * 1989-07-05 1992-10-13 Hewlett-Packard Company Method to increase performance in a multi-level cache system by the use of forced cache misses
JPH0340046A (ja) * 1989-07-06 1991-02-20 Hitachi Ltd キャッシュメモリ制御方式および情報処理装置
US5230070A (en) * 1989-09-08 1993-07-20 International Business Machines Corporation Access authorization table for multi-processor caches
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5136700A (en) * 1989-12-22 1992-08-04 Digital Equipment Corporation Apparatus and method for reducing interference in two-level cache memories
JPH0625984B2 (ja) * 1990-02-20 1994-04-06 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン マルチプロセツサ・システム
US5197139A (en) * 1990-04-05 1993-03-23 International Business Machines Corporation Cache management for multi-processor systems utilizing bulk cross-invalidate
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
AU631631B2 (en) * 1990-04-27 1992-12-03 Digital Equipment Corporation Improved scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor computer system
US5249284A (en) * 1990-06-04 1993-09-28 Ncr Corporation Method and system for maintaining data coherency between main and cache memories
CA2044689A1 (en) * 1990-06-15 1991-12-16 Roger E. Tipley Multilevel inclusion in multilevel cache hierarchies
US5404482A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills
US5404483A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills
JP3009430B2 (ja) * 1990-07-09 2000-02-14 キヤノン株式会社 プロセッサおよびそのキャッシュメモリ制御方法
US5261069A (en) * 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
CA2047888A1 (en) * 1990-07-27 1992-01-28 Hirosada Tone Hierarchical memory control system
JP2708943B2 (ja) * 1990-08-08 1998-02-04 三菱電機株式会社 キャッシュメモリ制御装置
US5483645A (en) * 1990-10-26 1996-01-09 Advanced Micro Devices, Inc. Cache access system for multiple requestors providing independent access to the cache arrays
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
JPH05108473A (ja) * 1991-03-20 1993-04-30 Hitachi Ltd デ−タ処理システム
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
JPH07122864B2 (ja) * 1991-07-22 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム、データ処理システムに使用するインターフエース回路及びデータ・プロセツサ間の通信方法
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
GB2260429B (en) * 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
KR950014177B1 (ko) * 1991-11-19 1995-11-22 후지쓰 가부시끼가이샤 메모리 억세스 장치
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
JP2746530B2 (ja) * 1993-01-30 1998-05-06 洲 植 全 共有メモリマルチプロセッサ
US5581727A (en) * 1993-03-22 1996-12-03 Compaq Computer Corporation Hierarchical cache system flushing scheme based on monitoring and decoding processor bus cycles for flush/clear sequence control
US5689679A (en) * 1993-04-28 1997-11-18 Digital Equipment Corporation Memory system and method for selective multi-level caching using a cache level code
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
FR2707776B1 (fr) 1993-07-15 1995-08-18 Bull Sa Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
FR2707777B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Ensemble informatique à mémoire partagée.
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
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 株式会社日立製作所 並列計算機の記憶制御方法および並列計算機
US5522057A (en) * 1993-10-25 1996-05-28 Intel Corporation Hybrid write back/write through cache having a streamlined four state cache coherency protocol for uniprocessor computer systems
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
US5551005A (en) * 1994-02-25 1996-08-27 Intel Corporation Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
US5715428A (en) * 1994-02-28 1998-02-03 Intel Corporation Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
US5682516A (en) * 1994-03-01 1997-10-28 Intel Corporation Computer system that maintains system wide cache coherency during deferred communication transactions
US5577226A (en) * 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
JPH0816470A (ja) * 1994-07-04 1996-01-19 Hitachi Ltd 並列計算機
EP0707269A1 (en) * 1994-10-11 1996-04-17 International Business Machines Corporation Cache coherence network for a multiprocessor data processing system
JP3132749B2 (ja) * 1994-12-05 2001-02-05 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチプロセッサ・データ処理システム
US6073211A (en) * 1994-12-13 2000-06-06 International Business Machines Corporation Method and system for memory updates within a multiprocessor data processing system
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
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
JP3787155B2 (ja) * 1995-03-17 2006-06-21 インテル・コーポレーション ローカル・バス上の多重プロセッシング・キャッシュ・コヒーレンシ・プロトコル
US5752264A (en) * 1995-03-31 1998-05-12 International Business Machines Corporation Computer architecture incorporating processor clusters and hierarchical cache memories
US5623632A (en) * 1995-05-17 1997-04-22 International Business Machines Corporation System and method for improving multilevel cache performance in a multiprocessing system
US6128700A (en) 1995-05-17 2000-10-03 Monolithic System Technology, Inc. System utilizing a DRAM array as a next level cache memory and method for operating same
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
US5594863A (en) * 1995-06-26 1997-01-14 Novell, Inc. Method and apparatus for network file recovery
DE19524023B4 (de) * 1995-06-30 2004-02-05 Fujitsu Siemens Computers Gmbh Multiprozessorsystem mit einer sehr großen Anzahl von Mikroprozessoren
US5875462A (en) * 1995-12-28 1999-02-23 Unisys Corporation Multi-processor data processing system with multiple second level caches mapable to all of addressable memory
US6223260B1 (en) * 1996-01-25 2001-04-24 Unisys Corporation Multi-bus data processing system in which all data words in high level cache memories have any one of four states and all data words in low level cache memories have any one of three states
US5813034A (en) * 1996-01-25 1998-09-22 Unisys Corporation Method and circuitry for modifying data words in a multi-level distributed data processing system
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
DE19623668C1 (de) * 1996-06-13 1997-10-16 Siemens Nixdorf Inf Syst Anordnung in Mehrprozessor-Datenverarbeitungsgeräten mit einem Interventionen umfassenden Kohärenzprotokoll für Pufferspeicher und Betriebsverfahren hierzu
US5937431A (en) * 1996-07-12 1999-08-10 Samsung Electronics Co., Ltd. Multi- node, multi-level cache- only memory architecture with relaxed inclusion
US5900015A (en) * 1996-08-09 1999-05-04 International Business Machines Corporation System and method for maintaining cache coherency using path directories
US5926830A (en) * 1996-10-07 1999-07-20 International Business Machines Corporation Data processing system and method for maintaining coherency between high and low level caches using inclusive states
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
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US5860093A (en) * 1997-01-21 1999-01-12 Unisys Corporation Reduced instruction processor/storage controller interface
US5924116A (en) * 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
US6209072B1 (en) 1997-05-06 2001-03-27 Intel Corporation Source synchronous interface between master and slave using a deskew latch
US6175899B1 (en) * 1997-05-19 2001-01-16 International Business Machines Corporation Method for providing virtual atomicity in multi processor environment having access to multilevel caches
JP3288261B2 (ja) * 1997-06-19 2002-06-04 甲府日本電気株式会社 キャッシュシステム
US6092155A (en) * 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
US6044438A (en) * 1997-07-10 2000-03-28 International Business Machiness Corporation Memory controller for controlling memory accesses across networks in distributed shared memory processing systems
US6115795A (en) 1997-08-06 2000-09-05 International Business Machines Corporation Method and apparatus for configurable multiple level cache with coherency in a multiprocessor system
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US5860101A (en) * 1997-12-17 1999-01-12 International Business Machines Corporation Scalable symmetric multiprocessor data-processing system with data allocation among private caches and segments of system memory
US5893163A (en) * 1997-12-17 1999-04-06 International Business Machines Corporation Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system
US6701416B1 (en) * 1998-02-17 2004-03-02 International Business Machines Corporation Cache coherency protocol with tagged intervention of modified values
US6192451B1 (en) 1998-02-17 2001-02-20 International Business Machines Corporation Cache coherency protocol for a data processing system including a multi-level memory hierarchy
US6330643B1 (en) * 1998-02-17 2001-12-11 International Business Machines Corporation Cache coherency protocols with global and local posted operations
US6292872B1 (en) 1998-02-17 2001-09-18 International Business Machines Corporation Cache coherency protocol having hovering (H) and recent (R) states
US6275908B1 (en) 1998-02-17 2001-08-14 International Business Machines Corporation Cache coherency protocol including an HR state
US6341336B1 (en) * 1998-02-17 2002-01-22 International Business Machines Corporation Cache coherency protocol having tagged state used with cross-bars
US6272603B1 (en) 1998-02-17 2001-08-07 International Business Machines Corporation Cache coherency protocol having hovering (H), recent (R), and tagged (T) states
US6415358B1 (en) 1998-02-17 2002-07-02 International Business Machines Corporation Cache coherency protocol having an imprecise hovering (H) state for instructions and data
US6334172B1 (en) * 1998-02-17 2001-12-25 International Business Machines Corporation Cache coherency protocol with tagged state for modified values
US6263407B1 (en) 1998-02-17 2001-07-17 International Business Machines Corporation Cache coherency protocol including a hovering (H) state having a precise mode and an imprecise mode
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
GB9806184D0 (en) * 1998-03-23 1998-05-20 Sgs Thomson Microelectronics A cache coherency mechanism
US6338117B1 (en) * 1998-08-28 2002-01-08 International Business Machines Corporation System and method for coordinated hierarchical caching and cache replacement
US6604116B1 (en) 1999-03-31 2003-08-05 Hewlett-Packard Development Company, L.P. Decreasing memory return latency by predicting the order of completion of partially ready returns
US7069406B2 (en) * 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US6823471B1 (en) 1999-07-30 2004-11-23 International Business Machines Corporation Method for providing high availability within a data processing system via a reconfigurable hashed storage subsystem
US6446165B1 (en) 1999-07-30 2002-09-03 International Business Machines Corporation Address dependent caching behavior within a data processing system having HSA (hashed storage architecture)
US6516404B1 (en) 1999-07-30 2003-02-04 International Business Machines Corporation Data processing system having hashed architected processor facilities
US6598118B1 (en) 1999-07-30 2003-07-22 International Business Machines Corporation Data processing system with HSA (hashed storage architecture)
US6470442B1 (en) 1999-07-30 2002-10-22 International Business Machines Corporation Processor assigning data to hardware partition based on selectable hash of data address
US6449691B1 (en) 1999-07-30 2002-09-10 International Business Machines Corporation Asymmetrical cache properties within a hashed storage subsystem
US6658556B1 (en) * 1999-07-30 2003-12-02 International Business Machines Corporation Hashing a target address for a memory access instruction in order to determine prior to execution which particular load/store unit processes the instruction
US6374332B1 (en) * 1999-09-30 2002-04-16 Unisys Corporation Cache control system for performing multiple outstanding ownership requests
US6484238B1 (en) 1999-12-20 2002-11-19 Hewlett-Packard Company Apparatus and method for detecting snoop hits on victim lines issued to a higher level cache
US6457101B1 (en) * 1999-12-20 2002-09-24 Unisys Corporation System and method for providing the speculative return of cached data within a hierarchical memory system
US6546462B1 (en) * 1999-12-30 2003-04-08 Intel Corporation CLFLUSH micro-architectural implementation method and system
GB2401227B (en) * 1999-12-30 2005-03-16 Intel Corp Cache line flush micro-architectural implementation method and system
US7987217B2 (en) * 2000-05-12 2011-07-26 Oracle International Corporation Transaction-aware caching for document metadata
US7421541B2 (en) 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
US6356983B1 (en) * 2000-07-25 2002-03-12 Src Computers, Inc. System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture
US6857049B1 (en) 2000-08-30 2005-02-15 Unisys Corporation Method for managing flushes with the cache
US6928517B1 (en) 2000-08-30 2005-08-09 Unisys Corporation Method for avoiding delays during snoop requests
US7069391B1 (en) 2000-08-30 2006-06-27 Unisys Corporation Method for improved first level cache coherency
US6792507B2 (en) * 2000-12-14 2004-09-14 Maxxan Systems, Inc. Caching system and method for a network storage system
US6697925B1 (en) 2000-12-22 2004-02-24 Unisys Corporation Use of a cache ownership mechanism to synchronize multiple dayclocks
US6571322B2 (en) * 2000-12-28 2003-05-27 International Business Machines Corporation Multiprocessor computer system with sectored cache line mechanism for cache intervention
US6484241B2 (en) * 2000-12-28 2002-11-19 International Business Machines Corporation Multiprocessor computer system with sectored cache line system bus protocol mechanism
US6553462B2 (en) * 2000-12-28 2003-04-22 International Business Machines Corporation Multiprocessor computer system with sectored cache line mechanism for load and store operations
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7035911B2 (en) 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7693541B1 (en) 2001-07-20 2010-04-06 Oracle International Corporation Multimodal session support on distinct multi channel protocol
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US6785775B1 (en) 2002-03-19 2004-08-31 Unisys Corporation Use of a cache coherency mechanism as a doorbell indicator for input/output hardware queues
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
TW591526B (en) * 2002-04-09 2004-06-11 Via Tech Inc Data maintenance method of DSM system
US20030195956A1 (en) * 2002-04-15 2003-10-16 Maxxan Systems, Inc. System and method for allocating unique zone membership
US20030200330A1 (en) * 2002-04-22 2003-10-23 Maxxan Systems, Inc. System and method for load-sharing computer network switch
US7017012B2 (en) * 2002-06-20 2006-03-21 Sun Microsystems, Inc. Distributed storage cache coherency system and method
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US20040117667A1 (en) * 2002-12-12 2004-06-17 Sun Microsystems, Inc. Synchronization facility for information domains employing replicas
US20040117666A1 (en) * 2002-12-12 2004-06-17 Sun Microsystems, Inc. Invalidation facility for synchronizing information domains
EP1693758A4 (en) * 2003-12-03 2009-02-04 Panasonic Corp INFORMATION RECORDING MEDIA DATA PROCESSING DEVICE AND DATA RECORDING METHOD
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7594081B2 (en) 2004-09-10 2009-09-22 Cavium Networks, Inc. Direct access to low-latency memory
WO2006031551A2 (en) 2004-09-10 2006-03-23 Cavium Networks Selective replication of data structure
US8132162B2 (en) 2007-07-05 2012-03-06 International Business Machines Corporation Runtime machine analysis of applications to select methods suitable for method level caching
US7949826B2 (en) * 2007-07-05 2011-05-24 International Business Machines Corporation Runtime machine supported method level caching
US20100114929A1 (en) * 2008-11-06 2010-05-06 Yahoo! Inc. Diverse query recommendations using clustering-based methodology
US8352687B2 (en) * 2010-06-23 2013-01-08 International Business Machines Corporation Performance optimization and dynamic resource reservation for guaranteed coherency updates in a multi-level cache hierarchy
US8868833B1 (en) 2011-08-02 2014-10-21 Ionu Security, Inc. Processor and cache arrangement with selective caching between first-level and second-level caches
GB2547189A (en) * 2016-02-03 2017-08-16 Swarm64 As Cache and method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2361718A1 (fr) * 1976-08-11 1978-03-10 Adersa Processeur parallele associatif a hierarchie de memoire, notamment pour l'acquisition et le traitement rapides des signaux
US4157586A (en) * 1977-05-05 1979-06-05 International Business Machines Corporation Technique for performing partial stores in store-thru memory configuration
US4141067A (en) * 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
US4161024A (en) * 1977-12-22 1979-07-10 Honeywell Information Systems Inc. Private cache-to-CPU interface in a bus oriented data processing system
JPS5849945B2 (ja) * 1977-12-29 1983-11-08 富士通株式会社 バツフア合せ方式
US4228503A (en) * 1978-10-02 1980-10-14 Sperry Corporation Multiplexed directory for dedicated cache memory system
JPS5619575A (en) * 1979-07-25 1981-02-24 Fujitsu Ltd Data processing system having hierarchy memory
US4322795A (en) * 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
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
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4530055A (en) * 1982-03-03 1985-07-16 Sperry Corporation Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
US4489381A (en) * 1982-08-06 1984-12-18 International Business Machines Corporation Hierarchical memories having two ports at each subordinate memory level
US4577293A (en) * 1984-06-01 1986-03-18 International Business Machines Corporation Distributed, on-chip cache

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02188847A (ja) * 1989-01-18 1990-07-24 Agency Of Ind Science & Technol 階層キャッシュメモリにおけるデータ交換方式
JPH03102546A (ja) * 1989-09-18 1991-04-26 Agency Of Ind Science & Technol 階層キャッシュメモリ装置
JPH03230238A (ja) * 1990-02-05 1991-10-14 Nippon Telegr & Teleph Corp <Ntt> キャッシュメモリ制御方式
JPH04242454A (ja) * 1991-01-17 1992-08-31 Nec Corp キャッシュメモリの一致処理方式
JPH0675856A (ja) * 1993-03-12 1994-03-18 Toshiba Corp キャッシュメモリシステム

Also Published As

Publication number Publication date
DE3621321A1 (de) 1987-03-12
AU585361B2 (en) 1989-06-15
GB2178205A (en) 1987-02-04
FR2584212B1 (fr) 1990-11-02
GB8615639D0 (en) 1986-07-30
US4755930A (en) 1988-07-05
GB2178205B (en) 1989-12-06
JP2540517B2 (ja) 1996-10-02
AU5914386A (en) 1987-01-08
FR2584212A1 (fr) 1987-01-02

Similar Documents

Publication Publication Date Title
JP2540517B2 (ja) 階層キヤツシユメモリ装置および方法
US11741012B2 (en) Stacked memory device system interconnect directory-based cache coherence methodology
US11908546B2 (en) In-memory lightweight memory coherence protocol
US6304945B1 (en) Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses
KR100745478B1 (ko) 복수의 코히어런시 영역을 갖는 멀티프로세서 컴퓨터 시스템 및 캐시 삭제가 없는 코히어런시 영역들 간의 소프트웨어 프로세스 이동
US6289420B1 (en) System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem
JP2662603B2 (ja) 無効要求を選別する方法及び装置
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
US6751705B1 (en) Cache line converter
US20020078304A1 (en) System and method for allocating a directory entry for use in multiprocessor-node data processing systems
US8209490B2 (en) Protocol for maintaining cache coherency in a CMP
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
US6950906B2 (en) System for and method of operating a cache
US5694575A (en) Direct I/O control system with processor, main memory, and cache employing data consistency retaining scheme
US6813694B2 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
US20060031639A1 (en) Write unmodified data to controller read cache
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JPH0529943B2 (ja)
US6397295B1 (en) Cache mechanism for shared resources in a multibus data processing system
JP2963257B2 (ja) 処理装置
JPH06195263A (ja) キャッシュ・メモリ・システム
JPH01276348A (ja) 2次キャッシュメモリ方式
JPH05210590A (ja) 書き込みキャッシュメモリのための装置および方法

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

EXPY Cancellation because of completion of term