JPH10254772A - キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム - Google Patents

キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム

Info

Publication number
JPH10254772A
JPH10254772A JP10034584A JP3458498A JPH10254772A JP H10254772 A JPH10254772 A JP H10254772A JP 10034584 A JP10034584 A JP 10034584A JP 3458498 A JP3458498 A JP 3458498A JP H10254772 A JPH10254772 A JP H10254772A
Authority
JP
Japan
Prior art keywords
cache
cache memory
bit
line
primary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10034584A
Other languages
English (en)
Other versions
JP3281893B2 (ja
Inventor
Dwain Alan Hicks
ドウェイン・アラン・ヒックス
Peichun Peter Liu
ペンチュン・ピーター・リュー
Michael John Mayfield
マイケル・ジョン・メイフィールド
Rajinder Paul Singh
ラージンデル・ポール・シング
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 JPH10254772A publication Critical patent/JPH10254772A/ja
Application granted granted Critical
Publication of JP3281893B2 publication Critical patent/JP3281893B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 非包括的キャッシュ・メモリ階層をサポート
するキャッシュ・コヒーレンシ機構を実施する方法およ
びシステムを提供すること。 【解決手段】 データ処理システム内で非包括的キャッ
シュ・メモリ階層をサポートするキャッシュ・コヒーレ
ンシ機構を実施する方法およびシステムを開示する。本
発明の方法およびシステムによれば、メモリ階層は1次
キャッシュ・メモリ、2次キャッシュ・メモリ、および
主メモリを含む。1次キャッシュ・メモリおよび2次キ
ャッシュ・メモリは非包括的である。さらに、第1状態
ビットおよび第2状態ビットが、1次キャッシュ内に1
次キャッシュの各キャッシュ・ラインと関連して与えら
れる。好ましい実施形態では、第1状態ビットは、1次
キャッシュ・メモリ中の対応するキャッシュ・ラインが
ライトスルー・モードで修正されている場合にのみセッ
トされ、第2状態ビットは、対応するキャッシュ・ライ
ンが2次キャッシュ・メモリ中にも存在する場合にのみ
セットされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理システム
に関し、さらに詳細には、高性能データ処理システム内
で利用するキャッシュ・メモリに関する。さらに具体的
に言えば、本発明は、高性能データ処理システム内で非
包括的キャッシュ・メモリ階層をサポートするキャッシ
ュ・コヒーレンシ機構を実施するための方法およびシス
テムに関する。
【0002】
【従来の技術】複数レベルのキャッシュ・メモリを含む
コンピュータ・アーキテクチャは、近年になって特に関
心の高い分野になり、発展した技術である。広く行われ
ている研究ではこれまで、2レベルキャッシュ・メモリ
階層と、それに関連した、このようなキャッシュ・メモ
リ階層を操作して、システムのキャッシュ・コヒーレン
シ要件を満たしながらプロセッサのパフォーマンスを最
大限にするプロトコルとを扱ってきた。
【0003】2レベル・キャッシュ・メモリ階層は、異
なるサイズおよび速度を有する2つのキャッシュ・メモ
リからなるキャッシュ・メモリ・システムである。通常
は、一般に1次キャッシュまたはL1キャッシュと呼ば
れる第1キャッシュ・メモリの方がアクセス時間が高速
であり、かつビットごとのコストが高く、一般に2次キ
ャッシュまたはL2キャッシュと呼ばれる第2キャッシ
ュの方がアクセス時間が低速であり、かつビットごとの
コストが低い。通常は、小型かつ高速の1次キャッシュ
をオンチップにし、大型かつ低速の2次キャッシュをオ
フチップにするが、いくつかの高性能プロセッサの設計
ではオンチップの2次キャッシュもかなり一般的であ
る。
【0004】コヒーレント・メモリ・システムの主な目
的は、資源の共用の同期および協調使用が可能になるよ
うにメモリ階層内の全てのメモリ装置に同じ情報のコピ
ーを提供することである。そうでなければ、古いまたは
失効した情報のコピーが不注意に利用された場合に問題
が生じることになる。このため、包含と呼ばれる方式で
は、1次キャッシュは通常は2次キャッシュに記憶され
たデータのサブセットを含むように設計される。この包
含方式は、1次キャッシュと2次キャッシュの間にある
一定レベルの冗長度を提供し、1次キャッシュへのバス
・トラフィックを減少させることができる。ただし、こ
の包含方式に関連した欠点もある。1つの欠点は、2次
キャッシュ中で置換されたキャッシュ・ラインが1次キ
ャッシュのそれと異なる場合、および2次キャッシュ中
で置換されたキャッシュ・ラインが「修正」状態にある
場合に、ラインの再充てん操作に対処するために1次キ
ャッシュからシステム・メモリへの追加のキャストアウ
トが必要になることである。ちなみに、2次キャッシュ
中で置換されたキャッシュ・ラインと同じアドレスを有
する1次キャッシュ中のキャッシュ・ラインは、包含方
式では1次キャッシュ中に単独で存在することができな
いので、これをシステム・メモリにキャストアウトする
必要がある。
【0005】非包括的キャッシュ・メモリ階層によって
包含の制限を緩和させればキャッシュ・パフォーマンス
は向上するが、1次キャッシュと2次キャッシュの間の
コヒーレンシを維持するために特別なプロトコルを利用
しなければならない。本発明は、非包括的な1次キャッ
シュおよび2次キャッシュをサポートするキャッシュ・
コヒーレンシ機構を提供するためのものである。
【0006】
【発明が解決しようとする課題】前述に鑑みて、したが
って本発明の1つの目的は、改善されたデータ処理の方
法およびシステムを提供することである。
【0007】本発明の別の目的は、キャッシュ・メモリ
を高性能データ処理システム内で利用するための改善さ
れた方法およびシステムをを提供することである。
【0008】本発明のさらに別の目的は、高性能データ
処理システム内で非包括的キャッシュ・メモリ階層をサ
ポートするキャッシュ・コヒーレンシ機構を実施するた
めの改善された方法およびシステムを提供することであ
る。
【0009】
【課題を解決するための手段】前述の目的は、下記のよ
うに達成される。本発明の方法およびシステムによれ
ば、高性能データ処理システム内のメモリ階層は、1次
キャッシュ・メモリ、2次キャッシュ・メモリ、および
主メモリを含む。1次キャッシュ・メモリおよび2次キ
ャッシュ・メモリは非包括的である。さらに、第1状態
ビットおよび第2状態ビットが、1次キャッシュ内に1
次キャッシュの各キャッシュ・ラインと関連して与えら
れる。好ましい実施形態では、第1状態ビットは、1次
キャッシュ・メモリ中の対応するキャッシュ・ラインが
ライトスルー・モードで修正されている場合にのみセッ
トされるが、第2状態ビットは、対応するキャッシュ・
ラインが2次キャッシュ・メモリ中にも存在する場合に
のみセットされる。このように、1次キャッシュ・メモ
リ中の第1状態ビットおよび第2状態ビットを利用する
ことにより、1次キャッシュ・メモリと2次キャッシュ
・メモリの間のキャッシュ・コヒーレンシを維持するこ
とができる。
【0010】
【発明の実施の形態】本発明は、どのような複数レベル
非包括的キャッシュ・メモリ階層式のデータ処理システ
ムでも実施することができる。また、本発明の特徴は、
1次キャッシュおよび2次キャッシュを有する様々なデ
ータ処理システムで、または複数のキャッシュ・メモリ
・アクセスを必要とするいたるところで適用可能である
ことを理解されたい。
【0011】次に図面、具体的には図1を参照すると、
本発明の好ましい実施形態に従って複数レベル非包括的
キャッシュ・メモリ階層を組み込むことができる通常の
データ処理システムのブロック・ダイヤグラムが図示さ
れている。図1では、単一のプロセッサ104のみを示
すが、マルチプロセッサ・システムでも本発明の特徴は
有効である。スーパースカラーRISCタイプにするこ
ともあるCPU106を有するプロセッサ104は、オ
ンチップ命令キャッシュ107およびオンチップ・デー
タ・キャッシュ108を含む単一チップ装置として構築
される。キャッシュ107、108はともに1次キャッ
シュであり、ローカル・バス構造内の別々のパスにより
CPU106に接続される。命令キャッシュ107はキ
ャッシュ制御装置109aを介してローカル・バス10
5に接続され、データ・キャッシュ108はキャッシュ
制御装置109bを介してローカル・バス105に接続
される。
【0012】2次キャッシュ110もまた、キャッシュ
制御装置111を介してローカル・バス105に接続さ
れる。2次キャッシュ110は通常は命令キャッシュ1
07またはデータ・キャッシュ108のどちらよりもは
るかに大きく、2次キャッシュ110へのアクセスもま
た、命令キャッシュ107またはデータ・キャッシュ1
08のどちらへのアクセスよりもいくらか低速になる。
CPU106もまた、ローカル・バス105とシステム
・バス113の間のタイミングおよび制御の変換を行う
バス・インタフェース112を介してシステム・バス1
13に接続される。さらに、主メモリ115およびディ
スク記憶装置116がシステム・バス113に結合され
る。
【0013】命令キャッシュ107およびデータ・キャ
ッシュ108は、実(すなわち物理)アドレスと同様に
有効(すなわち未変換)アドレスでもアドレスすること
ができる。従って、プロセッサ104内のローカル・バ
ス105は、有効アドレス・バス、実アドレス・バス、
および命令アドレス・バスを含むいくつかのアドレス・
バスを有する。対照的に、2次キャッシュ110は通常
は実アドレスのみでアドレスされる。
【0014】図示のように、メモリ階層は最高速から最
低速、最小から最大、最高コストから最低コスト、1次
キャッシュ107、108から順次2次キャッシュ11
0、主メモリ115、ディスク記憶装置116となる。
通常は、主メモリ115はディスク記憶装置116の内
容のサブセットを含み、2次キャッシュ110は主メモ
リ115の内容のサブセットを含む。ただし、1次キャ
ッシュ107、108と2次キャッシュ110とが非包
括的関係にあるので、各キャッシュ107、108は2
次キャッシュ110の内容とは無関係な情報を含むこと
ができる。
【0015】CPU106はプロセッサ・サイクル以内
に1次キャッシュ107、108にアクセスすることが
できるが、複数のプロセッサ・サイクルを費やして2次
キャッシュ110にアクセスすることもできる。1次キ
ャッシュ107、108、および2次キャッシュ110
中でキャッシュ「ミス」が発生した場合には、主メモリ
115にアクセスしてキャッシュ・ライン充てん操作を
実行する、すなわちキャッシュ・ラインを、アドレスさ
れたデータを含む主メモリ115からの等価なビット部
分で置換する。このキャッシュ・ライン充てん操作は、
キャッシュ「ミス」が発生した試みたキャッシュ・アク
セスに合うように実行しなければならない。キャッシュ
・ライン充てん操作を試みた位置を主メモリ115が含
まない場合には、キャッシュ・ライン充てん操作を完了
することができるように、このデータを含むページをデ
ィスク記憶装置116から獲得する。ディスク記憶装置
116からページを獲得し、これを主メモリ115に書
き込むには、通常は多数のプロセッサ・サイクルを要す
るが、この間にCPU106を切り替えて別のタスクを
実行させる、または停止させてデータが要求を満たすま
で待機することができる。
【0016】次に図2を参照すると、本発明の好ましい
実施形態による1次キャッシュ16の編成を示すブロッ
ク・ダイヤグラムが示されている。1次キャッシュ16
は、命令キャッシュ107またはデータ・キャッシュ1
08、あるいはその両方にすることができる。1次キャ
ッシュ16は、それぞれに64個のキャッシュ・ライン
を有するウェイ0、ウェイ1、ウェイ2、およびウェイ
3からなる4ウェイ・キャッシュとして構成されること
が好ましい。データ・キャッシュ16の各ウェイは3つ
の部分、すなわちタグ部分、データ部分、および状態ビ
ット部分にさらに分割される。図2に示すように、タグ
部分は、ウェイ0、ウェイ1、ウェイ2、およびウェイ
3のそれぞれに対してタグ・セット60a、タグ・セッ
ト60b、タグ・セット60c、およびタグ・セット6
0dを含む。同様に、データ部分は、ウェイ0、ウェイ
1、ウェイ2、およびウェイ3のそれぞれに対してデー
タ・セット70a、データ・セット70b、データ・セ
ット70c、およびデータ・セット70dを含む。ま
た、状態ビット部分は、ウェイ0、ウェイ1、ウェイ
2、およびウェイ3のそれぞれに対して状態ビット・フ
ィールド80a、状態ビット・フィールド80b、状態
ビット・フィールド80c、および状態ビット・フィー
ルド80dを含む。タグ・セット60aないし60dの
それぞれはデータ・セット70aないし70dのそれぞ
れに対応する。全てのタグ・セット60aないし60
d、データ・セット70aないし70d、および状態ビ
ット・フィールド80aないし80dは同一の構成にな
るので、タグ・セット60a、データ・セット70a、
および状態ビット・フィールド80aについてのみ以下
に詳細に記述する。
【0017】タグ・セット60aおよびデータ・セット
70aはそれぞれ、ライン0からライン63までの64
個のキャッシュ・ラインを有し、各キャッシュ・ライン
にはアドレス30のビット20ないし25により指標が
付けられる。データ・セット70aの各キャッシュ・ラ
インは64バイト(または16ワード)の幅があるが、
タグ・セット60aの各キャッシュ・ラインは20ビッ
トの幅しかない。データ・セット70a中の各キャッシ
ュ・ラインはCPU106が必要とすることがある実際
の情報を含み、キャッシュ・ライン内の各バイトにはア
ドレス30のビット26ないし31により指標が付けら
れる。一方、タグ・セット60a中の各キャッシュ・ラ
インは、アドレス30のビット0ないし19と比較して
キャッシュ「ヒット」またはキャッシュ「ミス」のどち
らが存在するかを決定するために利用するアドレス・タ
グを含む。ちなみに、タグ・セット60aないし60d
のうちの1つのアドレス・タグとアドレス30のビット
0ないし19が一致すれば、キャッシュ「ヒット」であ
る。
【0018】次に図3を参照すると、本発明の好ましい
実施形態による1つのキャッシュ・ラインの状態ビット
・フィールド80aの詳細図が示されている。図示のよ
うに、状態ビット・フィールド80aは5つの異なる状
態ビット、すなわち有効ビット10、共有ビット11、
修正ビット12、Lビット13、およびCビット14を
含む。有効ビット10、共有ビット11、修正ビット1
2を合わせて利用し、4状態MESI(修正(modifie
d)、排他的(excluisive)、共有(shared)、および
無効(invalid))プロトコルを実施する。4状態ME
SIプロトコルの実施は、キャッシュ・メモリ設計の技
術分野の当業者には周知である。残りのLビット13お
よびCビット14は、本発明の好ましい実施形態によ
る、非包括的な1次キャッシュおよび2次キャッシュを
サポートするキャッシュ・コヒーレンシ機構を実施する
ためのものである。
【0019】次に図4を参照すると、本発明の好ましい
実施形態による2次キャッシュ110の編成を示すブロ
ック・ダイヤグラムが示されている。2次キャッシュ1
10は、2048のキャッシュ・ラインを有する直接
(ダイレクト)マップ式キャッシュとして構成されるこ
とが好ましい。各キャッシュ・ラインはタグ部分62、
データ部分72、および状態ビット部分82に分割され
る。各キャッシュ・ラインの状態ビット部分82は、3
つの状態ビット、すなわち有効ビット15、共有ビット
16、および修正ビット17を含む。データ部分72の
各キャッシュ・ラインは64バイト(16ワード)の幅
があるが、タグ部分62の各キャッシュ・ラインは15
ビットの幅しかない。データ部分72の各キャッシュ・
ラインは、CPU106が必要とすることがある実際の
情報を含む。
【0020】1次キャッシュ16と同様に、2次キャッ
シュ110中の各キャッシュ・ラインにはアドレス30
のビット15ないし25により指標が付けられ、キャッ
シュ・ライン内の各バイトにはアドレス30のビット2
6ないし31により指標が付けられる。さらに、タグ部
分62の各キャッシュ・ラインは、アドレス30のビッ
ト0ないし14と比較してキャッシュ「ヒット」または
キャッシュ「ミス」のどちらが存在するかを決定するた
めに利用するアドレス・タグを含む。
【0021】次に図5を参照すると、本発明の好ましい
実施形態によるLビットおよびCビットを利用するライ
ン充てん操作を示す、高水準論理のフロー・ダイアグラ
ムが示されている。キャッシュ「ミス」がある場合に
は、再充てん操作はブロック20に示すようにまず1次
キャッシュから開始する。その後ブロック22に示すよ
うにキャッシュ・ラインが置換のために選択される。1
次キャッシュのライン置換の詳細については図6にさら
に記載する。その後ブロック24に示すように、2次キ
ャッシュにもライン充てん操作を実行すべきか否かを決
定する。2次キャッシュにライン充てん操作を実行すべ
きでない場合には、ブロック28に示すように1次キャ
ッシュの対応するキャッシュ・ラインにデータがロード
され、対応するキャッシュ・ラインのCビットおよびL
ビットはともに「0」にリセットされる。そうではな
く、2次キャッシュにライン充てん操作を実行すべきで
ある場合には、2次キャッシュのキャッシュ・ラインが
置換のために選択される。その後ブロック26に示すよ
うに、1次キャッシュの対応するキャッシュ・ラインお
よび2次ラインにデータがロードされ、1次キャッシュ
の対応するキャッシュ・ラインのCビットは「0」にリ
セットされ、1次キャッシュの対応するキャッシュ・ラ
インのLビットは「1」にセットされる。従来通り、ビ
ットをセットするとはビットを論理「1」にセットする
ことを意味し、ビットをリセットするとはビットを論理
「0」にリセットすることを意味するが、逆の指定もま
た条件に合っている。
【0022】次に図6を参照すると、本発明の好ましい
実施形態による1次キャッシュに関するライン置換操作
を示す高水準論理のフロー・ダイアグラムが示されてい
る。ブロック30から開始して、ブロック31およびブ
ロック32に示すように、キャストアウト候補キャッシ
ュ・ラインの修正(M)ビットまたはCビットのどちら
をセットするかを決定する。キャストアウト候補キャッ
シュ・ラインの修正ビットおよびCビットがともにセッ
トされない場合には、ブロック33に示すようにキャス
トアウト候補キャッシュ・ラインは2次キャッシュに送
られずに除去される。そうではなく、キャストアウト候
補キャッシュ・ラインの修正ビットがセットされる場合
には、ブロック36に示すようにキャストアウト候補キ
ャッシュ・ラインは2次キャッシュに送られる。同様
に、ブロック32、35、および36に示すように、修
正ビットはセットされないがキャストアウト候補キャッ
シュ・ラインのCビットおよびLビットがともにセット
される場合には、キャストアウト候補キャッシュ・ライ
ンはやはり2次キャッシュに送られる。
【0023】次に図7を参照すると、本発明の好ましい
実施形態による2次キャッシュに関するライン置換操作
を示す高水準論理のフロー・ダイアグラムが示されてい
る。ブロック40から開始して、ブロック42に示すよ
うに、1次のキャストアウト候補キャッシュのLビット
は「0」にリセットされる。その後、ブロック44に示
すようにキャストアウト候補キャッシュ・ラインの修正
ビットをセットするか否かを決定する。キャストアウト
候補キャッシュ・ラインの修正ビットをセットしない場
合には、ブロック48に示すようにキャストアウト候補
キャッシュ・ラインは主メモリに送られずに除去され
る。そうではなく、キャストアウト候補キャッシュ・ラ
インの修正ビットをセットする場合には、ブロック46
に示すようにキャストアウト候補キャッシュ・ラインは
主メモリに送られる。
【0024】次に図8を参照すると、本発明の好ましい
実施形態による1次キャッシュからのキャスト・アウト
操作を示す高水準論理のフロー・ダイアグラムが示され
ている。ブロック50から開始して、ブロック52に示
すように、キャストアウト候補キャッシュ・ラインの修
正ビットをセットするか否かを決定する。キャストアウ
ト候補キャッシュ・ラインの修正ビットをセットする場
合には、そのキャッシュ・ラインは2次キャッシュに書
き込まれ、そのキャッシュ・ラインの修正ビットは
「1」にセットされる。そうではなく、キャストアウト
候補キャッシュ・ラインの修正ビットをセットしない場
合には、キャッシュ・ラインはやはり2次キャストに書
き込まれるが、そのキャッシュ・ラインの修正ビットは
「0」にリセットされる。
【0025】その後、2次キャッシュのキャッシュ・ラ
インが古くなりライン充てん操作を必要とする場合に
は、対応するキャッシュ・ラインはその修正ビットがセ
ットされた場合にのみ主メモリに送られる。そうでない
場合は対応するキャッシュ・ラインは除去される。
【0026】次に図9を参照すると、本発明の好ましい
実施形態による1次キャッシュへの記憶操作を示す高水
準論理のフロー・ダイアグラムが示されている。1次キ
ャッシュへの記憶操作のために、ブロック62に示すよ
うに、最初に1次キャッシュがライトスルー・モードで
あるか否かを決定する。1次キャッシュがライトスルー
・モードでない(すなわち1次キャッシュがライト・バ
ック・モードである)場合には、ブロック68およびブ
ロック70にそれぞれ示すように、データ・ワードは1
次キャッシュに書き込まれ、対応するキャッシュ・ライ
ンの修正ビットは「1」にセットされる。そうではな
く、1次キャッシュがライトスルー・モードである場合
には、ブロック64およびブロック66にそれぞれ示す
ように、データ・ワードは2次キャッシュには書き込ま
れずに1次キャッシュおよび主メモリに書き込まれ、C
ビットは「1」にセットされる。
【0027】要約すると、ライトスルー・モードでは、
記憶操作によってデータ・ワードが1次キャッシュおよ
び主メモリに書き込まれ、1次キャッシュの対応するキ
ャッシュ・ラインのCビットがセットされる。ライト・
バック・モードでは、記憶操作によってデータ・ワード
は1次キャッシュのみに書き込まれ、1次キャッシュの
対応するキャッシュ・ラインの修正ビットがセットされ
る。1次キャッシュにライン充てん操作を行う際には、
キャストアウト候補キャッシュ・ラインの修正ビットま
たはCビットのどちらかがセットされる場合には、キャ
ストアウト候補キャッシュ・ラインは2次キャッシュに
送られる。しかし、キャストアウト候補キャッシュ・ラ
インの修正ビットおよびCビットがともにセットされな
い場合には、キャストアウト候補キャッシュ・ラインは
2次キャッシュに送られずに除去される。どのような場
合でも、データ・ワードが最初に1次キャッシュにロー
ドされる場合には、キャッシュ・ラインのCビットは
「0」にリセットされる。
【0028】記述したように、本発明は、データ処理シ
ステム内で非包括的キャッシュ・メモリ階層をサポート
するキャッシュ・コヒーレンシ機構を実施するための方
法を提供するものである。ライトスルー・モードでは、
データ・ワードは1次キャッシュおよび主メモリには書
き込まれるが、2次キャッシュをスキップする。したが
って、1次キャッシュのキャッシュ・ラインは全ての更
新を維持し、2次キャッシュの対応するキャッシュ・ラ
インは、1次キャッシュのキャッシュ・ラインを廃棄す
べき場合にのみ更新される。このようにして、1次キャ
ッシュのスヌープ(Snoop)またはキャストアウト
が発生するまで1次キャッシュが(主メモリに加えて)
全てのデータ・ワードの変更を累積するので、2次キャ
ッシュへのバス・トラフィックは軽減される。さらに、
1次キャッシュにはデータがあり、2次キャッシュには
必ずしもデータがないことにより、通常は関連性(asso
ciative)の高い1次キャッシュを通常は稠密だが関連
性の低い2次キャッシュとともに有効に使用することが
できる。
【0029】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0030】(1)1次キャッシュ・メモリ、2次キャ
ッシュ・メモリ、および主メモリを含み、前記1次キャ
ッシュ・メモリおよび前記2次キャッシュ・メモリが非
包括的であるデータ処理システム内でキャッシュ・コヒ
ーレンシ機構を実施する方法であって、前記1次キャッ
シュ内の各キャッシュ・ラインと関連して第1状態ビッ
トおよび第2状態ビットを与える段階と、前記1次キャ
ッシュ・メモリ中の対応するキャッシュ・ラインがライ
トスルー・モードにおいて記憶操作により修正されてい
る場合にのみ、前記第1状態ビットをセットする段階
と、対応するキャッシュ・ラインが前記1次キャッシュ
および前記2次キャッシュの両方に存在する場合にの
み、前記第2状態ビットをセットする段階と、前記第1
状態ビットおよび前記第2状態ビットを利用して前記1
次キャッシュと前記2次キャッシュの間のキャッシュ・
コヒーレンシを維持する段階とを含む方法。 (2)前記1次キャッシュ・メモリに関するライン置換
の間に、前記1次キャッシュ・メモリ中の前記第1状態
ビット、前記第2状態ビット、および修正ビットがセッ
トされていない場合に、キャッシュ・ラインを前記2次
キャッシュ・メモリに送らずに除去する段階をさらに含
む、非包括的キャッシュ・メモリ階層をサポートするキ
ャッシュ・コヒーレンシ機構を実施する上記(1)に記
載の方法。 (3)前記1次キャッシュ・メモリに関する前記ライン
置換の間に、前記第1状態ビットおよび前記第2状態ビ
ットがともにセットされているか、または前記1次キャ
ッシュ・メモリ中の前記修正ビットがセットされている
場合に、キャッシュ・ラインを前記2次キャッシュ・メ
モリに送る段階をさらに含む、非包括的キャッシュ・メ
モリ階層をサポートするキャッシュ・コヒーレンシ機構
を実施する上記(2)に記載の方法。 (4)前記2次キャッシュ・メモリに関するライン置換
の間に、前記2次キャッシュ・メモリ中の修正ビットが
セットされていない場合に、キャッシュ・ラインを前記
主メモリに送らずに除去する段階をさらに含む、非包括
的キャッシュ・メモリ階層をサポートするキャッシュ・
コヒーレンシ機構を実施する上記(1)に記載の方法。 (5)前記2次キャッシュ・メモリに関する前記ライン
置換の間に、前記2次キャッシュ・メモリ中の前記修正
ビットがセットされている場合に、キャッシュ・ライン
を前記主メモリに送る段階をさらに含む、非包括的キャ
ッシュ・メモリ階層をサポートするキャッシュ・コヒー
レンシ機構を実施する上記(4)に記載の方法。 (6)前記1次キャッシュ・メモリに関するキャストア
ウトの間に、前記1次キャッシュ・メモリ中の修正ビッ
トがセットされている場合に、キャッシュ・ラインを前
記2次キャッシュ・メモリに書込みながら前記2次キャ
ッシュ・メモリ中の修正ビットをセットする段階をさら
に含む、非包括的キャッシュ・メモリ階層をサポートす
るキャッシュ・コヒーレンシ機構を実施する上記(1)
に記載の方法。 (7)前記1次キャッシュ・メモリに関する前記キャス
トアウトの間に、前記1次キャッシュ・メモリ中の前記
修正ビットがセットされていない場合に、キャッシュ・
ラインを前記2次キャッシュ・メモリに書込みながら前
記2次キャッシュ・メモリ中の修正ビットをリセットす
る段階をさらに含む、非包括的キャッシュ・メモリ階層
をサポートするキャッシュ・コヒーレンシ機構を実施す
る上記(6)に記載の方法。 (8)前記1次キャッシュ・メモリに関するライン充て
ん操作の間に、前記ライン充てん操作を前記2次キャッ
シュ・メモリ中で実行すべき場合に、キャッシュ・ライ
ンを前記1次キャッシュ・メモリにロードしながら、前
記第1状態ビットをリセットし、前記第2状態ビットを
セットする段階をさらに含む、非包括的キャッシュ・メ
モリ階層をサポートするキャッシュ・コヒーレンシ機構
を実施する上記(1)に記載の方法。 (9)前記1次キャッシュ・メモリに関する前記ライン
充てん操作の間に、前記ライン充てん操作を前記2次キ
ャッシュ・メモリ中で実行すべきでない場合に、キャッ
シュ・ラインを前記1次キャッシュ・メモリにロードし
ながら、前記第1状態ビットおよび前記第2状態ビット
をリセットする段階をさらに含む、非包括的キャッシュ
・メモリ階層をサポートするキャッシュ・コヒーレンシ
機構を実施する上記(8)に記載の方法。 (10)非包括的キャッシュ・メモリ階層をサポートす
るキャッシュ・コヒーレンシ機構を有するデータ処理シ
ステムであって、主メモリと、1次キャッシュ内の各キ
ャッシュ・ラインに関連して第1状態ビットおよび第2
状態ビットを有する1次キャッシュ・メモリと、2次キ
ャッシュ・メモリとを含み、前記2次キャッシュ・メモ
リおよび前記1次キャッシュ・メモリが非包括的であ
り、さらに、前記1次キャッシュ・メモリの対応するキ
ャッシュ・ラインがライトスルー・モードで記憶操作に
よって修正されている場合にのみ前記第1状態ビットを
セットし、前記1次キャッシュおよび前記2次キャッシ
ュの両方に対応するキャッシュ・ラインが存在する場合
にのみ前記第2状態ビットをセットし、前記第1状態ビ
ットおよび前記第2ビットを利用して前記1次キャッシ
ュと前記2次キャッシュの間でキャッシュ・メモリを維
持することができる手段とを含むシステム。 (11)前記1次キャッシュ・メモリに関するライン置
換の間に、前記1次キャッシュ・メモリ中の前記第1状
態ビット、前記第2状態ビット、および修正ビットがセ
ットされていない場合に、キャッシュ・ラインを前記2
次キャッシュ・メモリに送らずに除去する手段をさらに
含む、非包括的キャッシュ・メモリ階層をサポートする
キャッシュ・コヒーレンシ機構を有する上記(10)に
記載のデータ処理システム。 (12)前記1次キャッシュ・メモリに関する前記ライ
ン置換の間に、前記第1状態ビットおよび前記第2状態
ビットがともにセットされているか、または前記1次キ
ャッシュ・メモリ中の前記修正ビットがセットされてい
る場合に、キャッシュ・ラインを前記2次キャッシュ・
メモリに送る手段をさらに含む、非包括的キャッシュ・
メモリ階層をサポートするキャッシュ・コヒーレンシ機
構を有する上記(11)に記載のデータ処理システム。 (13)前記2次キャッシュ・メモリに関するライン置
換の間に、前記2次キャッシュ・メモリ中の修正ビット
がセットされていない場合に、キャッシュ・ラインを前
記主メモリに送らずに除去する手段をさらに含む、非包
括的キャッシュ・メモリ階層をサポートするキャッシュ
・コヒーレンシ機構を有する上記(10)に記載のデー
タ処理システム。 (14)前記2次キャッシュ・メモリに関する前記ライ
ン置換の間に、前記2次キャッシュ・メモリ中の前記修
正ビットがセットされている場合に、キャッシュ・ライ
ンを前記主メモリに送る手段をさらに含む、非包括的キ
ャッシュ・メモリ階層をサポートするキャッシュ・コヒ
ーレンシ機構を有する上記(13)に記載のデータ処理
システム。 (15)前記1次キャッシュ・メモリに関するキャスト
アウトの間に、前記1次キャッシュ・メモリ中の修正ビ
ットがセットされている場合に、キャッシュ・ラインを
前記2次キャッシュ・メモリに書込みながら前記2次キ
ャッシュ・メモリ中の修正ビットをセットする手段をさ
らに含む、非包括的キャッシュ・メモリ階層をサポート
するキャッシュ・コヒーレンシ機構を有する上記(1
0)に記載のデータ処理システム。 (16)前記1次キャッシュ・メモリに関する前記キャ
ストアウトの間に、前記1次キャッシュ・メモリ中の前
記修正ビットがセットされていない場合に、キャッシュ
・ラインを前記2次キャッシュ・メモリに書込みながら
前記2次キャッシュ・メモリ中の修正ビットをリセット
する手段をさらに含む、非包括的キャッシュ・メモリ階
層をサポートするキャッシュ・コヒーレンシ機構を有す
る上記(15)に記載のデータ処理システム。 (17)前記1次キャッシュ・メモリに関するライン充
てん操作の間に、前記ライン充てん操作を前記2次キャ
ッシュ・メモリ中で実行すべき場合に、キャッシュ・ラ
インを前記1次キャッシュ・メモリにロードしながら、
前記第1状態ビットをリセットし、前記第2状態ビット
をセットする手段をさらに含む、非包括的キャッシュ・
メモリ階層をサポートするキャッシュ・コヒーレンシ機
構を有する上記(10)に記載のデータ処理システム。 (18)前記1次キャッシュ・メモリに関する前記ライ
ン充てん操作の間に、前記ライン充てん操作を前記2次
キャッシュ・メモリ中で実行すべきでない場合に、キャ
ッシュ・ラインを前記1次キャッシュ・メモリにロード
しながら、前記第1状態ビットおよび前記第2状態ビッ
トをリセットする手段をさらに含む、非包括的キャッシ
ュ・メモリ階層をサポートするキャッシュ・コヒーレン
シ機構を有する上記(17)に記載のデータ処理システ
ム。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態による複数レベル非
包括的キャッシュ・メモリ階層を有する典型的なデータ
処理システムを示すブロック・ダイヤグラムである。
【図2】本発明の好ましい実施形態による1次キャッシ
ュの編成を示すブロック・ダイヤグラムである。
【図3】本発明の好ましい実施形態による1次キャッシ
ュ中の状態ビット・フィールドを示す詳細図である。
【図4】本発明の好ましい実施形態による2次キャッシ
ュの編成を示すブロック・ダイヤグラムである。
【図5】本発明の好ましい実施形態によるLビットおよ
びCビットを利用するライン充てん操作を示す、高水準
論理のフロー・ダイアグラムである。
【図6】本発明の好ましい実施形態による1次キャッシ
ュに関するライン置換操作を示す、高水準論理のフロー
・ダイアグラムである。
【図7】本発明の好ましい実施形態による2次キャッシ
ュに関するライン置換操作を示す、高水準論理のフロー
・ダイアグラムである。
【図8】本発明の好ましい実施形態による1次キャッシ
ュからのキャスト・アウト操作を示す、高水準論理のフ
ロー・ダイアグラムである。
【図9】本発明の好ましい実施形態による1次キャッシ
ュへの記憶操作を示す、高水準論理のフロー・ダイアグ
ラムである。
【符号の説明】
104 プロセッサ 105 ローカル・バス 106 CPU 107 命令キャッシュ 108 データ・キャッシュ 109a キャッシュ制御装置 109b キャッシュ制御装置 110 2次キャッシュ 111 キャッシュ制御装置 112 バス・インタフェース 113 システム・バス 115 主メモリ 116 ディスク記憶装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ペンチュン・ピーター・リュー アメリカ合衆国78750 テキサス州オース チン ロウ・ブリッジ・レーン 10812 (72)発明者 マイケル・ジョン・メイフィールド アメリカ合衆国78730 テキサス州オース チン グレンレーク・ドライブ 9111 (72)発明者 ラージンデル・ポール・シング アメリカ合衆国78717 テキサス州オース チン イーフレアム・ロード 8403

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】1次キャッシュ・メモリ、2次キャッシュ
    ・メモリ、および主メモリを含み、前記1次キャッシュ
    ・メモリおよび前記2次キャッシュ・メモリが非包括的
    であるデータ処理システム内でキャッシュ・コヒーレン
    シ機構を実施する方法であって、 前記1次キャッシュ内の各キャッシュ・ラインと関連し
    て第1状態ビットおよび第2状態ビットを与える段階
    と、 前記1次キャッシュ・メモリ中の対応するキャッシュ・
    ラインがライトスルー・モードにおいて記憶操作により
    修正されている場合にのみ、前記第1状態ビットをセッ
    トする段階と、 対応するキャッシュ・ラインが前記1次キャッシュおよ
    び前記2次キャッシュの両方に存在する場合にのみ、前
    記第2状態ビットをセットする段階と、 前記第1状態ビットおよび前記第2状態ビットを利用し
    て前記1次キャッシュと前記2次キャッシュの間のキャ
    ッシュ・コヒーレンシを維持する段階とを含む方法。
  2. 【請求項2】前記1次キャッシュ・メモリに関するライ
    ン置換の間に、前記1次キャッシュ・メモリ中の前記第
    1状態ビット、前記第2状態ビット、および修正ビット
    がセットされていない場合に、キャッシュ・ラインを前
    記2次キャッシュ・メモリに送らずに除去する段階をさ
    らに含む、非包括的キャッシュ・メモリ階層をサポート
    するキャッシュ・コヒーレンシ機構を実施する請求項1
    に記載の方法。
  3. 【請求項3】前記1次キャッシュ・メモリに関する前記
    ライン置換の間に、前記第1状態ビットおよび前記第2
    状態ビットがともにセットされているか、または前記1
    次キャッシュ・メモリ中の前記修正ビットがセットされ
    ている場合に、キャッシュ・ラインを前記2次キャッシ
    ュ・メモリに送る段階をさらに含む、非包括的キャッシ
    ュ・メモリ階層をサポートするキャッシュ・コヒーレン
    シ機構を実施する請求項2に記載の方法。
  4. 【請求項4】前記2次キャッシュ・メモリに関するライ
    ン置換の間に、前記2次キャッシュ・メモリ中の修正ビ
    ットがセットされていない場合に、キャッシュ・ライン
    を前記主メモリに送らずに除去する段階をさらに含む、
    非包括的キャッシュ・メモリ階層をサポートするキャッ
    シュ・コヒーレンシ機構を実施する請求項1に記載の方
    法。
  5. 【請求項5】前記2次キャッシュ・メモリに関する前記
    ライン置換の間に、前記2次キャッシュ・メモリ中の前
    記修正ビットがセットされている場合に、キャッシュ・
    ラインを前記主メモリに送る段階をさらに含む、非包括
    的キャッシュ・メモリ階層をサポートするキャッシュ・
    コヒーレンシ機構を実施する請求項4に記載の方法。
  6. 【請求項6】前記1次キャッシュ・メモリに関するキャ
    ストアウトの間に、前記1次キャッシュ・メモリ中の修
    正ビットがセットされている場合に、キャッシュ・ライ
    ンを前記2次キャッシュ・メモリに書込みながら前記2
    次キャッシュ・メモリ中の修正ビットをセットする段階
    をさらに含む、非包括的キャッシュ・メモリ階層をサポ
    ートするキャッシュ・コヒーレンシ機構を実施する請求
    項1に記載の方法。
  7. 【請求項7】前記1次キャッシュ・メモリに関する前記
    キャストアウトの間に、前記1次キャッシュ・メモリ中
    の前記修正ビットがセットされていない場合に、キャッ
    シュ・ラインを前記2次キャッシュ・メモリに書込みな
    がら前記2次キャッシュ・メモリ中の修正ビットをリセ
    ットする段階をさらに含む、非包括的キャッシュ・メモ
    リ階層をサポートするキャッシュ・コヒーレンシ機構を
    実施する請求項6に記載の方法。
  8. 【請求項8】前記1次キャッシュ・メモリに関するライ
    ン充てん操作の間に、前記ライン充てん操作を前記2次
    キャッシュ・メモリ中で実行すべき場合に、キャッシュ
    ・ラインを前記1次キャッシュ・メモリにロードしなが
    ら、前記第1状態ビットをリセットし、前記第2状態ビ
    ットをセットする段階をさらに含む、非包括的キャッシ
    ュ・メモリ階層をサポートするキャッシュ・コヒーレン
    シ機構を実施する請求項1に記載の方法。
  9. 【請求項9】前記1次キャッシュ・メモリに関する前記
    ライン充てん操作の間に、前記ライン充てん操作を前記
    2次キャッシュ・メモリ中で実行すべきでない場合に、
    キャッシュ・ラインを前記1次キャッシュ・メモリにロ
    ードしながら、前記第1状態ビットおよび前記第2状態
    ビットをリセットする段階をさらに含む、非包括的キャ
    ッシュ・メモリ階層をサポートするキャッシュ・コヒー
    レンシ機構を実施する請求項8に記載の方法。
  10. 【請求項10】非包括的キャッシュ・メモリ階層をサポ
    ートするキャッシュ・コヒーレンシ機構を有するデータ
    処理システムであって、 主メモリと、 1次キャッシュ内の各キャッシュ・ラインに関連して第
    1状態ビットおよび第2状態ビットを有する1次キャッ
    シュ・メモリと、 2次キャッシュ・メモリとを含み、前記2次キャッシュ
    ・メモリおよび前記1次キャッシュ・メモリが非包括的
    であり、 さらに、前記1次キャッシュ・メモリの対応するキャッ
    シュ・ラインがライトスルー・モードで記憶操作によっ
    て修正されている場合にのみ前記第1状態ビットをセッ
    トし、前記1次キャッシュおよび前記2次キャッシュの
    両方に対応するキャッシュ・ラインが存在する場合にの
    み前記第2状態ビットをセットし、前記第1状態ビット
    および前記第2ビットを利用して前記1次キャッシュと
    前記2次キャッシュの間でキャッシュ・メモリを維持す
    ることができる手段とを含むシステム。
  11. 【請求項11】前記1次キャッシュ・メモリに関するラ
    イン置換の間に、前記1次キャッシュ・メモリ中の前記
    第1状態ビット、前記第2状態ビット、および修正ビッ
    トがセットされていない場合に、キャッシュ・ラインを
    前記2次キャッシュ・メモリに送らずに除去する手段を
    さらに含む、非包括的キャッシュ・メモリ階層をサポー
    トするキャッシュ・コヒーレンシ機構を有する請求項1
    0に記載のデータ処理システム。
  12. 【請求項12】前記1次キャッシュ・メモリに関する前
    記ライン置換の間に、前記第1状態ビットおよび前記第
    2状態ビットがともにセットされているか、または前記
    1次キャッシュ・メモリ中の前記修正ビットがセットさ
    れている場合に、キャッシュ・ラインを前記2次キャッ
    シュ・メモリに送る手段をさらに含む、非包括的キャッ
    シュ・メモリ階層をサポートするキャッシュ・コヒーレ
    ンシ機構を有する請求項11に記載のデータ処理システ
    ム。
  13. 【請求項13】前記2次キャッシュ・メモリに関するラ
    イン置換の間に、前記2次キャッシュ・メモリ中の修正
    ビットがセットされていない場合に、キャッシュ・ライ
    ンを前記主メモリに送らずに除去する手段をさらに含
    む、非包括的キャッシュ・メモリ階層をサポートするキ
    ャッシュ・コヒーレンシ機構を有する請求項10に記載
    のデータ処理システム。
  14. 【請求項14】前記2次キャッシュ・メモリに関する前
    記ライン置換の間に、前記2次キャッシュ・メモリ中の
    前記修正ビットがセットされている場合に、キャッシュ
    ・ラインを前記主メモリに送る手段をさらに含む、非包
    括的キャッシュ・メモリ階層をサポートするキャッシュ
    ・コヒーレンシ機構を有する請求項13に記載のデータ
    処理システム。
  15. 【請求項15】前記1次キャッシュ・メモリに関するキ
    ャストアウトの間に、前記1次キャッシュ・メモリ中の
    修正ビットがセットされている場合に、キャッシュ・ラ
    インを前記2次キャッシュ・メモリに書込みながら前記
    2次キャッシュ・メモリ中の修正ビットをセットする手
    段をさらに含む、非包括的キャッシュ・メモリ階層をサ
    ポートするキャッシュ・コヒーレンシ機構を有する請求
    項10に記載のデータ処理システム。
  16. 【請求項16】前記1次キャッシュ・メモリに関する前
    記キャストアウトの間に、前記1次キャッシュ・メモリ
    中の前記修正ビットがセットされていない場合に、キャ
    ッシュ・ラインを前記2次キャッシュ・メモリに書込み
    ながら前記2次キャッシュ・メモリ中の修正ビットをリ
    セットする手段をさらに含む、非包括的キャッシュ・メ
    モリ階層をサポートするキャッシュ・コヒーレンシ機構
    を有する請求項15に記載のデータ処理システム。
  17. 【請求項17】前記1次キャッシュ・メモリに関するラ
    イン充てん操作の間に、前記ライン充てん操作を前記2
    次キャッシュ・メモリ中で実行すべき場合に、キャッシ
    ュ・ラインを前記1次キャッシュ・メモリにロードしな
    がら、前記第1状態ビットをリセットし、前記第2状態
    ビットをセットする手段をさらに含む、非包括的キャッ
    シュ・メモリ階層をサポートするキャッシュ・コヒーレ
    ンシ機構を有する請求項10に記載のデータ処理システ
    ム。
  18. 【請求項18】前記1次キャッシュ・メモリに関する前
    記ライン充てん操作の間に、前記ライン充てん操作を前
    記2次キャッシュ・メモリ中で実行すべきでない場合
    に、キャッシュ・ラインを前記1次キャッシュ・メモリ
    にロードしながら、前記第1状態ビットおよび前記第2
    状態ビットをリセットする手段をさらに含む、非包括的
    キャッシュ・メモリ階層をサポートするキャッシュ・コ
    ヒーレンシ機構を有する請求項17に記載のデータ処理
    システム。
JP03458498A 1997-03-05 1998-02-17 キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム Expired - Fee Related JP3281893B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/810,775 US5787478A (en) 1997-03-05 1997-03-05 Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy
US08/810775 1997-03-05

Publications (2)

Publication Number Publication Date
JPH10254772A true JPH10254772A (ja) 1998-09-25
JP3281893B2 JP3281893B2 (ja) 2002-05-13

Family

ID=25204675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03458498A Expired - Fee Related JP3281893B2 (ja) 1997-03-05 1998-02-17 キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム

Country Status (5)

Country Link
US (1) US5787478A (ja)
JP (1) JP3281893B2 (ja)
KR (1) KR19980079433A (ja)
CN (1) CN1110752C (ja)
TW (1) TW364081B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058349A (ja) * 2005-08-22 2007-03-08 Fujitsu Ltd キャッシュシステム
JP2015111435A (ja) * 2007-01-31 2015-06-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374330B1 (en) * 1997-04-14 2002-04-16 International Business Machines Corporation Cache-coherency protocol with upstream undefined state
US6061766A (en) * 1997-06-24 2000-05-09 Sun Microsystems, Inc. Non-inclusive cache method using pipelined snoop bus
US6076147A (en) * 1997-06-24 2000-06-13 Sun Microsystems, Inc. Non-inclusive cache system using pipelined snoop bus
US6065098A (en) * 1997-09-18 2000-05-16 International Business Machines Corporation Method for maintaining multi-level cache coherency in a processor with non-inclusive caches and processor implementing the same
US6067601A (en) * 1997-11-03 2000-05-23 Brecis Communications Cache memory based instruction execution
US6216218B1 (en) 1997-11-03 2001-04-10 Donald L. Sollars Processor having a datapath and control logic constituted with basis execution blocks
US6397298B1 (en) * 1999-07-30 2002-05-28 International Business Machines Corporation Cache memory having a programmable cache replacement scheme
US6715040B2 (en) * 2001-01-05 2004-03-30 Nec Electronics, Inc. Performance improvement of a write instruction of a non-inclusive hierarchical cache memory unit
US6584546B2 (en) * 2001-01-16 2003-06-24 Gautam Nag Kavipurapu Highly efficient design of storage array for use in first and second cache spaces and memory subsystems
US6922753B2 (en) * 2002-09-26 2005-07-26 International Business Machines Corporation Cache prefetching
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
US7020746B2 (en) * 2003-01-28 2006-03-28 Microsoft Corporation Method and system for an atomically updated, central cache memory
US7373466B1 (en) * 2004-04-07 2008-05-13 Advanced Micro Devices, Inc. Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer
US7383388B2 (en) 2004-06-17 2008-06-03 International Business Machines Corporation Method for storing data
US20060155934A1 (en) * 2005-01-11 2006-07-13 Ramakrishnan Rajamony System and method for reducing unnecessary cache operations
US7325101B1 (en) * 2005-05-31 2008-01-29 Sun Microsystems, Inc. Techniques for reducing off-chip cache memory accesses
US20070038814A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Systems and methods for selectively inclusive cache
US7596661B2 (en) * 2005-09-01 2009-09-29 Mediatek Inc. Processing modules with multilevel cache architecture
US7725619B2 (en) * 2005-09-15 2010-05-25 International Business Machines Corporation Data processing system and method that permit pipelining of I/O write operations and multiple operation scopes
US7404045B2 (en) * 2005-12-30 2008-07-22 International Business Machines Corporation Directory-based data transfer protocol for multiprocessor system
US8661208B2 (en) * 2007-04-11 2014-02-25 Hewlett-Packard Development Company, L.P. Non-inclusive cache systems and methods
US9279079B2 (en) * 2007-05-30 2016-03-08 Sharp Kabushiki Kaisha Method of manufacturing phosphor, light-emitting device, and image display apparatus
JP2009053820A (ja) * 2007-08-24 2009-03-12 Nec Electronics Corp 階層型キャッシュメモリシステム
US9442846B2 (en) 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US20110202727A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache
US9378148B2 (en) 2013-03-15 2016-06-28 Intel Corporation Adaptive hierarchical cache policy in a microprocessor
US9418009B2 (en) * 2013-12-27 2016-08-16 Intel Corporation Inclusive and non-inclusive tracking of local cache lines to avoid near memory reads on cache line memory writes into a two level system memory
US10204047B2 (en) * 2015-03-27 2019-02-12 Intel Corporation Memory controller for multi-level system memory with coherency unit
US11954034B2 (en) * 2022-03-28 2024-04-09 Woven By Toyota, Inc. Cache coherency protocol for encoding a cache line with a domain shared state

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2622011B2 (ja) * 1990-04-16 1997-06-18 三菱電機株式会社 画面切替方法
CA2044689A1 (en) * 1990-06-15 1991-12-16 Roger E. Tipley Multilevel inclusion in multilevel cache hierarchies
US5379396A (en) * 1991-10-11 1995-01-03 Intel Corporation Write ordering for microprocessor depending on cache hit and write buffer content
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
US5636365A (en) * 1993-10-05 1997-06-03 Nec Corporation Hierarchical buffer memories for selectively controlling data coherence including coherence control request means
US5564035A (en) * 1994-03-23 1996-10-08 Intel Corporation Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058349A (ja) * 2005-08-22 2007-03-08 Fujitsu Ltd キャッシュシステム
JP2015111435A (ja) * 2007-01-31 2015-06-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
JP2017033584A (ja) * 2007-01-31 2017-02-09 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法

Also Published As

Publication number Publication date
CN1195817A (zh) 1998-10-14
JP3281893B2 (ja) 2002-05-13
TW364081B (en) 1999-07-11
KR19980079433A (ko) 1998-11-25
US5787478A (en) 1998-07-28
CN1110752C (zh) 2003-06-04

Similar Documents

Publication Publication Date Title
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
US7698508B2 (en) System and method for reducing unnecessary cache operations
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US6289420B1 (en) System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem
KR100885277B1 (ko) 캐시에서의 라인들을 추론적으로 무효화하는 방법 및 시스템
US5369753A (en) Method and apparatus for achieving multilevel inclusion in multilevel cache hierarchies
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
US7266647B2 (en) List based method and apparatus for selective and rapid cache flushes
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
CN101446923B (zh) 一种响应于指令而清洗高速缓冲存储器线的装置和方法
US20030005237A1 (en) Symmetric multiprocessor coherence mechanism
US20040260883A1 (en) Computer system employing bundled prefetching
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
US6751705B1 (en) Cache line converter
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
JP2010097558A (ja) 仮想アドレスキャッシュメモリ及び仮想アドレスキャッシュ方法
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
JP3866447B2 (ja) マルチプロセッサ・ノードデータ処理システムに使用するディレクトリエントリ割当てシステム及び方法
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7325102B1 (en) Mechanism and method for cache snoop filtering
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法
US7949833B1 (en) Transparent level 2 cache controller
US6976130B2 (en) Cache controller unit architecture and applied method
US6101582A (en) Dcbst with icbi mechanism

Legal Events

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