JPH05257809A - キャッシュ・コントローラ - Google Patents

キャッシュ・コントローラ

Info

Publication number
JPH05257809A
JPH05257809A JP4354253A JP35425392A JPH05257809A JP H05257809 A JPH05257809 A JP H05257809A JP 4354253 A JP4354253 A JP 4354253A JP 35425392 A JP35425392 A JP 35425392A JP H05257809 A JPH05257809 A JP H05257809A
Authority
JP
Japan
Prior art keywords
cache
value
memory array
interface means
bus interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4354253A
Other languages
English (en)
Inventor
Bradford B Beavers
ブラッドフォード・ビー・ビーバーズ
A Reed Paul
ポール・エイ・リード
Jeff A Slaton
ジェフ・エイ・スラトン
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH05257809A publication Critical patent/JPH05257809A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies

Landscapes

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

Abstract

(57)【要約】 【目的】 階層キャッシュメモリシステム10におい
て、包含を効率的に判定し、2以上のメモリアレイ1
6,18,22の間でデータのコヒーレンシーを確保す
る。 【構成】 メモリシステム10においては、補助キャッ
シュ18が第1メモリ34内の補助キャッシュ情報と、
第2メモリ36内の主キャッシュ包含情報を記憶する。
メモリ36は、主キャッシュ16内に記憶されている情
報値の一部分しか記憶せず、その部分をインデクスとし
て用いて、その情報値が主キャッシュ16に含まれてい
るか否かを表す。比較器38,40,42を用いて、第
2レベルのキャッシュ・タグ値を、第1部分と比較し、
インデクスを、主キャッシュ16に記憶されている情報
値の残りの部分と比較する。論理回路44は比較器3
8,40,42の出力を処理して、情報値が主キャッシ
ュ16に含まれているか否かを判定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的にキャッシュ・
メモリ・システムに関する。さらに詳しくは、キャッシ
ュ・メモリ・システム内の補助または2次キャッシュ・
コントローラに関する。
【0002】
【従来の技術】知識と技術とが複雑になるにつれて、よ
り高速でより多くの機能を実行するためのデータ処理シ
ステムが必要とされる。データ・プロセッサがその性能
を最大限に発揮することができるようにするためには、
従来の回路構成を改良して各機能をできるだけ迅速に実
行できるようにしなければならない。特に、いかなるデ
ータ処理システムにとっても適切な動作を行うために必
要な情報を記憶するメモリ・システムは、データ・プロ
セッサが実行する速度と互換性のある速度で情報の検索
および提供を行うことができなければならない。情報を
より迅速に提供するために、キャッシュ・メモリ階層シ
ステムが開発された。
【0003】キャッシュ・メモリ階層システムにおいて
は、1個以上の小型のキャッシュ・メモリ回路がデータ
・プロセッサと、より大型のキャッシュ・メモリ回路と
の間に配置される。小型のキャッシュ・メモリ回路は、
一般的に主(1次)キャッシュと呼ばれ、大型のメモリ
回路は一般的に補助(2次)キャッシュと呼ばれる。キ
ャッシュ・メモリ階層内では、より迅速にデータを提供
するために主キャッシュが用いられ、データ・プロセッ
サにより要求される情報値をより迅速にアクセスするこ
とのできるキャッシュ・メモリ内に記憶する確率を高め
るために補助キャッシュが用いられる。補助キャッシュ
から情報値にアクセスしなければならないときは、キャ
ッシュ・アクセス時間は主キャッシュのキャッシュ・ア
クセス時間よりも長いが、それでも従来のメモリ回路の
アクセス時間よりは実質的に短い。
【0004】キャッシュ・メモリ階層によりキャッシュ
・アクセス時間が実質的に劣ることはないが、キャッシ
ュ・メモリ階層システムは、各メモリのコンポーネント
間でデータの首尾一貫性(コヒーレンシー:coher
ency)を要求する。たとえば、1つの補助キャッシ
ュ内の所定のアドレス値にある情報値が修正されると、
その修正値は主キャッシュによっても維持されなければ
ならない。そのため主キャッシュを試験あるいは検索
(snoop)して、その中に情報値があるか否かを判
定しなければならない。キャッシュ・メモリ階層システ
ムにおいては、多くの数の情報値が修正され、主キャッ
シュ・メモリと補助キャッシュ・メモリとの間で伝播さ
れる。それぞれの情報値を主キャッシュ・メモリまたは
補助キャッシュ・メモリのいずれかに伝播しなければな
らないと、システム全体の性能がかなり遅くなる。さら
に、主キャッシュ・メモリと補助キャッシュ・メモリと
が実際にその情報値を記憶しているか否かを判定するた
めに必要な時間のために、データ処理システム全体の処
理時間も悪影響を受ける。キャッシュ・メモリ階層シス
テムが拡大するにつれて、データのコヒーレンシーを持
たせるために起こる問題が増える。キャッシュ・メモリ
階層システムの各コンポーネント間のデータのコヒーレ
ンシーを持たせるために必要な処理時間が実質的に増大
し、その結果キャッシュ・メモリ階層システムの性能が
落ちる。
【0005】データにコヒーレンシーを持たせ、なおか
つそのために通常かかる時間を減らすためには、一般的
に包含(インクルージョン:inclusion)が施
行される。包含とは、主キャッシュのすべての内容が、
それぞれの補助キャッシュ内にもあるという特性であ
る。包含を施行することにより、補助キャッシュに含ま
れていない情報値を検索する動作は、定義上は主キャッ
シュには含まれない。そのため、実行しなければならな
い検索動作の数が減り、キャッシュ・メモリ階層システ
ムは、最小限の時間内により多くのメモリ・アクセスと
修正とを処理することができる。包含によりキャッシュ
・メモリ階層システムの性能は向上するが、包含を施行
し、その後で検索動作を行うために必要な時間は、依然
としてメモリ・システムにより必要とされる処理時間に
おける重要な部分となっている。また、包含を施行する
ために用いられる回路構成は、大きな回路構成面積を必
要とし、その面積は、一般的に集積回路においてはたや
すく得られるものではない。包含を施行するために一般
的に用いられるいくつかの方法を、以下により詳細に説
明する。
【0006】キャッシュ・メモリ階層において包含を施
行する第1の方法では、補助キャッシュに格納される情
報値に対するすべての修正は、主キャッシュ内の関連の
情報値を試験するために伝播される。その情報値が主キ
ャッシュ内にある場合は、主キャッシュ内でも情報値が
修正される。しかし主キャッシュに情報値が記憶されて
いない場合は、主キャッシュ内の情報値は修正されな
い。第1の方法では、補助キャッシュ内で修正された各
情報値は、主キャッシュ内でも修正されるが、主キャッ
シュと補助キャッシュとの間で余分な情報を転送しなけ
ればならない。情報値が補助キャッシュに記憶されてい
ない場合でも、修正された情報値を主キャッシュに伝播
して、包含の試験をしなければならない。補助キャッシ
ュ内の各トランザクションにかかる時間は、情報値を主
キャッシュ内で修正しなければならないか否かを判定す
るために必要な分だけ長くなる。各キャッシュのトラン
ザクションにかかる時間が長くなることにより、データ
・プロセッサの性能は低下する。
【0007】包含を施行する第2の方法は、主キャッシ
ュおよび補助キャッシュのそれぞれの相対的編成に依存
する。Jean−Loup BaerおよびWen−H
ann Wangにより著された「On the In
clusion Properties for Mu
lti−Level Cache Hierarchi
es」と題された第1の論文は、主キャッシュと補助キ
ャッシュの編成を用いて包含を施行する方法を説明して
いる。この論文は、1987年の「IEEE」に発表さ
れた。これもBaerとWangにより著された「Mu
ltilevel Cache Hierarchie
s:Organizations,Protocol
s,and Performance」という題の第2
の論文でも、包含を施行するための編成の使用について
説明している。第2の論文は、1989年に発行された
「Journal of Parallel and
Distributed Computing 6」で
発表された。それぞれの論文で説明されているように、
主キャッシュおよび補助キャッシュの相対的な編成に基
づき包含が実現される。第2の方法では、包含を施行す
る方法が提供されるが、主キャッシュと補助キャッシュ
のそれぞれの相対的編成により、それぞれのキャッシュ
を実現するために用いられる回路構成に新たな制約が課
される。また、これらのキャッシュの編成は、多くのキ
ャッシュ・メモリ・システム設計において容易に実現で
きるものではない。
【0008】モトローラ社のMC88100/MC88
200およびMC68040などいくつかのデータ処理
システムにおいては、包含を施行するために第3の方法
が用いられる。第3の方法では、データ・プロセッサが
複数のデータ値を提供し、主キャッシュ内に記憶されて
いる情報値の外部コピーが作成される。補助キャッシュ
内の複数の情報値のそれぞれに包含ビットが追加され、
情報値が補助キャッシュにもあるか否かを表す。次に、
包含ビットと情報値の外部コピーとが試験されて、補助
キャッシュ内でアクセスされた情報値を主キャッシュ内
でも修正すべきか否かが判定される。逆に、主キャッシ
ュ内で情報値が修正されたときは、その修正された情報
値は補助キャッシュ内でも修正しなければならない。
【0009】
【発明が解決しようとする課題】第3の方法を用いて包
含を施行するには、後の試験のために情報値の外部コピ
ーを作成するための処理時間が必要とされる。また、補
助キャッシュ内で新たにビットを追加しかつ主キャッシ
ュ内に記憶されている情報値の外部コピーを記憶するた
めの別のメモリを追加することにより、補助キャッシュ
で用いられる回路構成の面積が実質的に増大する。
【0010】そのため、システムの各メモリ・コンポー
ネントの間で効率的に包含を施行するためのキャッシュ
・コントローラを有するキャッシュ・メモリ・システム
に対する必要性が生まれる。補助キャッシュ内でアクセ
スされた情報値に対する修正は、最小限の時間内に主キ
ャッシュに伝播されなければならない。また、最小限の
回路構成を用いて、システムの各メモリ・コンポーネン
ト間にデータコヒーレンシーをもたせて、回路面積と複
雑性とを最小限に抑えなければならない。
【0011】
【課題を解決するための手段】前述された必要性は、本
発明により達成される。従って、1つの形態でキャッシ
ュ・コントローラが提供される。本キャッシュ・コント
ローラには、キャッシュ・コントローラを第1バスに結
合させる第1バス・インタフェースと、キャッシュ・コ
ントローラを第2バスに結合させる第2バス・インタフ
ェースとが含まれる。また本キャッシュ・コントローラ
には、第1キャッシュ・タグ・メモリ・アレイが含まれ
る。第1アクセス論理が第1バス・インタフェース手
段,第2バス・インタフェース手段および第1キャッシ
ュ・タグ・メモリ・アレイに結合される。第1アクセス
論理は、第1または第2バス・インタフェースのいずれ
か1つにより与えられる情報値の第1部分を処理するこ
とにより、第1キャッシュ・タグ・メモリ・アレイにア
クセスして、キャッシュ・タグ値を生成する。第1比較
論理回路が第1バス・インタフェース,第2バス・イン
タフェースおよび第1アクセス論理に結合され、前記情
報値の第2部分をキャッシュ・タグ値と比較して、第1
整合信号を生成する。キャッシュ・コントローラには、
包含インデクス・メモリ・アレイも含まれる。第2アク
セス論理は、第1バス・インタフェース,第2バス・イ
ンタフェースおよび包含インデクス・メモリ・アレイに
結合され、情報値の第3部分を処理することにより包含
インデクス・メモリ・アレイにアクセスして、包含イン
デクスを生成する。第2比較論理回路は、第1バス・イ
ンタフェース,第2バス・インタフェースおよび第2ア
クセス論理に結合され、情報値の第4部分を包含インデ
クスと比較して、第2整合信号を生成する。論理回路が
設けられて、第1整合信号と第2整合信号とを組合せ
て、所定のキャッシュ・タグ値がキャッシュ・コントロ
ーラ外部のキャッシュ・タグ・メモリ・アレイに記憶さ
れているか否かを表す。
【0012】これらとその他の特徴および利点は、以下
の詳細な説明と添付の図面とによりより明確に理解され
よう。図面は本発明の唯一の形態を表すものではない点
に留意されたい。
【0013】
【実施例】本発明は、キャッシュ・メモリ階層を有する
多重プロセッサ処理システムのためのキャッシュ・コン
トローラを提供する。ここで説明する本発明の実施例に
おいては、キャッシュ・コントローラは、補助キャッシ
ュ・メモリ内で修正される情報値が、主キャッシュ・メ
モリにおいても修正されるべきか否かを最小限の時間内
で効率的に判定する。
【0014】図1に示されるのは、多重プロセッサ・デ
ータ処理システム10である。多重プロセッサ・データ
処理システム10は、階層システムであって、一般に、
プロセッサA14と第1キャッシュ16とを有する主シ
ステム12を備える。通常、主システム12は、モトロ
ーラ社製MC88110 RISC装置などの単一の集
積回路上に実現することができる。しかし主システム1
2は、データ処理システム10のユーザの必要性に応じ
て、単一の集積部品として、あるいは複数の異なるコン
ポーネントとして実現してもよい。多重プロセッサ・デ
ータ処理システム10には、第2キャッシュ・コントロ
ーラ18,第2データ・キャッシュ・メモリ19,プロ
セッサB20およびメモリ回路22も含まれる。第2キ
ャッシュ・コントローラ18は、主システム12または
プロセッサB20によりアクセスあるいは修正されたデ
ータ値が、第2データ・キャッシュ・メモリ19内に記
憶されているか否かを判定する。
【0015】プロセッサA14の双方向ポートは、デー
タおよび情報値を第1キャッシュ16の第1双方向ポー
トに伝達する。第1キャッシュ16の第2双方向ポート
は、第1キャッシュ・インタフェース・バス26を介し
て、第2キャッシュ・コントローラ18の第1双方向ポ
ートに接続されている。第2キャッシュ・コントローラ
18の第2双方向ポートは、システム・インタフェース
・バス24を介して、プロセッサB20の双方向ポート
とメモリ回路22とに接続されている。第2キャッシュ
・コントローラ18の第3双方向ポートは、第2データ
・キャッシュ・メモリ19の双方向ポートに接続されて
いる。
【0016】動作中は、データ処理システム10は、複
数の機能を実行して、第1キャッシュ16と、第2デー
タ・キャッシュ・メモリ19と、メモリ回路22との間
でデータのコヒーレンシーを確保する。メモリ・システ
ム10においては、複数のステータス・ビットにより、
第1キャッシュ16,第2データ・キャッシュ・メモリ
19およびメモリ回路22のいずれが最近に修正された
情報値を記憶しているかが示されていれば、データのコ
ヒーレンシーは維持される。さらに、メモリ・システム
10により、包含が施行され、第2データ・キャッシュ
・メモリ19と第1キャッシュ16との間で検索動作の
フィルタリングが行われる。
【0017】一例として、プロセッサA14が所定のア
ドレス位置に記憶されている情報値にアクセスするとす
る。そのアドレス位置が最近アクセスされたものであれ
ば、そこに記憶されている情報値は、第1キャッシュ1
6により与えられる。しかし、その情報値がより以前に
使われた場合は、情報値は第2データ・キャッシュ・メ
モリ19またはメモリ回路22のいずれかに記憶されて
いる。情報値が第2データ・キャッシュ・メモリ19に
記憶されている場合は、情報値は第1キャッシュ・イン
タフェース・バス26を介して第1キャッシュ16に送
られる。その後、第1キャッシュ16はそのメモリを更
新して、新しい値がアクセスされたことを反映し、それ
から情報値はプロセッサAに送られる。同様に情報値が
メモリ回路22にある場合は、情報値はシステム・イン
タフェース・バス24を介して第2キャッシュ・コント
ローラ18に送られる。第2キャッシュ・コントローラ
18は、メモリと第2データ・キャッシュ・メモリ19
の両方を更新して、アクセスされた情報値を記憶し、そ
の情報値を第1キャッシュ・インタフェース・バス26
を介して第1キャッシュ16に伝える。この場合も、第
1キャッシュ16がそのメモリを修正して、アクセスさ
れた情報値を記憶し、その後で情報値をプロセッサA1
4に送る。いずれの場合も、第1キャッシュ16,第2
データ・キャッシュ・メモリ19およびメモリ回路22
間のデータコヒーレンシーは維持される。
【0018】同様にプロセッサB20がメモリ22内の
所定のアドレス位置にあるデータ値を修正すると、第2
キャッシュ・コントローラ18が試験あるいは検索さ
れ、第2データ・キャッシュ・メモリ19がそのデータ
値を記憶しているか否かが判定される。また、第2キャ
ッシュ・コントローラ18は、そのデータ値が第1キャ
ッシュ16内に記憶されているか否かを判定する。ここ
で説明される本発明の実施例においては、第2キャッシ
ュ・コントローラ18は、最小限の時間内に追加の回路
構成をほとんど用いずにこの決定を効率的に行う。
【0019】図2に第2キャッシュ・コントローラ18
をより詳細に示す。特定の実施例においては、第2キャ
ッシュ・コントローラ18は、MC88410と呼ばれ
るアメリカ合衆国テキサス州、オースチンのモトローラ
社製の単独の集積回路である。MC88410は、16
Kのエントリまたはラインを有する直接マッピングされ
た補助データ・キャッシュに対応するために必要な制御
およびキャッシュ・タグ機能性をすべて備えている。以
下に説明されるように、MC88410は、主キャッシ
ュに関して包含を施行する装置となる。この装置は、特
に、MC88110 RISCマイクロプロセッサ上に
実現される主キャッシュに対応するために設計されてい
る。MC88410には、データ・キャッシュを実現す
るために必要なメモリ装置は含まれていない。図2で
は、本発明をより良く説明するために、MC88410
を非常に簡略化した形で描いている。
【0020】図2に示されるように、第2キャッシュ・
コントローラ18には、一般的には、マルチプレクサ3
0,リクエスト・コントローラ32,アクセス論理回路
33,MTAGメモリ34,アクセス論理回路35,P
TAGメモリ36,比較器38,比較器40,比較器4
2および論理回路44が含まれる。
【0021】MTAGメモリ34は、第2データ・キャ
ッシュ・メモリ19に対応するために必要な複数のタグ
とステータス・ビットとを記憶するキャッシュ・タグ・
メモリである。PTAGメモリ36は、MTAGメモリ
34に記憶されている複数のタグおよびステータス・ビ
ットと合成されたときに、第1キャッシュ16に関して
包含を施行し、第1キャッシュ16が実行しなければな
らない検索トランザクションの回数を減らすために必要
な複数の情報値を記憶するキャッシュ・タグ・メモリで
ある。
【0022】システム・インタフェース・バス24は、
リクエスト・コントローラ32の第1入力に接続され、
「システム・インタフェース制御」と記された信号を供
給し、第1キャッシュ・インタフェース・バス26は、
リクエスト・コントローラ32の第2入力に接続され
て、「第1キャッシュ・インタフェース制御」と記され
た信号を供給する。リクエスト・コントローラ32の出
力は、マルチプレクサ30に接続され、「マルチプレク
サ制御」と記された信号を供給する。システム・インタ
フェース・バス24は、マルチプレクサ30の第1双方
向ポートに接続され、第1キャッシュ・インタフェース
・バス26は、マルチプレクサ30の第2双方向ポート
に接続される。マルチプレクサ30の第3双方向ポート
は、アドレス・インタフェース・バス28を介して、ア
クセス論理回路33の第1および第2入力と、アクセス
論理35の第1,第2および第3入力とに接続されてい
る。アドレス・インタフェース・バス28は、ビット3
1ないし19を含む値の第1部分を、アクセス論理回路
33の第1入力に送る。これらのビットを集合的に「A
31:19」と示す。イネーブルになると、MTAGメ
モリ34は、アクセス論理33に結合されて、ビットA
31:19のそれぞれを受け取り、その後MTAGメモ
リ34の所定の記憶位置に記憶する。アドレス・インタ
フェース・バス28もまた、ビット18ないし5を含む
アドレス値の第2部分を、アクセス論理回路33の第2
入力に送る。これらのビットは集合的に「A18:5」
と示す。アクセス論理回路33は、ビットA18:5を
解読して、MTAGメモリ34内の所定の記憶位置にア
クセスする。
【0023】アドレス・インタフェース・バス28はま
た、アドレス値の第3部分を、アクセス論理回路35の
第1入力に送る。アドレス値の第3部分は、集合的に
「A18:12」と示され、これにはアドレス値のビッ
ト18ないし12が含まれる。イネーブルになると、P
TAGメモリ36は、アクセス論理回路35に結合さ
れ、ビットA18:12のそれぞれを受け取り、その後
で、PTAGメモリ36内の所定の記憶位置に記憶す
る。また、アドレス・インタフェース・バス28もま
た、アドレス値の第4部分をアクセス論理回路35の第
2入力に送る。アドレス値の第4部分には、ビット11
ないし5が含まれ、集合的に「A11:5」と示され
る。アクセス論理回路35は、ビットA11:5を解読
して、PTAGメモリ36内の所定の記憶位置にアクセ
スする。「PWAY」と記された信号がアドレス・イン
タフェース・バス28を介してアクセス論理回路35の
第3入力に送られる。さらに、マルチプレクサ30の第
3双方向ポートが、アドレス・インタフェース・バス2
8を介して、比較器38,比較器40および比較器42
のそれぞれの第1入力に接続される。ビットA31:1
9は比較器38に送られ、ビットA18:12は比較器
40および比較器42の両方に送られる。
【0024】MTAGメモリ34の第1出力は、比較器
38の第2入力に接続され、「MOUT」と記された信
号を設ける。比較器38の出力は、論理回路44の第1
入力に接続され、「M HIT」と記された信号を与え
る。MTAGメモリ34の第2出力は、論理回路44の
第2入力に接続され、「有効(valid)」と記され
た信号を与える。PTAGメモリ36の第1出力は、比
較器40の第2入力に接続され、「POUT 0」と記
された信号を与える。比較器40の出力は、論理回路4
4の第3入力に接続され、「P0 HIT」と記された
信号を与える。同様に、PTAGメモリ36の第2出力
は、比較器42の第2入力に接続され、「POUT
1」と記された信号を与える。比較器42の出力は、論
理回路44の第4入力に接続され、「P1 HIT」と
記された信号を与える。論理回路44の出力は、「第1
キャッシュ無効化(First Cache Inva
lidate)」と記された信号を第2キャッシュ・イ
ンタフェース・バス26に送る。第1キャッシュ・イン
タフェース・バス26は次に、第1キャッシュ無効化信
号とアドレス値の両方を第1キャッシュ16に送る。
【0025】動作中は、第2キャッシュ・コントローラ
18は、第2データ・キャッシュ・メモリ19と、主シ
ステム12,プロセッサB20およびメモリ回路22の
いずれか1つとの間のインタフェースを行う。たとえ
ば、プロセッサB20がメモリ回路22内のあるアドレ
ス位置のデータ値を修正すると、第2キャッシュ・コン
トローラ18はMTAGメモリ34とPTAGメモリ3
6の両方を同時に試験して、第2データ・キャッシュ・
メモリ19および第1キャッシュ16においてもそのデ
ータ値を修正すべきか否かをそれぞれ判定し、データの
コヒーレンシーを維持する。
【0026】プロセッサBがデータ値を修正すると、シ
ステム・インタフェース・バス24を介して、メモリ回
路22と第2キャッシュ・コントローラ18の両方に、
対応するアドレス位置が送られる。メモリ回路22は、
修正されていない、すなわち古いデータ値が記憶されて
いるメモリ位置にアクセスして、その後でその古いデー
タ値を修正されたデータ値を反映するように修正する。
同時に、対応するアドレスが、第2キャッシュ・コント
ローラ18のリクエスト・コントローラ32とマルチプ
レクサ30にも送られる。情報値が第2データ・キャッ
シュ・メモリ19および第1キャッシュ16に含まれて
いるか否かを、第2キャッシュ・コントローラ18が判
定できるようにするには、システム・インタフェース制
御信号をアサート(肯定:assert)して、リクエ
スト・コントローラ32がマルチプレクサ制御信号を送
ることができるようにする。マルチプレクサ制御信号に
より、マルチプレクサ30は、アドレス・インタフェー
ス・バス28を介して対応するアドレス値を送ることが
できる。
【0027】本発明のこの実施例においては、MTAG
メモリ34は13ビット幅のTAG値を記憶することが
できるように構成されている。アドレス・インタフェー
ス・バス28により転送されるアドレス位置のビット5
ないし18(A18:5)が解読されて、TAG値を記
憶するMTAGメモリ34の所定のメモリ記憶位置を表
す。ビットA18:5がアクセス論理33により解読さ
れると、対応するTAG値がMOUT信号を介して比較
器38に送られる。さらにMTAGメモリ34はその中
に、各メモリ記憶位置に関する妥当性ビット(vali
dity bit)を記憶している。妥当性ビットは、
第2データ・キャッシュ・メモリ19が、メモリ記憶位
置に記憶されている情報値の有効なコピーを持っている
か否かを示す。
【0028】第2キャッシュ・コントローラ18はま
ず、プロセッサB20により修正された情報値が、第2
データ・キャッシュ・メモリ19および第1キャッシュ
16のいずれか一方に記憶されているのか、あるいは両
方に記憶されているのかを判定しなければならない。情
報値が第2データ・キャッシュ・メモリ19に記憶され
ているか否かを判定するには、比較器38でMOUT信
号をビットA31:19と比較する。ビットA18:5
によりアクセスされたTAG値を含むMOUT信号がビ
ットA31:19により転送された情報値と等しい場合
は、比較器38は、論理回路44に対して高論理値のM
HIT信号を送る。MOUT信号がビットA31:1
9により転送された情報値に等しくない場合は、比較器
38は論理回路44に対して、低論理値のM HIT信
号を送る。また、M HIT信号が論理回路44に送ら
れると、解読ビットA18:5によりアクセスされたT
AG値に対応する妥当性ビットも、有効信号を介して論
理回路44に送られる。有効信号が高論理値を有する場
合、TAG値は有効である。この状態は、第2キャッシ
ュ・データ・メモリ19が、アクセスされたデータ値を
含んでいることを示す。この場合、TAG値に対応する
妥当性ビットを修正しなければならない。この修正はキ
ャッシュ・エントリの無効化またはフラッシング(fl
ushing)と呼ばれる。
【0029】ここで説明する例では、PTAGメモリ3
6は128セット連想双方向の集合である。PTAGメ
モリ36のこの編成は、128セットの双方向セット連
想キャッシュである第1キャッシュ16の編成により決
定される。PTAGメモリ36は、キャッシュ・コント
ローラ18がそれにより動作されるように設計されてい
る主キャッシュの編成と同じでなければならない。双方
向セット連想(two−way set associ
ative)とは、PTAGメモリ36内の各メモリ記
憶アドレスが、PWAY信号の値により、実際に2つの
記憶位置にアクセスすることを示す。この例では、PT
AGメモリ36は、双方向セット連想キャッシュとして
図示されているが、PTAGメモリ36は、nが整数で
ある、n方向セット連想キャッシュとして実現すること
ができる。セット連想キャッシュに関しては、1982
年9月に発行されたA.J.Smith著のCompu
ting Surveys,Volume 14,Nu
mber 3を参照されたい。
【0030】PTAGメモリ36は、7ビット幅の包含
インデクス値を記憶するように構成される。アドレス・
インタフェース・バス28により転送されたアドレスの
ビット5ないし11(A11:5)が解読されて、包含
インデクス値を記憶するPTAGメモリ36内の所定の
メモリ記憶位置を表す。第1キャッシュ16でも、ビッ
トA11:5が解読され、キャッシュ・タグ値を含む外
部キャッシュ・タグ・メモリ(図示せず)内の所定のメ
モリ記憶位置を表す。しかし第1キャッシュ16内でビ
ットA11:5によりアクセスされたキャッシュ・タグ
値には、ビット31ないし12(A31:12)が含ま
れ、12ビット幅となっている。
【0031】ビットA11:5がPTAGメモリ36で
解読されると、対応する包含インデクス値が、POUT
0信号を介して比較器40に送られ、同時にPOUT
1信号を介して比較器42にも送られる。さらにPT
AGメモリ36には、各メモリ記憶位置に関する包含ビ
ットが記憶されている。包含ビットは、第1キャッシュ
16が、情報値の有効なコピーを有しているか否かを示
す。包含ビットが論理0であれば、第1キャッシュ16
は情報値の有効なコピーを持たない。同様に、包含ビッ
トが高論理値である場合は、第1キャッシュ16は有効
なコピーを持たない。比較器40にPOUT 0信号が
送られると、解読ビットA11:5によりアクセスされ
た包含インデクス値に対応する包含ビットは、「I0」
と記された信号を介して、同時に比較器40に送られ
る。同様に、POUT 1信号が比較器42に送られる
と、解読ビットA11:5によりアクセスされた包含イ
ンデクス値に対応する包含ビットが「I1」と記された
信号を介して、同時に比較器40に送られる。
【0032】アドレス・インタフェース・バス28を介
して送られるアドレスに対応する情報値が、第1キャッ
シュ16に記憶されているか否かを判定するためには、
ビットA18:2を、比較器40のPOUT 1および
比較器42のPOUT 1の両方と比較する。また、I
0およびI1信号も、それぞれ比較器40と比較器42
とに送られる。POUT 0またはPOUT 1信号の
うち、PTAGメモリ36に記憶されている包含インデ
クス値を含むいずれか一方が、ビットA18:12によ
り転送されたアドレス値に等しく、対応するI0または
I1信号が高論理値であると、比較器40または比較器
42は、論理回路44に対して、高論理値のP0 HI
T信号またはP1 HIT信号をそれぞれ送る。POU
T 0信号もPOUT 1信号も、ビットA18:12
により転送されたアドレス値に等しくない場合、あるい
は対応するI0またはI1が低論理値である場合は、比
較器40と比較器42とは、論理回路44に対して低論
理値のP0 HIT信号およびP1 HIT信号をそれ
ぞれ送る。
【0033】論理回路44は次に、M HIT,有効,
P0 HITおよびP1 HIT信号のそれぞれを処理
して、第1キャッシュ16で情報値を修正すべきか否か
を判定する。M HIT信号が高論理値で、有効信号が
高論理値である場合は、転送されたアドレス位置に記憶
されている情報は、有効データ値であり、MTAGメモ
リ34の内容を修正してデータのコヒーレンシーを維持
しなければならない。さらに第1キャッシュ内で情報値
を修正すべきか否かを判定するためには、P0HITま
たはP1 HIT信号のいずれかは、PTAGメモリ3
6が第1キャッシュ16内に記憶されている情報値を示
す包含インデクス値を記憶することを表す高論理値を持
たなければならない。これらの要件のいずれかが満たさ
れると、論理回路44は第1キャッシュ無効化信号をア
サートする。第1キャッシュ無効化信号はアサートされ
ると、第1キャッシュ・インタフェース・バス26を介
して、第1キャッシュ16に送られる。また、データ値
のアドレスも、第1キャッシュ・インタフェース・バス
26を介して第1キャッシュ16に送られる。第1キャ
ッシュ無効化信号は、第1キャッシュの対応するアドレ
スの修正された情報値を無効化して、修正された情報値
はその後の動作において、その中に記憶されることにな
る。
【0034】修正された情報値を記憶するために、リク
エスト・コントローラ32はマルチプレクサ制御信号を
送り、MTAGメモリ34が、ビットA18:5により
定義されたアドレス位置において妥当性ビットを適切に
修正することができるようにする。PTAGメモリ36
もまた修正して、データのコヒーレンシーを図らねばな
らない。ビットA11:5により定義されたアドレス位
置に対応する包含ビットもまた、適切に修正しなければ
ならない。
【0035】さらに、第1キャッシュ無効化信号がアサ
ートされ、第1キャッシュ・インタフェース・バス26
を介して第1キャッシュ16に送られると、ビットA1
1:5により定義されたアドレス位置に対応する妥当性
ビットがフラッシュされる、すなわち除去される。次
に、ビットA31:12がビットA11:5によりアド
レス位置に記憶される。アドレス・ビットのそれぞれ
と、第1キャッシュ無効化信号とが第1キャッシュ・イ
ンタフェース・バス26を介して第1キャッシュ16に
送られる。
【0036】情報値はデータ処理システム10内で修正
され、データのコヒーレンシーが最小限の時間内に達成
される。第1キャッシュ16に対してすべての修正を伝
えずに、PTAGメモリ36を用いて情報値が第1キャ
ッシュ16内に記憶されているか否かを判定する。PT
AGメモリ36により、第1キャッシュ16とMTAG
メモリとの両方において、情報値の同時試験が可能にな
り、包含が決定される。第1キャッシュ16に記憶され
ている情報が、包含インデクス値と連結されたMTAG
34に記憶されている情報値と等価であることを認識す
ることにより、包含を決定するために必要な回路構成と
時間の両方が最小限に抑えられる。そのためM HIT
と、P0 HITまたはP1 HITのいずれかとの両
方がアサートされると、論理回路44がイネーブルにな
り、第1キャッシュ16を修正してデータのコヒーレン
シーを維持しなければならないことが示される。さらに
PTAGメモリ36は、第1キャッシュ16の内容の一
部分しか記憶していないので、データのコヒーレンシー
を維持するために必要な回路構成は最小限で済む。
【0037】第1キャッシュ16と第2キャッシュ・コ
ントローラ18においてさまざまな目的のために用いら
れるアドレス値のさまざまな部分の間の関係は、図3を
参照するとさらによく理解されよう。第1キャッシュ1
6において、アドレス・ビットA4:0は用いられな
い、すなわち「考慮されない」。アドレス・ビットA1
1:5は、タグ・インデクス(TAG INDEX)と
呼ばれ、主システム12内でキャッシュ・タグ・メモリ
(図示せず)にアクセスするために用いられる。また、
アドレス・ビットA31:12はTAG(タグ)と呼ば
れ、主システム12内のキャッシュ・タグ・メモリに記
憶される。第2キャッシュ・コントローラ18のMTA
Gメモリ34においては、アドレス・ビットA4:0は
用いられず、アドレス・ビットA18:5がタグ・イン
デクスとなり、アクセス論理回路33により解読されて
MTAGメモリ34にアクセスする。同様に、アドレス
・ビットA31:19がTAGとなり、MTAGメモリ
34に記憶される。第2キャッシュ・コントローラ18
のPTAGメモリ36においては、アドレス・ビットA
4:0は用いられない。アドレス・ビットA11:5が
アクセス論理回路35により解読されて、PTAGメモ
リ36にアクセスする。INCLUSIONINDEX
(包含インデクス)は、ビットA18:2により形成さ
れ、PTAGメモリ36に記憶される。第1キャッシュ
16とPTAGメモリ36の場合のインデクス(IND
EX)ビットは、同じアドレス・ビットである。また、
PTAGメモリ36のINCLUSION INDEX
は、第1キャッシュ16のTAGには含まれるが、MT
AGメモリ34のTAGには含まれないアドレスにより
構成される。アドレス・ビットA31:19はPTAG
メモリ36において用いられる、あるいは実現される必
要はない。この関係こそ、PTAGメモリ36を最小限
の寸法にしながら包含を施行するために必要な機能性を
提供し、第1キャッシュ16により実行されなければな
らない検索トランザクションの数を減らすことができる
ものである。
【0038】ここで説明された本発明の実施例は、例と
して提供されたに過ぎない。ここで説明された機能を実
行するために、他にも多くの実施例が存在する。たとえ
ば、主システム12は単独の集積回路上でも、異なるコ
ンポーネントとしても実現することができる。また、図
1のメモリ・システム10ではプロセッサB20しか図
示されていないが、複数の他のデータ・プロセッサを使
用してもよい。また、リクエスト・コントローラ32は
第2キャッシュ・コントローラ18の動作を制御する状
態機械(state machine)として実現して
もよい。PTAGメモリ36もまた、単独のマッピング
されたキャッシュ・メモリとして、あるいは、協働する
主キャッシュの編成により、nが整数であるところのn
方向連想(n−way associative)キャ
ッシュ・メモリとして実現してもよい。
【0039】以上本発明の原理を説明してきたが、この
説明はあくまでも例としてなされたものに過ぎず、本発
明の範囲を制限するものでないことは当業者には明確に
理解いただけよう。従って、添付の請求の範囲により、
本発明の精神と範囲に入るすべての修正を包括するもの
とする。
【0040】
【発明の効果】以上のように、本発明によれば、包含を
効率的に判定しかつ2つ以上のメモリアレイ間における
データのコヒーレンシーを保証できる階層キャッシュメ
モリシステムが提供される。
【図面の簡単な説明】
【図1】本発明によるキャッシュ・コントローラを有す
るキャッシュ多重プロセッサ・データ処理システムのブ
ロック図である。
【図2】図1の第2キャッシュ・コントローラのブロッ
ク図である。
【図3】本発明によるアドレス値の相対的な使用法を示
す説明図である。
【符号の説明】
10 メモリ・システム 12 主システム 14,20 プロセッサ 16 キャッシュ 18 キャッシュ・コントローラ 19 データ・キャッシュ・メモリ 22 メモリ 24 システム・インタフェース 26 キャッシュ・インタフェース
フロントページの続き (72)発明者 ジェフ・エイ・スラトン アメリカ合衆国テキサス州78745、オース チン、ウィスパーリング・オークス 7217

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュ・コントローラ(18)であ
    って:前記キャッシュ・コントローラを第1バス(2
    4)に結合する第1バス・インターフェース手段(2
    0);前記キャッシュ・コントローラを第2バス(2
    6)に結合する第2バス・インターフェース手段(3
    0);第1キャッシュ・タグ・メモリ・アレイ(3
    4);前記第1バス・インタフェース手段(30)と、
    前記第2バス・インタフェース手段と、前記第1キャッ
    シュ・タグ・メモリ・アレイとに結合され、前記第1ま
    たは第2バス・インタフェース手段のいずれか一方によ
    り提供された情報値の第1部分を処理することによって
    前記第1キャッシュ・タグ・メモリ・アレイにアクセス
    して、キャッシュ・タグ値を生成する第1アクセス手段
    (33);前記第1バス・インタフェース手段と、前記
    第2バス・インタフェース手段と、前記第1アクセス手
    段とに結合され、前記情報値の第2部分と前記キャッシ
    ュ・タグ値とを比較して第1整合信号を生成する第1比
    較手段(38);包含インデクス・メモリ・アレイ(3
    6);前記第1バス・インタフェース手段(30)と、
    前記第2バス・インタフェース手段と、前記包含インデ
    クス・メモリ・アレイとに結合され、前記情報値の第3
    部分を処理することにより前記包含インデクス・メモリ
    ・アレイにアクセスして包含インデクスを生成する第2
    アクセス手段(35);前記第1バス・インタフェース
    手段と、前記第2バス・インタフェース手段と、前記第
    2アクセス手段とに結合され、前記情報値の第4部分を
    前記包含インデクスと比較して、第2整合信号を生成す
    る第2比較手段(40,42);および前記第1整合信
    号と、前記第2整合信号とを組合せて、所定のキャッシ
    ュ・タグ値が、前記キャッシュ・コントローラ外部にあ
    るキャッシュ・タグ・メモリ・アレイ内に記憶されてい
    るか否かを示す論理手段(44);を具備することを特
    徴とするキャッシュ・コントローラ(18)。
  2. 【請求項2】 データ処理システム(10)であって:
    データ・プロセッサ(20);前記データ・プロセッサ
    を第1バス(24)に結合する第1バス・インタフェー
    ス手段;第1キャッシュ・タグ・メモリ・アレイ(1
    6);第2キャッシュ・タグ・メモリ・アレイ(3
    4);前記第1キャッシュ・タグ・メモリ・アレイと、
    前記第2キャッシュ・タグ・メモリ・アレイとを、第2
    バスに結合する第2バス・インタフェース手段(3
    0);前記第1バス・インタフェース手段と、前記第2
    バス・インタフェース手段と、前記第2キャッシュ・タ
    グ・メモリ・アレイとに結合され、前記第1または第2
    バス・インタフェース手段のいずれか一方により提供さ
    れた情報値の第1部分を処理することによって前記第2
    キャッシュ・タグ・メモリ・アレイにアクセスして、キ
    ャッシュ・タグ値を生成する第1アクセス手段(3
    3);前記第1バス・インタフェース手段と、前記第2
    バス・インタフェース手段と、前記第1アクセス手段と
    に結合され、前記情報値の第2部分と前記キャッシュ・
    タグ値とを比較して第1整合信号を生成する第1比較手
    段(38);包含インデクス・メモリ・アレイ(3
    6);前記第1バス・インタフェース手段と、前記第2
    バス・インタフェース手段と、前記包含インデクス・メ
    モリ・アレイとに結合され、前記情報値の第3部分を処
    理することにより前記包含インデクス・メモリ・アレイ
    にアクセスして包含インデクスを生成する第2アクセス
    手段(35);前記第1バス・インタフェース手段と、
    前記第2バス・インタフェース手段と、前記第2アクセ
    ス手段とに結合され、前記情報値の第4部分を前記包含
    インデクスと比較して、第2整合信号を生成する第2比
    較手段(40,42);および前記第1整合信号と、前
    記第2整合信号とを組合せて、所定のキャッシュ・タグ
    値が、前記第1キャッシュ・タグ・メモリ・アレイ内に
    記憶されているか否かを示す論理手段(44);を具備
    することを特徴とするデータ処理システム(10)。
  3. 【請求項3】 第1レベル・キャッシュをシステム・イ
    ンタフェース・バスに結合してアドレス値を通信するシ
    ステム・インタフェース手段を備え、前記第1レベル・
    キャッシュは、前記アドレス値の第1部分を用いて第1
    レベル・キャッシュ・メモリ・アレイにアクセスし、第
    1レベル・キャッシュ・タグ値を生成するシステムにお
    ける、第2レベル・キャッシュ・コントローラ(18)
    であって:第2レベル・キャッシュ・メモリ・アレイ
    (34);前記第2レベル・キャッシュ・メモリ・アレ
    イを第2レベル・バス(24,26)に結合するバス・
    インタフェース手段(30);前記システム・インタフ
    ェース手段と、前記バス・インタフェース手段と、前記
    第2レベルキャッシュ・メモリ・アレイとに結合され、
    前記アドレス値の第2部分を処理することにより前記第
    2レベル・キャッシュ・メモリ・アレイにアクセスして
    第2レベル・キャッシュ・タグ値を生成する第1アクセ
    ス手段(33);前記システム・インタフェース手段
    と、前記バス・インタフェース手段と、前記第1アクセ
    ス手段とに結合され、前記アドレス値の第3部分と、前
    記第2レベル・キャッシュ・タグ値とを比較して、第1
    所定値が前記第2レベル・キャッシュ・メモリ・アレイ
    に記憶されているか否かを示す第1整合信号を生成する
    第1比較手段(38);包含メモリ・アレイ(36);
    前記システム・インタフェース手段と、前記バス・イン
    タフェース手段と、前記包含メモリ・アレイとに結合さ
    れ、前記アドレス値の第4部分を処理することにより前
    記包含メモリ・アレイにアクセスして、包含インデクス
    を生成する第2アクセス手段(35);および前記シス
    テム・インタフェース手段と、前記バス・インタフェー
    ス手段と、前記第2アクセス手段とに結合され、前記第
    2レベル・キャッシュ・タグ値に含まれない前記第1レ
    ベル・キャッシュ・タグ値の一部である、前記アドレス
    値の第5部分と、前記包含インデクスとを比較して、第
    2レベル・キャッシュ・タグ値と連結された前記アドレ
    ス値が、前記第1レベル・キャッシュ・メモリ・アレイ
    に記憶されているか否かを判定する第2比較手段(4
    0,42);を具備することを特徴とする第2レベル・
    キャッシュ・コントローラ(18)。
JP4354253A 1991-12-24 1992-12-15 キャッシュ・コントローラ Pending JPH05257809A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81307891A 1991-12-24 1991-12-24
US813,078 1991-12-24

Publications (1)

Publication Number Publication Date
JPH05257809A true JPH05257809A (ja) 1993-10-08

Family

ID=25211397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4354253A Pending JPH05257809A (ja) 1991-12-24 1992-12-15 キャッシュ・コントローラ

Country Status (3)

Country Link
EP (1) EP0549219B1 (ja)
JP (1) JPH05257809A (ja)
DE (1) DE69225876T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461207B2 (en) 2002-05-06 2008-12-02 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO1996033462A1 (de) * 1995-04-18 1996-10-24 International Business Machines Corporation Cache-speicher
WO2007094046A1 (ja) 2006-02-14 2007-08-23 Fujitsu Limited コヒーレンシ維持装置およびコヒーレンシ維持方法
JP5440067B2 (ja) * 2009-09-18 2014-03-12 富士通株式会社 キャッシュメモリ制御装置およびキャッシュメモリ制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60138653A (ja) * 1983-12-27 1985-07-23 Hitachi Ltd 階層記憶制御方式
CA2044689A1 (en) * 1990-06-15 1991-12-16 Roger E. Tipley Multilevel inclusion in multilevel cache hierarchies

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461207B2 (en) 2002-05-06 2008-12-02 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory
US7870340B2 (en) 2002-05-06 2011-01-11 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory

Also Published As

Publication number Publication date
EP0549219B1 (en) 1998-06-10
DE69225876T2 (de) 1998-12-10
DE69225876D1 (de) 1998-07-16
EP0549219A1 (en) 1993-06-30

Similar Documents

Publication Publication Date Title
US6374330B1 (en) Cache-coherency protocol with upstream undefined state
US6138208A (en) Multiple level cache memory with overlapped L1 and L2 memory access
US11734177B2 (en) Memory interface having multiple snoop processors
US8195917B2 (en) Extended page size using aggregated small pages
US8234456B2 (en) Apparatus and method for controlling the exclusivity mode of a level-two cache
US6401174B1 (en) Multiprocessing computer system employing a cluster communication error reporting mechanism
KR100885277B1 (ko) 캐시에서의 라인들을 추론적으로 무효화하는 방법 및 시스템
US5715428A (en) Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
US6721848B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US5561779A (en) Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system
US5940856A (en) Cache intervention from only one of many cache lines sharing an unmodified value
JP5583660B2 (ja) データ処理システムにおけるキャッシュ・コヒーレンス・プロトコル
US5963974A (en) Cache intervention from a cache line exclusively holding an unmodified value
US8918591B2 (en) Data processing system having selective invalidation of snoop requests and method therefor
JP3391315B2 (ja) バス制御装置
US5940864A (en) Shared memory-access priorization method for multiprocessors using caches and snoop responses
US8423721B2 (en) Cache coherency protocol in a data processing system
US6260118B1 (en) Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
JP2000010860A (ja) キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム
US7380068B2 (en) System and method for contention-based cache performance optimization
US5829027A (en) Removable processor board having first, second and third level cache system for use in a multiprocessor computer system
US6347363B1 (en) Merged vertical cache controller mechanism with combined cache controller and snoop queries for in-line caches
US5920891A (en) Architecture and method for controlling a cache memory
US5923898A (en) System for executing I/O request when an I/O request queue entry matches a snoop table entry or executing snoop when not matched
JPH05257809A (ja) キャッシュ・コントローラ