JP3254433B2 - 再試行されるスヌープ・ヒットに対してコヒーレンシ状態を最終的な状態に向かって進める方法 - Google Patents

再試行されるスヌープ・ヒットに対してコヒーレンシ状態を最終的な状態に向かって進める方法

Info

Publication number
JP3254433B2
JP3254433B2 JP03150399A JP3150399A JP3254433B2 JP 3254433 B2 JP3254433 B2 JP 3254433B2 JP 03150399 A JP03150399 A JP 03150399A JP 3150399 A JP3150399 A JP 3150399A JP 3254433 B2 JP3254433 B2 JP 3254433B2
Authority
JP
Japan
Prior art keywords
state
intervention
coherency state
data
data item
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 - Fee Related
Application number
JP03150399A
Other languages
English (en)
Other versions
JPH11328023A (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 JPH11328023A publication Critical patent/JPH11328023A/ja
Application granted granted Critical
Publication of JP3254433B2 publication Critical patent/JP3254433B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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)
    • 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)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、全般的にはマルチ
プロセッサ・システムでのスヌープ動作に関し、具体的
には、マルチプロセッサ・システムで、ある装置によっ
て開始され、別の装置によって再試行されるスヌープ動
作に関する。さらに具体的に言うと、本発明は、他のト
ラフィックの進行を可能にし、ライブロックの可能性を
緩和するために、再試行されるスヌープ動作での最終的
な状態に向かって前進(FORWARD)を行うことに関す
る。
【0002】
【従来の技術】現在のデータ処理システムでは、性能向
上のためにマルチプロセッサ、複数レベル・キャッシュ
階層またはその両方が使用される。従来の対称型マルチ
プロセッサ(SMP)システムでは、複数の処理要素が
使用され、処理要素には、処理要素を追加のキャッシュ
・メモリおよびシステム・メモリにも結合する共通のシ
ステム・バスを介して接続されたプロセッサと1つまた
は複数のレベルのキャッシュ・メモリを含めることがで
きる。このようなSMPシステムでは、各処理要素が、
システム・バス・マスタとして動作し、記憶階層に影響
するバス動作を開始することができる。記憶階層内の追
加キャッシュ用のキャッシュ・コントローラも、システ
ム・バス・マスタとして動作することができ、システム
・バスに接続された他の装置によって開始されたバス動
作をスヌープすることができる。装置も、コヒーレント
なメモリ階層を維持するために、スヌープされるバス動
作に介入することができる。
【0003】記憶階層のコヒーレンシは、MESIプロ
トコルなどの、選択されたメモリ・コヒーレンシ・プロ
トコルの使用を介して維持される。MESIプロトコル
では、コヒーレンシ状態の表示が、少なくともすべての
上位レベル・キャッシュ・メモリの各コヒーレンシ粒度
(たとえばキャッシュ・ラインまたはキャッシュ・セク
タ)に関連して記憶される。コヒーレンシ状態は、キャ
ッシュ・ディレクトリ内のビットによって示されるが、
これによって、システム・メモリに格納された同一のデ
ータに関するキャッシュ・エントリの状態すなわち、基
本MESIコヒーレンシ・プロトコルでは変更済み
(M)、排他(E)、共用(S)または無効(I)が表
される。変更済み状態は、システム・メモリ・データの
変更なしに、システム・メモリ内の対応するデータに関
してキャッシュ・データが変更されており、データの唯
一の有効なコピーが、変更済みキャッシュ・ラインまた
は変更済みキャッシュ・セクタを記憶するキャッシュ・
エントリ内にあることを示す。排他状態は、キャッシュ
・エントリが、システム・メモリと一致しているが、記
憶階層のそのレベルのすべてのキャッシュのうちで対象
のキャッシュ内だけで見つかることを示す。共用状態
は、キャッシュ・エントリが対象のキャッシュ内および
記憶階層の同一レベルの少なくとも1つの他のキャッシ
ュで見つかる可能性があり、データのコピーのすべて
が、システム・メモリ内の対応するデータと一致してい
ることを表す。最後に、無効状態は、所与のキャッシュ
内のキャッシュ・エントリ(データとアドレス・タグの
両方)が、システム・メモリおよび記憶階層内の他のキ
ャッシュとコヒーレントでないことを表す。
【0004】基本MESIプロトコルの修正によって、
システム・メモリの対応するデータと比較したキャッシ
ュ・データの状態に関する他の情報を含む追加の状態を
(おそらくはキャッシュ・ディレクトリ内の追加ビット
のオーバーヘッドと引き換えに)追加することができ
る。たとえば、R−MESIプロトコルでは、最近
(R)状態が追加されるが、これは、基本的には共用状
態の変形であり、キャッシュ・エントリが対象のキャッ
シュと記憶階層内の同一レベルの少なくとも1つの他の
キャッシュの両方で見つかる可能性があり、対象のキャ
ッシュおよび他のキャッシュのデータのすべてのコピー
が、システム・メモリの対応するデータと一致すること
を示すが、さらに、その共用データを含むすべてのキャ
ッシュのうちで、対象のキャッシュが、システム・メモ
リからの読み取りなどのシステム・バス・トランザクシ
ョンでそのデータを最も最近に受け取ったことを示す。
基本MESIコヒーレンシ・プロトコルに追加できるも
う1つの追加のコヒーレンシ状態が、ホバリング(H)
状態であり、これは、キャッシュ・エントリのタグ・フ
ィールドに格納されたアドレス・タグが有効であるが、
それに関連するデータ項目(たとえばキャッシュ・ライ
ンまたはキャッシュ・セクタ)が無効であることを示
す。
【0005】プロセッサやキャッシュ・コントローラな
どの装置は、記憶階層内のデータ保全性を維持するため
に、スヌープされるバス動作に介入することができる。
たとえば、ある装置が、変更済み状態で第2の装置に常
駐する特定のデータに対する読み取り(read)要求また
は変更目的の読み取り(rwitm)要求を開始する場合
に、第2の装置は、変更済みデータを要求元装置に供給
する目的のためにバス動作に介入する(「変更済み介入
(modified intervention)」)。同様に、readバス動
作またはrwitmバス動作によって要求されたデータが、
最近状態で装置に存在する場合、その装置は、要求され
たデータに介入する(「共用介入(sharedinterventio
n)」)。どちらの場合でも、スヌープを行っている、
介入する装置は、read要求またはrwitm要求に応答しな
ければならない(「スヌープ・ヒット」と称する)と決
定する。しかし、どちらの場合でも、やはりシステム・
バス・トランザクションをスヌープしている第3の装置
が、最初のバス動作を再試行し、効果的に要求とそれに
応答する介入の両方を無効にする可能性がある。
【0006】現在の設計では、介入は、read要求または
rwitm要求が再試行された時にコヒーレンシ状態の変化
なしで停止し、要求の再試行が終了した時に、介入した
装置がデータを供給する。したがって、処理資源は、再
試行されるスヌープ・ヒットによって効果的に消費さ
れ、元の要求の最終的な目的であったデータ転送の達成
に向かう進行が行われない結果になる。さらに、場合に
よっては、read要求またはrwitm要求が繰り返し開始さ
れ、繰り返し再試行され、要求の再試行を引き起こした
状況が変化しないというパターンが展開される可能性が
ある。このような事象を「ライブロック」と称するが、
この事象は、有用な作業が達成されない状態で複数の装
置が互いに干渉する状態をもたらす。無限ループと同様
に、ライブロックは、一般に、外部調停によって解消し
なければならない。
【0007】したがって、再試行されるスヌープ・ヒッ
トに対して、再試行されるバス動作の最終的な解決に向
かう進行を行うための機構を提供することが望ましい。
さらに、ライブロックの防止を援助し、他のスヌープ動
作のためにスヌープ待ち行列を解放する機構が望まし
い。
【0008】
【発明が解決しようとする課題】本発明の目的は、マル
チプロセッサ・システムでスヌープ動作を処理するため
の改良された方法および装置を提供することである。
【0009】本発明のもう1つの目的は、マルチプロセ
ッサ・システムで、あるデバイスによって開始され、別
のデバイスによって再試行されるスヌープ動作を処理す
るための改良された方法および装置を提供することであ
る。
【0010】本発明のもう1つの目的は、他のトラフィ
ックを進行させ、ライブロックの可能性を軽減するため
に、再試行されるスヌープ動作に対する最終的な状態へ
向かう前進を行うための方法および装置を提供すること
である。
【0011】
【課題を解決するための手段】前述の目的は、これから
説明する形で達成される。マルチプロセッサ・システム
のシステム・バスをスヌープする装置が、その装置から
供給されることを必要とする、あるコヒーレンシ状態で
局所メモリ内にあるデータを要求する動作を検出した時
に、その装置は介入を試みる。その介入が、再試行をア
サートする第2の装置によって妨げられる場合には、そ
の装置は、介入の失敗に関する活動記録情報を供給する
フラグをセットする。同一のキャッシュ位置に対する
の後のスヌープ・ヒットの際に、その装置がもう一度介
入をアサートし、スヌープされた動作がもう一度再試行
される場合には、その装置は、そのキャッシュ項目を要
求する元の動作の結果であると期待される最終的なコヒ
ーレンシ状態に向かって、要求されたキャッシュ項目の
コヒーレンシ状態を変更する処置を行う。要求されたキ
ャッシュ項目に、装置の局所メモリにある変更済みデー
タが含まれる場合には、この処置に、要求されたキャッ
シュ項目をシステム・メモリに書き込むプッシュ動作を
含めることができる。この動作は、他の装置の局所メモ
リを更新するために、他の装置によってシステム・バス
からスヌープされることである。要求されたキャッシュ
項目に、変更済み状態以外のコヒーレンシ状態のデータ
が含まれる場合には、この処置はコヒーレンシ状態を共
用状態または無効状態に変更するだけであって良い。元
の動作が読取動作の場合、コヒーレンシ状態の遷移は、
共用状態で終わるシーケンスに沿って進行する。元の動
作に、変更目的の読取など、要求されたキャッシュ項目
に対する変更目的の表示が含まれる場合、コヒーレンシ
状態は、無効状態で終わるシーケンスに沿って遷移す
る。1回だけの介入の失敗を反映するフラグではなく、
カウンタを使用して、介入の失敗回数の閾値を超えたか
どうか(ライブロックが発生した可能性を示す)を判定
することができる。
【0012】
【発明の実施の形態】ここで図面、具体的には図1を参
照すると、本発明の好ましい実施例によるマルチプロセ
ッサ・データ処理システムが示されている。データ処理
システム100は、米国ニューヨーク州アーモンクのIn
ternational Business Machines社から入手可能なPo
werPC(商標)系列のプロセッサの1つを含むこと
が好ましい複数のプロセッサ102、104および10
5を含む対称型マルチプロセッサ(SMP)システムで
ある。この例では3つのプロセッサだけが図示されてい
るが、当業者であれば、本発明によるマルチプロセッサ
・データ処理システムで追加のプロセッサを使用できる
ことを諒解するであろう。
【0013】各プロセッサ102、104および105
には、それぞれ、レベル1(L1)データ・キャッシュ
106、108および109と、L1命令キャッシュ1
10、112および113が含まれる。この例では別々
の命令キャッシュおよびデータ・キャッシュとして図示
されているが、当業者であれば、単一の一体化されたL
1キャッシュを実施できることを諒解するであろう。デ
ータ・アクセス待ち時間を最小にするために、レベル2
(L2)キャッシュ114、116および118などの
1つまたは複数の追加レベルのキャッシュ・メモリを、
データ処理システム100内で実施することができる。
下位のキャッシュ・レベル(L2キャッシュ114、1
16および118とその下位)は、L1キャッシュへの
データをステージングするのに使用され、通常は、記憶
容量が徐々に大きくなるが、アクセス待ち時間は長くな
る。たとえば、L1データ・キャッシュ106、108
および109とL1命令キャッシュ110、112およ
び113は、それぞれ32KBの記憶容量と約1ないし
2プロセッサ・サイクルのアクセス待ち時間を有する可
能性がある。L2キャッシュ114、116および11
8は、512KBの記憶容量と5プロセッサ・サイクル
のアクセス待ち時間を有する可能性があり、レベル3
(L3)キャッシュが存在する場合には、L3キャッシ
ュは4MBの記憶容量と15を超えるプロセッサ・サイ
クルのアクセス待ち時間を有する可能性がある。したが
って、L2キャッシュ114、116および118は、
プロセッサ102、104および105とシステム・メ
モリ120の間の中間記憶として働き、システム・メモ
リ120は、通常ははるかに大きい記憶容量を有する
が、50を超えるプロセッサ・サイクルのアクセス待ち
時間を有する可能性がある。
【0014】データ処理システム100に使用されるキ
ャッシュ階層のレベル数と、キャッシュ階層構成の両方
が、変更可能である。図示の例のL2キャッシュ11
4、116および118は、それぞれのプロセッサ10
2、104および105とシステム・メモリ120の間
にシステム・バス122を介して接続される専用キャッ
シュである。L3キャッシュが存在する場合、L3キャ
ッシュは、論理的にL2キャッシュ114、116およ
び118と垂直のルックアサイド・キャッシュとするこ
とができる。その結果、データまたは命令は、L2キャ
ッシュ114、116および118とそれに対応するL
3キャッシュ(図示せず)で同時に参照される可能性が
あるが、データまたは命令がL3キャッシュから取り出
されるのは、それに対応するL2キャッシュ114、1
16および118がミスし、L3キャッシュがヒットし
た場合だけである。当業者であれば、図示のレベルおよ
び構成のさまざまな組み合わせを実施できることを諒解
するであろう。
【0015】L2キャッシュ114、116および11
8は、システム・バス122を介してシステム・メモリ
120に接続される。システム・バス122には、表示
装置への接続を提供するグラフィックス・アダプタなど
(図示せず)のメモリ・マップ式装置124と、入出力
バス・ブリッジ126も接続される。入出力バス・ブリ
ッジ126は、システム・バス122を入出力バス12
8に結合し、入出力バス128は、入出力装置130お
よび不揮発性メモリ132への接続を提供することがで
きる。したがって、システム・バス122、入出力バス
・ブリッジ126および入出力バス128は、接続され
た装置を結合する相互接続を形成するが、その代替実施
態様は当技術分野で既知である。入出力装置130に
は、キーボード、マウスやトラックボールなどのグラフ
ィカル・ポインティング装置、表示装置およびプリンタ
を含む、従来のアダプタを介して入出力バス128にイ
ンターフェースされる従来の周辺装置が含まれる。不揮
発性メモリ132には、ハード・ディスク・ドライブを
含めることができ、データ処理システム100の電源投
入に応答して揮発性のシステム・メモリ120にロード
される、データ処理システム100の動作を制御するオ
ペレーティング・システムおよび他のソフトウェアが格
納される。当業者であれば、データ処理システム100
に、シリアル・ポート、パラレル・ポート、ネットワー
クまたは接続された装置への接続、システム・メモリ1
20へのアクセスを調整するメモリ・コントローラな
ど、図1に示されていない追加構成要素を含めることが
できることを諒解するであろう。このような変更および
変形は、本発明の趣旨および範囲に含まれる。
【0016】システム・バス122上での通常の通信ト
ランザクションには、トランザクションのソースを示す
ソース・タグ、トランザクションが向けられる宛先を指
定するオプションの宛先タグ、アドレスまたはデータが
含まれる。システム・バス122に接続された装置のそ
れぞれは、システム・バス122上の通信トランザクシ
ョンのすべてをスヌープし、必要な時に他の宛先へ向け
られた通信トランザクションに介入し、実行可能かつ適
当な時に装置内で複製されたシステム・メモリ・データ
への変更を再作成することが好ましい。
【0017】図2ないし図5を参照すると、本発明の好
ましい実施例による、再試行されるスヌープ・ヒットに
対する前進を行うための機構の論理ブロック図が示され
ている。本発明を、図1に示されたL2キャッシュ11
4、116および118とシステム・バス122に関し
て説明するが、当業者であれば、本発明を他のキャッシ
ュ・レベルおよび装置の構成のために実施できることを
諒解するであろう。この実施例で図示されているキャッ
シュ階層は、少なくとも上で述べたR−MESIキャッ
シュ・コヒーレンシ・プロトコルを使用すると仮定す
る。本発明では、L2キャッシュ118などの第1の装
置が、システム・バス122上でread動作またはrwitm
動作202を開始する。要求されたキャッシュ項目20
8は、L2キャッシュ114などの第2の装置内に、変
更済み状態または最近状態のいずれかで存在する。read
動作またはrwitm動作202を検出した際に、L2キャ
ッシュ114は、そのデータを要求元装置に供給するた
めに、介入応答204をアサートする。しかし、介入応
答204は、システム・バス122上で再試行206を
アサートする、L2キャッシュ116などの第2の装置
によって阻まれる。介入応答204を試みる装置、図示
の例ではL2キャッシュ114は、要求されたキャッシ
ュ項目208に関連するフラグ210をセットする。
【0018】キャッシュ項目208を要求する、元のre
ad動作またはrwitm動作202がもう一度システム・バ
ス122上で開始され、やはり、L2キャッシュ114
から介入応答204によって応答され、やはり、L2キ
ャッシュ116などの第3の装置によって再試行される
ならば、L2キャッシュ114は、それ自体のメモリの
要求されたキャッシュ項目208に関連するコヒーレン
シ状態を変更する処置を開始する。たとえば、read動作
またはrwitm動作202によって要求されるキャッシュ
項目208が変更済みの場合、L2キャッシュ114
は、プッシュ動作を開始して、(変更済みの)要求され
たキャッシュ項目208をシステム・メモリに書き込
む。他の装置は、要求されたキャッシュ項目208のコ
ピーを用いてそれ自体のメモリを更新するために、この
プッシュ動作をシステム・バスからスヌープすることが
できる。その一方で、元のread動作またはrwitm動作
02が、キャッシュ項目208を要求してシステム・バ
ス122上でもう一度開始され、L2キャッシュ114
からの介入応答204は、第3の装置からの再試行応答
206によって妨げられないならば、介入は通常の形で
進行する。
【0019】ホバリング状態を含むコヒーレンシ・プロ
トコルをサポートするシステムでは、プッシュ動作によ
って、ホバリング状態の要求されたキャッシュ項目を有
するシステム内の他の装置が、その局所(キャッシュ)
メモリ内の要求されたキャッシュ項目のアドレス・タグ
に関連するデータを更新でき、要求されたキャッシュ項
目のコヒーレンシ状態が局所メモリ内で共用状態に遷移
することは特筆に値する。
【0020】プッシュ動作の後に、要求されたキャッシ
ュ項目208は、元のread動作またはrwitm動作202
に応じて、L2キャッシュ114内で共用コヒーレンシ
状態または無効コヒーレンシ状態に遷移する。たとえ
ば、図3に示されているように、read動作またはrwitm
動作202が単なるread動作であった場合には、キャッ
シュ項目208は、変更済み状態208aから共用状態
208bに遷移し、read動作またはrwitm動作202がr
witm動作であった場合には、キャッシュ項目208は、
変更済み状態208aから無効状態208cに遷移す
る。しかし、どちらの場合でも、L2キャッシュ114
は、最終的な状態に向かって進行し、他の装置によって
開始される可能性がある他のバス・トラフィックを邪魔
しなくなる。read動作またはrwitm動作202がもう一
度再試行応答206を引き起こし、その後、3度目のre
ad動作またはrwitm動作202が開始される場合、L2
キャッシュ114は、再開始された動作に対して変更済
み介入である介入応答204をアサートする必要はな
い。
【0021】同様に、最近コヒーレンシ状態のキャッシ
ュ項目がread動作またはrwitm動作202によって要求
された場合には、図4からわかるように、L2キャッシ
ュ114は、要求されたキャッシュ項目208のコヒー
レンシ状態を、動作がreadの場合には最新コヒーレンシ
状態208dから共用状態208eへ、動作がwritmの
場合には無効状態208fへ変更することができる。現
在説明している実施例では、前に失敗した介入の対象で
ある要求されたキャッシュ項目208のコヒーレンシ状
態は、read動作またはrwitm動作202が第2の実行の
試みの間に再試行されるか否かに無関係に変更される。
read動作またはrwitm動作202が再試行され、その
後、3回目の試みのために再開始される場合には、L2
キャッシュ114は、要求されたキャッシュ項目208
に関して共用介入をアサートする必要はない。要求され
たキャッシュ項目208のコヒーレンシ状態は、元のre
ad動作またはrwitm動作202の完了後の予想される最
終状態と一致するように変更されている。したがって、
介入への妨害を含んでいた可能性がある他のシステム・
バス動作は、完了まで実行できるようになる。介入と他
の動作が互いに完了までの実行を妨害し、システムが、
これらの動作が繰り返し開始され再試行されるライブロ
ックという本質的に中断状態になる可能性は、回避され
る。
【0022】一般的に言って、本発明の再試行されるス
ヌープ・ヒットに対する前進を行うための機構では、前
失敗した介入の対象であったシステム・バス上の動作
の検出に応答して、要求されたキャッシュ項目のコヒー
レンシ状態を元の動作の完了時に期待されるコヒーレン
シ状態に進める処置を行うことが含まれる。この、装置
によって要求されたキャッシュ項目のコヒーレンシ状態
の変更は、2回目の介入の試みの代わりに実行すること
ができ、動作が複数回再試行され、再開始される場合
に、後続の介入の必要をなくすことが目的である。たと
えば、L2キャッシュ118が、システム・バス122
上でread動作またはrwitm動作を開始すると仮定する。
L2キャッシュ114などの第2の装置が、システム・
バス122上で変更済み介入または共用介入のいずれか
である介入応答204で応答し、L2キャッシュ116
などの第3の装置が再試行応答206をアサートする。
介入応答204が再試行応答206によって停止される
際に、L2キャッシュ114は、要求されたキャッシュ
項目が失敗した介入の対象であったことを示すフラグを
セットする。そのスヌープ論理を介して同一の動作をも
う一度検出し、その動作がもう一度再試行されるのを検
出した際に、L2キャッシュ114は、上で述べた、変
更済みコヒーレンシ状態のキャッシュ項目208に対す
るプッシュ動作か、キャッシュ項目208のコヒーレン
シ状態の共用コヒーレンシ状態または無効コヒーレンシ
状態への変更か、その両方の、前進を達成することを意
図された処置を開始する。キャッシュ項目(すなわち、
キャッシュ動作の粒度に応じてキャッシュ・ライン、キ
ャッシュ・セクタまたはキャッシュ・ブロック)ごとに
1つのフラグを使用して、再試行される介入の対象であ
ったキャッシュ項目とそうでないキャッシュ項目を区別
することができる。別のフラグを使用して、再試行され
る介入の対象であった変更済み状態208aのキャッシ
ュ項目を、最新コヒーレンシ状態208dの同様のキャ
ッシュ項目と区別することができる。その代わりに、同
一のフラグを使用して、どちらかの初期コヒーレンシ状
態から前進を行うことができる。この要求されたキャッ
シュ項目208に関連するフラグは、単純にソフトウェ
アでセットするか、この目的のために専用ハードウェア
を実施することができる。もちろん、この原理は、動作
と介入が再試行される回数のカウントに簡単に拡張で
き、ある閾値に達したならば、上で述べたように前進を
行うことができる。この目的のためにハードウェア・カ
ウンタまたはソフトウェア・カウンタを実施でき、閾値
は、動作と介入の開始と再試行の反復によってライブロ
ックが作成された可能性の判定を反映するように選択さ
れる。
【0023】サポートされるコヒーレンシ・プロトコル
設計上の選択に応じて、本発明は、繰り返して再試行
される動作および介入の最終的な解決に向かう前進を行
う際に、異なるコヒーレンシ状態のすべてまたは大部分
を通じて遷移するように実施することができる。装置
は、共用コヒーレンシ状態または無効コヒーレンシ状態
でない要求されたキャッシュ項目に関する介入が再試行
されるたびに、前進を行うように構成することができ
る。すなわち、要求されたキャッシュ項目が共用または
無効(介入が不要)である場合以外は、介入が再試行さ
れるたびに、装置は、最終的な予想されるコヒーレンシ
状態に向かって、要求されたキャッシュ項目のコヒーレ
ンシ状態を移動させる作業の実行を試みる。たとえば、
R−MESIコヒーレンシ・プロトコルがサポートされ
ると仮定すると、要求されたキャッシュ項目は、当初は
変更済み状態208gであり、装置は、read要求に応答
して変更済み介入をアサートする。変更済み介入が、再
試行をアサートする別の装置によって阻まれる場合、要
求されたキャッシュ項目をシステム・メモリに書き込む
ためにプッシュ動作を開始することができる。前に述べ
たホバリング状態が実施されないと仮定すると、装置
は、プッシュ動作が他の装置によってシステム・バスか
らスヌープされると仮定する必要はなく、単に、要求さ
れたキャッシュ項目のコヒーレンシ状態を排他状態20
8hに変更することができる。同一のread動作の後続の
開始時には、装置は、共用介入を駆動する。共用介入が
再試行信号によって阻まれる場合、装置は、要求された
キャッシュ項目のコヒーレンシ状態を最近状態208i
に変更することができる。コヒーレンシ状態の変更は、
単に、最終的なコヒーレンシ状態への前進を行うために
装置が行う作用を反映するに過ぎないので、動作を開始
する必要はない。同様に、read動作のその後の開始時に
は、装置は、もう一度共用介入を駆動する。この共用介
入が再試行される場合、装置は、要求されたキャッシュ
項目のコヒーレンシ状態を、read動作が成功裡に完了し
た場合の要求されたキャッシュ項目の期待されるコヒー
レンシ状態である共用状態208jに変更することがで
きる。やはり、装置は単に開始されつつある動作の最終
的な結果に向かう前進を行おうとしているので、動作を
開始する必要はない。
【0024】開始され、介入の開始を引き起こす動作
が、readではなくrwitmの場合、図示のコヒーレンシ状
態の連鎖は、共用状態208jではなく無効状態208
kに向かって進行する。図5に示されたコヒーレンシ状
態遷移のすべてまたは一部を、設計選択に応じて、本発
明に従う前進の実行に使用することができる。さらに、
各コヒーレンシ状態遷移は、単一の介入の阻止ではな
く、閾値の回数の介入の結果として着手することができ
る。
【0025】ここで図6を参照すると、本発明の好まし
い実施例による再試行される介入に応答する処理の高水
準流れ図が示されている。この処理は、ステップ302
で開始され、スヌープ・ヒットの結果として、要求され
たデータを局所メモリまたはキャッシュ・メモリから供
給しなければならない動作が検出される(すなわち、要
求されたデータは、変更済み、最近またはこれらと同等
のコヒーレンシ状態で局所メモリまたはキャッシュ・メ
モリ内にある)。この処理は、次にステップ304に進
み、スヌープ動作への介入を試み、ステップ306で、
試みた介入が再試行によって阻まれたかどうかを判定す
る。そうでない場合には、処理はステップ314に進
み、要求されたデータ項目のコヒーレンシ状態を更新
し、ステップ316で、次のスヌープ・ヒットが発生し
て通常の形で介入を進行できるようになるまで、この処
理は遊休状態になる。しかし、試みられた介入が再試行
によって阻まれた場合、この処理はステップ308に進
み、前の介入が再試行されたかどうかを判定する。
【0026】前の介入が再試行されたかどうかの判定
は、前に述べたように、要求されたキャッシュ項目に関
連するフラグをセットすることによって表される活動記
録情報に基づいて行うことができる。前の介入が再試行
された場合、処理はステップ310に進み、要求された
データ項目が変更済みコヒーレンシ状態であるかどうか
を判定する。そうである場合には、処理はステップ31
2に進み、データ保全性を維持するためにメモリへのプ
ッシュを開始し、ステップ314で、要求されたキャッ
シュ項目のコヒーレンシ状態を更新する。しかし、この
プッシュ動作は、動作を開始せずにコヒーレンシ状態を
変更する処置と同一の目的すなわち、コヒーレンシ状態
を最終的な期待されるコヒーレンシ状態に移動し、他の
動作を進行できるようにすることのために実行される。
したがって、ステップ310に戻って、要求されたデー
タ項目が変更済み状態でなかった場合には、処理は直接
ステップ314に進み、要求されたキャッシュ項目のコ
ヒーレンシ状態を更新する。
【0027】ステップ308に戻って、要求されたキャ
ッシュ項目に関する前の介入が開始されていない場合、
処理はステップ318に進み、要求されたキャッシュ項
目に関する介入が再試行されたことを示す、その項目に
関連するフラグをセットする。ステップ314またはス
テップ318から、処理はステップ316に進み、次の
スヌープ・ヒットまで遊休状態になる。
【0028】ステップ308およびステップ318に示
された処理部分の代替案を、ステップ308aおよびス
テップ318aに示す。ステップ308では、単一の介
入の試みが再試行されるかどうかを判定するのではな
く、要求されたキャッシュ項目に関する介入の試みが閾
値回数xだけ再試行されたかどうかを判定することがで
きる。したがって、この処理には、ステップ308aに
示されたx回を超える介入が再試行されたかどうかの判
定すなわち、再試行される介入を数えるように構成され
たカウンタを調べることによって行える判定を含めるこ
とができる。閾値を超える回数の介入が再試行された場
合、この処理には、ステップ308aとステップ310
の間のステップ320として示された、コヒーレンシ状
態が変更された後のカウンタのリセットが含まれる。し
かし、まだ閾値を超えていない場合には、ステップ31
8aでカウンタを1つ増分する。
【0029】本発明は、マルチプロセッサ・システムが
ライブロックを回避するのを助け、他の作業のためにシ
ステム内の装置のスヌープ待ち行列を解放し、システム
内のバスに接続されているもののすべてが非常に忙しく
なった時のシステム・スループットを改善する。前のス
ヌープ・ヒットが再試行されたキャッシュ位置に対する
スヌープ・ヒットは、データ・コヒーレンシ状態の最終
的な解決に向かって前進する。必要であれば、他の装置
がスヌープのためにアクセスできるシステム・バスにデ
ータをプッシュすることができ、ホバリング・コヒーレ
ンシ状態がサポートされる場合には、ホバリング状態の
キャッシュ項目をよりすばやく共用状態に移せるように
なる。
【0030】完全に機能するデータ処理システムに関し
て本発明を説明してきたが、当業者であれば、本発明の
機構を、さまざまな形態での命令のコンピュータ可読媒
体の形で配布でき、本発明が、配布の実際の実行に使用
される信号担持媒体の具体的な種類に無関係に同等に適
用されることを諒解するであろう。コンピュータ可読媒
体の例には、読取専用メモリ(ROM)や消去可能電気
的プログラミング可能読取専用メモリ(EEPROM)
などの不揮発性ハード・コード型媒体、フロッピ・ディ
スク、ハード・ディスク・ドライブ、CD−ROMなど
の記録可能型媒体、デジタル通信リンク、アナログ通信
リンクなどの伝送型媒体が含まれる。
【0031】
【0032】
【図面の簡単な説明】
【図1】本発明の好ましい実施例によるマルチプロセッ
サ・データ処理システムを示す図である。
【図2】本発明の好ましい実施例による、再試行される
スヌープ・ヒットに対する前進を行うための機構の論理
ブロック図である。
【図3】本発明の好ましい実施例による、コヒーレンシ
状態遷移の例を示す図である。
【図4】本発明の好ましい実施例による、もう1つのコ
ヒーレンシ状態遷移の例を示す図である。
【図5】本発明の好ましい実施例による、もう1つのコ
ヒーレンシ状態遷移の例を示す図である。
【図6】本発明の好ましい実施例による、再試行される
介入に応答する処理の高水準流れ図である。
【符号の説明】
100 データ処理システム 102 プロセッサ 104 プロセッサ 105 プロセッサ 106 レベル1(L1)データ・キャッシュ 108 レベル1(L1)データ・キャッシュ 109 レベル1(L1)データ・キャッシュ 110 L1命令キャッシュ 112 L1命令キャッシュ 113 L1命令キャッシュ 114 レベル2(L2)キャッシュ 116 レベル2(L2)キャッシュ 118 レベル2(L2)キャッシュ 120 システム・メモリ 122 システム・バス 124 メモリ・マップ式装置 126 入出力バス・ブリッジ 128 入出力バス 130 入出力装置 132 不揮発性メモリ 202 read動作またはrwitm動作 204 介入応答 206 再試行応答 208 キャッシュ項目 210 フラグ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 12/08 575 G06F 12/08 575 (72)発明者 ジョン・スチーブン・ドッドソン アメリカ合衆国78660 テキサス州プフ リューガーヴィル ベル・ロック・サー クル 1205 (72)発明者 ジェリー・ドン・ルイス アメリカ合衆国78681 テキサス州ラウ ンド・ロック アロウヘッド・サークル 3409 (56)参考文献 特開 平4−140860(JP,A) 特開 平5−53912(JP,A) 特開 平5−210638(JP,A) 特開 平4−98339(JP,A) 特開 平4−95152(JP,A) 特開 平8−95858(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 15/16 - 15/177

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】システム記憶階層内のリモート装置によっ
    て開始される動作をスヌープするステップと、 局所データ記憶装置に含まれるデータ項目に関連するア
    ドレス・タグを含むデータ要求動作の検出に応答して、
    上記データ項目のコヒーレンシ状態を検査するステップ
    と、 上記データ項目を上記記憶階層の他の部分ではなく上記
    局所データ記憶装置から取り出さなければならないこと
    が上記コヒーレンシ状態から示されることの判定に応答
    して、上記データ項目を取り出してデータ要求元に転送
    するための介入を上記局所データ記憶装置からアサート
    するステップと、上記介入をアサートした局所データ記憶装置および上記
    データ要求動作を要求した局所データ記憶装置以外の局
    所データ記憶装置から、 上記データ要求に対する再試行
    をアサートし、上記介入を終了(介入の失敗)させるス
    テップと、 上記データ要求の再試行に応答して上記介入が再びアサ
    ートされ、その後上記データ要求の再試行が再びアサー
    トされるとき、上記局所記憶装置内の上記データ項目の
    コヒーレンシ状態を最終的な状態に向かって変更するス
    テップとを含む、再試行されるスヌープ・ヒットに対し
    てデータ項目のコヒーレンシ状態を最終的な状態に向か
    って進める方法。
  2. 【請求項2】介入をアサートする上記ステップが、さら
    に、 上記データ項目がシステム・メモリ内の対応するデータ
    項目に関して変更済みであることが上記コヒーレンシ状
    態から示されることの判定に応答して、変更済み介入を
    アサートするステップを含む、請求項1の方法。
  3. 【請求項3】上記局所記憶装置内の上記データ項目の上
    記コヒーレンシ状態を変更する上記ステップが、さら
    に、 上記システム・メモリに上記変更済みデータ項目を書き
    込む動作を開始するステップを含む、請求項2の方法。
  4. 【請求項4】上記局所記憶装置内の上記データ項目の上
    記コヒーレンシ状態を変更する上記ステップが、さら
    に、 上記コヒーレンシ状態を共用状態に変更するステップを
    含む、請求項3の方法。
  5. 【請求項5】上記局所記憶装置内の上記データ項目の上
    記コヒーレンシ状態を変更する上記ステップが、さら
    に、 上記コヒーレンシ状態を無効状態に変更するステップを
    含む、請求項3の方法。
  6. 【請求項6】上記動作が上記データ項目を変更する意図
    を示すかどうかを判定するステップをさらに含み、上記
    局所記憶装置内の上記データ項目の上記コヒーレンシ状
    態を変更する上記ステップが、上記動作が上記データ項
    目を変更する意図を示さない場合には上記コヒーレンシ
    状態を共用状態に変更し、上記動作が上記データ項目を
    変更する意図を示す場合には上記コヒーレンシ状態を無
    効状態に変更するステップを含む、請求項3の方法。
  7. 【請求項7】介入をアサートする上記ステップが、さら
    に、 上記データ項目がシステム・メモリから最も最近に取り
    出されたことが上記コヒーレンシ状態から示されること
    の判定に応答して、共用介入をアサートするステップを
    含む、請求項1の方法。
  8. 【請求項8】上記局所記憶装置内の上記データ項目の上
    記コヒーレンシ状態を変更する上記ステップが、さら
    に、 上記コヒーレンシ状態を共用状態に変更するステップを
    含む、請求項7の方法。
  9. 【請求項9】上記局所記憶装置内の上記データ項目の上
    記コヒーレンシ状態を変更する上記ステップが、さら
    に、 上記コヒーレンシ状態を無効状態に変更するステップを
    含む、請求項7の方法。
  10. 【請求項10】試みられた介入が失敗したことを示す、
    上記局所データ記憶装置に関連するフラグをセットする
    ステップをさらに含む、請求項1の方法。
  11. 【請求項11】上記介入の失敗に応答して、上記局所デ
    ータ記憶装置に関連し、前に試みられた介入が失敗した
    ことを示す第1状態を有するフラグを検査するステップ
    をさらに含み、上記データ項目の上記コヒーレンシ状態
    を変更する上記ステップが、上記フラグが上記第1状態
    を有することの判定に応答して、上記コヒーレンシ状態
    を変更するステップを含む請求項1の方法。
  12. 【請求項12】試みられた介入が失敗した回数を示す、
    上記局所データ記憶装置に関連するカウンタを1つ増分
    するステップをさらに含む、請求項1の方法。
  13. 【請求項13】上記介入の失敗に応答して、上記局所デ
    ータ記憶装置に関連するカウンタの、前に試みられた介
    入が試行された回数を示す値を検査するステップをさら
    に含み、上記データ項目の上記コヒーレンシ状態を変更
    する上記ステップが、上記カウンタ内の上記値が閾値を
    超えることの判定に応答して上記コヒーレンシ状態を変
    更するステップを含む請求項1の方法。
JP03150399A 1998-02-17 1999-02-09 再試行されるスヌープ・ヒットに対してコヒーレンシ状態を最終的な状態に向かって進める方法 Expired - Fee Related JP3254433B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/024616 1998-02-17
US09/024,616 US6138218A (en) 1998-02-17 1998-02-17 Forward progress on retried snoop hits by altering the coherency state of a local cache

Publications (2)

Publication Number Publication Date
JPH11328023A JPH11328023A (ja) 1999-11-30
JP3254433B2 true JP3254433B2 (ja) 2002-02-04

Family

ID=21821523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03150399A Expired - Fee Related JP3254433B2 (ja) 1998-02-17 1999-02-09 再試行されるスヌープ・ヒットに対してコヒーレンシ状態を最終的な状態に向かって進める方法

Country Status (4)

Country Link
US (1) US6138218A (ja)
JP (1) JP3254433B2 (ja)
KR (1) KR19990072600A (ja)
CN (1) CN1130652C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866060B (zh) * 2009-12-23 2012-02-29 南京邮电大学 超分辨率光学成像装置与方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631401B1 (en) 1998-12-21 2003-10-07 Advanced Micro Devices, Inc. Flexible probe/probe response routing for maintaining coherency
US6370621B1 (en) 1998-12-21 2002-04-09 Advanced Micro Devices, Inc. Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation
US6393529B1 (en) 1998-12-21 2002-05-21 Advanced Micro Devices, Inc. Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write
US6490661B1 (en) * 1998-12-21 2002-12-03 Advanced Micro Devices, Inc. Maintaining cache coherency during a memory read operation in a multiprocessing computer system
US6714994B1 (en) * 1998-12-23 2004-03-30 Advanced Micro Devices, Inc. Host bridge translating non-coherent packets from non-coherent link to coherent packets on conherent link and vice versa
US6269428B1 (en) * 1999-02-26 2001-07-31 International Business Machines Corporation Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system
US6272604B1 (en) * 1999-05-20 2001-08-07 International Business Machines Corporation Contingent response apparatus and method for maintaining cache coherency
US6405289B1 (en) * 1999-11-09 2002-06-11 International Business Machines Corporation Multiprocessor system in which a cache serving as a highest point of coherency is indicated by a snoop response
US7558923B1 (en) * 1999-12-22 2009-07-07 Intel Corporation Prevention of live-lock in a multi-processor system
US6557078B1 (en) * 2000-02-21 2003-04-29 Hewlett Packard Development Company, L.P. Cache chain structure to implement high bandwidth low latency cache memory subsystem
US6928525B1 (en) * 2000-04-28 2005-08-09 Hewlett-Packard Development Company, L.P. Per cache line semaphore for cache access arbitration
US6745297B2 (en) 2000-10-06 2004-06-01 Broadcom Corporation Cache coherent protocol in which exclusive and modified data is transferred to requesting agent from snooping agent
US7395374B2 (en) * 2004-01-20 2008-07-01 Hewlett-Packard Company, L.P. System and method for conflict responses in a cache coherency protocol with ordering point migration
US20050160238A1 (en) * 2004-01-20 2005-07-21 Steely Simon C.Jr. System and method for conflict responses in a cache coherency protocol with ordering point migration
US8145847B2 (en) * 2004-01-20 2012-03-27 Hewlett-Packard Development Company, L.P. Cache coherency protocol with ordering points
US8468308B2 (en) * 2004-01-20 2013-06-18 Hewlett-Packard Development Company, L.P. System and method for non-migratory requests in a cache coherency protocol
US8090914B2 (en) * 2004-01-20 2012-01-03 Hewlett-Packard Development Company, L.P. System and method for creating ordering points
US7769959B2 (en) * 2004-01-20 2010-08-03 Hewlett-Packard Development Company, L.P. System and method to facilitate ordering point migration to memory
US8176259B2 (en) * 2004-01-20 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for resolving transactions in a cache coherency protocol
US7818391B2 (en) 2004-01-20 2010-10-19 Hewlett-Packard Development Company, L.P. System and method to facilitate ordering point migration
US7620696B2 (en) * 2004-01-20 2009-11-17 Hewlett-Packard Development Company, L.P. System and method for conflict responses in a cache coherency protocol
US7275125B2 (en) 2005-02-24 2007-09-25 International Business Machines Corporation Pipeline bit handling circuit and method for a bus bridge
US7275124B2 (en) * 2005-02-24 2007-09-25 International Business Machines Corporation Method and system for controlling forwarding or terminating of a request at a bus interface based on buffer availability
US7330925B2 (en) * 2005-02-24 2008-02-12 International Business Machines Corporation Transaction flow control mechanism for a bus bridge
US7469312B2 (en) * 2005-02-24 2008-12-23 International Business Machines Corporation Computer system bus bridge
US20060253662A1 (en) * 2005-05-03 2006-11-09 Bass Brian M Retry cancellation mechanism to enhance system performance
US7783843B2 (en) * 2005-05-16 2010-08-24 Hewlett-Packard Development Company, L.P. Bus interface adapted to coalesce snoop responses
EP1988464B1 (en) * 2006-02-24 2018-11-21 Fujitsu Ltd. Snoop control method and information processing device
US8935485B2 (en) 2011-08-08 2015-01-13 Arm Limited Snoop filter and non-inclusive shared cache memory
US9292442B2 (en) * 2013-04-11 2016-03-22 Qualcomm Incorporated Methods and apparatus for improving performance of semaphore management sequences across a coherent bus
GB2529180B (en) 2014-08-12 2021-07-14 Advanced Risc Mach Ltd Arbitration and hazard detection for a data processing apparatus
US10747298B2 (en) 2017-11-29 2020-08-18 Advanced Micro Devices, Inc. Dynamic interrupt rate control in computing system
US10503648B2 (en) 2017-12-12 2019-12-10 Advanced Micro Devices, Inc. Cache to cache data transfer acceleration techniques
GB2571538B (en) * 2018-02-28 2020-08-19 Imagination Tech Ltd Memory interface
US11210246B2 (en) 2018-08-24 2021-12-28 Advanced Micro Devices, Inc. Probe interrupt delivery
US11853212B2 (en) 2022-04-05 2023-12-26 International Business Machines Corporation Preemptive tracking of remote requests for decentralized hot cache line fairness tracking
US11907125B2 (en) * 2022-04-05 2024-02-20 International Business Machines Corporation Hot line fairness mechanism favoring software forward progress

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553266A (en) * 1992-04-24 1996-09-03 Digital Equipment Corporation Update vs. invalidate policy for a snoopy bus protocol
JP3660679B2 (ja) * 1994-03-01 2005-06-15 インテル・コーポレーション 高度パイプライン式バス・アーキテクチャ
US5713004A (en) * 1995-05-18 1998-01-27 Data General Corporation Cache control for use in a multiprocessor to prevent data from ping-ponging between caches
US5710906A (en) * 1995-07-07 1998-01-20 Opti Inc. Predictive snooping of cache memory for master-initiated accesses
US5652859A (en) * 1995-08-17 1997-07-29 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
JPH09223118A (ja) * 1996-02-14 1997-08-26 Oki Electric Ind Co Ltd スヌープキャッシュメモリ制御システム
US5920891A (en) * 1996-05-20 1999-07-06 Advanced Micro Devices, Inc. Architecture and method for controlling a cache memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866060B (zh) * 2009-12-23 2012-02-29 南京邮电大学 超分辨率光学成像装置与方法

Also Published As

Publication number Publication date
CN1130652C (zh) 2003-12-10
KR19990072600A (ko) 1999-09-27
JPH11328023A (ja) 1999-11-30
CN1226708A (zh) 1999-08-25
US6138218A (en) 2000-10-24

Similar Documents

Publication Publication Date Title
JP3254433B2 (ja) 再試行されるスヌープ・ヒットに対してコヒーレンシ状態を最終的な状態に向かって進める方法
JP3627037B2 (ja) キャッシュ・コヒーレンシを維持する方法及びコンピュータ・システム
US5325504A (en) Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
JP4226057B2 (ja) 包含キャッシュにおける望ましくない置換動作を低減するための先行犠牲選択のための方法及び装置
US5335335A (en) Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
JP3888769B2 (ja) データ供給方法及びコンピュータ・システム
JP3893008B2 (ja) ダイレクト・メモリ・アクセスおよびキャッシュ性能を改善する方法および装置
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US6366984B1 (en) Write combining buffer that supports snoop request
US5557769A (en) Mechanism and protocol for maintaining cache coherency within an integrated processor
US5903911A (en) Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
JP3434462B2 (ja) 割振り解除方法およびデータ処理システム
US5940856A (en) Cache intervention from only one of many cache lines sharing an unmodified value
US7493446B2 (en) System and method for completing full updates to entire cache lines stores with address-only bus operations
JP2982868B2 (ja) メモリ待ち時間を短縮する方法およびコンピュータ・システム
JP3714617B2 (ja) キャッシュ階層で首尾一貫性を維持する方法、コンピュータ・システム、及び処理ユニット
KR19980079663A (ko) Smp 버스의 최근 판독 상태에서의 캐시 라인들의 공유 개입 방법
JP2000250884A (ja) 不均等メモリ・アクセス・コンピュータ・システムにおいてエヴィクション・プロトコルを提供するための方法およびシステム
US6615321B2 (en) Mechanism for collapsing store misses in an SMP computer system
US6178484B1 (en) DCBST with ICBI mechanism to maintain coherency of bifurcated data and instruction caches
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US6973541B1 (en) System and method for initializing memory within a data processing system
US7669013B2 (en) Directory for multi-node coherent bus
US6615320B2 (en) Store collapsing mechanism for SMP computer system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees