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