JP2571670B2 - メモリ・コヒーレンシィ保持システム及びその方法 - Google Patents

メモリ・コヒーレンシィ保持システム及びその方法

Info

Publication number
JP2571670B2
JP2571670B2 JP6065927A JP6592794A JP2571670B2 JP 2571670 B2 JP2571670 B2 JP 2571670B2 JP 6065927 A JP6065927 A JP 6065927A JP 6592794 A JP6592794 A JP 6592794A JP 2571670 B2 JP2571670 B2 JP 2571670B2
Authority
JP
Japan
Prior art keywords
information
state
memory
cache
exclusive
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.)
Expired - Lifetime
Application number
JP6065927A
Other languages
English (en)
Other versions
JPH06332800A (ja
Inventor
ジェイムス・アラン・カール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06332800A publication Critical patent/JPH06332800A/ja
Application granted granted Critical
Publication of JP2571670B2 publication Critical patent/JP2571670B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、広くは情報処理システ
ムに関し、特にメモリ・コヒーレンシィを保持する方法
及びシステムに関する。
【0002】
【従来の技術】情報処理システムは、システム・メモリ
を有することができる。さらに、そのシステム内の1又
は複数の装置が、キャッシュ・メモリを有することがで
きる。キャッシュ・メモリは、システム・メモリの1部
分又は複数部分からの情報の複写を記憶する比較的小さ
い高速メモリである。しばしば、キャッシュ・メモリは
物理的にシステム・メモリから独立している。各装置が
その個々のキャッシュ・メモリの状態を管理する。
【0003】装置は、システム・メモリの一部からその
装置のキャッシュ・メモリの中へ情報を複写することが
できる。その装置は、自身のキャッシュ・メモリ内の情
報を変更することができる。さらに装置は、変更された
情報を自身のキャッシュ・メモリからシステム・メモリ
へ戻して複写することができる。
【0004】コヒーレントなメモリ・システムにおいて
は、全ての装置がシステム・メモリの最新バージョンの
情報に対応して動作する。このようなコヒーレンシィに
より、同期、共用資源の協同的利用、及び装置間のタス
ク移動が可能になる。メモリ・コヒーレンシィの保持に
ついては、各装置がシステム・バスを介して互いに状態
標示を通信し合う。このような状態標示は、システム・
バスを介するトラフィックに加算されることになる。第
1の装置がシステム・メモリについての情報を頻繁に変
更する一方、第2の装置がその情報を頻繁に入力しよう
とする場合に、この加算されたトラフィックが問題とな
る。システム・バスのトラフィックが増大するために、
システム全体の性能が低下してしまう。
【0005】
【発明が解決しようとする課題】従って、従来技術と比
較してシステム・バスのトラフィックを低減させるよう
な、メモリ・コヒーレンシィを保持するための方法及び
システムが必要となっている。さらに、システム全体の
性能を向上させるような前記の方法及びシステムもまた
必要とされている。
【0006】
【課題を解決するための手段】メモリ・コヒーレンシィ
を保持するための方法及びシステムにおいて、第1の装
置が情報を記憶する。第2の装置は第1の装置に接続さ
れている。第2の装置はその情報の少なくとも一部を入
力し且つその部分が第2の装置によってキャッシュされ
ないという標示を出力する。
【0007】
【実施例】本発明の実施例及びその有用性を、図1乃至
図3を参照することにより説明する。各図中において、
対応する部分については同じ符号を用いている。
【0008】図1は、符号10で示される情報処理シス
テムの実施例のブロック図である。システム10はハー
ドウェア装置を備えており、すなわちそれらはプロセッ
サ12、プロセッサ14、システム・メモリ16、グラ
フィックス制御装置18、及び表示装置20である。各
ハードウェア装置はそれぞれの電子回路を有している。
さらに、システム10はシステム・バス22を備えてい
る。
【0009】実施例では、プロセッサ12は集積回路で
ある。従って、プロセッサ12は、自身と一体化された
キャッシュ・メモリ24を有している。さらに、プロセ
ッサ14もまたキャッシュ・メモリ26を有している。
また、メモリ16の1部又は複数の部分が、グラフィッ
クス・メモリ域28を形成している。
【0010】システム・バス22は、アドレス・バス3
0、データ・バス32、及び制御バス34を含む。プロ
セッサ12、プロセッサ14、メモリ16及びグラフィ
ックス制御装置18は、アドレス・バス30、データ・
バス32、及び制御バス34に接続されている。さら
に、グラフィックス制御装置は情報パス36を介して表
示装置20へ接続されている。
【0011】キャッシュ・メモリ24及びキャッシュ・
メモリ26は、比較的小さい高速メモリであり、メモリ
16の1部又は複数の部分からの情報の複写を記憶す
る。例えば、プロセッサ12は、メモリ16からの情報
をキャッシュ・メモリ24に複写する(すなわち、入力
する)ことができる。さらに、プロセッサ12はキャッ
シュ・メモリ24内の情報を変更することができる。さ
らに、プロセッサ12は、キャッシュ・メモリ24か
ら、変更された情報をメモリ16に戻して複写すること
ができる。
【0012】システム10はコヒーレントなメモリ・シ
ステムであり、システム10内の全ての装置は、メモリ
16の最新バージョンの情報に対応して動作する。この
ような共有メモリ・システムにおいては、メモリ16の
一部からの情報が、1又は複数の装置によって「所有」
されている。これらの装置はその共有情報のコヒーレン
シィを保持するために協力する。ある装置が情報を変更
する場合には、その情報の排他的所有権を獲得する。
【0013】実施例の動作では、プロセッサ12は(シ
ステム・バス22を介して)、メモリ16の一部からの
情報を複写するための要求を出力する。この要求は、制
御バス34上の信号によって指定される。メモリ16の
その部分は、アドレス・バス30上のアドレスによって
指定される。キャッシュ・メモリをもつ別の装置として
プロセッサ14は、このような要求に対し、キャッシュ
・メモリ26を探査することによりその中にメモリ16
のアドレス指定された部分についての情報の複写がない
か否かを判断する。もしプロセッサ14がそのような情
報の複写をもっている場合、プロセッサ14はプロセッ
サ12へ(制御バス34上の信号により指定された)状
態を戻す。
【0014】プロセッサ14から戻されるこの情報に
は、プロセッサ12に対してメモリ16からの情報複写
を要求する出力を後に再試行するよう要求する、再試行
要求を含めることができる。この再試行要求は、プロセ
ッサ12に対して、プロセッサ14のキャッシュ・メモ
リ26がアドレス指定された部分の情報の変更された複
写をもっていることを示すものである。プロセッサ12
に対し、情報複写要求を後に再試行するよう要求するこ
とにより、プロセッサ14はその変更された情報をメモ
リ16のアドレス指定された部分に戻す機会を得る。プ
ロセッサ14は、データ・バス上で変更された情報を指
定し、アドレス・バス30上でメモリ16のその部分を
指定することにより、その情報をメモリ16に戻して複
写する。
【0015】プロセッサ14が変更された情報をメモリ
16のアドレス指定された部分に戻して複写した後、再
びプロセッサ12が、メモリ16のその部分から情報を
複写する要求を出力する。このときには、プロセッサ1
4は再試行要求を戻さない。なぜならキャッシュ・メモ
リ26内の情報が、もはやメモリ16のアドレス指定さ
れた部分に実際に記憶された情報と異なるものではない
からである。この場合、プロセッサ12は、メモリ16
のアドレス指定された部分から無事情報を読取る(すな
わち、入力する)。
【0016】この方法において、メモリ16はプロセッ
サ12とプロセッサ14により共有されている。同様
に、グラフィックス・メモリ28は、グラフィックス制
御装置18とプロセッサ12及びプロセッサ14とによ
り共有されている。グラフィックス制御装置18は、グ
ラフィックス・メモリ28から周期的に情報を読取る。
グラフィックス・メモリ28からの情報に応答して、グ
ラフィックス制御装置18は情報パス36を介して表示
装置20に信号を出力する。グラフィックス制御装置か
らのこのような信号に応答して、表示装置20はグラフ
ィックス画像を表示する。プロセッサ12及びプロセッ
サ14は、グラフィックス・メモリ28内の情報を変更
することができ、それにより表示装置20において表示
されるグラフィックス画像が変更される。
【0017】図2は、本発明の第1の実施例に沿ったメ
モリ・コヒーレンシィを保持するための技術の状態図で
ある。図2のコヒーレンシィ技術は、改良された変更−
排他−共有−無効(modified-exclusive-shared-invali
d:「MESI」)技術である。従って、図2には、無
効(invalid:「INV」)状態40、排他的非変更(e
xclusive unmodified:「EU」)状態42、排他的変
更(exclusive modified:「EM」)状態44、及び共
有状態46がある。
【0018】第1の実施例における重要な態様は、図2
のMESI技術が次のような改良点を含んでいることで
ある。すなわち、排他的変更状態44から排他的非変更
状態42への状態変移経路50「探査(snoop)ヒット
(キャッシュ禁止読取り(cache inhibited read))(戻
して複写(with copyback))」、及び、排他的非変更状
態42における自己ループである状態変移経路52「探
査ヒット(キャッシュ禁止読取り(cache inhibited rea
d))」である。
【0019】第1の実施例では、プロセッサ12とプロ
セッサ14のそれぞれが、図2の技術を用いて同じ方法
でメモリ・コヒーレンシィを保持する。特に、プロセッ
サ12とプロセッサ14の電子回路が、図2のメモリ・
コヒーレンシィ技術により自動的に動作することによっ
て、メモリ・コヒーレンシィのためのプロセッサ12と
プロセッサ14のソフトウェア・プログラミングが不要
になる。従って、メモリ・コヒーレンシィの保持はプロ
セッサ12とプロセッサ14により実行されるソフトウ
ェア・プログラムに対してトランスペアレントとなる。
【0020】例えば、プロセッサ12は、メモリ16の
一部から情報を読取るためにLOAD動作を実行するこ
とができる。その情報の複写が、排他的非変更状態42
で既にキャッシュ・メモリ24内に記憶されている場
合、プロセッサ12は自動的にキャッシュ・メモリ24
からその情報を読取る。その方が、システム・バス22
を介してメモリ16からその情報を読取るよりも速い。
キャッシュ・メモリ24からその情報を読取った後、排
他的非変更状態42における自己ループである状態変移
経路54「読取りヒット」により示されるように、その
情報は排他的非変更状態42でキャッシュ・メモリ24
内に記憶されたままになる。
【0021】同様に、その情報の複写が、排他的変更状
態44で既にキャッシュ・メモリ24内に記憶されてい
る場合、プロセッサ12は自動的にキャッシュ・メモリ
24からその情報を読取る。この状況では、排他的変更
状態44における自己ループである状態変移経路56
「読取りヒット」により示されるように、その情報は排
他的変更状態44でキャッシュ・メモリ24内に記憶さ
れたままになる。
【0022】同様に、その情報の複写が、共有状態46
で既にキャッシュ・メモリ24内に記憶されている場
合、プロセッサ12は自動的にキャッシュ・メモリ24
からその情報を読取る。この状況では、共有状態46に
おける自己ループである状態変移経路58「読取りヒッ
ト」により示されるように、その情報は共有状態46で
キャッシュ・メモリ24内に記憶されたままになる。
【0023】比較の結果、その情報の複写が、キャッシ
ュ・メモリ24内に記憶されていないかまたは無効状態
40でキャッシュ・メモリ24内に記憶されている場
合、プロセッサ12は、メモリ16のアドレス指定され
た部分から情報を複写する要求を(システム・バス22
を介して)自動的に出力する。このような要求に対し、
キャッシュ・メモリをもつ別の装置としてプロセッサ1
4は、キャッシュ・メモリ26を探査してメモリ16の
アドレス指定された部分の情報の複写を有しているか否
かを判断することにより対応する。
【0024】プロセッサ14が、排他的変更状態44で
その情報の複写を有している(すなわち、その情報が排
他的にキャッシュ・メモリ26にキャッシュされており
且つメモリ16のアドレス指定された部分に実際に記憶
された情報に対して変更されている)場合、プロセッサ
14は、図1に関して述べたとおり再試行要求を返す。
プロセッサ14が変更された情報をメモリ16のアドレ
ス指定された部分に戻して複写した後、排他的変更状態
44から共有状態46への状態変移経路60「読取りヒ
ットによる探査プッシュ」により示されるように、その
情報は共有状態46でキャッシュ・メモリ26に記憶さ
れた状態になる。
【0025】他の場合、すなわちプロセッサ14が、排
他的非変更状態42でその情報の複写を有している(そ
の情報が排他的にキャッシュ・メモリ26にキャッシュ
されており且つメモリ16のアドレス指定された部分に
実際に記憶された情報に対して変更されてない)場合、
プロセッサ14は再試行要求を返さない。そのかわり、
プロセッサ14は共有状態に戻る。さらに、排他的非変
更状態42から共有状態46への状態変移経路62「読
取りによる探査ヒット」により示されるように、その情
報は共有状態46でキャッシュ・メモリ26に記憶され
た状態になる。
【0026】同様に、プロセッサ14が、共有状態46
においてその情報の複写を有している(その情報がキャ
ッシュ・メモリ26以外の別のキャッシュ・メモリ内に
もキャッシュ・メモリされており且つメモリ16のアド
レス指定された部分に実際に記憶された情報に対して変
更されていない)場合、プロセッサ14は共有状態に戻
り、共有状態46における自己ループである状態変移経
路64「読取りによる探査ヒット」により示されるよう
に、その情報は共有状態46でキャッシュ・メモリ26
に記憶されたままになる。
【0027】プロセッサ14から返される共有状態に応
答して、プロセッサ12はメモリ16から情報を読取
り、無効状態40から共有状態46への状態変移経路6
6「読取り失敗によるキャッシュ・セクタ充填」に示さ
れるようにその情報を共有状態46にあるキャッシュ・
メモリ24に記憶する。比較の結果、いずれの装置も共
有状態に戻らない場合、プロセッサ12はメモリ16か
ら情報を読取り、無効状態40から排他的非変更状態4
2への状態変移経路68「読取り失敗によるキャッシュ
・セクタ充填」により示されるように、排他的非変更状
態42においてキャッシュ・メモリ24に情報を記憶す
る。
【0028】図1に関連して以上に説明したように、い
ずれかの装置が再試行要求を返した場合、その再試行要
求を返した装置が、その再試行の結果生じた状態を最終
的に処理する。その後、プロセッサ12が、メモリ16
のアドレス指定された部分から情報を複写するための要
求を出力する。
【0029】プロセッサ12はまた、メモリ16の一部
についての情報を変更するためのSTORE動作を実行
できる。このような情報の複写が、排他的非変更状態4
2でキャッシュ・メモリ24に既に記憶されている場
合、プロセッサ12は自動的にキャッシュ・メモリ24
内のその情報を変更する。その方が、システム・バス2
2を介してメモリ16内の情報を変更するよりも速い。
キャッシュ・メモリ24内の情報を変更した後、排他的
非変更状態42から排他的変更状態44への状態変移経
路70「書込みヒット」で示されるように、その情報は
排他的変更状態44でキャッシュ・メモリ24に記憶さ
れた状態になる。
【0030】情報の複写が、排他的変更状態44でキャ
ッシュ・メモリ24に既に記憶されている場合、プロセ
ッサ12は、キャッシュ・メモリ24内のその情報を自
動的に変更する。この状況では、その情報は、排他的変
更状態44における状態変移経路72の自己ループ「書
込みヒット」で示されるように、排他的変更状態44で
キャッシュ・メモリ24内に記憶されたままである。
【0031】情報の複写が、共有状態46でキャッシュ
・メモリ24に既に記憶されている場合、プロセッサ1
2は、システム10の他の装置への消去要求を(システ
ム・バス22を介して)自動的に出力する。その後、プ
ロセッサ12は、キャッシュ・メモリ24内の情報を変
更する。従って、その情報は、共有状態46から排他的
変更状態44への状態変移経路74「書込みヒットによ
る消去」により示されるように、排他的変更状態44で
キャッシュ・メモリ24に記憶された状態になる。
【0032】比較の結果、情報の複写がキャッシュ・メ
モリ24に記憶されていないか又はキャッシュ・メモリ
24に無効状態で記憶されている場合、プロセッサ12
は、メモリ16の一部にある情報を読取って変更するた
めの要求を(システム・バス22を介して)自動的に出
力する。キャッシュ・メモリを有する別の装置としてプ
ロセッサ14は、キャッシュ・メモリ26がメモリ16
のアドレス指定された部分についての情報の複写を有し
ているか否かを判断するためにキャッシュ・メモリ26
を探査することによって、読取りと変更の要求に(及び
いずれの消去要求にも)対応する。
【0033】プロセッサ14が、そのような情報を排他
的変更状態44で有している場合、プロセッサ14は、
図1に関連して先に述べた再試行要求を返す。プロセッ
サ14は、変更された情報をメモリ16のアドレス指定
された部分に戻して複写した後、排他的変更状態44か
ら無効状態40への状態変移経路76「書込み上の探査
ヒット」により示されるように、キャッシュ・メモリ2
6内の情報を無効にする。
【0034】別の場合、すなわち、プロセッサ14がそ
のような情報を排他的非変更状態42で有している場
合、プロセッサは再試行要求を返さない。そのかわり
に、プロセッサ14は、排他的非変更状態42から無効
状態40への状態変移経路78「書込み上の探査ヒッ
ト」により示されるように、キャッシュ・メモリ26内
の情報を無効にする。
【0035】同様に、プロセッサ14がそのような情報
を共有状態46で有している場合、プロセッサ14は、
共有状態46から無効状態40への状態変移経路80
「書込み上の探査ヒット」により示されるように、キャ
ッシュ・メモリ26内の情報を無効にする。
【0036】プロセッサ12は、メモリ16から変更す
るために情報を読取った後、無効状態40から排他的変
更状態44への状態変移経路82「変更を目的とする読
取り」に示されるように、その情報を変更してキャッシ
ュ・メモリ24に排他的変更状態44で記憶する。
【0037】図1に関連して先に述べたように、グラフ
ィックス・メモリ18は、グラフィックス制御装置18
並びにプロセッサ12及びプロセッサ14に共有されて
いる。グラフィックス制御装置は、周期的にグラフィッ
クス・メモリ28から情報を読取る。従って、グラフィ
ックス・メモリ28の情報は、グラフィックス制御装置
18がその情報を読取る前にプロセッサ12によって変
更されてしまうことがある。
【0038】第1の実施例における改良点が無い場合を
仮定すると、グラフィックス制御装置18はLOAD動
作を実行することによってグラフィックス・メモリ28
から情報を要求することになるであろう。もし、プロセ
ッサ12がそのような情報の複写を排他的変更状態44
で有していた場合、プロセッサ12は再試行要求を返す
であろう。プロセッサ12が、その変更された情報をグ
ラフィックス・メモリ28のアドレス指定された部分に
戻して複写した後、その情報は、状態変移経路60によ
り示されるように、共有状態46でキャッシュ・メモリ
24に記憶された状態になる。引続いて、グラフィック
ス制御装置18がLOAD動作を再実行し、無事にグラ
フィックス・メモリ28から情報を読取ることになるで
あろう。
【0039】もし、プロセッサ12がそのような情報の
複写を排他的非変更状態42で有していた場合、プロセ
ッサ12は再試行要求を返さないだろう。そのかわり、
プロセッサ12は共有状態に戻る。さらに、その情報
は、排他的非変更状態42から共有状態46への状態変
移経路62「読取り上の探査ヒット」により示されるよ
うに、共有状態46でキャッシュ・メモリ24内に記憶
された状態になるであろう。
【0040】その後に、プロセッサ12は、グラフィッ
クス・メモリ28についての情報を再び変更するために
STORE動作を実行できるであろう。その情報の複写
は、既に共有状態46でキャッシュ・メモリ24内に記
憶されているので、プロセッサ12は、システム10の
他の装置に対して消去要求を(システム・バス22を介
して)自動的に出力するだろう。その後、プロセッサ1
2はキャッシュ・メモリ24内の情報を変更し、そして
その情報は、状態変移経路74で示されるように、排他
的変更状態44でキャッシュ・メモリ24に記憶された
状態になるだろう。
【0041】重要な点は、グラフィックス制御装置18
が情報を変更しないことである。そのかわりに、グラフ
ィックス制御装置18はグラフィックス・メモリ28か
らの情報に応答して表示装置20に信号を出力する。表
示装置20により表示されるグラフィックス画像を変更
するために、グラフィックス・メモリ28内の情報がプ
ロセッサ12及びプロセッサ14により変更される。
【0042】従って、第1の実施例における改良点を有
する場合、グラフィックス制御装置18は、情報を「キ
ャッシュしようとせずに」LOAD動作を実行すること
によって、グラフィックス・メモリ28から少なくとも
一部の情報を要求する。制御バス34上の信号を介して
グラフィックス制御装置18は、要求された情 報部分
をキャッシュするつもりがないことを(システム10の
他の装置に対して)示す。プロセッサ12が、その情報
の複写を排他的変更状態44で有している場合、プロセ
ッサ12は再試行要求を返す。第1の実施例における重
要な態様は、プロセッサ12が変更された情報をグラフ
ィックス・メモリ28のアドレス指定された部分に戻し
て複写した後に、その情報が、共有状態46ではなく排
他的非変更状態42でキャッシュ・メモリ24に記憶さ
れた状態になることである。このことは、状態変移経路
50の「探査ヒット(キャッシュ禁止読取り)(戻して
複写)」により示される。
【0043】その後、プロセッサ12が、グラフィック
ス・メモリ28の情報を再び変更するためにSTORE
動作を実行する場合、情報の複写は既に、排他的非変更
状態42でキャッシュ・メモリ24に記憶されている。
この状況では、プロセッサ12は、システム10の他の
装置に対して消去要求を出力しない。このように、第1
の実施例における改良により、システム・バス22のト
ラフィックが低減されるという利点がある。プロセッサ
12は、そのかわりにキャッシュ・メモリ24内の情報
を変更し、そして状態変移経路70により示されるよう
に、その情報はキャッシュ・メモリに排他的変更状態4
4で記憶される。
【0044】第1の実施例の別の重要性は、グラフィッ
クス制御装置18がグラフィックス・メモリ28から情
報を読取るために「キャッシュしようとせずに」LOA
D動作を実行し、且つプロセッサ12がその情報の複写
を排他的非変更状態42で有している場合、その情報は
共有状態46ではなく排他的非変更状態42でキャッシ
ュ・メモリ内に記憶されたままになることである。この
ことは、自己ループである「探査ヒット(キャッシュ禁
止読取り)」状態変移経路52により示される。
【0045】従って、後にプロセッサ12が、その情報
を再び変更するためにSTORE動作を実行する場合、
プロセッサ12はシステム10内の他の装置に対して消
去要求を出力しない。第1の実施例における改良点によ
り、消去要求を出力しないことによるシステム・バス2
2のトラフィック低減という利点がある。
【0046】まとめると、グラフィックス制御装置18
が「キャッシュしようとせずに」LOAD動作を実行す
ることに応答して、その情報は、共有状態46ではなく
排他的非変更状態42でキャッシュ・メモリ24に記憶
されたままになる。従って、グラフィックス制御装置1
8は、その情報の排他的オーナシップをプロセッサ12
から奪うことなくその情報を入力する。後にプロセッサ
12が、再びその情報を変更するためにSTORE動作
を実行する場合、その情報の状態は排他的非変更状態4
2から排他的変更状態44に変わる。その情報は共有状
態46では記憶されないので、プロセッサ12はシステ
ム10の他の装置に対して消去要求を出力しない。従っ
て、第1の実施例における改良点により、システム・バ
ス22のトラフィックが低減されるという利点がある。
【0047】グラフィックス制御装置18が頻繁にグラ
フィックス・メモリ28から情報を読取ろうとする一
方、プロセッサ12が頻繁にグラフィックス・メモリ2
8の情報を変更する場合、トラフィックの節減は重要で
ある。このような状況では、プロセッサ12は情報の
「生産者」であり、グラフィックス制御装置18はその
情報の「消費者」である。
【0048】図3は、本発明の第2の実施例に沿ったメ
モリ・コヒーレンシィを保持するための技術の状態図で
ある。図3のコヒーレンシィ技術は、改良された3状態
技術である。図3の状態図の3状態は、図2のMESI
状態のサブセットである。従って、図3には、無効状態
40、排他的非変更状態42、及び排他的変更状態44
がある。
【0049】図3に示すように、図2の共有状態46は
含まれていない。その結果、図3は、排他的変更状態4
4から共有状態46へではなく無効状態40へ向う状態
変移経路60を示す。さらに、図3は、排他的非変更状
態42から共有状態46へではなく無効状態40へ向う
状態変移経路62を示す。図2の状態変移経路58、6
4、66、74及び80は、図3には含まれない。第2
の実施例では共有状態46が無いため、システム10の
論理はより簡単になり、またシステム10をより容易に
試験できる。
【0050】図3のコヒーレンシィ技術を利用する場
合、システム10の多数の装置は、メモリ16の特定部
分の情報のオーナシップを共有しない。図3のコヒーレ
ンシィ技術においてシステム10の装置は、各LOAD
動作が「変更しようとする読取り」として処理されるこ
とを除いては、図2のコヒーレンシィ技術と同じ方法で
動作する。結果的にプロセッサ12は、LOAD動作又
はSTORE動作のいずれかを実行する場合、メモリ1
6のアドレス指定された部分の情報の排他的オーナシッ
プを獲得する。
【0051】第2の実施例における改良点が無い場合を
仮定すると、グラフィックス制御装置18はLOAD動
作を実行することによりグラフィックス・メモリ28か
ら情報を要求するであろう。図1及び図3を参照する
と、プロセッサ12が排他的変更状態44でその情報の
複写を有している場合、プロセッサ12は再試行要求を
返すであろう。プロセッサ12が変更された情報をグラ
フィックス・メモリ28のアドレス指定された部分に戻
して複写した後に、プロセッサ12は、情報変移経路6
0により示されるようにキャッシュ・メモリ24内のそ
の情報を無効にするだろう。引続いて、グラフィックス
制御装置18はLOAD動作を再実行して、無事にグラ
フィックス・メモリ28から情報を読取るであろう。
【0052】もし、プロセッサ12がその情報の複写を
排他的非変更状態42で有していた場合、プロセッサ1
2は再試行要求を返さないであろう。さらに、プロセッ
サ12は共有状態に戻らない。そのかわり、図3の状態
変移経路62により示されるように、プロセッサ12は
キャッシュ・メモリ24内の情報を無効にするだろう。
【0053】その後、プロセッサ12はグラフィックス
・メモリ28の情報を再び変更するためにSTORE動
作を実行できる。情報の複写は、まだキャッシュ・メモ
リ24内に記憶されていないか又は無効状態40でキャ
ッシュ・メモリ24内に記憶されているので、プロセッ
サ12は、グラフィックス・メモリ28内の情報を読取
り且つ変更するための要求を(システム・バス22を介
して)自動的に出力するだろう。変更するためにグラフ
ィックス・メモリ28から情報を読取った後、プロセッ
サ12はその情報を変更して、図3の状態変移経路82
により示されるように、排他的変更状態44でキャッシ
ュ・メモリ24内にその情報を記憶するであろう。
【0054】第2の実施例における改良点を有する場合
と比較すると、グラフィックス制御装置18は、情報の
一部を「キャッシュしようとせずに」LOAD動作を実
行することにより、グラフィックス・メモリ28からの
情報の少なくとも一部を要求する。制御バス34上の信
号を介してグラフィックス制御装置18は、情報要求さ
れた部分をキャッシュ・メモリにキャッシュするつもり
がないことを(システム10の他の装置に対して)示
す。プロセッサ12が、排他的変更状態44でその情報
の複写を有している場合、プロセッサ12は再試行要求
を返す。第2の実施例の重要な点は、プロセッサ12が
変更された情報をグラフィックス・メモリ28のアドレ
ス指定された部分に戻して複写した後に、その情報が、
無効状態40ではなく排他的非変更状態42でキャッシ
ュ・メモリ24に記憶された状態になることである。こ
のことは、図3の状態変移経路50によって示される。
【0055】その後プロセッサ12が、再びグラフィッ
クス・メモリ28の情報を変更するためにSTORE動
作を実行する場合、その情報の複写は既に排他的非変更
状態42でキャッシュ・メモリ28に記憶されている。
この状況では、プロセッサ12はグラフィックス・メモ
リ28内の情報を読取って変更する要求を出力しない。
従って、第2の実施例における改良点は、システム・バ
ス22のトラフィック低減させるという利点を有する。
そのかわりにプロセッサ12は、キャッシュ・メモリ2
4内の情報を変更するので、図3の状態変移経路70で
示されるようにその情報は排他的変更状態44でキャッ
シュ・メモリ24に記憶された状態になる。
【0056】第2の実施例の別の重要性は、グラフィッ
クス制御装置18が、「キャッシュしようとせずに」グ
ラフィックス・メモリ28から情報を読取るためにLO
AD動作を実行する場合、及びプロセッサ12がその情
報を排他的非変更状態で有している場合42、その情報
は無効状態40ではなく排他的非変更状態42でキャッ
シュ・メモリ4に記憶された状態になる。これは、図3
の自己ループの状態変移経路52で示される。
【0057】従って、その後プロセッサ12が、再びそ
の情報を変更するためにSTORE動作を実行する場
合、プロセッサ12はグラフィックス・メモリ28内の
情報を読取って変更するための要求を出力しない。さら
にプロセッサ12は、グラフィックス・メモリ28から
情報を再ロードしない。情報を再ロードせず且つ読取り
変更の要求をシステム10の他の装置に出力しないこと
ことから、第2の実施例における改良点は、システム・
バス22のトラフィックを低減させるという利点を有す
る。
【0058】まとめると、「キャッシュしようとせず
に」LOAD動作を実行するグラフィックス制御装置1
8に応答して、その情報は、無効状態40ではなく排他
的非変更状態42でキャッシュ・メモリ24に記憶され
た状態になる。従って、グラフィックス制御装置18
は、プロセッサ12からその情報の排他的オーナシップ
を奪うことなくその情報を入力する。その後プロセッサ
12が、その情報を再び変更するためにSTORE動作
を実行する場合、その情報の状態は排他的非変更状態4
2から排他的変更状態44へ変わる。その情報は、既に
キャッシュ・メモリ24内に記憶されているので、プロ
セッサ12はシステム10の他の装置に対して読取り及
び変更の要求を出力しない。さらに、プロセッサ12
は、その情報をグラフィックス・メモリ28から再ロー
ドしない。
【0059】この方法により、第2の実施例における改
良点は、システム・バス22のトラフィックを低減させ
るという利点を有する。グラフィックス制御装置18が
頻繁にグラフィックス・メモリ28から情報を読取ろう
とする一方、プロセッサ12が頻繁にグラフィックス・
メモリ28の情報を変更する場合、トラフィックの節減
は重要である。システム・バス22のトラフィックを低
減することによって、システム10の全体的性能が向上
する。
【0060】「キャッシュしようとしない」LOAD
(又は読取り)動作を可能にすることにより、システム
10は、(グラフィックス制御装置18等の)非キャッ
シュの消費者装置がその情報の排他的オーナシップ又は
共有オーナシップを獲得しないままでその情報を入力す
ることを可能にする。このような「キャッシュしようと
しない」読取り動作のことを、「キャッシュ禁止読取
り」動作と呼ぶこともある。このような読取り動作は、
バーストであってもよいし、単一ビートであってもよ
い。
【0061】キャッシュ禁止読取り(すなわち、キャッ
シュしようとしない読取り)動作は、情報をキャッシュ
したり変更したりしようとせずに入力するどのような消
費者装置であっても利用するのに適している。ある消費
者装置が「キャッシュしようとせずに」情報を要求する
場合、(プロセッサ12のような)生産者装置はその情
報の排他的オーナシップを保持し、その情報を記憶し続
ける。そして、生産者装置が再びその情報を変更するた
めのバス・トラフィックを追加する必要が全く無い。
【0062】以上述べたように本発明には以下のような
態様がある。
【0063】(1)情報を記憶する第一の装置と、前記
第1の装置に接続され、前記情報の少なくとも一部分を
複写し且つ該部分をキャッシュしない標示を出力する第
2の装置とを有するシステム。
【0064】(2)前記第1の装置に接続され、前記部
分をキャッシュする第3の装置を有する(1)記載のシ
ステム。
【0065】(3)前記第3の装置が、前記部分を排他
的状態でキャッシュする(2)記載のシステム。
【0066】(4)前記排他的状態が、排他的変更状態
である(3)記載のシステム。
【0067】(5)前記排他的状態が、排他的非変更状
態である(3)記載のシステム。
【0068】(6)前記第3の装置が前記第2の装置が
前記標示を出力し且つ前記部分を複写することに応答し
て、該部分を前記排他的状態でキャッシュし続ける
(3)記載のシステム。
【0069】(7)前記第1の装置が、メモリ装置であ
る(1)記載のシステム。
【0070】(8)前記装置間で情報の転送を行うシス
テム・バスを有する(1)記載のシステム。
【0071】(9)前記第2の装置が、前記システム・
バスを介して前記部分を複写し且つ該システム・バスを
介して前記標示を出力する(8)記載のシステム
【0072】(10)装置間で情報を転送するシステム
・バスと、前記システム・バスに接続され、前記情報を
記憶するメモリと、前記システム・バスに接続され、該
システム・バスを介して前記情報の少なくとも一部分を
複写し且つ該部分をキャッシュしない標示を出力するグ
ラフィックス制御装置と、前記システム・バスに接続さ
れ、前記部分を排他的状態でキャッシュするキャッシュ
・メモリを含み、前記グラフィックス制御装置が前記標
示を出力し且つ該部分を複写することに応答して、該排
他的状態で該部分をキャッシュし続けるプロセッサとを
有する、メモリ・コヒーレンシィを保持するシステム。
【0073】(11)前記排他的状態が、排他的変更状
態である(10)記載のシステム。
【0074】(12)前記排他的状態が、排他的非変更
状態である(10)記載のシステム。
【0075】(13)前記キャッシュ・メモリが、前記
プロセッサと一体化されている(10)記載のシステ
ム。
【0076】(14)第1の装置において情報を記憶す
るステップと、第2の装置が前記情報の少なくとも一部
分をキャッシュしない標示を出力するステップと、前記
第2の装置が前記部分を複写するステップと、を有する
メモリ・コヒーレンシィを保持する方法。
【0077】(15)第3の装置において前記部分をキ
ャッシュするステップをさらに有する(14)記載のメ
モリ・コヒーレンシィを保持する方法。
【0078】(16)前記キャッシュするステップが、
排他的状態で前記部分をキャッシュするステップを有す
る(15)記載のメモリ・コヒーレンシィを保持する方
法。
【0079】(17)前記キャッシュするステップが、
排他的変更状態で前記部分をキャッシュするステップを
有する(16)記載のメモリ・コヒーレンシィを保持す
る方法。
【0080】(18)前記キャッシュするステップが、
排他的非変更状態で前記部分をキャッシュするステップ
を有する(16)記載のメモリ・コヒーレンシィを保持
する方法。
【0081】(19)前記キャッシュするステップが、
前記第2の装置が前記標示を出力し且つ前記部分を複写
することに応答して、前記排他的状態で該部分をキャッ
シュし続けるステップを有する(16)記載のメモリ・
コヒーレンシィを保持する方法。
【0082】(20)前記装置間でシステム・バスを介
して情報を転送するステップをさらに有する(14)記
載のメモリ・コヒーレンシィを保持する方法。
【0083】(21)前記転送するステップが、前記第
2の装置による入力のために前記システム・バスを介し
て前記部分を転送するステップと、前記システム・バス
を介して前記標示を転送するステップとを有する、(2
0)記載のメモリ・コヒーレンシィを保持する方法。
【0084】
【発明の効果】本発明の技術的有用性は、システム・バ
スのトラフィックが従来技術と比較して低減されること
である。本発明の別の技術的有用性は、システム全体の
性能が向上することである。
【図面の簡単な説明】
【図1】情報処理システムの実施例のブロック図であ
る。
【図2】本発明の第1の実施例による、メモリ・コヒー
レンシィを保持するための技術の状態図である。
【図3】本発明の第2の実施例による、メモリ・コヒー
レンシィを保持するために技術の状態図である。
【符号の説明】
10 システム 12、14 プロセッサ 16 メモリ 18 グラフィックス制御装置 22 システム・バス 24、26 キャッシュ・メモリ 28 グラフィックス・メモリ 30 アドレス・バス 32 データ・バス 34 制御バス 40 無効状態 42 排他的非変更状態 44 排他的変更状態 46 共有状態

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】情報を転送するバスと、 前記バスに接続され、前記 情報を記憶するメモリと、 前記バスに接続され、前記情報の少なくとも一部分を
    記メモリから前記バスを介して読み出し且つ該部分を
    キャッシュに記憶しないことを示す標示を出力する
    と、 前記バスに接続され、前記情報の少なくとも一部分を
    自身が唯一の所有者である状態を示す排他的状態でキャ
    ッシュに記憶する第の装置とを有し、 前記置が前記標示を出力することに応答して、前記第
    2の装置が当該部分を前記排他的状態でキャッシュに記
    し続けるシステム。
  2. 【請求項2】前記排他的状態が、自身が唯一の所有者で
    あって且つ当該情報に変更がなされている状態を示す
    他的変更状態である請求項記載のシステム。
  3. 【請求項3】前記排他的状態が、自身が唯一の所有者で
    あって且つ当該情報に変更がなされていない状態を示す
    排他的非変更状態である請求項記載のシステム。
  4. 【請求項4】装置間で情報を転送するシステム・バス
    と、 前記システム・バスに接続され、前記情報を記憶するメ
    モリ装置と、 前記システム・バスに接続され、該システム・バスを
    介して前記情報の少なくとも一部分を前記メモリ装置か
    ら読み出し且つ該部分をキャッシュに記憶しない旨の
    標示を出力するグラフィックス制御装置と、 前記システム・バスに接続され、前記情報の少なくとも
    部分を自身が唯一の所有者である状態を示す排他的状
    態でキャッシュに記憶するキャッシュ・メモリを含み、
    前記グラフィックス制御装置が前記標示を出力し且つ
    該部分を読み出すことに応答して、該排他的状態で
    部分をキャッシュに記憶し続けるプロセッサとを有す
    る、 メモリ・コヒーレンシィを保持するシステム。
  5. 【請求項5】前記排他的状態が、自身が唯一の所有者で
    あって当該データが変更なされている状態を示す排他的
    変更状態である請求項記載のシステム。
  6. 【請求項6】前記排他的状態が、自身が唯一の所有者で
    あって当該データが変更されていない状態を示す排他的
    非変更状態である請求項記載のシステム。
  7. 【請求項7】前記キャッシュ・メモリが、前記プロセッ
    サと一体化されている請求項記載のシステム。
  8. 【請求項8】メモリ報を記憶するステップと、第1の装置において前記情報の少なくとも一部分を唯一
    の所有者である状態を示す排他的状態でキャッシュに記
    憶するステップと、 第2の装置が前記情報の少なくとも一部分をキャッシュ
    に記憶しないことを示す標示を出力するステップと、 前記第2の装置が前記情報の少なくとも一部分を読み出
    ステップと、前記第2の装置が前記情報の少なくとも一部分をキャッ
    シュに記憶しない旨の標示を出力する ことに応答して、
    第1の装置が前記排他的状態で該部分をキャッシュ
    記憶し続けるステップとを含むメモリ・コヒーレンシィ
    を保持する方法。
  9. 【請求項9】情報を転送するバスと、 前記バスに接続され、前記 情報を記憶するメモリと、 前記バスに接続され、前記情報の少なくとも一部分を
    記メモリから前記バスを介して読み出し且つ該部分を
    キャッシュに記憶するか否かを示す標示を出力する
    と、 前記バスに接続され、前記情報の少なくとも一部分を
    自身が唯一の所有者である状態を示す排他的状態でキャ
    ッシュに記憶する第の装置とを有し、 前記置が前記記憶しないことを示す標示を出力する
    とに応答して、前記第 2の装置が当該部分を前記排他的
    状態でキャッシュに記憶し続けるシステム。
  10. 【請求項10】装置間で情報を転送するシステム・バス
    と、 前記システム・バスに接続され、前記情報を記憶するメ
    モリ装置と、 前記システム・バスに接続され、該システム・バスを
    介して前記情報の少なくとも一部分を前記メモリ装置か
    ら読み出し且つ該部分をキャッシュに記憶しない旨の
    標示を出力するグラフィックス制御装置と、 前記システム・バスに接続され、前記情報の少なくとも
    部分を自身が唯一の所有者である状態を示す排他的状
    態でキャッシュに記憶するキャッシュ・メモリを含み、
    前記グラフィックス制御装置が前記標示を出力すること
    に応答して、該排他的状態で前記部分をキャッシュ
    記憶し続けるプロセッサとを有する、 メモリ・コヒーレンシィを保持するシステム。
JP6065927A 1993-05-14 1994-04-04 メモリ・コヒーレンシィ保持システム及びその方法 Expired - Lifetime JP2571670B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US061785 1987-06-15
US6178593A 1993-05-14 1993-05-14

Publications (2)

Publication Number Publication Date
JPH06332800A JPH06332800A (ja) 1994-12-02
JP2571670B2 true JP2571670B2 (ja) 1997-01-16

Family

ID=22038120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6065927A Expired - Lifetime JP2571670B2 (ja) 1993-05-14 1994-04-04 メモリ・コヒーレンシィ保持システム及びその方法

Country Status (4)

Country Link
US (1) US5748938A (ja)
EP (1) EP0624845A1 (ja)
JP (1) JP2571670B2 (ja)
TW (1) TW234174B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09245179A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp コンピュータグラフィックス装置
US5752265A (en) * 1996-06-13 1998-05-12 Compaq Computer Corporation Memory accessing in a multi-processor system using snooping
US5867180A (en) * 1997-03-13 1999-02-02 International Business Machines Corporation Intelligent media memory statically mapped in unified memory architecture
US6128703A (en) * 1997-09-05 2000-10-03 Integrated Device Technology, Inc. Method and apparatus for memory prefetch operation of volatile non-coherent data
US6199144B1 (en) * 1997-12-31 2001-03-06 Intel Corporation Method and apparatus for transferring data in a computer system
US7484045B2 (en) * 2004-03-30 2009-01-27 Intel Corporation Store performance in strongly-ordered microprocessor architecture
US7624236B2 (en) * 2004-12-27 2009-11-24 Intel Corporation Predictive early write-back of owned cache blocks in a shared memory computer system
US20060184735A1 (en) * 2005-02-15 2006-08-17 Maxwell Technologies, Inc. Methodology for effectively utilizing processor cache in an electronic system
US8296525B1 (en) 2008-08-15 2012-10-23 Marvell International Ltd. Method and apparatus for data-less bus query
US9430391B2 (en) 2012-03-29 2016-08-30 Advanced Micro Devices, Inc. Managing coherent memory between an accelerated processing device and a central processing unit
FR3022653B1 (fr) * 2014-06-20 2017-10-13 Bull Sas Reduction des evictions dans les repertoires de gestion de memoire cache
US20170293556A1 (en) * 2016-04-07 2017-10-12 Imagination Technologies Limited Read discards in a processor system with write-back caches

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
US5287537A (en) * 1985-11-15 1994-02-15 Data General Corporation Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command
US4958351A (en) * 1986-02-03 1990-09-18 Unisys Corp. High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass
US5091850A (en) * 1987-09-28 1992-02-25 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic
US4977498A (en) * 1988-04-01 1990-12-11 Digital Equipment Corporation Data processing system having a data memory interlock coherency scheme
US5043886A (en) * 1988-09-16 1991-08-27 Digital Equipment Corporation Load/store with write-intent for write-back caches
JPH03189845A (ja) * 1989-12-13 1991-08-19 Internatl Business Mach Corp <Ibm> 階層メモリ・システムおよびキヤツシユ・メモリ・サブシステム
EP0435475B1 (en) * 1989-12-22 1996-02-07 Digital Equipment Corporation High-performance frame buffer and cache memory system
JPH0625984B2 (ja) * 1990-02-20 1994-04-06 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン マルチプロセツサ・システム
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
US5191649A (en) * 1990-12-21 1993-03-02 Intel Corporation Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
US5528764A (en) * 1992-12-24 1996-06-18 Ncr Corporation Bus system with cache snooping signals having a turnaround time between agents driving the bus for keeping the bus from floating for an extended period

Also Published As

Publication number Publication date
JPH06332800A (ja) 1994-12-02
EP0624845A1 (en) 1994-11-17
US5748938A (en) 1998-05-05
TW234174B (en) 1994-11-11

Similar Documents

Publication Publication Date Title
US6199144B1 (en) Method and apparatus for transferring data in a computer system
US6438660B1 (en) Method and apparatus for collapsing writebacks to a memory for resource efficiency
US5909699A (en) Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency
JP2717752B2 (ja) プロセッサ
US6070231A (en) Method and apparatus for processing memory requests that require coherency transactions
KR960009659B1 (ko) 멀티프로세서 시스템의 스누프회로
US8037253B2 (en) Method and apparatus for global ordering to insure latency independent coherence
US7003635B2 (en) Generalized active inheritance consistency mechanism having linked writes
US7284097B2 (en) Modified-invalid cache state to reduce cache-to-cache data transfer operations for speculatively-issued full cache line writes
EP0743601A2 (en) A system and method for improving cache performance in a multiprocessing system
US20060236039A1 (en) Method and apparatus for synchronizing shared data between components in a group
US6260117B1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
JPH10301849A (ja) キャッシュ・コヒーレンシを維持する方法及び装置
KR100515059B1 (ko) 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
JPH10504124A (ja) 2方向セットアソシエーテイブ・キャッシュ・メモリ
JP2571670B2 (ja) メモリ・コヒーレンシィ保持システム及びその方法
JPH09223118A (ja) スヌープキャッシュメモリ制御システム
US5918069A (en) System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US6601145B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
US6134635A (en) Method and apparatus of resolving a deadlock by collapsing writebacks to a memory
JPH10501914A (ja) 共用キャッシュ・メモリ装置
JP3202943B2 (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法