JPH10301850A - データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム - Google Patents

データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム

Info

Publication number
JPH10301850A
JPH10301850A JP10097520A JP9752098A JPH10301850A JP H10301850 A JPH10301850 A JP H10301850A JP 10097520 A JP10097520 A JP 10097520A JP 9752098 A JP9752098 A JP 9752098A JP H10301850 A JPH10301850 A JP H10301850A
Authority
JP
Japan
Prior art keywords
cache
state
states
inclusion
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10097520A
Other languages
English (en)
Other versions
JP3193686B2 (ja
Inventor
Kumar Arimiri Ravi
ラビ・クマール・アリミリ
Stephen Doddson John
ジョン・スチィーブン・ダッドソン
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 JPH10301850A publication Critical patent/JPH10301850A/ja
Application granted granted Critical
Publication of JP3193686B2 publication Critical patent/JP3193686B2/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

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)【要約】 【課題】 データ処理システム内のキャッシュ・コヒー
レンシを維持するために、セクタ化キャッシュ・メモリ
において疑似精密包含方式を設ける方法及びシステムを
開示する。 【解決手段】 本発明の方法及びシステムによると、キ
ャッシュ・メモリは複数のキャッシュ・ラインを含む。
キャッシュ・ラインのデータ・フィールドを複数のセク
タに分割する。各キャッシュ・ラインに状態ビット・フ
ィールドを関連付け、その状態ビット・フィールドを使
用して対応するキャッシュ・ラインの少なくとも4つの
異なる状態を識別する。各キャッシュ・ライン内の各セ
クタに包含ビット・フィールドを関連づけ、その包含ビ
ット・フィールドを使用して、関連づけられたセクタの
包含状態を識別する。4つの状態のうちの第1の状態を
割り当てて、関連づけられたキャッシュ・ラインの精密
包含状態を設ける。4つの状態のうちの第2及び第3の
状態を割り当てて、関連づけられたキャッシュ・ライン
の非精密包含状態を設け、キャッシュ・ライン状態のデ
コード効率を向上させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にはキャッシ
ュ・コヒーレンシを維持する方法及びシステムに関し、
具体的には、データ処理システム内のキャッシュ・コヒ
ーレンシを維持する方法及びシステムに関する。より具
体的には、本発明はデータ処理システム内のキャッシュ
・コヒーレンシを維持するために、セクタ化されたキャ
ッシュ・メモリに疑似精密包含方式を設ける方法及びシ
ステムに関する。
【従来の技術】
【0002】データ処理システムは一般に、階層式に構
成された様々な記憶装置に結合されたプロセッサを含
む。ハードウェアまたはソフトウェアは、間もなくアク
セスされる可能性が最も高いとみなされるアドレスに階
層内の記憶装置の各部分を動的に割り振ることができ
る。プロセッサを基準にした各階層レベルで使用される
記憶装置のタイプは、速度と容量とコストの必要条件の
兼ね合いによって決定されるのが普通である。
【0003】メイン・メモリに加えて、階層内で一般的
に使用される記憶装置としては、キャッシュ・メモリと
呼ばれる高速メモリがある。キャッシュ・メモリはプロ
セッサが間もなく再度アクセスされる可能性の最も高い
ワードを保持し、プロセッサがそのワード使用するため
の待ち時間を大幅に短縮することによって、より低速の
メイン・メモリの見かけのアクセス時間を高速化する。
したがって、キャッシュ・メモリはメイン・メモリから
プロセッサに最近転送されたデータや命令のサブセット
への比較的高速なアクセスを可能にし、したがってデー
タ処理システムの全体的速度が高速化される。
【0004】2レベル・キャッシュ・メモリ階層とは、
各キャッシュメモリが異なるサイズと速度を有する2つ
のキャッシュ・メモリから成るキャッシュ・メモリ・シ
ステムである。典型的には、一般に一次キャッシュまた
はレベル1(L1)キャッシュと呼ばれる第1のキャッ
シュ・メモリの方がアクセス時間がより高速であり、1
ビット当たりのコストが高いのに対し、一般に二次キャ
ッシュまたはレベル2(L2)キャッシュと呼ばれる第
2のキャッシュはアクセス時間は遅いが1ビット当たり
のコストが低い。たいていは、より小さく高速な一次キ
ャッシュがオンチップであり、より大きく低速の二次キ
ャッシュはオフチップであるが、最近のある種の高パフ
ォーマンス・プロセッサ設計ではオンチップの二次キャ
ッシュもごく一般的に使用される。
【0005】コヒーレントなメモリ・システムを維持す
るために、メモリ階層内のすべてのメモリ・デバイスに
同じ情報のコピーを供給して資源共用の同期化と協調的
使用を可能にしなければならない。そうしなければ、誤
って古い、または陳腐化した情報のコピーが使用された
場合に問題が生じる。したがって、包含とよばれる方式
に基づいて、一次キャッシュは常に二次キャッシュに記
憶されているデータのサブセットを含むように設計され
る。この包含方式によって、一次キャッシュと二次キャ
ッシュの間に特定のレベルの冗長性が与えられ、それに
よって一次キャッュへのバス・トラフィックを減少させ
ることができる。
【0006】さらに、あらゆるキャッシュ・メモリ実施
態様に共通の目標は、所与のサイズのキャッシュ・メモ
リ要するキャッシュ・ディレクトリ空間の大きさを最小
限にすることである。これは一般に、各ディレクトリ項
目が2つ以上のキャッシュ・セクタを表すようにキャッ
シュ・メモリをセクタ化することによって実現される。
セクタ化されたキャッシュ・メモリは、共用メモリを使
用して大量データ転送を行うが、共用が行われるとき、
各受信キャッシュ・ラインをより小さな単位のデータか
ら成るセクタに細分する。
【0007】上述の包含方式によると、従来のセクタ化
二次キャッシュは1セクタについて一般に包含ビットと
呼ばれる1ビットを使用して、その特定のセクタが一次
キャッシュにも存在するかどうかを示す。たとえば、4
つのセクタを有する二次キャッシュは4つのキャッシュ
・セクタすべての包含状況を定義するのに合計4ビット
を要することになる。従来のセクタ化キャッシュに基づ
く包含方式は各セクタの包含状況が正確に見えるように
はするが、ディレクトリ・ビット数がより少なくて済
み、デコードが単純化される疑似包含方式を設け、それ
によってより高い動作周波数を持つより小型のキャッシ
ュ・ディレクトリを可能にすることが望ましい。
【0008】
【発明が解決しようとする課題】したがって上記に鑑
み、本発明の目的はキャッシュ・コヒーレンシを維持す
る改良された方法及びシステムを提供することである。
【0009】本発明の他の目的は、データ処理システム
内のキャッシュ・コヒーレンシを維持する改良された方
法及びシステムを提供することである。
【0010】本発明の他の目的は、データ処理システム
内のキャッシュ・コヒーレンシを維持するために、セク
タ化キャッシュ・メモリにおける疑似精密包含方式を設
ける改良された方法及びシステムを提供することであ
る。
【0011】
【課題を解決するための手段】本発明の方法及びシステ
ムによると、キャッシュ・メモリは複数のキャッシュ・
ラインを含む。キャッシュ・ラインのデータ・フィール
ドは複数のセクタに分割されている。各キャッシュ・ラ
インには状態ビット・フィールドが関連づけられ、その
状態ビット・フィールドを使用して対応するキャッシュ
・ラインの少なくとも4つの異なる状態を識別する。各
キャッシュ・ライン内の各セクタには包含ビット・フィ
ールドが関連づけられ、その包含ビット・フィールドを
使用して、関連づけられたセクタの包含状態を識別す
る。4つの状態のうちの第1の状態は、関連づけられた
キャッシュ・ラインの精密な包含状態を示すために割り
当てられる。4つの状態のうちの第2及び第3の状態
は、関連づけられたキャッシュ・ラインの非精密包含状
態を示すために割り当てられ、それによってキャッシュ
・ライン状態のデコードが効率的になるようにする。
【0012】
【発明の実施の形態】本発明は、キャッシュ・メモリを
有するどのようなデータ処理システムでも実施可能であ
る。また、本発明の機能は一次キャッシュと二次キャッ
シュを有する様々なデータ処理システムで提供可能であ
るものと理解される。
【0013】図面、特に図1を参照すると、本発明を適
用することができるデータ処理・システム10のブロッ
ク図が図示されている。データ処理システム10は複数
の中央処理装置(CPU)11a〜11nを含み、各C
PU11a〜11nが一次キャッシュを含む。図のよう
に、CPU11aは一次キャッシュ12aを含み、CP
U11nは一次キャッシュ12nを含む。各一次キャッ
シュ12a〜12nはセクタ化キャッシュとすることが
できる。
【0014】各CPU11a〜11nはそれぞれ、二次
キャッシュ13a〜13nのそれぞれに結合されてい
る。本発明の好ましい実施例では、各二次キャッシュ1
3a〜13nはセクタ化キャッシュである。CPU11
a〜11nと一次キャッシュ12a〜12nと二次キャ
ッシュ13a〜13nとは、メイン・メモリ14との相
互接続15を介して互いに接続されている。相互接続機
構15はバスまたはスイッチとすることができる。
【0015】図1にはデータ処理システムの好ましい実
施例が示されているが、本発明は様々なシステム構成内
で実施可能であるものと理解されたい。たとえば、各C
PU11a〜11nは複数レベルのキャッシュ・メモリ
を有することができる。他の例として、すべての二次キ
ャッシュ13a〜13nを1つの構成要素にまとめて、
図のように各一次キャッシュに1つの二次キャッシュで
はなく、1つの二次キャッシュがデータ処理システム全
体のための唯一の二次キャッシュとして機能するように
することもできる。
【0016】次に図2を参照すると、本発明の好ましい
実施例による図1の二次キャッシュのブロック図が図示
されている。図のように、二次キャッシュ13aは4ウ
ェイ・セット・アソシアティブ・データ・キャッシュで
ある。各セットは合計64個のキャッシュ・ラインを有
し、各キャッシュ・ラインはデータ・フィールド21
と、アドレス・タグ・フィールド22と、状態ビット・
フィールド23とを有する。たとえばデータ・フィール
ド21はセクタ0とセクタ1の2つのセクタに分割され
ており、各セクタは64バイトを含むことが好ましい。
データ・フィールド21内の各セクタはさらに包含ビッ
ト・フィールド24を含む。
【0017】アドレス・タグ・フィールド22と状態ビ
ット・フィールド23は二次キャッシュ13aのディレ
クトリに含まれることが好ましい。図の包含ビット・フ
ィールド24はデータ・フィールド21内に配置されて
いるが、包含ビット・フィールド24はディレクトリ内
に含めることもできる。このディレクトリは、当技術分
野で周知のようにフル・アソシアティブ、ダイレクト・
マッピング、またはセット・アソシアティブなど使用可
能な任意のキャッシュ方式に従って構成することができ
る。着信有効アドレスとアドレス・タグ・フィールド2
2内のタグの1つとの比較一致によってキャッシュ「ヒ
ット」が示される。アドレス・タグ・フィールド22内
のタグは、フル・アソシアティブ・ディレクトリの場合
はフル・アドレスとすることができ、ダイレクト・マッ
ピング・ディレクトリまたはセット・アソシアティブ・
ディレクトリ場合は部分アドレスとすることができる。
状態ビット・フィールド23及び包含ビット・フィール
ド24内のビットを使用して、図1のデータ処理システ
ムのキャッシュ・コヒーレンシを維持する。
【0018】他の実施例として、状態ビット・フィール
ドと包含ビット・フィールドの両方をディレクトリ内の
単一のフィールドにコード化することもできる。
【0019】コヒーレント・メモリ・システムの主要な
目的は、データ処理システムに付随するすべての装置に
記憶場所の同じイメージを提供することである。コヒー
レンシがあることによって共用資源の同期化と協調的使
用が可能になる。そうでなけば、データ処理システム内
に記憶場所の複数のコピーが存在する可能性があり、そ
の一部には陳腐化した値が入っていることがあり、その
結果、その陳腐化した値が使用された場合に誤りが生じ
る。
【0020】典型的には、標準の4状態MESIプロト
コルを使用して、図1に示すシステムのようなデータ処
理システムのキャッシュ・コヒーレンシを実現する。M
ESIとは、変更(M)状態、排他的(E)状態、共用
(S)状態、及び無効(I)状態を表す。4状態のME
SIプロトコルは、二次キャッシュ13a内の1キャッ
シュ・ラインにつき2ビットの状態ビット・フィールド
23によって実施することが好ましいが、より効率的な
デコードのための4ビットの状態ビット・フィールドも
受容可能である。
【0021】次に表Iを参照すると、従来技術による完
全精密包含方式を有する2セクタ化キャッシュのすべて
の包含状態が示されている。この方式は、1セクタにつ
いて、MESI状態用に2ビットを使用し、包含状態用
に1ビットを使用することによって実施される。したが
って、従来の技術では2セクタ化キャッシュに合計6ビ
ットを要する。
【表1】
【0022】次に表IIを参照すると、本発明の好まし
い実施例による疑似精密包含方式を有する2セクタ化キ
ャッシュのすべての包含状態が示されている。この方式
は、1キャッシュ・ライン全体についてMESI状態に
2ビットを使用し、各キャッシュ・ライン内の1セクタ
について包含方式に1ビットを使用することによって実
施する。したがって、図2に示すように、各キャッシュ
・ライン内のすべてのセクタの状態が状態ビット・フィ
ールド23内の状態ビットで表される。さらに、キャッ
シュ・ライン内の各セクタの包含性は包含ビット・フィ
ールド24内の包含ビットで表される。したがって、本
発明では2セクタ化キャッシュ・メモリに合計4ビット
が必要である。
【表2】
【0023】本発明によると、各セクタの包含状態はキ
ャッシュ・ラインがS−11状態(表IIの3行目)ま
たはE−11状態(表IIの5行目)のときのみ非精密
である。それ以外の場合、各セクタのキャッシュ・ライ
ン包含状態は精密である。
【0024】表IIを続けて参照すると、E−11状態
では、L1(上位レベル)キャッシュではセクタ0また
はセクタ1あるいはその両方は、無効状態または共用状
態にのみなることができる。L1キャッシュを排他状態
にさせない理由は、L1キャッシュが前に変更されてい
ないセクタを変更する必要があるときは随時必ずL2キ
ャッシュにそれを通知することが望ましいからである。
L2キャッシュが排他状態のときにL1キャッシュが排
他状態に遷移することができるようにし、L1キャッシ
ュがそのセクタにストアしたとすれば、コヒーレンシ・
プロトコルは、L1キャッシュが排他状態から変更状態
に遷移することをL1キャッシュに通知することを必要
としない。L2キャッシュが排他状態のときにL1キャ
ッシュが排他状態に遷移するのを禁止することによっ
て、L2キャッシュ制御論理回路が簡略化される。これ
は、排他状態では、スヌープ無効化操作またはL2キャ
ッシュからの最長期間未使用(LRU)割振り解除のた
めにL1キャッシュが変更されたデータを下位のL2キ
ャッシュに押し戻さないことがキャッシュ制御論理回路
に確実にわかってるからである。少なくとも1つの包含
ビットが設定されている変更キャッシュ状態では、L2
キャッシュ制御回路は常に、そのセクタがL1キャッシ
ュで変更される可能性があるものとみなす。
【0025】次に図3を参照すると、本発明の好ましい
実施例による疑似精密包含方式の実施態様の4つの例が
図示されている。第1の例では、キャッシュ・ラインA
が(図2の状態ビット・フィールド23内の)状態ビッ
トによって「変更」としてマークされており、そのセク
タ1の包含ビットが設定されている。これは、上位レベ
ルのキャッシュでセクタ1が変更、排他、または共用状
態のいずれかの状態である可能性があることを意味す
る。セクタ0は上位レベル・キャッシュにはない。
【0026】第2の例では、キャッシュ・ラインBが状
態ビット・フィールドで「排他」としてマークされ、両
方の包含ビットがオフになっている。これは、どちらの
セクタも上位レベル・キャッシュにないことを意味する
(精密包含)。
【0027】第3の例では、キャッシュ・ラインCが状
態ビット・フィールドで「共用」としてマークされ、セ
クタ0とセクタ1の両方の包含ビットが設定されてい
る。これは、上位レベルのキャッシュでセクタ0または
セクタ1あるいはその両方が共用状態である可能性があ
ることを意味する(非精密包含)。
【0028】第4の例では、キャッシュ・ラインDが状
態ビット・フィールドで「無効」としてマークされてい
る。これは、セクタ0と1の両方が上位レベルで無効で
あることを意味する。
【0029】上述のように、本発明は、データ処理シス
テム内のキャッシュ・コヒーレンシを維持するために、
セクタ化キャッシュ・メモリにおいて疑似精密包含方式
を設ける方法を提供する。本発明を例示するために2セ
クタ化二次キャッシュのみを用いたが、当業者なら、こ
の疑似精密包含方式は少なくとも1つの上位レベル・キ
ャッシュに結合されたどのようなマルチセクタ化キャッ
シュにも適用可能であることがわかるであろう。
【0030】本発明による疑似精密包含方式は、従来技
術と比較してキャッシュ・ラインの状態をコード化する
のに要するビット数が少ない。(高い周波数について)
デコードがより容易であり、他の追加の状態が必要な場
合、その状態について余分の状態ビットを追加せずにデ
コードが解放される。この実施態様によって、1キャッ
シュ・ライン当たりの全体的なディレクトリ状態ビット
数が削減され、より小さなスタティック・メモリ・アレ
イが使用可能になり、それによってチップ・サイズが小
型化され、アレイ・アクセス時間が高速化される。
【0031】本発明のその他の利点としては、パフォー
マンスを犠牲にせずに論理回路が単純化されることが含
まれる。たとえば、上位レベル・キャッシュに変更され
たセクタがある可能性がある場合(すなわちM−01、
M−10、またはM−11)で、スヌープ無効化または
LRU割振り解除により、キャッシュ・ラインを無効化
するためにバック無効化が必要な場合、無効化操作が上
位レベル・キャッシュに伝えられる結果としてキャッシ
ュは変更データを上位レベル・キャッシュに書き(押
し)戻すことになる可能性が高い。このシーケンスが完
了するには数クロック・サイクルを要する可能性があ
る。したがって、上位レベル・キャッシュに存在しない
セクタに対してバック無効化操作を発行する余分の時間
を無駄にするのは望ましくない(すなわち、この場合は
最適パフォーマンスのために精密性が必要である)。
【0032】本発明で規定されている共用状態及び排他
状態では、スヌープ無効化またはLRU割振り解除のた
め、キャッシュ・ラインを無効化するためにバック無効
化が必要な場合、変更されたデータが一次キャッシュに
は入れられないことが確実である。したがって、一次キ
ャッシュには決して入っていないセクタに対してバック
無効化を発行するペナルティは無視可能な程度である
(すなわち、この場合、まず上位レベル・キャッシュが
変更データを押し出そうとしているかどうかを調べるた
めに待たなくてもバック無効化を他の処置と並列して行
うことができるため、非精密性がパフォーマンスに与え
る影響は無視可能な程度である)。
【0033】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0034】(1)少なくとも1つの第1レベル・キャ
ッシュと第2レベル・キャッシュとを有するデータ処理
システム内のキャッシュ・コヒーレンシを維持するため
に複数のキャッシュ・ラインを含むセクタ化キャッシュ
・メモリにおいて疑似精密包含方式を設ける方法であっ
て、前記複数のキャッシュ・ラインのデータ・フィール
ドを複数のセクタに分割するステップと、各前記複数の
キャッシュ・ラインに、関連づけられたキャッシュ・ラ
インの少なくとも4つの状態を識別するために使用され
る状態ビット・フィールドを関連づけるステップと、各
前記複数のキャッシュ・ライン内の各前記複数のセクタ
に、関連づけられたセクタの包含状態を識別するために
使用される包含ビット・フィールドを関連づけるステッ
プと、前記少なくとも4つの状態のうちの第1の状態を
割り当てて、関連づけられたキャッシュ・ラインの精密
包含状態を設けるステップと、前記少なくとも4つの状
態のうちの第2及び第3の状態を割り当てて、関連づけ
られたキャッシュ・ラインの非精密包含状態を設け、キ
ャッシュ・ライン状態のデコード効率を向上させるステ
ップとを含む方法。 (2)前記少なくとも4つの状態が変更状態と排他状態
と共用状態と無効状態とをさらに含む、上記(1)に記
載のキャッシュ・コヒーレンシを維持するためにセクタ
化キャッシュ・メモリにおいて疑似精密包含方式を設け
る方法。 (3)前記少なくとも4つの状態の内の前記第1の状態
が変更状態である、上記(1)に記載のキャッシュ・コ
ヒーレンシを維持するためにセクタ化キャッシュ・メモ
リにおいて疑似精密方式を設ける方法。 (4)前記少なくとも4つの状態のうちの第2の状態が
排他状態である、上記(1)に記載のキャッシュ・コヒ
ーレンシを維持するためにセクタ化キャッシュ・メモリ
において疑似精密方式を設ける方法。 (5)前記少なくとも4つの状態のうちの前記第3の状
態が共用状態である、上記(1)に記載のキャッシュ・
コヒーレンシを維持するためにセクタ化キャッシュ・メ
モリにおいて疑似精密方式を設ける方法。 (6)前記非精密包含状態が、前記第2レベル・キャッ
シュ内のキャッシュ・ラインの1つまたは複数のセクタ
が前記第1レベル・キャッシュ内に存在する可能性があ
ることを示唆する、上記(1)に記載のキャッシュ・コ
ヒーレンシを維持するためにセクタ化キャッシュ・メモ
リにおいて疑似精密方式を設ける方法。 (7)第1レベル・キャッシュを有するデータ処理シス
テム内でキャッシュ・コヒーレンシを維持するための疑
似精密包含方式を有する第2レベルのセクタ化キャッシ
ュ・メモリであって、複数のセクタに分割された複数の
キャッシュ・ラインと、各前記複数のキャッシュ・ライ
ンに関連づけられ、関連づけられたキャッシュ・ライン
の少なくとも4つの状態を識別するために使用される状
態ビット・フィールドと、各前記複数のキャッシュ・ラ
イン内の各前記複数のセクタに関連づけられ、関連づけ
らえれたセクタの包含状態を識別するために使用される
包含ビット・フィールドと、前記少なくとも4つの状態
のうちの第1の状態を割り当てて、関連づけられたキャ
ッシュ・ラインの精密包含状態を設ける手段と、前記少
なくとも4つの状態のうちの第2及び第3の状態を割り
当てて関連づけられたキャッシュ・ラインの非精密包含
状態を設け、キャッシュ・ラインのデコード効率を向上
させる手段とを含む前記セクタ化キャッシュ・メモリ。 (8)前記少なくとも4つの状態が変更状態と排他状態
と共用状態と無効状態とをさらに含む、上記(7)に記
載のセクタ化キャッシュ・メモリ。 (9)前記少なくとも4つの状態のうちの前記第1の状
態が変更状態である、上記(7)に記載のセクタ化キャ
ッシュ・メモリ。 (10)前記少なくとも4つの状態のうちの前記第2の
状態が排他状態である、上記(7)に記載のセクタ化キ
ャッシュ・メモリ。 (11)前記少なくとも4つの状態のうちの前記第3の
状態が共用状態である、上記(7)に記載のセクタ化キ
ャッシュ・メモリ。 (12)前記非精密包含状態が、前記第2のレベル・キ
ャッシュ内のキャッシュ・ラインの1つまたは複数のセ
クタが前記第1レベル・キャッシュ内に存在する可能性
があることを示唆する、上記(7)に記載のセクタ化キ
ャッシュ・メモリ。
【図面の簡単な説明】
【図1】本発明を適用することができるデータ処理シス
テムを示すブロック図である。
【図2】本発明の好ましい実施例による二次キャッシュ
を示すブロック図である。
【図3】本発明の好ましい実施例による疑似精密包含方
式実施態様の4つの例を示す図である。
【符号の説明】
10 データ処理システム 11 中央処理装置 12 一次キャッシュ 13 二次キャッシュ 14 メイン・メモリ 15 相互接続機構 21 データ・フィールド 22 アドレス・タグ・フィールド 23 状態ビット・フィールド 24 包含ビット・フィールド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・スチィーブン・ダッドソン アメリカ合衆国78660 テキサス州フラジ ャービル ベル・ロック・サークル 1205

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つの第1レベル・キャッシュ
    と第2レベル・キャッシュとを有するデータ処理システ
    ム内のキャッシュ・コヒーレンシを維持するために複数
    のキャッシュ・ラインを含むセクタ化キャッシュ・メモ
    リにおいて疑似精密包含方式を設ける方法であって、 前記複数のキャッシュ・ラインのデータ・フィールドを
    複数のセクタに分割するステップと、 各前記複数のキャッシュ・ラインに、関連づけられたキ
    ャッシュ・ラインの少なくとも4つの状態を識別するた
    めに使用される状態ビット・フィールドを関連づけるス
    テップと、 各前記複数のキャッシュ・ライン内の各前記複数のセク
    タに、関連づけられたセクタの包含状態を識別するため
    に使用される包含ビット・フィールドを関連づけるステ
    ップと、 前記少なくとも4つの状態のうちの第1の状態を割り当
    てて、関連づけられたキャッシュ・ラインの精密包含状
    態を設けるステップと、 前記少なくとも4つの状態のうちの第2及び第3の状態
    を割り当てて、関連づけられたキャッシュ・ラインの非
    精密包含状態を設け、キャッシュ・ライン状態のデコー
    ド効率を向上させるステップとを含む方法。
  2. 【請求項2】前記少なくとも4つの状態が変更状態と排
    他状態と共用状態と無効状態とをさらに含む、請求項1
    に記載のキャッシュ・コヒーレンシを維持するためにセ
    クタ化キャッシュ・メモリにおいて疑似精密包含方式を
    設ける方法。
  3. 【請求項3】前記少なくとも4つの状態の内の前記第1
    の状態が変更状態である、請求項1に記載のキャッシュ
    ・コヒーレンシを維持するためにセクタ化キャッシュ・
    メモリにおいて疑似精密方式を設ける方法。
  4. 【請求項4】前記少なくとも4つの状態のうちの第2の
    状態が排他状態である、請求項1に記載のキャッシュ・
    コヒーレンシを維持するためにセクタ化キャッシュ・メ
    モリにおいて疑似精密方式を設ける方法。
  5. 【請求項5】前記少なくとも4つの状態のうちの前記第
    3の状態が共用状態である、請求項1に記載のキャッシ
    ュ・コヒーレンシを維持するためにセクタ化キャッシュ
    ・メモリにおいて疑似精密方式を設ける方法。
  6. 【請求項6】前記非精密包含状態が、前記第2レベル・
    キャッシュ内のキャッシュ・ラインの1つまたは複数の
    セクタが前記第1レベル・キャッシュ内に存在する可能
    性があることを示唆する、請求項1に記載のキャッシュ
    ・コヒーレンシを維持するためにセクタ化キャッシュ・
    メモリにおいて疑似精密方式を設ける方法。
  7. 【請求項7】第1レベル・キャッシュを有するデータ処
    理システム内でキャッシュ・コヒーレンシを維持するた
    めの疑似精密包含方式を有する第2レベルのセクタ化キ
    ャッシュ・メモリであって、 複数のセクタに分割された複数のキャッシュ・ライン
    と、 各前記複数のキャッシュ・ラインに関連づけられ、関連
    づけられたキャッシュ・ラインの少なくとも4つの状態
    を識別するために使用される状態ビット・フィールド
    と、 各前記複数のキャッシュ・ライン内の各前記複数のセク
    タに関連づけられ、関連づけらえれたセクタの包含状態
    を識別するために使用される包含ビット・フィールド
    と、 前記少なくとも4つの状態のうちの第1の状態を割り当
    てて、関連づけられたキャッシュ・ラインの精密包含状
    態を設ける手段と、 前記少なくとも4つの状態のうちの第2及び第3の状態
    を割り当てて関連づけられたキャッシュ・ラインの非精
    密包含状態を設け、キャッシュ・ラインのデコード効率
    を向上させる手段とを含む前記セクタ化キャッシュ・メ
    モリ。
  8. 【請求項8】前記少なくとも4つの状態が変更状態と排
    他状態と共用状態と無効状態とをさらに含む、請求項7
    に記載のセクタ化キャッシュ・メモリ。
  9. 【請求項9】前記少なくとも4つの状態のうちの前記第
    1の状態が変更状態である、請求項7に記載のセクタ化
    キャッシュ・メモリ。
  10. 【請求項10】前記少なくとも4つの状態のうちの前記
    第2の状態が排他状態である、請求項7に記載のセクタ
    化キャッシュ・メモリ。
  11. 【請求項11】前記少なくとも4つの状態のうちの前記
    第3の状態が共用状態である、請求項7に記載のセクタ
    化キャッシュ・メモリ。
  12. 【請求項12】前記非精密包含状態が、前記第2のレベ
    ル・キャッシュ内のキャッシュ・ラインの1つまたは複
    数のセクタが前記第1レベル・キャッシュ内に存在する
    可能性があることを示唆する、請求項7に記載のセクタ
    化キャッシュ・メモリ。
JP09752098A 1997-04-14 1998-04-09 セクタ化キャッシュ・メモリ Expired - Fee Related JP3193686B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/839544 1997-04-14
US08/839,544 US6115794A (en) 1997-04-14 1997-04-14 Method and system of providing a pseudo-precise inclusivity scheme in a sectored cache memory for maintaining cache coherency within a data-processing system

Publications (2)

Publication Number Publication Date
JPH10301850A true JPH10301850A (ja) 1998-11-13
JP3193686B2 JP3193686B2 (ja) 2001-07-30

Family

ID=25280019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09752098A Expired - Fee Related JP3193686B2 (ja) 1997-04-14 1998-04-09 セクタ化キャッシュ・メモリ

Country Status (2)

Country Link
US (1) US6115794A (ja)
JP (1) JP3193686B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123497A (ja) * 2006-11-13 2008-05-29 Internatl Business Mach Corp <Ibm> メモリ・キャッシュ内のデータを無効化する方法、コンピュータ可読媒体及びイメージ処理システム
US7428617B2 (en) 2004-07-29 2008-09-23 Fujitsu Limited Cache memory and method to maintain cache-coherence between cache memory units
US7958318B2 (en) 2006-02-14 2011-06-07 Fujitsu Limited Coherency maintaining device and coherency maintaining method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339813B1 (en) * 2000-01-07 2002-01-15 International Business Machines Corporation Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory
US6996688B2 (en) * 2003-03-11 2006-02-07 International Business Machines Corporation Method, system, and program for improved throughput in remote mirroring systems
US7383388B2 (en) 2004-06-17 2008-06-03 International Business Machines Corporation Method for storing data
CN101221539B (zh) * 2008-01-28 2011-04-20 杭州华三通信技术有限公司 提高缓存性能的方法及缓存系统
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
US10884927B2 (en) * 2018-03-21 2021-01-05 Intel Corporation Cache architecture using way ID to reduce near memory traffic in a two-level memory system
US10528482B2 (en) 2018-06-04 2020-01-07 International Business Machines Corporation Cache management

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2045557A1 (de) * 1969-09-15 1971-03-25 Shell Mex And Pb Ltd Vorrichtung zum Auffinden von Daten
EP0608622A1 (en) * 1993-01-29 1994-08-03 International Business Machines Corporation Multiprocessor system with multilevel caches
US5530832A (en) * 1993-10-14 1996-06-25 International Business Machines Corporation System and method for practicing essential inclusion in a multiprocessor and cache hierarchy
US5715428A (en) * 1994-02-28 1998-02-03 Intel Corporation Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
US5584013A (en) * 1994-12-09 1996-12-10 International Business Machines Corporation Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache
US5740400A (en) * 1995-06-05 1998-04-14 Advanced Micro Devices Inc. Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
US5832276A (en) * 1996-10-07 1998-11-03 International Business Machines Corporation Resolving processor and system bus address collision in a high-level cache

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428617B2 (en) 2004-07-29 2008-09-23 Fujitsu Limited Cache memory and method to maintain cache-coherence between cache memory units
US7958318B2 (en) 2006-02-14 2011-06-07 Fujitsu Limited Coherency maintaining device and coherency maintaining method
JP2008123497A (ja) * 2006-11-13 2008-05-29 Internatl Business Mach Corp <Ibm> メモリ・キャッシュ内のデータを無効化する方法、コンピュータ可読媒体及びイメージ処理システム

Also Published As

Publication number Publication date
JP3193686B2 (ja) 2001-07-30
US6115794A (en) 2000-09-05

Similar Documents

Publication Publication Date Title
US5749095A (en) Multiprocessing system configured to perform efficient write operations
JP4082612B2 (ja) 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム
US5734922A (en) Multiprocessing system configured to detect and efficiently provide for migratory data access patterns
US5878268A (en) Multiprocessing system configured to store coherency state within multiple subnodes of a processing node
US9792210B2 (en) Region probe filter for distributed memory system
US6826651B2 (en) State-based allocation and replacement for improved hit ratio in directory caches
US7277992B2 (en) Cache eviction technique for reducing cache eviction traffic
US5860159A (en) Multiprocessing system including an apparatus for optimizing spin--lock operations
EP0817076B1 (en) A multiprocessing computer system employing local and global address spaces and multiple access modes
EP0817093B1 (en) A multiprocessor system configured to perform block copy operations
US6901495B2 (en) Cache memory system allowing concurrent reads and writes to cache lines to increase snoop bandwith
US7698508B2 (en) System and method for reducing unnecessary cache operations
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
EP0818733B1 (en) A multiprocessing system configured to perform software initiated prefetch operations
US6973547B2 (en) Coherence message prediction mechanism and multiprocessing computer system employing the same
JPH10301850A (ja) データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム
JPH10187631A (ja) 拡張された対称マルチプロセッサ・アーキテクチャ
US12093177B2 (en) Multi-level partitioned snoop filter
JPH11296432A (ja) 情報処理装置とメモリ管理方式

Legal Events

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