JPH0619786A - キャッシュコヒーレンスを維持する方法及び装置 - Google Patents

キャッシュコヒーレンスを維持する方法及び装置

Info

Publication number
JPH0619786A
JPH0619786A JP5123091A JP12309193A JPH0619786A JP H0619786 A JPH0619786 A JP H0619786A JP 5123091 A JP5123091 A JP 5123091A JP 12309193 A JP12309193 A JP 12309193A JP H0619786 A JPH0619786 A JP H0619786A
Authority
JP
Japan
Prior art keywords
cache
main memory
bus
dirty
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5123091A
Other languages
English (en)
Inventor
M Hayes Norman
ノーマン・エム・ヘイーズ
Maramii Adam
アダム・マラミイ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH0619786A publication Critical patent/JPH0619786A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【目的】 バスを介して結合する複数のプロセッサと、
共用主メモリとを有する多重プロセッサシステムにおい
てキャッシュコヒーレンシーを維持する方法及び装置を
提供する。 【構成】 複数のプロセッサのそれぞれは少なくとも1
つのキャッシュ装置と、ストアバッファとに結合してお
り、キャッシュ装置はキャッシュメモリと、その制御装
置とを具備する。それぞれのキャッシュ装置は、書込み
アドレスを監視することにより、共用主メモリに対する
書込み動作に関連するアドレスを求めてバスをスヌーピ
ングする。キャッシュ装置は、キャッシュミスが起こっ
たときに、まず、ダーティな行をストアバッファに書込
み、次に、共用主メモリから新たな行を読取ることによ
り、ダーティな行とそのタグを置換える。ダーティな行
とは、キャッシュ装置では変更されたが、共用主メモリ
ではまだ変更されていない行である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多重プロセッサコンピ
ュータシステムにおけるメモリの動作に関し、特に、そ
のようなシステムにおけるキャッシュメモリの動作に関
する。
【0002】
【従来の技術】典型的な汎用コンピュータは多数の素子
から構成されているが、その中には、プログラム命令に
従って制御機能、論理機能及び算術演算機能を実行する
ように動作する中央処理装置(「CPU」)と;CPU
により使用するための命令とデータを記憶するランダム
アクセスメモリ(「RAM」)から通常は構成されてい
る主メモリと;追加長期メモリと;外界とコンピュータ
との間で情報を移動させる入出力(「I/O」)制御装
置と;動作の結果を表示する表示モニターなどの何らか
の装置がある。コンピュータは、プログラム(複数の命
令のセット)及びデータをメモリに記憶させ、それらの
命令やデータを選択的に検索して、処理のためにCPU
に供給することにより、CPUを介して動作する。
【0003】高速CPUが主メモリに加えてキャッシュ
メモリを有するのは、きわめて一般的なことである。キ
ャッシュメモリは主メモリより小形であるが、その動作
速度ははるかに速い。キャッシュメモリは、動作の上
で、プロセッサと主メモリとの間に位置している。プロ
グラムの実行中、キャッシュメモリは最も頻繁に利用さ
れる命令とデータを記憶する。プロセッサが主メモリか
ら情報をアクセスすることを要求するたびに、プロセッ
サは主メモリをアクセスするのに先立って、まず、キャ
ッシュメモリを検査する。プロセッサがキャッシュメモ
リで命令又はデータを見つけられず、低速の主メモリを
アクセスすることを要求された場合に、キャッシュ「ミ
ス」は起こる。従って、キャッシュメモリはプロセッサ
の平均メモリアクセス時間を短縮するのである。キャッ
シュメモリの詳細については、Alan J.Smit
hの「Cache Memories」(Comput
ing Survey第14巻第3号,1982年9月
刊)を参照。
【0004】CPUがその現在アドレススペースの内容
を変更する命令を実行するときには、それらの変化を最
終的には主メモリに反映させなければならない。主メモ
リを更新する一般的な方法は2つある。第1に、「スト
ア」を直ちに主メモリへ伝送する(「ライトスルー」又
は「ストアスルー」と呼ばれる方式)。第2に、当初は
ストアはキャッシュメモリのみを変更し、後になって主
メモリに反映させる(「コピーバック」)。主メモリの
通信量に関していえば、ライトスルー方式がストアごと
に主メモリのアクセスを要求するのに対し、コピーバッ
ク方式では、キャッシュミスが起こったときにスワップ
アウトされた行が変更された場合にのみ、主メモリへの
ストアが必要になるだけであるので、コピーバックを採
用すれば、ほぼ例外なく主メモリのトラフィックは減少
する。
【0005】コピーバック状況においては、情報をキャ
ッシュの1ブロックにのみ書込む。変更のあったキャッ
シュブロックは、置換えられるときに限って主メモリに
書込まれる。コピーバックキャッシュブロックは、キャ
ッシュの情報が低レベルメモリの情報と異なるか否かに
よってクリーン又はダーティな状態になる。置換え時に
ブロックをコピーバックする頻度を減らすために、通常
はダーティビットと呼ばれる機能を使用する。このダー
ティビットは、そのブロックがキャッシュにある間に変
更されたか否かを指示する。変更されていなければ、低
レベルメモリはキャッシュと同一の情報を有しているの
で、ブロックは書込まれない。コピーバック方式によれ
ば、キャッシュメモリの速度で書込みを実行でき、1つ
のブロックの中での複数回の書込みに対しても、低レベ
ルメモリに1回書込むだけで良い。書込みごとにメモリ
に書込む必要はないので、コピーバックが使用するメモ
リ帯域幅は縮小される。従って、多重プロセッサシステ
ムにおいてはコピーバックは有利な方法である。
【0006】また、コピーバックは緩衝方式を使用する
のが普通である。キャッシュメモリによる読取りの妨害
を回避するために、コピーバックすべき行を一時的に保
持できるように、バッファは必要なのである。ところ
が、緩衝方式を使用すると、余分に大量の論理が必要に
なるであろう。バッファを実現するための論理が要求さ
れるばかりでなく、全てのメモリアクセスのアドレス
と、それらのアドレスとバッファのアドレス部分にある
アドレスとの一致を試験するための論理もなければなら
ない。すなわち、ストアバッファのデータを主メモリへ
転送してしまう前に、ストアバッファの内容に対してア
クセスが起こるかもしれない。多重プロセッサバスに沿
ったそれぞれのプロセッサが独立したキャッシュを含
み、一方では、共用主メモリへのアクセスを維持してい
る多重プロセッサシステムにおいては、コピーバックバ
ッファのコヒーレンシーの問題は一層複雑になる。
【0007】通常、キャッシュメモリで読取りミスがあ
ったときには、キャッシュメモリの行を置換えるために
主メモリから新たな行を取出さなければならない。キャ
ッシュで置換えるべき行がダーティであれば、その行を
ストアバッファにコピーし、キャッシュメモリは主メモ
リから多重プロセッサバスを介して行を読取り続ける。
読取り後、ストアバッファはダーティな行を主メモリに
戻して書込む(ダーティな行とは、変更のあった行であ
る)。
【0008】多重プロセッサシステムは、1つのストア
バッファから主メモリへの書込みがCPUにより実行さ
れなかったときに再試行/放棄トランザクションを実行
させるのがきわめて一般的である。そのような場合、バ
ス制御を放棄して、他のタスクのためにバスを使用でき
るようにする。ところが、別のCPUがストアバッファ
からのダーティな行の書込みによって更新されていない
アドレスと同一の主メモリ内のアドレスをもつ行をアク
セスしている間に、ストアバッファにダーティな行がま
だ存在しているということから、キャッシュコヒーレン
シーの問題がある。以下で説明するように、本発明は、
多重プロセッサコンピュータシステムのコヒーレントコ
ピーバックストアバッファを開示する。
【0009】
【発明が解決しようとする課題】従って、本発明の目的
は、多重プロセッサコンピュータシステムのキャッシュ
メモリについてキャッシュ読取りミスの間にコヒーレン
トなコピーバックバッファを提供することである。
【0010】本発明の別の目的は、多重プロセッサコン
ピュータシステムのコピーバックストアバッファごとに
複雑な追加制御論理を設けずに、キャッシュコヒーレン
シーを達成することである。
【0011】
【課題を解決するための手段】バスを介して結合する複
数のプロセッサと、共用主メモリとを有する多重プロセ
ッサシステムにおいてキャッシュコヒーレンシーを維持
する方法及び装置を開示する。複数のプロセッサのそれ
ぞれは少なくとも1つのキャッシュ装置と、ストアバッ
ファとに結合しており、キャッシュ装置はキャッシュメ
モリと、その制御装置とを具備する。それぞれのキャッ
シュ装置は、書込みアドレスを監視することにより、共
用主メモリへの書込み動作に関連するアドレスを求めて
バスをスヌーピングする。キャッシュミスが起こったと
き、キャッシュ装置は、まず、ダーティな行をストアバ
ッファに書込み、次に共用主メモリから新たな行を読取
ることにより、ダーティな行とそのタグを置換える。ダ
ーティな行とは、キャッシュ装置では変更されている
が、共用主メモリではまだ変更されていない行である。
この方法は、第1のキャッシュ装置がキャッシュミスを
生じたときに、第1のキャッシュ装置によりその第1の
ストアバッファにダーティな行を書込む過程と;第1の
キャッシュ装置によりバスの制御を獲得する過程と;第
1のキャッシュ装置により共用主メモリからバスを介し
て新たな行を読取る過程と;バスが第1のキャッシュ装
置に対して利用可能である場合に、ダーティな行を共用
主メモリに書込み、利用可能でない場合には、第1のキ
ャッシュ装置は第2のプロセッサからの第2のキャッシ
ュ装置によるスヌーピングを検査する過程と;第2のキ
ャッシュ装置からのアドレスを、ストアバッファに結合
する連想記憶装置に記憶されているタグと比較し、ヒッ
トがあれば、ダーティな行を更新のために第2のキャッ
シュ装置に供給する過程とから成る。本発明の目的、特
徴及び利点は、好ましい実施例の以下の詳細な説明から
明白になるであろう。
【0012】
【表記法及び用語】以下の詳細な説明の大部分は、コン
ピュータシステム内部における演算のアルゴリズム及び
記号表示によって提示される。そのようなアルゴリズム
による説明や表示は、データ処理技術に熟達している人
がその作業の内容を他の当業者に最も有効に伝達するた
めに使用する手段である。ここでは、また、一般的に
も、アルゴリズムは所望の結果に至る首尾一貫した一連
のステップであると考えている。それらのステップは物
理的量の物理的操作を必要とするステップである。通
常、それらの量は記憶、転送、組合わせ、比較及びその
他の方法による操作が可能である電気信号又は磁気信号
の形態をとるが、必ずそうであるとは限らない。時によ
っては、主に一般に使用されている用語であるという理
由により、そのような信号をビット、値、要素、記号、
文字、項などと呼ぶと好都合であることがわかる。ただ
し、それらの用語及びそれに類する用語は、全て、適切
な物理的量と関連させるべきものであり、単にそれらの
量に便宜上付されるラベルであるにすぎないということ
を忘れてはならない。
【0013】さらに、実行される操作を、一般にはオペ
レータが実行する知的動作と関連している加算又は比較
などの用語で呼ぶことが多い。本発明の一部を成す、こ
こで説明する動作のどれをとっても、そのようなオペレ
ータの能力は不要であり、多くの場合には望ましくな
い。動作は機械の動作である。本発明の動作を実行する
のに有用な機械には、汎用デジタルコンピュータ又は他
の同様の装置がある。あらゆる場合に、コンピュータを
動作させる際の方法動作と、計算それ自体の方法との明
確な区別に留意すべきである。本発明は、電気信号又は
他の物理的(たとえば、機械的、化学的)信号を処理し
て、他の所望の物理的信号を発生するに際してコンピュ
ータを動作させる方法ステップに関する。
【0014】本発明は、また、そのような動作を実行す
る装置にも関する。この装置は要求される目的に合わせ
て特別に構成されても良いが、汎用コンピュータに記憶
させたコンピュータプログラムによりコンピュータを選
択的に起動又は再構成しても良い。この明細書に示され
ているアルゴリズムは、特定のコンピュータまたは他の
装置と本来的に関係づけられていない。詳細にいえば、
ここで示す教示に従って書込んだプログラムと共に様々
な汎用機械を使用できるであろうし、あるいは、要求さ
れる方法ステップを実行するためには、より特殊化した
装置を構成するほうが好都合であるとわかるかもしれな
い。それらの多様な機械について必要な構造は以下の説
明から明らかになるであろう。
【0015】
【コード化の詳細】ここで説明する様々な手続きを実行
するための言語として、特定のプログラミング言語は指
示されていない。これは、1つには、挙げうる全ての言
語が普遍的に利用可能であるとは限らないためである。
特定のコンピュータを使用するとき、それぞれのユーザ
ーはその直接の目的に最も適する言語を承知している。
実際には、機械実行可能目的コードを提供するアセンブ
リ言語で本発明を実質的に実現するのが有用であること
がわかっている。本発明を実施するときに使用して良い
コンピュータシステムやモニタシステムは多数の様々な
素子から構成されているので、詳細なプログラムリスト
を挙げなかった。ここで説明し且つ添付の図面に示す動
作及びその他の手続きは、当業者が本発明を実施できる
ようにするのに十分な程度に開示されていると考えられ
る。
【0016】
【実施例】マルチプロセッサシステムのコピーバックス
トアバッファにおいてキャッシュコヒーレンシーを維持
する方法及び装置を開示する。以下の説明中、本発明を
完全に理解させるために、説明の便宜上、特定のメモ
リ、特定の編成、特定のアーキテクチャなどを挙げるが
そのような特定の詳細な事項がなくとも本発明を実施し
うることは当業者には明白であろう。また、場合によっ
ては、本発明を無用にわかりにくくしないために、周知
の回路をブロック線図の形態で示すことがある。
【0017】そこで、図1を参照すると、本発明の教示
を取入れた多重プロセッサコンピュータシステムの簡略
ブロック線図が示されている。データキャッシュ110
とストアバッファ120はCPU1 100の中に実現
されており、このCPU1100は多重プロセッサバス
170を介してCPU2 150と、主メモリ160と
に接続している。CPU1 100のデータキャッシュ
110で読取りミスが起こると、変更した行、すなわ
ち、ダーティな行115が形成され、ストアバッファ1
20の中に導入される。その間、データキャッシュ11
0は主メモリ160へ移行して、多重プロセッサバス1
70を介して読取る。データキャッシュ110に関して
読取りが完了した後に初めて、ストアバッファ120の
ダーティな行は更新のために主メモリ160に書込まれ
る。ところが、多重プロセッサシステムにおいて通常起
こるような、CPU2 150が何らかのタスクのため
に多重プロセッサバス170を使用することを必要とし
たときのように、何らかの理由により、主メモリ160
への書込みが完了せず、多重プロセッサバス170の制
御が放棄された場合には、CPU1 100のストアバ
ッファ120にあるダーティな行と、主メモリ160に
あるそれに対応する行とのキャッシュコヒーレンシーの
問題がある。典型的な多重プロセッサシステムは再試行
/放棄の状況を処理することができず、完了に至る再試
行のために多重プロセッサバス170を機能停止するこ
とにより、そのような事態の発生を阻止するようにされ
ている。これは効率の良いバスの利用法ではない。しか
しながら、本発明の教示によれば、CPU1 100の
ストアバッファ120は、主メモリ160がダーティな
行も最新のバージョンを記憶していないときでも、ダー
ティな行を他のプロセッサに供給することができるので
ある。
【0018】次に図2を参照すると、本発明のコピーバ
ックストアバッファ20の簡略ブロック線図が示されて
いる。ストアバッファ20は充填ポインタ210と、読
取りポインタ220とを伴ってRAM200の中で実現
されている。RAM200と関連して実現されているス
トアバッファ20の部分は、RAM200の行エントリ
のタグを維持する連想記憶装置(「CAM」)250で
ある。
【0019】さらに図2を参照して、データキャッシュ
110の読取りミスの後の再試行/放棄状況におけるコ
ピーバックストアバッファ20の動作を次に説明する。
ストアバッファ20から主メモリへのダーティな行11
5の書込みを完了できないときには、再試行を発行す
る。その結果、効率の面を考えて、多重プロセッサバス
が機能停止しないように多重プロセッサバスの制御は放
棄される。ところが、他のCPUにある他のキャッシュ
制御装置によるスヌーピングは読取りミスに対して依然
として起こるので、全てのキャッシュ制御装置は要求さ
れているオブジェクトのコピーを有しているか否かを検
査し、ミスを起こしたキャッシュにデータを供給するか
又は自身のキャッシュを無効化するなどの適切なアクシ
ョンを実行する。そこで、バストランザクションのたび
に、スヌーピングによりキャッシュアドレスタグを検査
するのである。ストアバッファ20のRAM200の各
エントリと関連する既存のCAM250を使用すること
によって、他のキャッシュ制御装置はアドレスを比較し
て、ストアバッファ20のダーティな行のアドレスとの
一致が得られるか否かを確定できる。一致が見られると
(「一致信号」230)、CPU1のストアバッファ2
0は、再試行/放棄状況における読取りミスの後に、ダ
ーティな行を一致するCPUに供給する。書込みミス状
況においては、CPU1 100のストアバッファ12
0はそれ独自のRAM200のダーティな行を無効化す
る。そこで、他方のCPUはCPU1に再試行の後に主
メモリ160に書込ませる代わりに、続いて主メモリ1
60に書込むことができる。
【0020】その結果、コピーバック書込みにおける再
試行はキャッシュコヒーレンシーを維持するために外部
アービタによる特別のハンドリングを要求しなくなる。
さらに、複雑な制御論理を要求する主メモリへの書込み
のために、ストアバッファはデータキャッシュにデータ
を戻して書込まなくとも良い。
【図面の簡単な説明】
【図1】多重プロセッサコンピュータシステムの簡略ブ
ロック線図。
【図2】本発明のコピーバックストアバッファの簡略ブ
ロック線図。
【符号の説明】
20 コピーバックストアバッファ 100 CPU1 110 データキャッシュ 115 ダーティな行 120 ストアバッファ 150 CPU2 160 主メモリ 170 多重プロセッサバス 200 RAM 210 充填ポインタ 220 読取りポインタ 250 連想記憶装置(CAM)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アダム・マラミイ アメリカ合衆国 01890 マサチューセッ ツ州・ウィンチェスター・ワイルドウッド ストリート・39

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 バスを介して結合する複数のプロセッサ
    と、共用主メモリとを有し、前記複数のプロセッサのそ
    れぞれは少なくとも1つのキャッシュ手段と、ストアバ
    ッファとに結合し、前記キャッシュ手段はキャッシュメ
    モリと、その制御装置とを具備し、前記キャッシュ手段
    のそれぞれは、前記共用主メモリに対する書込み動作に
    関連するアドレスを監視することにより前記書込みアド
    レスを求めて前記バスをスヌーピングし、前記キャッシ
    ュ手段は、キャッシュミスが起こったとき、キャッシュ
    手段では変更されているが、前記共用主メモリではまだ
    変更されていない行であるダーティな行を、まず、前記
    ストアバッファに書込み、次に、前記共用主メモリから
    新たな行を読取ることにより、前記ダーティな行及びそ
    のタグを置換えるような多重プロセッサシステムにあっ
    て、キャッシュコヒーレンシーを維持する方法におい
    て、 第1のキャッシュ手段がキャッシュミスを生じたとき、
    前記第1のキャッシュ手段によりダーティな行をその第
    1のストアバッファに書込む過程と;前記第1のキャッ
    シュ手段により前記バスの制御を獲得する過程と;前記
    第1のキャッシュ手段により前記共用主メモリから前記
    バスを介して新たな行を読取る過程と;前記バスが前記
    第1のキャッシュ手段に対して利用可能である場合、前
    記ダーティな行を前記共用主メモリに書込み、利用可能
    ではない場合には、前記第1のキャッシュ手段は第2の
    プロセッサからの第2のキャッシュ手段によるスヌーピ
    ングを検査する過程と;前記第2のキャッシュ手段から
    のアドレスを、前記ストアバッファに結合する連想記憶
    装置に記憶されている前記ダーティな行の前記タグと比
    較し、ヒットがあれば、前記ダーティな行を更新のため
    に前記第2のキャッシュ手段に供給する過程とから成る
    方法。
  2. 【請求項2】 バスを介して結合する複数のプロセッサ
    と、共用主メモリとを有し、前記複数のプロセッサのそ
    れぞれは少なくとも1つのキャッシュ手段と、ストアバ
    ッファとに結合し、前記キャッシュ手段はキャッシュメ
    モリと、その制御装置とを具備し、前記キャッシュ手段
    のそれぞれは、前記共用主メモリに対する書込み動作に
    関連するアドレスを監視することにより、前記書込みア
    ドレスを求めて前記バスをスヌーピングし、前記キャッ
    シュ手段は、キャッシュミスが起こったとき、キャッシ
    ュ手段では変更されているが、前記共用主メモリではま
    だ変更されていない行であるダーティな行を、まず、前
    記ストアバッファに書込み、次に、前記共用主メモリか
    ら新たな行を読取ることにより、前記ダーティな行及び
    そのタグを置換えるような多重プロセッサシステムにあ
    って、キャッシュコヒーレンシーを維持する装置におい
    て、 第1のキャッシュ手段がキャッシュミスを生じたとき、
    前記キャッシュ手段によりその第1のストアバッファに
    ダーティな行を書込む手段と;前記第1のキャッシュ手
    段により前記バスの制御を獲得する手段と;前記第1の
    キャッシュ手段により前記共用主メモリから前記バスを
    介して新たな行を読取る手段と;前記バスが前記第1の
    キャッシュ手段に対して利用可能である場合、前記ダー
    ティな行を前記共用主メモリに書込み、利用可能でない
    場合には、前記第1のキャッシュ手段は第2のプロセッ
    サからの第2のキャッシュ手段によるスヌーピングを検
    査するような手段と;前記第2のキャッシュ手段からの
    アドレスを、前記ストアバッファに結合する連想記憶装
    置に記憶されている前記ダーティな行の前記タグと比較
    し、ヒットがあれば、前記ダーティな行を更新のために
    前記第2のキャッシュ手段に供給する手段とを具備する
    装置。
JP5123091A 1992-04-29 1993-04-28 キャッシュコヒーレンスを維持する方法及び装置 Pending JPH0619786A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87566892A 1992-04-29 1992-04-29
US875,668 1992-04-29

Publications (1)

Publication Number Publication Date
JPH0619786A true JPH0619786A (ja) 1994-01-28

Family

ID=25366171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5123091A Pending JPH0619786A (ja) 1992-04-29 1993-04-28 キャッシュコヒーレンスを維持する方法及び装置

Country Status (3)

Country Link
US (1) US5708792A (ja)
JP (1) JPH0619786A (ja)
KR (1) KR100294105B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100378389B1 (ko) * 1999-07-08 2003-03-29 인터내셔널 비지네스 머신즈 코포레이션 글로벌 코히런스를 제공하는 데이터처리시스템

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829029A (en) * 1996-12-18 1998-10-27 Bull Hn Information Systems Inc. Private cache miss and access management in a multiprocessor system with shared memory
US5900016A (en) * 1997-04-02 1999-05-04 Opti Inc. System for using a cache memory with a write-back architecture
US5946709A (en) * 1997-04-14 1999-08-31 International Business Machines Corporation Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing
US5900017A (en) * 1997-05-14 1999-05-04 International Business Machines Corporation Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
US6078992A (en) * 1997-12-05 2000-06-20 Intel Corporation Dirty line cache
US6467012B1 (en) 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6779036B1 (en) 1999-07-08 2004-08-17 International Business Machines Corporation Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US6591348B1 (en) 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US6725307B1 (en) 1999-09-23 2004-04-20 International Business Machines Corporation Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
US6587930B1 (en) 1999-09-23 2003-07-01 International Business Machines Corporation Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock
US6457085B1 (en) 1999-11-04 2002-09-24 International Business Machines Corporation Method and system for data bus latency reduction using transfer size prediction for split bus designs
US6535941B1 (en) 1999-11-08 2003-03-18 International Business Machines Corporation Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants
US7529799B2 (en) 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
US6606676B1 (en) 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6542949B1 (en) 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for increased performance of a parked data bus in the non-parked direction
US6523076B1 (en) 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6529990B1 (en) 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus to eliminate failed snoops of transactions caused by bus timing conflicts in a distributed symmetric multiprocessor system
US6516379B1 (en) 1999-11-08 2003-02-04 International Business Machines Corporation Method and apparatus for transaction pacing to reduce destructive interference between successive transactions in a distributed symmetric multiprocessor system
US6684279B1 (en) 1999-11-08 2004-01-27 International Business Machines Corporation Method, apparatus, and computer program product for controlling data transfer
US6385701B1 (en) * 1999-11-19 2002-05-07 International Business Machines Corporation Method, system and program products for sharing data between varied clients using token management
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
US7464227B2 (en) * 2002-12-10 2008-12-09 Intel Corporation Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US7127562B2 (en) * 2003-06-11 2006-10-24 International Business Machines Corporation Ensuring orderly forward progress in granting snoop castout requests
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
KR102570030B1 (ko) * 2023-04-19 2023-08-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법
KR102641481B1 (ko) * 2023-04-19 2024-02-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3949368A (en) * 1974-01-23 1976-04-06 Data General Corporation Automatic data priority technique
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
US4567578A (en) * 1982-09-08 1986-01-28 Harris Corporation Cache memory flush scheme
US4750154A (en) * 1984-07-10 1988-06-07 Prime Computer, Inc. Memory alignment system and method
US5185878A (en) * 1988-01-20 1993-02-09 Advanced Micro Device, Inc. Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
GB8814077D0 (en) * 1988-06-14 1988-07-20 Int Computers Ltd Data memory system
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
JPH0711793B2 (ja) * 1989-07-13 1995-02-08 株式会社東芝 マイクロプロセッサ
US5197144A (en) * 1990-02-26 1993-03-23 Motorola, Inc. Data processor for reloading deferred pushes in a copy-back data cache
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
US5386579A (en) * 1991-09-16 1995-01-31 Integrated Device Technology, Inc. Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100378389B1 (ko) * 1999-07-08 2003-03-29 인터내셔널 비지네스 머신즈 코포레이션 글로벌 코히런스를 제공하는 데이터처리시스템

Also Published As

Publication number Publication date
KR930022214A (ko) 1993-11-23
KR100294105B1 (ko) 2001-09-17
US5708792A (en) 1998-01-13

Similar Documents

Publication Publication Date Title
US5708792A (en) Method and apparatus for a coherent copy-back buffer in a multipressor computer system
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5551005A (en) Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
US9513904B2 (en) Computer processor employing cache memory with per-byte valid bits
US6085294A (en) Distributed data dependency stall mechanism
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
KR100954623B1 (ko) 무한 트랜잭션 메모리 시스템
US5751995A (en) Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively
EP1399823B1 (en) Using an l2 directory to facilitate speculative loads in a multiprocessor system
US5802574A (en) Method and apparatus for quickly modifying cache state
US20130080709A1 (en) System and Method for Performing Memory Operations In A Computing System
US6711653B1 (en) Flexible mechanism for enforcing coherency among caching structures
CN110471617B (zh) 在采用事务存储器的***中管理缓存结构的方法和装置
JPH10254773A (ja) アクセス方法、処理装置およびコンピュータ・システム
JPH10333985A (ja) データ供給方法及びコンピュータ・システム
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
US6178484B1 (en) DCBST with ICBI mechanism to maintain coherency of bifurcated data and instruction caches
EP1725938A1 (en) System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches
US6973541B1 (en) System and method for initializing memory within a data processing system
JPH0467242A (ja) プロセッサおよびそのキャッシュメモリ制御方法
JPH04230549A (ja) 多重レベル・キャッシュ
US6477622B1 (en) Simplified writeback handling

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20031126

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20031201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040622