JP3219196B2 - キャッシュデータアクセス方法及び装置 - Google Patents

キャッシュデータアクセス方法及び装置

Info

Publication number
JP3219196B2
JP3219196B2 JP28158689A JP28158689A JP3219196B2 JP 3219196 B2 JP3219196 B2 JP 3219196B2 JP 28158689 A JP28158689 A JP 28158689A JP 28158689 A JP28158689 A JP 28158689A JP 3219196 B2 JP3219196 B2 JP 3219196B2
Authority
JP
Japan
Prior art keywords
cache
tag
data
cache data
waiting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP28158689A
Other languages
English (en)
Other versions
JPH02224042A (ja
Inventor
ポール・マギュー
Original Assignee
アポロ・コンピューター・インコーポレーテッド
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 アポロ・コンピューター・インコーポレーテッド filed Critical アポロ・コンピューター・インコーポレーテッド
Publication of JPH02224042A publication Critical patent/JPH02224042A/ja
Application granted granted Critical
Publication of JP3219196B2 publication Critical patent/JP3219196B2/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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline

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)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はデータ・キャッシング方法及びデータ・キャ
ッシング装置と協働するディジタル・コンピュータ・シ
ステムに関する。
[発明の背景] 理想的な条件下では、プロセッサの処理速度が増大す
ると、単位時間当たりにアクセスするメモリ容量も増大
するはずである。処理装置は、1次記記憶装置としてし
ばしば用いられているダイナミック・ランダム・アクセ
ス・メモリ(DRAM)の動作速度よりも速い速度で処理で
きることがしばしばある。システム能力が頭打ちになっ
たときは、「キャッシュ(cache)」と呼ばれている付
加的レベルのメモリ階層が利用され、キャッシュの性能
は関連するプロセッサの能力に適合したものである。
キャッシュは、(1次記記憶装置のサイズと比較した
ときには)小さく、プロセッサの処理能力を阻害しない
速度でデータを供給できる高速アクセスメモリである。
キャッシュの能力は、プログラムが別のデータ区画に参
照場所を移動する前に、特定の同じデータ区画を何度も
参照する傾向があること(時間的局在性)、及び連続す
る参照は従前の参照と互いに近いという傾向があること
(空間的局在性)に基づいている。キャッシュの設計者
達は、このことを利用するために、近い過去(即ち、前
回のデータ参照パターン)を知って、近い将来を予測
し、後続の使用のために最近実行された参照に関連する
データを収集する。
データ・キャッシュを利用する処理システムにおいて
は、実行された全ての参照は妥当性の検証が行なわれな
ければならない。全てのキャッシュ・エントリは、メイ
ン・メモリ内のどのデータが現在それによって表されて
いるかを示す「タグ」及びキャッシュ・エントリ自体の
有効性を示す「有効」ビットに関連付けられる。「キャ
ッシュ・ビット」は望みのデータがキャッシュ内に存在
していたときに起き、「キャッシュ・ミス」はそれがな
かったときに起きる。プロセッサとキャッシュとの間の
データの実際の転送はキャッシュ・タグ・ルックアップ
に結果によりしばしば条件付けられる。その結果、キャ
ッシュ・アクセスの有効回数が増加し、それに比例して
プロセッサのサイクル回数を増加させ、或いは、システ
ム性能を低下させる。
キャッシュ・ストア待ち時間を最少化させることは特
に効果的である。というのは、キャッシュがデータのソ
ースになってからキャッシュ・アクセスが検証されるま
でプロセッサはしばしば立往生しなければならないから
である。更に、全てのキャッシュ・データ修正は、キャ
ッシュの一致性を維持するためにキャッシュ・タグのス
テートが反映されなければならない。
キャッシュ・ストアの共通的な方針は、キャッシュ・
タグ・ルックアップの結果を利用して、キャッシュ・ア
ップデートの条件付けを行なうことである。キャッシュ
・ヒットのときは、キャッシュ修正が続行する。キャッ
シュ・ミスのときは、2つの対策の1つが取られる。そ
れは、キャッシュ・ライト・バイパスかキャッシュ・ラ
イトの割り振りである。キャッシュ・ライト・バイパス
は一般的な解決ではない。というのは、それは仮想キャ
ッシュ構造に有用ではないからであるが、キャッシュ修
正が行なわれなくなって以来のシングル・サイクル・キ
ャッシュ・アクセスを達成する。一方、簡単なキャッシ
ュ・ライトの割り振りは2つのキャッシュ・サイクルで
行なう。キャッシュ・タグ・リードとキャッシュ・デー
タ/タグのライトである。キャッシュ・タグ・ルックア
ップからキャッシュ・データ修正の連続性は2つの要因
により、キャッシュ・ストアの有効アクセス回数を増加
させる。即ち、1つのキャッシュ・タグ・リード及び1
つのキャッシュ・データ及び追加のタグ・ライト・サイ
クルである。プロセッサはデータのソースであるので、
キャッシュ・タグ・チェックが完了するまでプロセッサ
はしばしば立往生する。
この連続性のペナルティを回避するもう1つの方策
は、キャッシュ・タグを完全に無視することである。こ
の方策では、全てのキャッシュ・ストア操作はキャッシ
ュをバイパスする。キャッシュの一致性を維持するた
め、修正されたキャッシュ・エントリは関係なく無効に
される。プロセッサは1つのプロセッサ(データ)・ラ
イト・サイクルのためのデータを必要とするだけであ
る。この方策はストア・キャッシュ・アクセス回数を減
らすが、このような無効にする方法はキャッシュから有
効なデータを追い払うことになるかもしれないので、か
なりの損失を伴う。
[発明の概要] 本発明による参照キャッシュ・タグ修正は、簡単で効
率的で低オーバーヘッドなキャッシュ・ライト方法であ
り、2ステージ・ラップされたキャッシュ分割サイクル
・アクセス・パイプラインであり、第1ステージ即ちア
クセス(ACC)ステージでデータ・ストアをアップデー
トし、キャッシュ・タグ・チェックのステートが判るま
でタグ・ストアは延期される。プロセサがバイトライト
を出せるから、キャッシュ幅のバイト当たりの「有効
な」ビットを使える。ライト・ヒットが検出されたとき
は、タグ修正は不要であり、プロセッサは再びシングル
・サイクル・キャッシュ・アクセスの「幻想」を有す
る。タグが一致し、しかし適切な有効ビットがセットさ
れないときは、キャッシュ・マネイジメント・ファンク
ションはミスしたライトの第2ステージ即ち実行ステー
ジに続くサイクルでキャッシュ・タグ・アップデートを
「計画」する。
キャッシュ・マネイジメント・ファンクション(CMF:
Cache Management Function)はキャッシュの前回の
タグ有効ビット・ステートを、このライト操作の結果と
してセットされる有効ビットに組み合わせることができ
る。更に、同じキャッシュ・ラインにアドレス指定され
るキャッシュ操作の直ぐ後にライト操作があるときは、
このストアにより選択されるバイトはタグ・アップデー
ト・ステートに組み合わされ、それにより、潜在的なバ
ック・ツゥー・バック・ライト・ミスを回避できる。タ
グがミスマッチのときは、前回のタグ/有効ビット・ス
テートが無視され、タグ・アップデート・ステートが変
更され、適当なアドレス・タグ情報に関連する実行(EX
C)ステージ内のストアにより選択されるバイトにな
る。同じキャッシュ・ラインにアドレス指定された直ぐ
後のライト操作があるときは、アクセス・ステージで、
このストアにより選択されるバイトはタグ・アップデー
ト・ステートに組み合わされる。どちらの場合にも、こ
のキャッシュ・ライト・アップデートの方針は「ライト
割り振り」と呼ばれ、ライト・ミスで空間がキャッシュ
内に割り振られることを意味する。更に、ライト・ミス
が続いている間、データがキャッシュに捕えられて以
来、プロセッサは立往生する必要がない。キャッシュ・
マネイジメント・ファンクションがキャッシュ・ミスの
サービスのコントロールを回復しなければならないの
で、プロセッサはキャッシュにアクセスするときは、CM
Fがキャッシュを使用している間だけ立往生しなければ
ならないだけである。
[実施例] 第1図のブロック図を参照すると、キャッシュアクセ
スの第1サイクルで、ここではアクセス(ACC)ステー
ジと呼ばれるリード操作では、キャッシュ・データ・ス
トア52からプロセッサ54への要求データの転送が行なわ
れる。更に、タグはキャッシュ・タグ・ストア56からメ
モリ・マネイジメント・ユニット(MMU)60内のキャッ
シュ・マネイジメント・ファンクションへと転送され、
そこでキャッシュ・タグ比較される。キャッシュ・マネ
イジメント・ファンクション60内の他のロジックはキャ
ッシュに関連しない例外をチェックする。例外に関する
詳細はAPOLL−115XXの「DUPULICATE TAG STORE PURG
E QUEUE(タグ・トスア・パージの複写)」と題する文
献やAPOLL−119XXの「METHOD AND APPARATUS FOR D
RAM MEMORY PERFORMANCE ENCHANCEMENT(DRAMメモリ
の性能向上のための方法及び装置)」と題する文献に掲
載されている。ACCステージの終わりまでに、データは
プロセッサ54中に書き込まれるとともに、キャッシュ・
タグ比較が完了する。
第2図及び第3図に関連して本発明を更に説明する。
本発明の方法及び装置は、通常のキャッシュ・アクセ
スの進行中に、キャッシュの内容を破壊しないしプロセ
ッサを待たせもせず、タグ修正の延期を通じてシステム
性能に大きな損失を生じさせずにシングル・サイクルで
キャッシュ・ストア・アクセスを達成する。シングル・
サイクル・キャッシュ・アクセスは、タグ・ルックアッ
プが実行されている間にプロセッサにキャッシュ・デー
タを修正させることにより、達成される。キャッシュ・
ミスが生じたときは、キャッシュ・アクセスのステート
が知られる前にキャッシュは修正されたので、キャッシ
ュ・エントリの新しい内容を反映するようにタグは修正
されなければならない。タグ修正は修正キャッシング・
エントリの無効化或いは割り振りの何れかを招かなけれ
ばならない。キャッシュの性能を向上させるためには、
パージするのではなくキャッシュ内にデータを割り振る
ことの方が常に良いので、キャッシュの割り振りが行な
われなければならない。
典型的にはプログラムは全てのサイクルでメモリ内の
データを参照するものではない。このことは、未使用キ
ャッシュ幅が常に存在することを意味する。本発明の目
的は、バッファリングを通じて、キャッシュ・ライト・
ミスを原因とするタグ修正をこれらの[フリー]・キャ
ッシュ・サイクルまで延期して、プロセッサの待ちを回
避することである。タグ修正の延期は、キャッシュが一
時的に不一致であることを意味する。後続のキャッシュ
・アクセスは、未決のタグ修正を有するエントリにとっ
て、タグ修正バッファ内で予定された未決のタグ・アッ
プデートに対するアクセスをキャッシュ自体に対する場
合と同様に有効化しなければならない。一旦、バッファ
が空になるとキャッシュの一致が復元される。
延期されるタグ修正の回数はアプリケーションに依存
する。本発明は概念的制限のないことを意味する。
期間についてみれば、プログラムは物理的に互いに近
接しているデータを参照する傾向がある。こうしたとき
連続する延期されたタグ修正は実際には同じキャッシュ
・エントリに影響するかもしれない。そうであれば、タ
グ修正操作は「組み合わされ」、それにより、キャッシ
ュをアップデートするために必要な「フリー」キャッシ
ュサイクルの数が減り、タグ修正バッファの実効性が増
大する。
シングル・サイクル・キャッシュ・アクセスの本発明
の第1の概念は以下のごときである。即ち、データ・キ
ャッシュ・データ・ストアを今リード/ライトし、必要
であれば後にタグ・ストアをアップデートする。ライト
・ミスの結果のタグ修正を延期することである。キャッ
シュ・サイクルを遊休させてプロセッサの待ちの発生を
最少にすることである。キャッシュ・タグ・ステート、
延長タグ・ステート、及び現在の参照ステートを組み合
わせて最大限の性能を達成することである。
第2図のフロー・チャートのキャッシュ・アクセス・
フローは多数回のテストと活動を直列化しているが、本
発明の実際の適用においては性能を向上させるため、あ
る程度の並列化を行なってもよい。好ましい実施形態が
第3図に示されている。サイクルtにおいて、プロセッ
サはメモリ・リクエスト・アドレスをキャッシュ・マネ
イジメント・ファンクション(CMF)に向けてPROC−ADD
Rバス上に表し、そのメモリ・リクエスト・アドレスは
「アドレス・マルチプレクサ(AMUX)」207を介して
「アドレス・レジスタ」200へロードされる。リクエス
ト・サイズ及びタイプはリクエスト・レジスタ(RREG)
210へロードされる。
サイクル(t+1)において、メモリ・リクエスト・
アドレスは、キャッシュ・タグ・ストア(CTS)202、ア
ドレス変換メカニズム(ATM)201、及びタグ・アップデ
ート待ちバッファ(TUQ)206へと、CINDEXバスを介して
ロードされる。ATM201は、物理キャッシュに関連して本
発明を利用するようなシステムに向けて、物理アドレス
変換をXLAT−ADDRバス上に与える。更に、ATM201は状況
を与え、この状況はライト・アクセス特権を決定するた
めに後に使用される。これはキャッシュ・アクセス・パ
イプラインの第1のステージである。ライト・リクエス
トがあるとキャッシュ・データ・ストアは無条件で書き
込まれる。全体のサイクルはキャッシュ及び待ちのヒッ
ト/ミス状況をチェックするのに利用される。
サイクル(t+2)即ちキャッシュ・アクセスの第2
サイクルにおいて、キャッシュ及び待ちルックアップが
知られ、必要な状況がプロセッサに報告される。ライト
・ミスが起きたときは、TUQ206が後述のようにアップデ
ートされるが、プロセッサはミスの状況には無関係に続
行する。リード・ミスが起きたときは、プロセッサはCM
Fがメモリからデータを検索するまで待たされる。
メモリ・リクエストが為されると100(第2図)、CMF
は、WREQ信号及びRREQ信号からリクエストのタイプを決
定する。ライトリクエストの場合、キャッシュ・データ
・ストアが無条件で書き込まれる(104)。アドレスさ
れたキャッシュ・タグは、バイト・バリディティがキャ
ッシュ・タグ有効ビット及びメモリ参照のBYTE MASKの
突合わせにより決定される間、キャッシュ・タグ・コン
パレータ(CTC)203を介して、XLAT−ADDRに対して比較
される。同時に、TUQ206が照会されてアドレスされたキ
ャッシュ・エントリがタグ修正107のために予定されて
いるかどうかが決定される。
キャッシュ・インデックスが待ちキャッシュ・インデ
ックスに一致し、XLAT−ADDRが待ちキャッシュ・タグ11
0に一致するとき、「待ちライト・ヒット」が起きたと
いえる。「キャッシュ・ミス及び待ちコントロール」
(CMQC)204は、次にこの参照により、アクセスされた
バイトを割り振るか無効にするかを決定する。どちらの
場合にも、一致している待ちエントリの有効ビットだけ
がTUQ206により修正される。適切な有効ビット及びコン
トロール情報はTUQ206へ向けて、CMQC204により、MISS
−VALIDバス、ALLOCATE、INVALIDATE、及びLOAD−Q信
号を通じて与えられる。
「待ちライト・ミス」は、キャッシュ・インデックス
が待ちキャッシュ・インデックスに一致するか、或いは
キャッシュ・インデックスが存在するがXLAT−ADDRがエ
ントリの待ちキャッシュ・タグ110に一致しないとき
に、起きるといえる。CMQC204は、次に新しいエントリ
をTUQ内に「割り振ら」なければならない。CMQC204は、
適切なタグ及び有効ビット情報を、MISS−TAGバス及びM
ISS−VALIDバスを通じて、TUQ206に示す役割がある。全
ての有効ビット操作はCMQC204により行なわれる。割り
振り及び無効化の決定は、WRITE−ALLOWED信号の状態で
為される。TUQ206がCMQC204により指令されて、ALLOCAT
E及びLOAD−Q信号が認められ、待ちライト・ヒットが
存在するときに(119)、BYTE−MASKを現在の内容に組
み合わせて、待ちキャッシュ有効ビットとする(11
7)。
キャッシュ・ライトを許可しないのは幾つかの理由が
ある。即ち、非常駐データ、不十分なアクセス特権、整
頓されないメモリ参照、キャッシュに入れられないデー
タ、等である。CMFブロック図は、ATMがライトを許可す
るための単独の行列式であることを示している。一般的
にもこの事が必要なのではない。どんな場合でも、キャ
ッシュ・データ・ストアはライト許諾が知れる前に書き
込まれるので、キャッシュの不一致性を回避するために
ライトが許可されない(118)ような場合については、
キャッシュは無効化されなければならない。CMQC204はT
UQ206をして、LOAD−Q及びINVALIDATE信号によりBYTE
−MASK信号内に表されたビットに対応する待ち有効ビッ
トをリセットさせる。組み合わせタグ・アップデート操
作はキャッシュのアップデートに必要な「フリー」キャ
ッシュ・サイクルの数を減らし、TUQ206の有用性を向上
させる。
待ちライト・ヒットが起きないとき(110)、キャッ
シュ・タグ/有効ビット比較の結果が重要になりうる。
しかし、もしライト・リクストが「許可」されないとし
たら、キャッシュ無効化が予定されなければならない
(111)。CMQC204がMISS−TAGバスを通じてキャッシュ
・タグの前回の内容をパスする。CMQCは、BYTE−MASK内
のビットに対応するところの送信されたキャッシュ有効
ビットをリセットすることにより、MISS−VALIDを形成
する。こうした操作は、不法なキャッシュ参照によりア
クセスされたバイトを効果的に「無効化」する。TUQは
次にこの情報により待ちをロードするように指令され
る。待ちライト・ヒットが起きないので、CMQCがLOAD−
Q信号及びINVAIDATE信号を現したときには、新しい待
ちエントリが創られる(114、120)。
待ちヒットが起きず、キャッシュ・ライトが許可さ
れ、キャッシュ・タグがXLAT−ADDRに一致するときは、
そのキャッシュ・エントリはこのキャッシュ参照とは全
く関係がなく(112)、新しいエントリをTUQ内に創るこ
とによりキャッシュ割り振りが予定される。MISS−TAG
は送信されたXLAT−ADDRとなり、MISS−VALIDは送信さ
れたBYTE−MASKとなる(115、120)。LOAD−Q及びALLO
CATE信号が現われたとき、TUQはこの新しいエントリを
創る。
待ちヒットが起きず、キャッシュ・ライトが許可さ
れ、キャッシュ・タグがXLAT−ADDRに一致し、有効ビッ
トが一致しないときは(113)、キャッシュ割り振り
は、「ミスする」有効ビットを効果的にアップデートす
るような新しいエントリをTUQ内に創ることにより、予
定される。MISS−TAGはXLAT−ADDRの送信されたコピー
となり、MISS−VALIDは送信されたBYTE−MASKビットと
送信されたキャッシュ有効ビットとのロジカルORである
(116、120)。TUQは、LOAD−Q及びALLOCATE信号が現
われたときに、この新しいエントリを創る。待ちヒット
が起きず、キャッシュ・ライトが許可され、キャッシュ
・タグがXLAT−ADDRに一致し、有効ビットが一致すると
きは(113)、キャッシュ・ヒットが起きていると言わ
れる。タグ修正は予定されない。
独自に出されたメモリ参照がリード・リクエストであ
ったとすると(105)、ライト・リクエストについて上
述したのと同様にして、リクエスト・アドレスがCMFに
現されていたことになる。リード・リクエストについて
は、待ち及びタグ・ストア・ルックアップが作られてい
る間に、データがデータ・ストアからリードされる(10
6)。全ての待ちタグ・ステートは、キャッシュ・エン
トリがTUQ内に関連有効待ちエントリを有するとき(即
ち、待ちキャッシュ・インデックスが現在のメモリ・リ
クエストのキャッシュ・インデックスに一致すると
き)、キャッシュ・タグ・ステートをスーパーシードす
る。キャッシュ・インデックスが待ちキャッシュ・イン
デックスに一致し、XLAT−ADDRが待ちキャッシュ・タグ
に一致し、BYTE−MASKが待ち有効ビットに含まれると
き、「待ちリード・ヒット」が起きたという。リード・
リクエストが待ちリード・ヒットを招いたならば、キャ
ッシュからリードされたデータは有効であり、プロセッ
サは躊躇なく続行する(108)。
リード・リクエストがTUQにより満足されないとき
は、キャッシュ・タグ/有効ビット比較の結果が重要に
なる。キャッシュ・タグがXLAT−ADDRに一致し、BYTE−
MASKがキャッシュ・タグ有効ビットに含まれるときは、
「リード・ヒット」が起きたといわれ、プロセッサは躊
躇なく続行する(109)。そうでなければ、「リード・
ミス」が起きてプロセッサは、リクエスト・データがメ
モリからフェッチされるまで、待たなければならない
(103)。この点を越えて取られるステップは本発明の
範囲外である。
CMQCは、キャッシュがビジーでないとき即ちメモリ・
リクエストが通知されていないとき(100)及び待ちが
空でないとき(101)に、タグ修正を行なわせないよう
にすることだけを目的としている。この条件が存在する
とき、CMQCがキャッシュをコントロールする。キャッシ
ュ・タグ・ストアは、AREG200、AMUX207を通じて、待ち
キャッシュ・インデックスQ−CINDEXによりアドレスさ
れる。キャッシュ・タグは、待ちキャッシュ・タグQ−
CTAG、待ち有効ビットQ−VALID、マルチブレクサTMUX2
00、及びマルチプレクサVMUX208により、アップデート
される。待ちアンロード・シーケンスはメモリ・リクエ
ストの未決状態がない間だけ続行される。有限の長さの
待ちについては、CMFがないかをアンロードするまえ
に、ライト・ミスの長いながれが待ちを「満たす」こと
ができる。この場合、CMFはプロセッサを待たせてキャ
ッシュを優先使用し、TUQの妥当な部分がアンロードさ
れ得ることになる(121)。
【図面の簡単な説明】
第1図は本発明がパイプライン・プロセッサに適用され
た実施例を示すブロック図、第2図は本発明の一実施例
の操作を示すフロー・チャート、第3図は第1図の実施
例のより詳細な部分を示すブロック図である。 52:キャッシュ・データ・ストア 54:プロセッサ 56:キャッシュ・タグ・ストア 60:メモリ・マネイジメント・ユニット
フロントページの続き (56)参考文献 特開 昭62−219146(JP,A) 特開 昭62−154039(JP,A) 特開 平1−233536(JP,A) 特開 昭57−143800(JP,A) 特開 昭56−117384(JP,A) 特開 昭59−112479(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリ・リクエスト・アドレスを伴うリク
    エストがライトリクエストの場合に、第1のクロックサ
    イクルの間に、ライトデータをキャッシュ・データ・ス
    トアの第1位置に無条件に書き込む第1の工程と、 前記第1のクロックサイクルの間に、前記メモリ・リク
    エスト・アドレスを物理メモリアドレスに変換する第2
    の工程と、 キャッシュ・タグ・ストアに格納されているキャッシュ
    データタグであって、前記キャッシュ・データ・ストア
    の前記第1位置に関連するものであるキャッシュデータ
    タグに含まれるキャッシュ・タグを、前記第1のクロッ
    クサイクルの間に、前記物理メモリアドレスと比較する
    第3の工程と、 タグ・アップデート・キューに格納されている待ちキャ
    ッシュデータタグであって、前記キャッシュ・データ・
    ストアの前記第1位置に関連するものである待ちキャッ
    シュデータタグが存在するか否かを識別し、存在する場
    合に、前記待ちキャッシュデータタグに含まれる待ちキ
    ャッシュ・タグと前記物理メモリアドレスとを比較する
    ことを、前記第1のクロックサイクルの間に行う第4の
    工程と、 キャッシュマネジメント手段が、前記ライトデータを、
    前記キャッシュ・データ・ストアの前記第1位置に書き
    込むことを許可されているか否かを、前記第1のクロッ
    クサイクルの間に、且つ前記メモリ・リクエスト・アド
    レスに基づいて、識別する第5の工程と、 前記キャッシュマネジメント手段が、前記第3の工程の
    比較結果、前記第4の工程の識別結果と比較結果及び前
    記第5の工程の識別結果に基づいて、前記ライトデータ
    に関連する前記待ちキャッシュデータタグが前記タグ・
    アップデート・キューに存在する場合には前記タグ・ア
    ップデート・キューに格納されている前記待ちキャッシ
    ュデータタグを必要に応じて修正し、前記ライトデータ
    に関連する前記待ちキャッシュデータタグが前記タグ・
    アップデート・キューに存在しない場合は必要に応じて
    新しい待ちキャッシュデータタグを前記タグ・アップデ
    ート・キュー内に生成する第6の工程とを備え、 前記待ちキャッシュデータタグは、対応する前記キャッ
    シュデータタグを後のサイクルで修正するためのもので
    あることを特徴とする、 キャッシュへデータをライトする方法。
  2. 【請求項2】メモリ・リクエスト・アドレスを伴うライ
    トリクエストを発行するものであり、第1のクロックサ
    イクルの間に、ライトデータをキャッシュ・データ・ス
    トアの第1位置に無条件に書き込むためのプロセッサ
    と、 各キャッシュデータタグが前記キャッシュ・データ・ス
    トアの対応するそれぞれの部分に関連したデータ妥当性
    の指示とキャッシュ・タグとを与えるものである、複数
    のキャッシュデータタグをストアするためのキャッシュ
    ・タグ・ストアと、 前記メモリ・リクエスト・アドレスを物理メモリアドレ
    スに変換するためのアドレス変換機構と、 前記キャッシュ・データ・ストアの前記第1位置に関連
    する前記キャッシュデータタグの前記キャッシュ・タグ
    と前記物理メモリアドレスとの比較を行うことを、前記
    第1のクロックサイクルの間に行うためのキャッシュマ
    ネジメント手段と、 複数の待ちキャッシュデータタグを待ち行列化するため
    のタグ・アップデート・キューと、 前記タグ・アップデート・キューに格納されている前記
    待ちキャッシュデータタグであって、前記キャッシュ・
    データ・ストアの前記第1位置に関連するものである前
    記待ちキャッシュデータタグが存在するか否かを識別
    し、存在する場合に、前記待ちキャッシュデータタグに
    含まれる待ちキャッシュ・タグと前記物理メモリアドレ
    スとを比較することを、前記第1のクロックサイクルの
    間に行う識別比較手段とを備え、 前記待ちキャッシュデータタグは、後のクロックサイク
    ルで前記キャッシュ・タグ・ストア内の対応する前記キ
    ャッシュデータタグを修正するために使用されるもので
    あり、 前記キャッシュマネジメント手段は、更に、前記キャッ
    シュマネジメント手段の比較結果及び前記識別比較手段
    の識別結果と比較結果に基づいて、前記ライトデータに
    関連する前記待ちキャッシュデータタグが前記タグ・ア
    ップデート・キューに存在する場合には前記タグ・アッ
    プデート・キューに格納されている前記待ちキャッシュ
    データタグを必要に応じて修正し、前記ライトデータに
    関連する前記待ちキャッシュデータタグが前記タグ・ア
    ップデート・キューに存在しない場合は必要に応じて新
    しい待ちキャッシュデータタグを前記タグ・アップデー
    ト・キュー内に生成するものであることを特徴とする、 キャッシュへデータをライトするための装置。
JP28158689A 1988-10-28 1989-10-27 キャッシュデータアクセス方法及び装置 Expired - Fee Related JP3219196B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26405888A 1988-10-28 1988-10-28
US264058 1988-10-28

Publications (2)

Publication Number Publication Date
JPH02224042A JPH02224042A (ja) 1990-09-06
JP3219196B2 true JP3219196B2 (ja) 2001-10-15

Family

ID=23004384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28158689A Expired - Fee Related JP3219196B2 (ja) 1988-10-28 1989-10-27 キャッシュデータアクセス方法及び装置

Country Status (2)

Country Link
EP (1) EP0366324A3 (ja)
JP (1) JP3219196B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950906B2 (en) * 2002-12-13 2005-09-27 Hewlett-Packard Development Company, L.P. System for and method of operating a cache

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772879B2 (ja) * 1987-02-24 1995-08-02 松下電器産業株式会社 キヤツシユメモリ装置

Also Published As

Publication number Publication date
JPH02224042A (ja) 1990-09-06
EP0366324A3 (en) 1991-09-18
EP0366324A2 (en) 1990-05-02

Similar Documents

Publication Publication Date Title
US12001345B2 (en) Victim cache that supports draining write-miss entries
US5163142A (en) Efficient cache write technique through deferred tag modification
US7493452B2 (en) Method to efficiently prefetch and batch compiler-assisted software cache accesses
KR100262906B1 (ko) 데이터 선인출 방법 및 시스템
US6725337B1 (en) Method and system for speculatively invalidating lines in a cache
US5555392A (en) Method and apparatus for a line based non-blocking data cache
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
KR100240912B1 (ko) 데이터 프리페치 장치 및 시스템, 캐시 라인 프리페치 방법
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US5499355A (en) Prefetching into a cache to minimize main memory access time and cache size in a computer system
EP0950222B1 (en) Prefetch management in cache memory
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JPH09160827A (ja) コールド・キャッシュ命令のプリフェッチ
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
JP3219196B2 (ja) キャッシュデータアクセス方法及び装置
JPH02300960A (ja) データ事前取出し方法およびマルチプロセッサ・システム

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees