JPH06318174A - キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 - Google Patents

キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法

Info

Publication number
JPH06318174A
JPH06318174A JP5124784A JP12478493A JPH06318174A JP H06318174 A JPH06318174 A JP H06318174A JP 5124784 A JP5124784 A JP 5124784A JP 12478493 A JP12478493 A JP 12478493A JP H06318174 A JPH06318174 A JP H06318174A
Authority
JP
Japan
Prior art keywords
cache
tag
array
memory
entry
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.)
Ceased
Application number
JP5124784A
Other languages
English (en)
Inventor
Maramii Adam
アダム・マラミイ
N Patel Rajiv
ラジヴ・エヌ・パテル
M Hayes Norman
ノーマン・エム・ヘイーズ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06318174A publication Critical patent/JPH06318174A/ja
Ceased 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible

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)【要約】 (修正有) 【目的】 キャッシュ・メモリ、及び主メモリに記憶さ
れているデータのサブセットをキャッシュする方法を得
る。 【構成】 物理的タグ・アレイとセット・タグ・アレイ
との2つのキャッシュ・タグ・アレイが、キャッシュ・
ラインがセットに分割されているキャッシュと、キャッ
シュ制御論理とを有するセット連想キャッシュ装置に設
けられる。対応するタグ・エントリが2つのキャッシュ
・タグ・アレイに保存される。タイミング・エントリ内
の制御及び記述情報の読出し及び書込みを行うために、
キャッシュ制御論理は別々のタグ・アレイに対して独立
した同時のアクセスを行う。それらのアクセスは型によ
りまとめられ、各型は予め指示されたタイムスロット内
で行われるキャッシュ制御論理がある選択された読出し
/書込みアクセスを物理的タグ・アレイに対して行うこ
とができ、しかもその間にセット・タグ・アレイに対す
る別の選択された読出し/書込みアクセスを同時に行う
ことができるようにする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータにおけるキ
ャッシュ・メモリ装置の分野に関するものであり、更に
詳しく言えば、キャッシュ・メモリ装置内に別々の物理
的タグ・アレイ及びセット・タグ・アレイを有するキャ
ッシュ制御器に関するものである。
【0002】
【従来の技術】典型的には、コンピュータ装置における
中央処理装置(CPU)はコンピュータ装置主メモリよ
り十分高速で動作する。ほとんどのコンピュータ装置
は、主メモリと高速CPUの間でデータと命令をバッフ
ァするために主メモリより高速で動作できるキャッシュ
・メモリを設ける。任意の特定の時点において、主メモ
リに記憶されているデータのサブセットと命令を保存す
る。
【0003】プロセッサが読出し要求と、主メモリ内の
希望のデータのための記憶場所を識別するアドレスとを
出すと、そのアドレスをキャッシュ・メモリ内のタグ・
アレイ内のタグ・フィールドと比較することによりキャ
ッシュ・メモリが検査される。希望のデータがキャッシ
ュ・メモリ内に保存されておれば、「ヒット」が生じ、
希望のデータを主プロセッサが直ちに利用できる。希望
のデータがキャッシュ・メモリ内に保存されていなけれ
ば、「ミス」が生じ、希望のデータをより遅い主メモリ
から取り出さなければならない。キャッシュ・ラインが
選択され、その取り出されたデータを保存するために再
び割り当てられる。
【0004】典型的には、セット連想キャッシュに対し
て、キャッシュがヒットされているキャッシュ・ライン
に対するキャッシュ・タグ・アレイ内のキャッシュ・ラ
イン交換情報がキャッシュ・ヒットの場合に更新もされ
る。同様に、取り出されたデータを保存するために割り
当てられたキャッシュ・ラインに対する、キャッシュ・
タグ・アレイ内のキャッシュ・データ妥当性情報も、キ
ャッシュ・ミスの場合に更新される。
【0005】キャッシュ・ヒット率を高くし、キャッシ
ュ・ミスの罰を小さくするために、典型的には、希望の
データを最初に取り出すようにして、データはブロック
として主メモリから取り出される。また、希望のデータ
はプロセッサへ同時に迂回させられることにより、プロ
セッサが動作を続けることを許す。その結果、キャッシ
ュ充填が終了する前に別のキャッシュ読出しを受けるこ
とができる。したがって、取り出されたデータを保存す
るために割り当てられたキャッシュ・ラインに対するキ
ャッシュ・タグ・アレイ内のキャッシュ・データ妥当性
情報がキャッシュ充填が終わったときに更新されるもの
とすると、更新オペレーションが、キャッシュ・ヒット
が引き続くキャッシュ・ラインに対するキャッシュ・タ
グ・アレイ内の交換情報の更新と衝突する。そうすると
キャッシュ制御器はそれら2つの更新オペレーションを
調停せねばならないであろうし、別々のクロック・サイ
クルにおいてそれらのオペレーションを実行せねばなら
ないであろう。したがって、交換情報更新と独立の妥当
性情報更新を同時に実行できるならば、それは望ましい
ことである。
【0006】更に、マルチプロセッサ・システムにおい
ては、メモリ装置はキャッシュ・コヒーレンシイを示さ
なければならない。一般に、どのマルチプロセッサも同
じメモリをアクセスできる場合に、キャッシュ・コヒー
レンシイに対する必要性が含まれる。たとえば、プログ
ラムがマルチプロセッサ装置で実行されている場合に
は、そのプログラムは同じデータのコピーをいくつかの
キャッシュに持つことができる。しかし、1つのプロセ
ッサが主メモリを更新するものとすると、主メモリ内の
そのアドレスに対応するキャッシュ・メモリ内に古いデ
ータを残すことができる。このようにして、あらゆるキ
ャッシュは別のキャッシュにより主メモリに対して行わ
れた書込みアドレスをモニタするから、更新されている
データのコピーがキャッシュに維持される場合に、それ
はその古くなったコピーが無効であることを知るであろ
う。
【0007】スヌーピングというのは、更新されている
データの古くなったコピーを探して、それを無効にする
ためのプロトコルである。スヌーピングにおいては、あ
るキャッシュ制御器は、それのタグ・アレイが更新され
ているデータのコピーを有するかどうかを判定するため
にそのタグ・アレイをアクセスし、コピーが維持されて
いると判定されたとすると、タグ・アレイ内の対応する
タグ・エントリの妥当性情報を更新する。典型的には、
正常な読出し及びスヌーピング(読出しまたは書込み)
が別のクロック・サイクルにおいて、または並行に、キ
ャッシュ・タグ・アレイに対して実行される。しかし、
スヌーブ読出しオペレーション及びスヌーブ書込みオペ
レーションが、キャッシュ・ヒットの結果として交換情
報更新と依然として衝突することがある。各場合に、そ
のような衝突が起きると、キャッシュ制御器は競合する
オペレーションを調停せねばならず、かつそれらのオペ
レーションを別々のクロック・サイクルで実行せねばな
らない。同様に、システムの性能が低下させられる。し
たがって、交換情報更新及びスヌーブ読出しオペレーシ
ョン及びスヌーブ書込みオペレーションを同時に実行出
来るものとすると、それは更に望ましい。
【0008】キャッシュ・メモリと、キャッシュの性能
問題及び改良技術の詳細については、ヘネシー(J.
L.Hennessy)およびパターソン(D.A.P
aterson)著「コンピュータ・アーキテクチャ−
定量的取り組み(Computer Architec
ture−A Quantitative Appro
ach)」(モーガン・カウフマン(Morgan K
aufmann)1990年発行)402〜461ペー
ジを参照されたい。
【0009】
【発明が解決しようとする課題】後で説明するように、
それらの目的および希望の結果は、独立している2つの
キャッシュ・タグ・オペレーションを同時に実行するた
めの方法及び装置を提供する本発明の目的及び結果のな
かにある。
【0010】この出願においては、主メモリに記憶され
ているデータを、独立している2つのキャッシュ・タグ
・オペレーションを同時に実行できるようにするやり方
で、キャッシュするための方法及び装置を開示する。こ
の方法および装置はキャッシュ設計、とくにマルチプロ
セッサ・システムにおけるキャッシュ設計に応用され
る。
【0011】
【課題を解決するための手段】本発明においては、物理
的タグ・アレイとセット・タグ・アレイの2つの別々の
キャッシュ・タグ・アレイが、キャッシュ・ラインがセ
ットに分割されているキャッシュと、キャッシュ制御論
理とを有するセット連想キャッシュ装置に用意されてい
る。対応するタグ・エントリが2つの別々のキャッシュ
・タグ・アレイに保存される。物理的タグ・アレイ内の
各タグ・エントリがキャッシュ・ラインのセットのため
のタグ・アドレスと制御ビットを保存する。制御ビット
は、対応するキャッシュ・ラインに保存されているデー
タが有効であるかどうかを示す少なくとも1つの有効な
ビットを含む。セット・タグ・アレイ内の対応するタグ
・エントリはキャッシュ・ラインの同じセットに対する
記述ビットを保存する。記述ビットはキャッシュ・セッ
トの最後に用いられたキャッシュ・ラインを識別する最
後に用いられた(MRU)フィールドを少なくとも含
む。各タグ・アレイには、2つの別々のタグ・アレイ内
のタグ・エントリをキャッシュ制御論理により同時に独
立してアクセスできるようにするそれ自身のインターフ
ェイスが設けられる。
【0012】キャッシュ制御論理はキャッシュに対して
実行される読出しオペレーションと書込みオペレーショ
ンを制御する。キャッシュ制御論理は別々のタグ・アレ
イに対して独立のアクセスを同時に行って、タグ・エン
トリ内の制御及び記述情報を読出し及び書込む。アクセ
スは型によりグループにまとめられ、アクセスの各型は
所定のタイムスロットで行われる。アクセスの型がグル
ープにまとめられ、物理的タグ・アレイに対するある選
択された読出しアクセス/書込みアクセスをキャッシュ
制御論理が実行できるようにし、その間にセット・タグ
・アレイに対するある選択された読出しアクセス/書込
みアクセスを同時に実行できるようにするために、タイ
ムスロットが最適化されたやり方で予め指定される。
【0013】一実施例においては、キャッシュ制御論理
は2つの別々のタグ・アレイを、1クロック・サイクル
中に2回独立して同時にアクセスする。クロック・サイ
クルの第1の半分においては、キャッシュ制御論理は、
正常なキャッシュ・タグ読出しのために同じアドレスで
2つの別々のタグ・アレイをアクセスする。クロック・
サイクルの第2の半分においては、キャッシュ制御論理
は、物理的タグ・アレイを、スヌーブ読出し、スヌーブ
書込みまたは正常なキャッシュ・タグ書込みのいずれか
に対する1つのアドレスでアクセスし、かつ、正常なキ
ャッシュ・タグ書込みに対する同じアドレスまたは別の
アドレスでアクセスする。この結果、キャッシュ・ライ
ンの交換情報を更新でき、その間に別のキャッシュ・ラ
インのタグ・アドレスをスヌーブ読出しとすることがで
き、または、別のキャッシュ・ラインの妥当性情報を同
時にスヌーブ書込みまたは正常に書込みできる。
【0014】この出願においては、独立している2つの
キャッシュ・タグ・オペレーションを同時に実行できる
ようにするやり方で、主メモリに記憶されているデータ
をキャッシュするための方法及び装置を開示する。この
方法及び装置はキャッシュ設計、とくにマルチプロセッ
サ・システムにおけるキャッシュ設計に応用される。以
下の説明においては、本発明を完全に理解できるように
するために、特定の用語について述べる。しかし、それ
らの特定の詳細なしに本発明を実施できることが当業者
には明らかであろう。他の場合には、本発明を不必要に
あいまいにしないようにするために、周知の回路及び装
置はブロック図で示した。
【0015】
【実施例】まず、本発明のキャッシュ・メモリ装置を採
用するコンピュータ装置の例が示されている図1を参照
する。本発明のキャッシュ制御器12とキャッシュ・メ
モリ14が中央処理装置(CPU)10と主メモリ16
へ結合され、かつ相互に結合される。キャッシュ制御器
12とキャッシュ・メモリ14はアドレス・バス18と
データ・バス20を介してCPU10へ結合され、かつ
マルチプロセッサ・バス26を介して主メモリ16へ結
合される。キャッシュ制御器12とキャッシュ・メモリ
14は主メモリ16と協働してデータと命令をCPU1
0へ供給する。とくに、キャッシュミスの場合には、デ
ータは主メモリ16からブロックとして取り出される。
この場合には要求されたデータが最初に取り出される。
要求されたデータはCPU10へ同時に迂回させられ
る。キャッシュ制御器12とキャッシュ・メモリ14に
ついては後で図2〜6を参照して詳しく説明する。CP
U10と主メモリ16は、ほとんどのコンピュータ装置
において見られるそれらの種類の素子を表すことを意図
するものである。それらの素子の構成及び基本的な機能
は周知であるから、これ以上は説明しない。
【0016】CPU10は書込みバッファ22を介して
マルチプロセッサ・バス26へ結合され、DMA制御器
24がマルチプロセッサ・バス26へ直結される。書込
みバッファ22とDMA制御器24もほとんどのコンピ
ュータ装置において見られるそれらの種類の素子を表す
ことを意図するものである。それらの素子の構成及び基
本的な機能は周知であるから、これ以上は説明しない。
このコンピュータ装置の例はDMA制御器24を有する
ものとして示されているが、マルチプロセッサ装置のよ
うな、メモリ資源を共用するモジュールを有する任意の
コンピュータ装置で本発明を実施できる事がわかるであ
ろう。
【0017】次に、本発明のキャッシュ制御器とキャッ
シュ・メモリが示されている図2を参照する。図2には
互いに結合されているキャッシュ制御器12とキャッシ
ュ・メモリ14が示されている。キャッシュ制御器12
はキャッシュ制御論理30と、2つの別々のキャッシュ
・タグ・アレイ32、34とを含む。キャッシュ制御論
理30と、2つの別々のキャッシュ・タグ・アレイ3
2、34とは協働してキャッシュ・メモリ14の読出し
アクセスと書込みアクセスを制御する。キャッシュ・メ
モリ14と、別々のキャッシュ・タグ・アレイ32、3
4とについては、図3a〜3cを参照して順次詳しく説
明する。キャッシュ制御論理30が2つの別々のキャッ
シュ・タグ・アレイ32、34と協働するやり方を除
き、キャッシュ制御論理30は、ほとんどのコンピュー
タ装置において見られるそれらの種類の素子を表すこと
を意図するものである。それらの素子の構成及び基本的
な機能は周知であるから、これ以上は説明しない。キャ
ッシュ制御論理30が2つの別々のキャッシュ・タグ・
アレイ32、34とどのようにして協働するかについて
は、図5及び図6を参照して詳しく説明する。
【0018】ここで、キャッシュ・メモリの一実施例が
示されている図3aを参照する。この図には、128の
セットに分割されている512本のキャッシュ・ライン
を有するキャッシュ・メモリ14が示されている。各セ
ットは4本のキャッシュ・ラインを有する。主メモリ内
の各メモリ・ブロックは128セットのおのおのへ割り
当てられ、割り当てられたセットの4本のキャッシュ・
ラインの任意の1本に保存できる。
【0019】次に、物理的タグ・アレイの対応する実施
例が示されている図3bを参照する。この図には128
個のタグ・エントリを含む物理的タグ・アレイ32が示
されている。各タグ・エントリは128セットのキャッ
シュ・ラインのおのおのに対応している。各タグ・エン
トリは、キャッシュ・セットの各キャッシュ・ラインに
対してアドレス・タグ35と制御ビット41を含む。キ
ャッシュ・セットの特定のキャッシュ・ラインに保存さ
れているデータが有効であるか否かを示すために、制御
ビット41の各グループは少なくとも1つの有効なビッ
トを含む。
【0020】次に、別々のセット・タグ・アレイの対応
する実施例が示されている図3cを参照する。この図に
は、128個の対応するタグ・エントリを含むセット・
タグ・アレイ34が示されている。128セットのキャ
ッシュ・ラインの各々に対して対応している。各タグ・
エントリはキャッシュ・セットのいくつかの記述属性を
含む。それらの記述属性は、キャッシュ・セットの最後
に用いられたキャッシュ・ラインを示すための最後に用
いられた(MRU)ビットのグループ37を含む。主メ
モリから取り出されたデータのブロックを受けるために
キャッシュ・ラインを選択および再割り当てするために
使用情報が用いられる。それらの記述属性は別の記述情
報、たとえば、キャッシュ・セットのロックされたキャ
ッシュ・ラインを示してロックされたキャッシュ・ライ
ンが、主メモリから取り出されたデータを受けるために
選択され、かつ再び割り当てられることを阻止するロッ
ク・ビット38のグループ、を更に備えることができ
る。
【0021】本発明のキャッシュ・メモリと別々のキャ
ッシュ・タグ・アレイを128のセットを有する四重結
合実施例について説明したが、本発明はセット連想キャ
ッシュ、およびその他の型のキャッシュ・マッピングで
実施できることがわかるであろう。
【0022】次に、キャッシュ制御論理30とセット・
タグ・アレイ32の間のインターフェイスの一実施例
と、キャッシュ制御論理30と物理的タグ・アレイ34
の間のインターフェイスの一実施例が示されている図4
を参照する。この図には、キャッシュ制御論理30とセ
ット・タグ・アレイ32の間のインターフェイスと、キ
ャッシュ制御論理30と物理的タグ・アレイ34の間の
類似する別のインターフェイスが示されている。それら
のインターフェイスは2つのタグ・アレイ32と34に
対して独立のアクセスを同時に行う。
【0023】各読出しサイクルに対して、セット・タグ
・アレイ34はマルチプレクサ58を介して読出しアド
レス56を入力として受け、かつ読出し制御信号44を
入力として受ける。それに応答して、セット・タグ・ア
レイ34は記述属性、MRUビット54、ロック・ビッ
ト56を独立の出力線を介して出力する。各書込みサイ
クルごとに、セット・タグ・アレイ34は書込みアドレ
ス52をマルチプレクサ58を介して受け、かつ、記述
属性、MRUデータ40、ロック・データ42、および
それらの属性の制御信号46と47を入力として独立に
受ける。それに応答して、セット・タグ・アレイ34は
アドレスされたタグ・エントリをそれに従って更新す
る。また、セット・タグ・アレイ34をSTagクリヤ
信号48を介してキャッシュ制御論理30によりクリヤ
および初期化できる。
【0024】なお図4を参照する。各読出しサイクルご
とに、物理的タグ・アレイ32は正常な読出しアドレス
66またはスヌーブ・アドレス68bをマルチプレクサ
70を介して入力として受け、かつ、読出し制御信号6
0を入力として受ける。それに応答して、物理的タグ・
アレイ32はタグ・アドレスと制御ビット72をそれの
出力線を介して出力する。各書込みサイクルごとに、物
理的タグ・アレイ32は正常なキャッシュ・タグ書込み
アドレス68aまたはスヌーブ書込みアドレス68cを
マルチプレクサ70を介して入力として受け、かつ、タ
グ・エントリ更新信号58と書込み制御信号62を入力
として受ける。それに応答して、物理的タグ・アレイ3
2はタグ・エントリをそれに従って更新する。また、物
理的タグ・アレイ32をPTagクリヤ信号64を介し
てキャッシュ制御論理30によりクリヤおよび初期化で
きる。
【0025】次に、動作の流れ図と、正常なキャッシュ
読出しおよびスヌーブ・オペレーションを取り扱う時に
キャッシュ制御論理により2つの別々のキャッシュ・タ
グ・アレイに対するアクセスとが示されている図5を参
照する。図5aに示すように、正常なキャッシュ読出し
を検出すると、キャッシュ制御論理は物理的タグ・アレ
イおよびセット・タグ・アレイを同じアドレスで、独立
して同時にアクセスする(ブロック82)。物理的タグ
・アレイのタグ・エントリ読出しを基にして、キャッシ
ュ制御論理はタグの一致が存在するかどうかを判定する
(ブロック84)。タグの一致が存在するものとする
と、キャッシュ制御論理はセット・タグ・アレイから読
出された対応するタグ・エントリのMRUビットを変更
し、変更されたタグ・エントリをセット・タグ・アレイ
へ書込む(ブロック86)。それと同時に、キャッシュ
制御論理はデータをキャッシュから読出させる(ブロッ
ク86)。タグの一致が存在しない(キャッシュ充填)
とすると、キャッシュ制御論理はキャッシュ充填を開始
する(ブロック88)。キャッシュ充填が終わると、キ
ャッシュ制御論理は物理的タグ・アレイをアクセスして
有効なビットを更新する(ブロック90)。以下に行う
図6についての説明から明らかなように、キャッシュ制
御論理がこの時における以後のキャッシュ・ヒットの結
果として異なるタグ・エントリのMRUビットを更新せ
ねばならないという事実にもかかわらず、両方のオペレ
ーションは、それらを仲裁および別々の時に実行する必
要なしに、同時に独立して実行される。
【0026】図5bに示されているように、スヌーブ・
オペレーションを検出すると、キャッシュ制御論理は物
理的タグ・アレイをアクセスする(ブロック94)。物
理的タグ・アレイのタグ・エントリ読出しを基にして、
キャッシュ制御論理はタグの一致が存在するかどうかを
判定する(ブロック96)。タグの一致が存在する(キ
ャッシュにおけるコピー)ものとすると、キャッシュ制
御論理は物理的タグ・アレイから読出されたタグ・エン
トリの有効なビットを変更し、変更されたタグ・エント
リを物理的タグ・アレイへ書込む(ブロック98)。タ
グの一致が存在しない(キャッシュにおけるコピーな
し)とすると、キャッシュ制御論理はそれ以上の動作を
行わない。以下に行う図6についての説明から明らかな
ように、スヌーブ読出しまたはスヌーブ書込みが行われ
るのと同時に、以前に開始されたキャッシュ充填が終わ
った結果として、キャッシュ制御論理が異なるタグ・エ
ントリの有効なビットを更新せねばならないという事実
にもかかわらず、両方の場合に、オペレーションは、競
合するオペレーションを仲裁及び別々の時に実行する必
要なしに、同時に独立して実行される。
【0027】次に、別々のタグ・アレイに対するキャッ
シュ制御論理アクセスのグループ化及びタイミングの一
実施例を示す2つの波形図が示されている図6を参照す
る。この実施例においては、キャッシュ制御論理は物理
的タグ・アレイとセット・タグ・アレイをクロック・サ
イクルごとに2回アクセスする、たとえば、100a、
100b。クロック・サイクルの第1の半分、100a
または100b、においては、図3と図4を参照して説
明した別々のタグ・アレイ・アーキテクチャ、及び別々
のインターフェイスとにより、キャッシュ制御論理は、
正常なタグ読出しのための同じアドレスで、物理的タグ
・アレイとセット・タグ・アレイを独立して同時にアク
セスする。物理的タグ・アレイとセット・タグ・アレイ
を同時にアクセスするために同じアドレスが用いられる
が、それでも同時アクセスは独立して行われる。クロッ
ク・サイクルの第1の半分、102aまたは102b、
においては、キャッシュ制御論理は物理的タグ・アレイ
を、スヌーブ読出し、スヌーブ書込みまたは正常なタグ
書込みのためのアドレスでアクセスする。図3と図4を
参照して説明した別々のタグ・アレイ・アーキテクチ
ャ、及び別々のインターフェイスとにより、キャッシュ
制御論理は、正常なタグ読出しのための同じアドレスま
たは異なるアドレスでセット・タグ・アレイを独立して
同時にアクセスする。
【0028】
【発明の効果】この結果、キャッシュ制御論理は1つの
タグ・エントリのスヌーブ読出し、スヌーブ書込みまた
は正常なタグ書込みを行うことができると同時に、仲裁
する必要なしに、別のタグ・エントリの有効なビットを
更新し、競合するオペレーションを異なる時に実行する
ことにより、装置の性能を更に向上する。以上、アクセ
ス型のグループ化およびタイミング指定の上記実施例に
ついて本発明を説明したが、独立した同時アクセスの異
なる最適化を行うために、本発明はを別のアクセス型の
グループ化およびタイミング指定で実施できる事がわか
るであろう。
【図面の簡単な説明】
【図1】本発明のキャッシュ装置を組み込んだコンピュ
ータ装置の一例を示す。
【図2】本発明のキャッシュ制御器及びキャッシュ・メ
モリを示す。
【図3】本発明のキャッシュ(a)、本発明の物理的タ
グ・アレイ(b)及び本発明のセット・タグ・アレイ
(c)を示す。
【図4】本発明の物理的タグ・アレイ及びセット・タグ
・アレイに対するインターフェイスを示す。
【図5】本発明のキャッシュ制御論理を示す流れ図であ
る。
【図6】本発明の一実施例のための物理的タグ・アレイ
およびセット・タグ・アレイに対するアクセスのグルー
プ化及びタイミングを示す。
【符号の説明】
10 CPU 12 キャッシュ制御器 14 キャッシュRAMアレイ 16 主メモリ 18 アドレス・バス 20 データ・バス 22 書込みバッファ 24 DMA制御器 26 マルチプロセッサ・バス 32 物理的タグ・アレイ 58 マルチプレクサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラジヴ・エヌ・パテル アメリカ合衆国 95148 カリフォルニア 州・サン ホゼ・ホワイトサンド ドライ ブ・3116 (72)発明者 ノーマン・エム・ヘイーズ アメリカ合衆国 94087 カリフォルニア 州・サニーヴェイル・メリマック ドライ ブ・1121

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置(CPU)と主メモリとを
    有するコンピュータ・システムのキャッシュ・メモリ・
    システムにおいて、 前記CPU及び主メモリへ結合され、その主メモリに記
    憶されているデータのサブセットを記憶するための複数
    のキャッシュ・ラインをおのおの有する複数のキャッシ
    ュ・セットを備えるキャッシュ・メモリと、 前記キャッシュ・セットに対応し、その対応するキャッ
    シュ・セットの各前記キャッシュ・ラインに対する識別
    および制御情報を備える第1の複数のキャッシュ・タグ
    ・エントリを有し、かつその識別および制御情報をアク
    セスするための第1のインターフェイスを有する第1の
    キャッシュ・タグ・アレイと、 前記キャッシュ・セット及び前記第1のキャッシュ・タ
    グ・エントリに対応し、その対応するキャッシュ・セッ
    トの前記キャッシュ・ラインに対する記述情報を備える
    第2の複数のキャッシュ・タグ・エントリを有し、かつ
    この記述情報をアクセスするための第2のインターフェ
    イスを有する第2のタグ・アレイと、 前記CPUと、前記主メモリと、前記キャッシュ・メモ
    リと、前記第1のキャッシュ・タグ・アレイと、前記第
    2のキャッシュ・タグ・アレイとへ結合され、前記キャ
    ッシュ・メモリに対する読出しオペレーション及び書込
    みオペレーションを制御し、前記第1のキャッシュ・タ
    グ・アレイ及び前記第2のキャッシュ・タグ・アレイに
    対して独立にかつ同時にアクセスを行って、前記タグ・
    エントリ内の前記識別情報と、前記制御情報及び前記記
    述情報の読出し及び書込みを行い、キャッシュ制御器で
    あって、前記アクセスは型によりグループにまとめら
    れ、かつ、予め指示されているタイムスロット中に行わ
    れ、前記アクセス型のグループ化及びタイムスロット指
    示は、前記物理的タグ・アレイ内の1つのキャッシュ・
    タグ・エントリに対して行われるある選択されたアクセ
    ス型と、別のセット・タグ・アレイ内の別の独立したキ
    ャッシュ・タグ・エントリに対して行われた別の選択さ
    れたアクセス型とを最適にし、かつ可能にするようなや
    り方で行われるキャッシュ制御器と、を有することを特
    徴とするキャッシュ・メモリ・システム。
  2. 【請求項2】 中央処理装置(CPU)及び主メモリを
    備えるコンピュータ装置において主メモリに記憶されて
    いるデータのサブセットをキャッシュする方法におい
    て、 前記CPU及び前記主メモリへ結合されているキャッシ
    ュ・メモリのキャッシュ・セットの複数のキャッシュ・
    ラインに、前記主メモリに記憶されている前記データの
    サブセットを保存する過程と、 前記キャッシュ・セットに対応し、その対応するキャッ
    シュ・セットの各前記キャッシュ・ラインに対する識別
    及び制御情報を備える第1の複数のキャッシュ・タグ・
    エントリをその識別及び制御情報をアクセスするための
    第1のインターフェイスを備える第1のキャッシュ・タ
    グ・アレイに保存する過程と、 前記キャッシュ・セット及び前記第1のキャッシュ・タ
    グ・エントリに対応し、その対応するキャッシュ・セッ
    トの前記キャッシュ・ラインに対する記述情報を備える
    第2の複数のキャッシュ・タグ・エントリを記述情報を
    アクセスするための第2のインターフェイスを備える第
    2のキャッシュ・タグ・アレイに保存する過程と、 前記キャッシュ・メモリと前記第1及び前記第2のキャ
    ッシュ・タグ・アレイに対する読出しオペレーションお
    よび書込みオペレーションを、前記CPUと、前記主メ
    モリと、前記キャッシュ・メモリと、前記第1のキャッ
    シュ・タグ・アレイと、前記第2のキャッシュ・タグ・
    アレイとへ結合され、前記第1のキャッシュ・タグ・ア
    レイ及び前記第2のキャッシュ・タグ・アレイに対して
    独立にかつ同時にアクセスを行って、前記タグ・エント
    リ内の前記識別情報と、前記制御情報及び前記記述情報
    の読出し及び書込みを行うキャッシュ制御器により制御
    する過程であって、前記アクセスは型によりグループに
    まとめられ、かつ、予め指示されているタイムスロット
    中に行われ、前記アクセス型のグループ化及びタイムス
    ロット指示は、前記物理的タグ・アレイ内の1つのキャ
    ッシュ・タグ・エントリに対して行われるある選択され
    たアクセス型と、別のセット・タグ・アレイ内の別の独
    立したキャッシュ・タグ・エントリに対して行われる別
    の選択されたアクセス型とを最適にし、かつ可能にする
    ようなやり方で行われる過程と、を有することを特徴と
    する主メモリに記憶されているデータのサブセットをキ
    ャッシュする方法。
JP5124784A 1992-04-29 1993-04-30 キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 Ceased JPH06318174A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87535692A 1992-04-29 1992-04-29
US875356 1992-04-29

Publications (1)

Publication Number Publication Date
JPH06318174A true JPH06318174A (ja) 1994-11-15

Family

ID=25365660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5124784A Ceased JPH06318174A (ja) 1992-04-29 1993-04-30 キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法

Country Status (2)

Country Link
US (1) US5675765A (ja)
JP (1) JPH06318174A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100492041B1 (ko) * 1996-11-14 2005-08-25 프리스케일 세미컨덕터, 인크. 캐시를구비한데이터처리시스템및그방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049849A (en) * 1997-04-14 2000-04-11 International Business Machines Corporation Imprecise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
US6145057A (en) * 1997-04-14 2000-11-07 International Business Machines Corporation Precise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
US5963977A (en) * 1997-10-09 1999-10-05 Quantum Corporation Buffer management and system coordination method
US6549984B1 (en) * 1997-12-17 2003-04-15 Intel Corporation Multi-bus access cache
US6658552B1 (en) * 1998-10-23 2003-12-02 Micron Technology, Inc. Processing system with separate general purpose execution unit and data string manipulation unit
US6427191B1 (en) * 1998-12-31 2002-07-30 Intel Corporation High performance fully dual-ported, pipelined cache design
TW451139B (en) * 1999-12-03 2001-08-21 Compal Electronics Inc A cache memory system
US20020108021A1 (en) * 2001-02-08 2002-08-08 Syed Moinul I. High performance cache and method for operating same
US6988167B2 (en) * 2001-02-08 2006-01-17 Analog Devices, Inc. Cache system with DMA capabilities and method for operating same
US6789168B2 (en) * 2001-07-13 2004-09-07 Micron Technology, Inc. Embedded DRAM cache
US6950906B2 (en) * 2002-12-13 2005-09-27 Hewlett-Packard Development Company, L.P. System for and method of operating a cache
US9558121B2 (en) * 2012-12-28 2017-01-31 Intel Corporation Two-level cache locking mechanism
US10565121B2 (en) * 2016-12-16 2020-02-18 Alibaba Group Holding Limited Method and apparatus for reducing read/write contention to a cache
WO2018231408A1 (en) 2017-06-15 2018-12-20 Rambus Inc. Hybrid memory module

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4525777A (en) * 1981-08-03 1985-06-25 Honeywell Information Systems Inc. Split-cycle cache system with SCU controlled cache clearing during cache store access period
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
US4939641A (en) * 1988-06-30 1990-07-03 Wang Laboratories, Inc. Multi-processor system with cache memories
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
US5067078A (en) * 1989-04-17 1991-11-19 Motorola, Inc. Cache which provides status information
GB2239724B (en) * 1990-01-05 1993-11-24 Sun Microsystems Inc Apparatus for maintaining consistency in a multi-processor computer system using virtual caching
US5268995A (en) * 1990-11-21 1993-12-07 Motorola, Inc. Method for executing graphics Z-compare and pixel merge instructions in a data processor
US5210845A (en) * 1990-11-28 1993-05-11 Intel Corporation Controller for two-way set associative cache
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100492041B1 (ko) * 1996-11-14 2005-08-25 프리스케일 세미컨덕터, 인크. 캐시를구비한데이터처리시스템및그방법

Also Published As

Publication number Publication date
US5675765A (en) 1997-10-07

Similar Documents

Publication Publication Date Title
US5325504A (en) Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US5426765A (en) Multiprocessor cache abitration
US5761731A (en) Method and apparatus for performing atomic transactions in a shared memory multi processor system
US5247648A (en) Maintaining data coherency between a central cache, an I/O cache and a memory
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
US4959777A (en) Write-shared cache circuit for multiprocessor system
US4928225A (en) Coherent cache structures and methods
US5463753A (en) Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
CN101446923B (zh) 一种响应于指令而清洗高速缓冲存储器线的装置和方法
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US5797026A (en) Method and apparatus for self-snooping a bus during a boundary transaction
US7493446B2 (en) System and method for completing full updates to entire cache lines stores with address-only bus operations
US6178481B1 (en) Microprocessor circuits and systems with life spanned storage circuit for storing non-cacheable data
JPH0561770A (ja) データ処理システムのコヒーレンス手段
JPH10333985A (ja) データ供給方法及びコンピュータ・システム
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
US6157980A (en) Cache directory addressing scheme for variable cache sizes
JPH09138779A (ja) スヌープ処理方法
JPH10289157A (ja) Smpバスの共用介入優先方法及びシステム
US5829027A (en) Removable processor board having first, second and third level cache system for use in a multiprocessor computer system
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5511226A (en) System for generating snoop addresses and conditionally generating source addresses whenever there is no snoop hit, the source addresses lagging behind the corresponding snoop addresses
US20030131203A1 (en) Multi-level classification method for transaction address conflicts for ensuring efficient ordering in a two-level snoopy cache architeture

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040302

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040518

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20040928