JP2000322318A - コンピュータキャッシュ用コヒーレンシープロトコル - Google Patents

コンピュータキャッシュ用コヒーレンシープロトコル

Info

Publication number
JP2000322318A
JP2000322318A JP2000112465A JP2000112465A JP2000322318A JP 2000322318 A JP2000322318 A JP 2000322318A JP 2000112465 A JP2000112465 A JP 2000112465A JP 2000112465 A JP2000112465 A JP 2000112465A JP 2000322318 A JP2000322318 A JP 2000322318A
Authority
JP
Japan
Prior art keywords
cache
state
line
changed
transaction
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
JP2000112465A
Other languages
English (en)
Inventor
D Gaiser Brain
ブレイン・ディー・ガイザー
Eric M Rentschler
エリック・エム・レンツェラー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000322318A publication Critical patent/JP2000322318A/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
    • 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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies

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)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 逆無効化トランザクションの数を低減させる
ことによりシステムの性能を改善すること。 【解決手段】 メモリの1ラインが上位レベルキャッシ
ュ(304〜308)から追い出されたときを下位レベルキャッ
シュ(316)が検出する。該下位レベルキャッシュのため
のキャッシュコヒーレンシープロトコルは、該ラインを
特別な状態(408,508,608)にする。該特別な状態のライ
ンが下位レベルキャッシュから追い出される場合、該下
位レベルキャッシュは、該ラインが一層上位レベルにキ
ャッシュされていないことを知り、このため逆無効化ト
ランザクションが必要なくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にコンピュータ
システムに関し、特にキャッシュメモリシステムにおけ
るコヒーレンシー(coherency)プロトコル及び包含(incl
usion)に関する。
【0002】
【従来の技術】ほとんどのコンピュータシステムでは、
マルチレベル(即ち複数のレベル)の階層のメモリシス
テムを採用しており、最上位レベルの階層では、比較的
高速で高価で容量が制限されたメモリが使用され、最下
位レベルの階層では、比較的低速で廉価かつより大容量
のメモリが使用される。典型的には、該階層は、キャッ
シュと呼ばれる小型の高速メモリを含み、高速化のため
にプロセッサ集積回路内に物理的に一体化され、又は該
プロセッサに物理的に近接して取り付けられる。命令キ
ャッシュとデータキャッシュとを別個にしたものも存在
する。また、キャッシュをマルチレベルとしたものも存
在する。
【0003】キャッシュとその次の下位レベルのメモリ
階層との間で転送することが可能な最小記憶量は、ライ
ン、ブロック、又はページと呼ばれる。本書では「ライ
ン」という用語を用いるが、本発明は、ブロック又はペ
ージを用いたシステムにも等しく適用可能である。
【0004】ほとんどのマルチレベルキャッシュでは、
各キャッシュレベルは、階層中でより上位レベルのあら
ゆるキャッシュ内にある記憶のあらゆるラインのコピー
を有し、この特性を包含と呼ぶ。例えば、包含(inclusi
ve)2レベルキャッシュシステムでは、一次キャッシュ
内のあらゆるエントリは、二次キャッシュ内にも存在す
る。典型的には、上位レベルのキャッシュから1ライン
が追い出された(evict)場合、該ラインは下位レベルの
キャッシュ内に残留することが可能である。逆に、下位
レベルのキャッシュから1ラインが追い出される場合に
は、コヒーレンシーを保つために、該下位レベルのキャ
ッシュは、逆無効化(back-invalidate)トランザクシ
ョンと呼ばれるバストランザクションを発行して、より
上位レベルのキャッシュ階層から追い出されたラインの
あらゆるコピーをフラッシュ(flush)しなければならな
い。該逆無効化トランザクションは、頻繁に発生し、全
体的な性能に多大な影響を与えるものとなる。これは、
キャッシュ間でのバスの使用が増大し、またバス監視
(スヌープ)トラフィックが増大するからである。性能
を改善するには、逆無効化トランザクションの数を低減
させる必要がある。
【0005】多くのコンピュータシステムは、マルチレ
ベルのキャッシュを各々有する複数のプロセッサを採用
している。全てのプロセッサ及びキャッシュが共通のメ
インメモリを共有することがある。ある特定のライン
は、共有メモリと複数のプロセッサのキャッシュ階層と
に同時に存在し得る。キャッシュ中のラインのコピーは
全て同一でなければならず、この特性をコヒーレンシー
という。共有メモリ中のラインのコピーは、「古い(sta
le)」(更新されていない)可能性がある。何れかのプ
ロセッサがラインの内容を変更した場合には、変更され
たコピーのみが有効となり、それ以外のコピーは全て更
新されるか又は無効化されなければならない。複数プロ
セッサのコヒーレンスを維持するプロトコルは、キャッ
シュコヒーレンスプロトコルと呼ばれる。プロトコルに
よっては、物理メモリのラインの状態を、ディレクトリ
と呼ばれる1つのロケーションに維持するものがある。
また、物理メモリのラインのコピーを有するあらゆるキ
ャッシュが該ラインの共有状態のコピーも有するプロト
コルも存在する。集中(又は中央管理)状態が維持され
ない場合には、全てのキャッシュモニタは、共有バスを
監視又は「スヌープ」して、バス上で要求されるライン
のコピーをそれらが有しているか否かを判定する。本書
は、あらゆるマルチレベルキャッシュシステムに関する
ものであるが、特に、各プロセッサが階層キャッシュを
有するマルチプロセッサシステムであって、スヌープベ
ースのシステムで該キャッシュの全てがメインメモリを
共有する、マルチプロセッサシステムに関するものであ
る。
【0006】図1は、スヌープベースのシステムにおけ
る従来技術によるマルチプロセッサキャッシュコヒーレ
ンシープロトコルの一例を示す状態図である。同図は、
キャッシュ中の各ライン毎の考え得る4つの状態を示し
ている。キャッシュ中にラインが配置される前には、全
てのエントリは「無効」(100)と呼ばれるデフォルト
状態にある。未キャッシュの物理ラインがキャッシュ中
に配置されると、キャッシュ中のエントリの状態が無効
から「排他」(102)に変わる。「排他」という用語
は、ちょうど1つのキャッシュ階層が1ラインのコピー
を有することを意味する。第1のプロセッサの1つのキ
ャッシュ階層で1ラインが排他状態にあり、及び第2の
プロセッサがそれと同じラインを要求する場合には、該
ラインは、2つのキャッシュ階層中にコピーされること
になり、各キャッシュのエントリの状態が「共有」(10
4)に設定される。キャッシュ内のラインが変更される
場合には、共有メモリにおいても同ラインが直ちに変更
される(これはライトスルーと呼ばれる)。代替的に
は、キャッシュは、該キャッシュ中の変更されたライン
が無効化され又は置換された場合にのみ、該変更された
ラインを共有メモリに書き込むことが可能である(これ
はライトバックと呼ばれる)。図1は、キャッシュがラ
イトバックキャッシュであることを想定したものであ
り、したがって、キャッシュ中のラインが変更された場
合には、該キャッシュ中のエントリの状態は「変更」
(106)へと変更される。図1のプロトコルは、これら
4つの状態の各々の頭文字を表すMESIプロトコルと
呼ばれることもある。
【0007】
【発明が解決しようとする課題】図1のプロトコルにお
いて、変更状態(106)は、実質的に排他的な変更状態
であり、これは、本システムにおける1つのキャッシュ
階層のみが、変更されたラインのコピーを有しているこ
とを意味している。システムによっては、更なる変更状
態を追加して、変更されたデータのコピーを複数のキャ
ッシュが保持することを可能にするものもある。図2
は、「所有」(208)という更なる状態を追加した従来
技術によるプロトコルを示している。同図における状態
200,202,206は、図1で同一の名称が付された状態と同
一の機能を有している。これに対し、図2のプロトコル
では、他のキャッシュ階層は、変更されたラインのコピ
ーを共有状態(204)で保持することが可能であるが、
所有状態(208)では1つのキャッシュ階層のみが変更
されたラインを保持することができる。変更されたライ
ンを所有状態で保持するこの1つのキャッシュしか共有
メモリに対して変更されたラインをライトバックするこ
とができない。
【0008】
【課題を解決するための手段】新たな追加のキャッシュ
コヒーレンシー状態を提供する。該キャッシュコヒーレ
ンシー状態は、より上位レベルのキャッシュ階層にライ
ンがキャッシュされておらず、よってラインが追い出さ
れる際に逆無効化トランザクションが必要ないことを示
すものである。1つの新たな状態を、変更されておりキ
ャッシュされていない(modified and uncached)ことを
表すMuと呼ぶ。これは、変更されたラインがより上位
レベルのキャッシュ階層にキャッシュされていないこと
を意味する。同様に、Su(共有されておりキャッシュ
されていない(shared and uncached))、及びEu(排
他的でありキャッシュされていない(exclusive and
uncached))という各状態を提供することが可能であ
る。
【0009】Mu状態の場合、本システムは、より上位
レベルのキャッシュ階層からの追い出し(eviction)をス
ヌープする。より詳細には、より上位レベルのキャッシ
ュからのライトバックは、より下位レベルのキャッシュ
を介して書き込まれる。より上位レベルのキャッシュか
らライトバックを受容すると、より下位レベルのキャッ
シュは、関連するエントリの状態をMuに変更する。M
u状態のラインが追い出される場合には逆無効化トラン
ザクションは生成されない。Mu状態のラインが順次読
み出される場合には、状態はM(変更されている(modif
ied))へと切り換えられる。
【0010】Su状態及びEu状態は、より上位レベル
のキャッシュ階層にラインが格納されていないという暗
示をシステムが提供する場合に必ず提供することが可能
である。例えば、より上位レベルのキャッシュからクリ
ーンライン(clean line)が移動されるときをより下位レ
ベルのキャッシュ又はディレクトリに通知するトランザ
クションをシステムが提供する場合に、Su状態及びE
u状態を提供することが可能である。
【0011】
【発明の実施の形態】本発明は、任意のマルチレベルキ
ャッシュシステムに適用可能なものであるが、大規模マ
ルチプロセッサシステムで特に有利なものとなる。図3
は、本発明を適用することが可能なコンピュータシステ
ムの一例を示している。同図において、コンピュータシ
ステムは、N個のプロセッサを有しており、そのうちの
2個(300,302)のみが示されている。各プロセッサ
は、3レベルの内部キャッシュ(304,306,308/310,31
2,314)と第4の外部キャッシュ(316,318)とを有して
いる。全てのプロセッサ及びそれらに関連するキャッシ
ュ階層は、システムバス320及びシステムメモリ322を共
有する。バス324は、複数のプロセッサが外部キャッシ
ュ(キャッシュ316等)を共有することが可能であるこ
とを示している。本発明は、任意の下位レベルキャッシ
ュ(例えば、図3における2個のL3キャッシュ(316,31
8))に使用することが可能なキャッシュコヒーレンシー
プロトコルを取り扱うものである。本発明によるシステ
ムでは、下位レベルキャッシュ、例えばキャッシュ316
は、より上位レベルのキャッシュからラインが追い出さ
れるときを検出する。より上位レベルのキャッシュから
既にラインが追い出されている場合には、該ラインがよ
り下位レベルのキャッシュから追い出される際に逆無効
化トランザクションを行う必要がない。したがって、よ
り下位レベルのキャッシュコヒーレンシープロトコル
が、より上位レベルに当該ラインが格納されていないこ
とを示す追加の状態を含むことにより、該ラインが追い
出される際の逆無効化トランザクションが不要となる。
逆無効化トランザクションの低減により、性能が改善さ
れる。
【0012】コンピュータシステムによっては、下位レ
ベルキャッシュの代わりにディレクトリを使用するもの
もある。ディレクトリは、共有システムメモリ全てにつ
いてのタグの集合である。該タグには、変更、排他、共
有、及び無効等の状態を示す状態ビットが含まれる。該
タグはまた、どのキャッシュがラインのコピーを有して
いるかを示すこともできる。本発明の目的において、デ
ィレクトリはキャッシュ(極めて大規模になり得るも
の)であり、本発明はディレクトリ内の状態にも等しく
適用可能である。
【0013】図4は、本発明によるキャッシュコヒーレ
ンスプロトコルの一実施形態を示す状態図である。同図
は、図1の従来技術によるプロトコルに追加された状態
(変更済・未キャッシュ状態)Mu(408)を示してい
る。この追加の状態は、図2の従来技術によるプロトコ
ル、又は一般にM(変更済)状態を有する任意のプロト
コルに追加することが可能である。或るラインが状態M
uにあり、該ラインが追い出される場合には、逆無効化
トランザクションは生じない。例えば、図3のシステム
では、キャッシュ316中の1ラインが状態Muにあり、
該ラインがキャッシュ316から追い出される場合に、キ
ャッシュ316は、該ラインをキャッシュ304,306又は308
から追い出すためのトランザクションを発行する必要が
ない。
【0014】図4に示すプロトコルにおいて、より下位
レベルのキャッシュが、それと同一階層におけるより上
位レベルのキャッシュからのライトバックトランザクシ
ョンを検出した場合、該上位レベルのキャッシュから追
い出されたラインの状態は、下位レベルのキャッシュで
はM(406)からMu(408)へと変更される。例えば、
図3において、プロセッサ0(300)のキャッシュL2(30
8)が1ラインを追い出すものと想定する。L2は、次い
でより下位レベルのキャッシュ(L3)又は共有メモリ
(322)に対するライトバックを行う。キャッシュL3(3
16)はライトバックトランザクション及びそれに対応す
るタグ又はアドレスを検出し、L3(316)中の対応する
エントリの状態がMu(図4の符号408)へと切り換え
られる。Mu状態を有するラインが読み出される場合、
その状態はM(406)に切り換えられる。例えば、図3
において、キャッシュ316中の1ラインが状態Muにあ
り、該ラインが次いでプロセッサ0(300)により読み出
されると、キャッシュ316中の該ラインの状態がM(40
6)に切り換えられる。
【0015】図4のシステムでは、変更されたラインが
より上位レベルのキャッシュから追い出されるときを知
るために、より下位レベルのキャッシュによってライト
バックトランザクションが使用される。システムが、よ
り上位レベルのキャッシュからクリーンラインが追い出
されたことを示すトランザクションその他の暗示(例え
ば明示的なライトバック/更新トランザクション)を提
供する場合には、共有されておりキャッシュされていな
い状態、及び排他的でありキャッシュされていない状態
を表す更なる状態を追加することが可能である。図5
は、図1の従来技術によるプロトコルに追加された更な
る状態(共有されておりキャッシュされていない状態)
Su(508)を示している。図6は、図1の従来技術に
よるプロトコルに追加された更なる状態(排他的であり
キャッシュされていない状態)Eu(608)を示してい
る。図5及び図6の場合、クリーンラインが追い出され
たことを示す特定のトランザクション又は暗示を検出す
ることにより、共有状態504からSu状態508への遷移、
又は排他状態602からEu状態608への遷移が生じること
になる。
【0016】キャッシュ316(図3)中の1ラインがS
u状態(図5の符号508)又はEu状態(図6の符号60
8)にある場合には、後続の該ラインのプロセッサ300に
よる読み出しにより、該ラインがSu状態から共有状態
へ又はEu状態から排他状態へと遷移することになる。
更に、キャッシュ316中の1ラインがSu状態又はEu
状態にある場合には、プロセッサ300による該ラインへ
の書き込みにより、キャッシュ316中の該ラインがM状
態(406,606)へと遷移することになる。また、キャッ
シュ316中の1ラインがSu状態又はEu状態にあり、
及びプロセッサ302が該ラインの読み出しを発行した場
合には、該読み出しはバス320上にブロードキャストさ
れることになる。キャッシュ316により実行されるスヌ
ープ動作により、該ラインは共有状態(504,604)へと
遷移する。キャッシュ304,306,308に無効化トランザク
ションを送出する必要はない。キャッシュ316中の1ラ
インがSu状態又はEu状態にあり、及び該ラインの無
効化又は該ラインへの書き込みがバス320上でスヌープ
された場合には、該ラインは、キャッシュ316中で無効
状態(500,600)へと遷移し、キャッシュ304,306,308に
無効化トランザクションを送出する必要はない。
【0017】図4、図5、及び図6にそれぞれ示す追加
の状態Mu,Su,Euは、互いに排他的なものではな
く、これらの追加の状態の任意の組み合わせを1つのシ
ステムで適宜実施することが可能である。
【0018】上記説明は、本発明の例示及び例証を目的
として提示したものである。これをもって本発明を網羅
したものとすること、又は本開示の厳密な形態に本発明
を限定することは意図しておらず、上記教示に照らして
他の変形例及び修正例を実施することが可能である。上
記実施例は、本発明の原理及びその実際の用途を最も良
好に説明するために選択し説明したものであり、これに
より、当業者が、意図する特定の用途に適した様々な実
施形態及び変形形態で本発明を最良に利用することが可
能となるようにしたものである。特許請求の範囲は、従
来技術により制限されない限り本発明の他の代替実施形
態も含むものであると解釈されるべきことが意図された
ものである。
【0019】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。 1.データ記憶システムのコヒーレンスを維持する方法
であって、エントリが上位レベルのキャッシュ(304〜30
8)により追い出されたことを第1のキャッシュ(316)に
より検出し、該第1のキャッシュ(316)により該第1の
キャッシュ中の前記エントリの第1の状態(406,504,60
2)を第2の状態(408,508,608)へと切り換え、これによ
り前記上位レベルのキャッシュにおいて無効化する必要
なく前記エントリを前記第1のキャッシュから追い出す
ことが可能となる、という各ステップを有する方法。
2.前記第1のキャッシュがディレクトリである、前項
1に記載の方法。 3.前記検出ステップが、上位レベルのキャッシュがラ
イトバックトランザクションを実行したことを検出する
ステップを含む、前項1に記載の方法。 4.前記検出ステップが、上位レベルのキャッシュがク
リーンラインを追い出したことを検出するステップを含
む、前項1に記載の方法。 5.エントリの読み出しトランザクションを前記第1の
キャッシュにより検出し、該読み出しトランザクション
に応じて前記エントリを前記第2の状態(408)から変更
状態(406)へと切り換える、という各ステップを含む、
前項1に記載の方法。 6.エントリの読み出しトランザクションを前記第1の
キャッシュにより検出し、該読み出しトランザクション
に応じて前記エントリを前記第2の状態から前記第1の
状態へと切り換える、という各ステップを含む、前項1
に記載の方法。
【図面の簡単な説明】
【図1】従来技術によるキャッシュコヒーレンシープロ
トコルを示す状態図である。
【図2】図1のプロトコルの従来技術による変形例を示
す状態図である。
【図3】本発明と共に使用するのに適したコンピュータ
システムの一例を示すブロック図である。
【図4】本発明の一実施例としてのキャッシュコヒーレ
ンシープロトコルを示す状態図である。
【図5】本発明の代替実施例としてのキャッシュコヒー
レンシープロトコルを示す状態図である。
【図6】本発明の代替実施例としてのキャッシュコヒー
レンシープロトコルを示す状態図である。
【符号の説明】
300,302 プロセッサ 304〜314 内部キャッシュ 316,318 外部キャッシュ 320 システムバス 322 システムメモリ 400,500,600 無効 402,502,602 排他 404,504,604 共有 406,506,606 変更 408 変更未格納 508 共有未格納 608 排他未格納
───────────────────────────────────────────────────── フロントページの続き (72)発明者 エリック・エム・レンツェラー アメリカ合衆国コロラド州80525,フォー ト・コリンズ,サンディ・コブ・レーン・ 842

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ記憶システムのコヒーレンスを維持
    する方法であって、 エントリが上位レベルのキャッシュ(304〜308)により追
    い出されたことを第1のキャッシュ(316)により検出
    し、 該第1のキャッシュ(316)により該第1のキャッシュ中
    の前記エントリの第1の状態(406,504,602)を第2の状
    態(408,508,608)へと切り換え、これにより前記上位レ
    ベルのキャッシュにおいて無効化する必要なく前記エン
    トリを前記第1のキャッシュから追い出すことが可能と
    なる、という各ステップを有する方法。
JP2000112465A 1999-04-13 2000-04-13 コンピュータキャッシュ用コヒーレンシープロトコル Pending JP2000322318A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US290430 1994-08-15
US09/290,430 US6360301B1 (en) 1999-04-13 1999-04-13 Coherency protocol for computer cache

Publications (1)

Publication Number Publication Date
JP2000322318A true JP2000322318A (ja) 2000-11-24

Family

ID=23115960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000112465A Pending JP2000322318A (ja) 1999-04-13 2000-04-13 コンピュータキャッシュ用コヒーレンシープロトコル

Country Status (3)

Country Link
US (1) US6360301B1 (ja)
JP (1) JP2000322318A (ja)
DE (1) DE10006430B4 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007505407A (ja) * 2003-09-12 2007-03-08 インテル コーポレイション マルチインタフェースキャッシュにおけるジョイントコヒーレンシ状態のための方法及び装置
JP2007200292A (ja) * 2006-01-25 2007-08-09 Internatl Business Mach Corp <Ibm> エントリの時間経過によるキャッシュ・エントリの所有権喪失
JP2009295156A (ja) * 2008-05-30 2009-12-17 Intel Corp インバリデーショントランザクションのスヌープフィルタからの削除

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748490B1 (en) * 2000-03-29 2004-06-08 Ati International Srl Method and apparatus for maintaining data coherency in a shared memory system
US6574710B1 (en) * 2000-07-31 2003-06-03 Hewlett-Packard Development Company, L.P. Computer cache system with deferred invalidation
US6751705B1 (en) * 2000-08-25 2004-06-15 Silicon Graphics, Inc. Cache line converter
US6681293B1 (en) * 2000-08-25 2004-01-20 Silicon Graphics, Inc. Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US6647466B2 (en) * 2001-01-25 2003-11-11 Hewlett-Packard Development Company, L.P. Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy
US6662275B2 (en) * 2001-02-12 2003-12-09 International Business Machines Corporation Efficient instruction cache coherency maintenance mechanism for scalable multiprocessor computer system with store-through data cache
US7100001B2 (en) * 2002-01-24 2006-08-29 Intel Corporation Methods and apparatus for cache intervention
US6983348B2 (en) * 2002-01-24 2006-01-03 Intel Corporation Methods and apparatus for cache intervention
US7783842B2 (en) * 2003-01-09 2010-08-24 International Business Machines Corporation Cache coherent I/O communication
US7133975B1 (en) 2003-01-21 2006-11-07 Advanced Micro Devices, Inc. Cache memory system including a cache memory employing a tag including associated touch bits
US20040153611A1 (en) * 2003-02-04 2004-08-05 Sujat Jamil Methods and apparatus for detecting an address conflict
US7287126B2 (en) * 2003-07-30 2007-10-23 Intel Corporation Methods and apparatus for maintaining cache coherency
US7689771B2 (en) * 2006-09-19 2010-03-30 International Business Machines Corporation Coherency management of castouts
US8200903B2 (en) * 2008-02-14 2012-06-12 Hewlett-Packard Development Company, L.P. Computer cache system with stratified replacement
GB2592919B (en) * 2020-03-09 2022-04-20 Advanced Risc Mach Ltd An apparatus and method for providing coherence data for use when implementing a cache coherency protocol

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
US5671391A (en) 1994-01-10 1997-09-23 Ncr Corporation Coherent copyback protocol for multi-level cache memory systems
US5732244A (en) * 1995-07-24 1998-03-24 Unisys Corp. Multiprocessor with split transaction bus architecture for sending retry direction to other bus module upon a match of subsequent address bus cycles to content of cache tag
US5996048A (en) * 1997-06-20 1999-11-30 Sun Microsystems, Inc. Inclusion vector architecture for a level two cache

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007505407A (ja) * 2003-09-12 2007-03-08 インテル コーポレイション マルチインタフェースキャッシュにおけるジョイントコヒーレンシ状態のための方法及び装置
JP4660479B2 (ja) * 2003-09-12 2011-03-30 インテル コーポレイション マルチインタフェースキャッシュにおけるジョイントコヒーレンシ状態のための方法及び装置
JP2007200292A (ja) * 2006-01-25 2007-08-09 Internatl Business Mach Corp <Ibm> エントリの時間経過によるキャッシュ・エントリの所有権喪失
JP2009295156A (ja) * 2008-05-30 2009-12-17 Intel Corp インバリデーショントランザクションのスヌープフィルタからの削除

Also Published As

Publication number Publication date
US6360301B1 (en) 2002-03-19
DE10006430B4 (de) 2004-11-18
DE10006430A1 (de) 2000-10-26

Similar Documents

Publication Publication Date Title
US7373457B2 (en) Cache coherence protocol for a multiple bus multiprocessor system
JP4848771B2 (ja) キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US7620776B2 (en) Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of modified memory blocks
US6826651B2 (en) State-based allocation and replacement for improved hit ratio in directory caches
US7698508B2 (en) System and method for reducing unnecessary cache operations
US6959364B2 (en) Partially inclusive snoop filter
US6370622B1 (en) Method and apparatus for curious and column caching
US7669018B2 (en) Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer
US7310708B2 (en) Cache system with groups of lines and with coherency for both single lines and groups of lines
US7237068B2 (en) Computer system employing bundled prefetching and null-data packet transmission
US7395376B2 (en) Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of shared memory blocks
US6574710B1 (en) Computer cache system with deferred invalidation
JP2000322318A (ja) コンピュータキャッシュ用コヒーレンシープロトコル
GB2460337A (en) Reducing back invalidation transactions from a snoop filter
US6625694B2 (en) System and method for allocating a directory entry for use in multiprocessor-node data processing systems
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7325102B1 (en) Mechanism and method for cache snoop filtering
US8332592B2 (en) Graphics processor with snoop filter
US8473687B2 (en) Computer cache system with stratified replacement
US5802563A (en) Efficient storage of data in computer system with multiple cache levels
KR19990072596A (ko) 에이치_알상태를포함하는캐시일관성프로토콜
US7543112B1 (en) Efficient on-chip instruction and data caching for chip multiprocessors
US7234028B2 (en) Power/performance optimized cache using memory write prevention through write snarfing
JP3507314B2 (ja) メモリコントローラおよびコンピュータシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041025

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050301