JPH036757A - ライトバツクデータキヤツシユメモリ装置 - Google Patents

ライトバツクデータキヤツシユメモリ装置

Info

Publication number
JPH036757A
JPH036757A JP2125264A JP12526490A JPH036757A JP H036757 A JPH036757 A JP H036757A JP 2125264 A JP2125264 A JP 2125264A JP 12526490 A JP12526490 A JP 12526490A JP H036757 A JPH036757 A JP H036757A
Authority
JP
Japan
Prior art keywords
data
cache
memory
entry
entries
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
JP2125264A
Other languages
English (en)
Inventor
Robin W Edenfield
ロビン・ウエイン・エデンフイールド
Jr William B Ledbetter
ウイリアム・ビー・レドベツター・ジユニア
Russell A Reininger
ラツセル・エイ・レイニンガー
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 JPH036757A publication Critical patent/JPH036757A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は一般的にデータキャッシュに関するもので、も
っと特定すると全キャッシュエントリをメモリに書き込
まずにデータキャッシュを外部メモリと無矛盾化する機
構ををするライトバックデータキャッシュメモリ装置に
関するものである。
〔従来の技術〕
バス帯域幅(bus band width)の保存は
マイクロプロセッサの速さが増すに連れて重要な設計上
の考慮すべき点となっている。これらのより速いマイク
ロプロセッサはシステムバスを共をするメモリシステム
、多重プロセッサ及びDMA装置(デバイス)に対する
要求を増加する。マイクロプロセッサのM68000フ
ァミリーは典型的には中央演算処理装置(CPU)の高
効率なパイプライン化された内部アーキテクチャのため
に、外部バス帯域幅の内の90−95%を利用している
。あるシステムにおいては、不十分なバス帯域幅の問題
はキャッシュ手法、特定すると大きな(すなわち、バス
サイズよりも著しく大きな)データエントリを収容する
キャッシュを用いることによって対応されてきた。
キャッシュメモリの構成方式はコンピュータ設計者によ
ってよく用いられており中央演算処理装置(CPU)に
よる主メモリへのアクセスタイムを減小し、それゆえシ
ステム性能を向上するものである。多くの計算システム
において、主メモリはプロセッサ速度に比べて速度か遅
い、大容量アレイのメモリ装置(デバイス)から構成さ
れている。
主メモリへのアクセス期間中に、プロセッサはより動作
速度の遅いメモリ装置(デバイス)に適合させるために
、追加の待ち状態(wait 5tates)を挿入さ
せられる。メモリアクセス期間中のシステム性能はキャ
ッシュにより向上し促進され得る。
主メモリよりもサイズが小さくしかも著しく速い、キャ
ッシュはプロセッサによってしばしば使用されるデータ
及びインストラクション(命令)コードのための速いロ
ーカル記憶器(fast 1ocal storage
)を提供する。キャッシュを有する計算システムにおい
て、プロセッサによるメモリ動作は最初にキャッシュと
情報交換する。より遅い主メモリはメモリ動作がキャッ
シュで完了できないときにのみプロセッサによってアク
セスされる。一般に、プロセッサはキャッシュによりそ
のメモリ動作の大部分を満足する高い確率を有する。キ
ャッシュを用いる計算システムにおいてその結果として
、プロセッサと比較的遅い主メモリとの間の実効的なメ
モリアクセスタイムを減少することができる。
キャッシュは多数の異なる特徴に従って高度に最適化さ
れる。キャッシュの性能及び設計複雑度に影響を与える
1つの重要な特徴はプロセッサあるいは代替バスマスタ
ー(bus master)による書込みの操作取扱い
である。データあるいはインストラクション(命令)コ
ードの特定なものの2つのコピー、主メモリ内に1つ、
キャシュに写し、が存在し得るので、主メモリもしくは
キャッシュへの書込みは結果として2つの記憶システム
の間の矛盾化(incoherency)となり得る。
例えば、特定のデータがキャッシュと主メモリとの両方
における所定のアドレスにストアされている。所定のア
ドレスへのプロセッサ書込み期間中に、プロセッサはま
ずそのデータのためのキャッシュの内容をチエツクする
。キャッシュにおけるそのデータを見つけた後、プロセ
ッサは新しいデータを所定のアドレスにおいてキャッシ
ュに書込みに行く。結果として、データが主メモリ内で
はな(キャッシュ内において修飾(modify)され
、それゆえ、キャッシュ及び主メモリが矛盾化(inc
oherent)となる。同様にして、他の代替バスマ
スターを有するシステムにおいて、代替バスマスターに
よる主メモリへの直接メモリアクセス(Direct 
Memory Access)(DMA)書込みがキャ
ッシュではなく主メモリにおいてデータを修飾する。も
う−度、キャッシュと主メモリが矛盾化(incohe
rent )となる。
プロセッサ書込み中のキャッシュと主メモリとの間の矛
盾化(Jncoherency)は2つの技術を用いて
処理できる。第1の技術において、゛ライトスル−(w
r目e−irough )’キャッシュはプロセッサ書
込み期間中にキャッシュと主メモリとの両方に書込むこ
とによってキャッシュと主メモリとの間の無矛盾化を保
証する。キャッシュと主メモリの内容は必ず同一であり
、そのために2つの記憶システムは必ず無矛盾化(co
herent)である。第2の技術において、 ゛ライ
トバック(write−back)’  もしくは ゛
コピーバック(copy−back)’キャッシュはキ
ャッシュのみに書込み、プロセッサによって変更された
キャッシュエントリを指定する “ダーティ(dirt
y)” (不一致)ビットをセットすることによってプ
ロセッサ書込みを処理する。キャッシュミス(miss
>’ に終る、プロセッサによるキャッシュをアクセス
する次の引き続く試みは、リブレイスメシトアルゴリズ
ムにリプレイスメシトに代えてダーティ(不一致)キャ
ッシュエントリを選択させて、かつ全ダーティ(不一致
)(変更された)キャッシュエントリを主メモリに転送
することを可能とする。新しいデータはダーティ(不一
致)エントリによって空白にされた位置にあるキャッシ
ュに書込まれる。
従来の技術においては、コピーバックモードで動作する
プロセッサかいくつか存在する。これらのプロセッサは
主メモリ(記憶)への全キャッシュラインの書込みモー
ド転送によってダーティキャッシュエントリをアンロー
ド(unload)する。キャッシュエントリはシステ
ムバスサイズよりも著しく大きいので、主メモリへの全
キャッシュラインツバ−スト書込み(burst wr
ite)はバスバンド幅のかなりの著しい部分を利用し
ている。さらには、このタイプのプロセッサはキャッシ
ュラインの °クリーン(clean)’ (一致)も
しくは非修飾部分、と ゛ダーティ′ (不一致)もし
くは修飾部分との間を区別することはない。本質的には
、これらのプロセッサはキャッシュライン当たりただ1
つのダーティ(不一致)ビット及び1つの有効(Val
id)ビットを提供する。結果として、キャッシュエン
トリの部分(すなわち、ひとつの長ワード(long 
word))のダーティ(不一致)状態は主メモリへの
全キャッシュライン(すなわち、4つの長ワード)の書
込みとなる。従って、キャッシュを維持するために必要
とされるバス帯域幅はより大きく、バス利用度は効率的
ではない。
〔発明が解決しようとする課題〕
従って、本発明の目的の1つはメモリへの置換(リプレ
イス)された“ダーティ” (不一致)エントリの書込
みのためのバンド幅要求を低減化することによってバス
効率を増大するライトバックキャッシュを提供すること
である。
本発明の別の目的の1つはキャッシュエントリの様々な
サイズをアンロードできるライトバックキャッシュを提
供することである。
本発明のさらに別の目的の1つはバスのサイズに対応す
るキャッシュエントリのダーティ(不二致)部分のみを
アンロードできるライトバックキャッシュを提供するこ
とである。
〔課題を解決するための手段〕
本発明のこれらの及び他の目的は、データプロセッサと
、複数のデータエントリをストアし、複数のメモリアド
レスによって同定されプロセッサへのデータエントリを
提供するメモリと、第1の制御信号に応答してメモリと
データプロセッサとの間の複数のデータエントリを転送
する第1通信バスと、バス制御器と、複数のキャッシュ
ラインの各々に複数のデータビットを含むアドレス可能
なデータキャッシュエントリをストアし、第1の書込み
モードで修飾されたデータエントリをデータプロセッサ
から受信し、第2の書込みモードでメモリへのアドレス
可能なデータエントリの複数のビットの内の少なくとも
1つのビットを転送するキャッシュと、 該キャッシュは、複数のキャツンユラインの各々に複数
のデータビットを含むアドレス可能なデータキャッシュ
エントリをストアし、キャッシュラインが宵効であるこ
とを示す第1の状態エントリをストアし、複数のデータ
ビットはアドレス可能なデータキャッシュエントリに対
応するメモリアドレスにおいてデータエントリと無矛盾
化もしくは矛盾化することを示す複数のデータビットの
各々に対応する第2の状態エントリをストアするレジス
タと、複数のデータビットがアドレス可能なデータエン
トリに対応するメモリアドレスにおけるデータエントリ
と矛盾化しているということを対応する第2の状態エン
トリが示す時に、キャンシュからの修飾されたデータエ
ントリを受信しかつメモリへ修飾されたデータエントリ
を転送しメモリから複数のリプレイスメントデータエン
トリを受信しキャッシュへ複数のリプレイスメントデー
タエントリを転送する、キャッシュとバス制御器に結合
された複数のバッファと、及び複数のデータビットの各
々に対応する第2の状態エントリを読出し、メモリへの
修飾されたデータエントリの転送を制御し、かつ複数の
バッファからキャッシュへの複数のリプレイスメントデ
ータエントリの転送を制御する複数のバッファとレジス
タに結合されたキャッシュ制御器とから成る、データ処
理システムにおいて達成される。
〔概 要〕
ライトバック(write−back) (コピーバッ
ク(copy−back) )モードで動作可能なデー
タキャッシュである。データキャッシュの設計は、メモ
リへ全キャッシュエントリを書込まずに、データキャッ
シュをメモリと無矛盾化させる機構を提供し、それ故に
バス利用度を低減化する各データキャッシュエントリは
3つの項目、即ちデータ、タグアドレス(tag ad
dress)及び混成サイズ状態フィールド(mixe
d 5ize 5tatus field)から成る。
混成サイズ状態フィールドはデータキャッシュエントリ
の有効性を示す1つのビットと及びエントリがメモリに
書込まれていない(dirtiness(不一致))デ
ータを含むかどうかを示す多重ビットとを提供する。多
重ダーティビットはダーティ(不一致)エントリをアン
ロードするのに使われるメモリアクセスの数を最小とす
るのに十分な情報をデータキャッシュ制御器に提供する
。データキャッシュ制御器はダーティ−(不一致)デー
タをメモリに書込むのに要するアクセスの量とタイプを
決定するために多重ダーティ(不一致)ビットを利用す
る。
クリーン(一致)(非修飾)であるとしてリプレイス(
r6placed)されているエントリの部分はメモリ
には書込まれない。
〔実施例〕
“肯定する(assert)”、“肯定(assert
ion)”、“否定する(negate)”及び“否定
(negation)“という用語は、“アクティブハ
イ(active high)“と“アクティブロー(
active low)”の信号の混成を取扱う時に、
混同を避けるために使われるであろう。“肯定する″及
び“肯定”は信号がアクティブもしくは論理的に真(t
rue)であると考えられることを示すのに使われる。
“否定する“及び“否定”は信号がイナクティブもしく
は論理的に偽(false)であると考えられることを
示すのに使われる。
第1図に図示するのはデータ処理システム10の望まし
い実施例のブロック構成図であり、CPU12、データ
キャッシュ制御器(コントローラ)14、ライトバック
キャッシュ16、内部バス■8、バスインタフェース制
御器(コントローラ)20、バッファ22、システムバ
ス24、主メモリ(記憶)26、DMAユニット28、
及びディスク30から成る。データ処理システム10は
典型的なユニプロセッサシステムを図示し、本発明を支
援するように設計された単一のキャッシュを用いている
。図示の形式において、CPU12は命令語の所定のセ
ット(set)を実行する第1の内部機能ユニットであ
る。データキャッシュ制御器(コントローラ)14はバ
スインタフェース制!D器(コントローラ)20及びC
PUI2から制御信号を受信し、ライトバックキャッシ
ュ16と、CPU 12と、及びバスインタフェース制
御器(コントローラ)20との間のデータ転送を管理す
る、第2の内部機能ユニットである。CPU12が、ビ
ル・レドベツタらによって発明され、同時係属出願中の
“ライトバックキャッシュと主メモリとの間の無矛盾化
を維持するデータパススヌープ制御方法”シリアルNo
、5C−00723A、と題する本件出願の譲受人と同
じ譲受人に譲渡された特許出願において記載されたよう
なカレントバスマスタではない時に、システムバス24
をモニタすることによって、ライトバックキャッシュ1
6と主メモリ26との間の無矛盾化を維持するためにデ
ータキャッシュ制御器I4もまたパススヌービング(b
us snooping)を支援する。ライトバックキ
ャッシュ16は第3の機能ユニットであり、データキャ
ッシュ制御器j4、バッファ22、内部バス18に結合
されている。ライトバックキャッシュ16はキャッシュ
を読出し、書込み、アップデートし、無効化し、フラツ
ノユ(Hush)するのに必要な適当なるロジックを含
む。望ましい実施例において、3つの内部機能ユニット
か同時に動作し、最大保持性能(maximum 5u
stained performance)を提供する
第3図A及び第3図Bに図示するのはライトバックキャ
ッシュ16の望ましい実施例を図示するブロック構成図
である。第2図が第3図A及び第3図Bのブロック構成
図の正しい配置構成を図示している。望ましい実施例に
おいて、ライトバックキャッシュ16はページメモリ管
理ユニットの翻訳ルックアサイド(look−asid
e)バッファ(TLB)34.4つのキャッシュブロッ
ク36.38.40.42.4つの比較器44.46.
48.50、マルチプレクサ(MuX)52.54.6
0、及び1つのORゲート58から成る。4つのキャッ
シュブロック36.38.40.42の各々は64セツ
トの4つの16バイトデータキヤツシユライン(IJI
−IJ4)32を含み、各長ワード(LW)が32個の
連続ビットから成り、全キャッシュデータ貯蔵は4KB
となる。従って、ライトバックキャッシュ16は4ウエ
イ(way)のセットアソシアティブ(set−ass
ociative)キャッシュとして組織され、各キャ
ッシュラインのセット数が主メモリ26の最小ページサ
イズの関数となる。
動作において、ライトバックキャッシュ16はページメ
モリ管理ユニットの翻訳ルックアサイドバッファ(TL
B)34によって発生される物理的アドレスによってア
クセスされる。TLB34はCPU 12から論理ペー
ジアドレス56を受信し論理アドレスの上位アドレスビ
ットの所定数を物理的アドレスに翻訳する。論理ページ
アドレス56は2つのフィールド、ページフレームとペ
ージオフセットから成る。ページフレームは論理ページ
アドレス56の上位アドレスビットを含み、一方ページ
オフセットは下位アドレスビットを含む。透過な翻訳(
trasparent translation)によ
り、物理的アドレスと論理アドレスがページオフセット
におけるアドレスビットの所定の数に対しては同じであ
る。透過に翻訳された物理的アドレスはライトバックキ
ャッシュ16をアクセスするために使用されている。従
って、ページオフセットフィールド(例えばPA+9・
4))内に含まれた所定数の物理的アドレスビットはラ
イトバックキャッシュ16の64セツトの内の1つを選
択するために用いられている。同様に、ページオフセッ
ト (たとえばPA[3:2])からの所定数のアドレ
スビットはデータキャッシュライン32における適当な
るビットを選択するときに使われる。
ライトバックキャッシュ16の各データキャツノユライ
ン32に関連するのはアドレスタグ(TAG)とステー
タス(状態)情報である。留意すべきことは、データキ
ャッシュライン32における状態情報の配置が図示の目
的のためにのみ第3図A及び第3図Bにおいて変更され
ているという点である。各々のデータキャッシュライン
32に対する状態情報は、データキャッシュエントリ3
2における、ライン当りの有効性(第1状態エントリ)
、と各長ワード(LW)当りの書込み状態−“ダーティ
度(不一致性) ” (dirtiness) (第2
の状態エントリ)から成る。従って、データキャッシュ
ライン32は、第4図に図示するように、各長ワード(
LWI−LW4)と関連した第1 ノVALID(V)
 (有効)ビットとDIRTY(D) (不一致)ビッ
トとを有する。各データキャッシュライン32に対して
3つの可能な状態、即ちVALID (有効) 、IN
VALID (無効’I 、DIRTY (不一致)が
ある。VALID (有効)ビットがクリア(clea
r)である時、キャッシュライン内にはいかなるデータ
もストアされず、l NVAL I D(無効)状態を
表わす。VALID(V) (有効)ビットがセットさ
れ、かつDIRTY (不一致)ビットがセットされな
い時に、データキャッシュラインにおけるエントリは有
効となり、対応するメモリ位置における主メモリ(記憶
)26内にストアされたデータと無矛盾化するデータを
含む。VALID (有効)ビットがセットされ、かつ
1つもしくはそれ以上のDIRTY (不一致)ビット
がセットされる時、キャッシュライン内のデータは有効
となるが、主メモリ26と矛盾化する。
論理ページアドレス56 (例えばPA(31:131
)の所定数の上位ビットがTLB34によって翻訳され
、しかもページオフセット (例えばPA (12:1
01)からの所定数のビットと組み合わされてPHYS
ICAL TAG AC)DRESS (物理的タグア
ドレス)を発生する。ページオフセットがTLB34の
翻訳プロセス中に使用できることから、論理アドレスビ
ットの翻訳はライトバックキャッシュ16内におけるセ
ットアレイへのアクセスと同時に発生する。PHYSI
CAL TAG ADDRESS (物理的タグアドレ
ス)は、キャッシュライン(0−3)の選択されたセッ
トからの各データキャッシュライン32のTAG (タ
グ)アドレスフィールドとの比較のために、比較器44
.46.48.50に導かれる。もしも4つの比較器4
4.46.48、もしくは50の内の1つがキャツンユ
ライン(0−3)の選択されたセットのデータキャッシ
ュライン32のひとつのためのTAG (タグ)アドレ
スフィールドがPHYSICAL TAGに一致(整合
)するということを示し、整合するデータキャッシュラ
イン32に対する状態情報が、エントリが有効(val
id)であるということを示すならば、キャッシュ“ビ
ット“(“bit”)が発生し、しかもHIT信号が肯
定される。代りに、もしもキャッシュライン(0−3)
の選択されたセットからのデータキャッシュライン32
のTAG (タグ)アドレスフィールドのどれもがPH
YSICAL TAG ADDRESS (物理的タグ
アドレス)と整合しないならば、キャッシュ“ミス”じ
m1ss“)が発生しl−1)T信号は否定される。4
つの比較器44.46.48.50の各々はORゲート
58にそれぞれ“ビット” (“bit”)ステータス
を提供する。ORゲート58はアドレス比較“ビット”
(”bit”)もしくは“ミス” (’m1ss’) 
(HIT”はHITの補数)のステータスを反映するデ
ータキャッシュ制御器14へHIT信号を転送する。
CPL1)2がデータオペランド(data oper
and)を転送する毎に、ライトバックキャッシュ16
の比較器44.46.48.50はオペランドアドレス
(PHYSICAL TAG ADDRESS)の、選
択されたセットのライン(0−3)の様々なTAG (
タグ)アドレスフィールドとの比較を実行して、要求さ
れたオペランドがライトバックキャッシュ16内に所在
するかどうかを決定する。ライトバックキャッシュ16
において“ビット”(“bit”)する、CPU12に
よって起動される書込みアクセスは選択されたデータキ
ャッシュライン32をCPtJ12によって提供された
データでアップデーt−(update)させる。従っ
て、CPU12はデータキャッシュライン32における
適当なデータエントリ(LWI−LW4)のためにDI
RTY (不一致)ビットをセットし、データエントリ
(LWI −LW4 )が修飾されたことを示す。CP
U12が主メモリ26をアップデートするのに同時のバ
ス書込みサイクルを実行しないので、修飾されたキャッ
シュライン32内にストアされたデータは今や主メモリ
26内における対応するメモリ位置においてストアされ
たデータと矛盾化する。このようにして、データキャッ
シュライン32の内の少なくとも一部分はDIRTY 
(不一致)データエントリかりプレイスメシトのために
選択されるか、もしくはCPUI2によって無効化され
るまで、DIRTY (不一致)状態に留どまる。
第4図に示すのは、ライトキャッシュ16に対するデー
タキャッシュエントリのりプレイスメシト方式の望まし
い実施例を図示するブロック構成図である。ライトバッ
クキャッシュ16における3つのイベント(event
s)の発生はデータエントリリプレイスメシト方式をト
リが(起動)する。イベントlはCPU12によって提
供されるアドレスがライトバックキャッシュ16におい
て“ミス”じm1ss−t、、しかもリプレイスされる
データキャッシュライン32がDIRTY (不一致)
である時に、発生する。イベント2はCPU12によっ
て提供されるアドレスがライトバックキャッシュ16に
おいて″ミス”し、しかもリプレイスされるデータキャ
ッシュライン32がVALID(有効)(クリーン(一
致))である時に、発生する。イベント3はCPU12
によって提供されるアドレスがライトバックキャッシュ
16において“ビット”し、しかもDIRTY (不一
致)ビットが、修飾されたデータキャッシュライン32
内における適当なるデータエントリ(LWI −LW4
)に対してセットされるようにする時に発生する。
基本的には、イベント1及び2はCPU12がアクセス
を書込もうとするエントリがライトバックキャッシュ1
6内に所在せず、従ってキャッシュ“ミス”(’m1s
s”)を生じさせる時に発生する。イベント1のキャッ
シュ“ミス”(”m1ss”)とイベント2のキャッシ
ュ“ミス”(“m1ss″)との唯一の著しい相違はデ
ータキャッシュライン32の状態がリプレイスされるこ
とである。イベントlの場合には、リプレイスされるデ
ータキャッシュライン32内におけるデータエントリ(
LWI −IJ4)の1つもしくはそれ以上がDIRT
Y (不一致)であるが、一方、イベント2の場合には
、リプレイスされるデータキャッシュライン32内にお
けるデータエンh ’) (LWI −LW4)がVA
LID(有効)(クリーン(一致))である。以下の説
明はライトバックキャッシュI6における“ミス”じm
1ss”)をトリガするイベントを例示するが、しかし
ながら、キャッシュ“ミス”(’m1ss”)の検知に
続くイベントはデータキャッシュライン32の状態に依
存する。
CPU12はデータキャッシュ制御器14ヘリクエスト
を送り所与のアドレスにおいてライトバックキャッシュ
16にデータエントリを書込む。データキャッシュ制御
器(コントローラ)14は、選択されたセットのための
4つのTAG (タグ)アドレスフィールドの各々と比
較するため、TLB 34がP)IYsIcAL TA
G ADDRESS (物理的タグアドレス)を(CP
U12によって提供されたアドレスに対応して)発生す
ることを待つ。比較器44.46.48、及び50はP
HYSICAL TAG ADDRESSと選択された
セットのキャッシュライン(0−3)の各データキャッ
シュライン32に対するそれぞれのTAG (タグ)ア
ドレスフィールドとを比較する。
−旦、比較が完了し、アドレスの不整合が起こると、各
ラインの“ビット“(“hit″)ステータスかORゲ
ート58に対して供給される。ORゲート58はデータ
キャッシュ制御器14に“ミス”(“m1ss″) (
HIT” )信号を送る。キャッシュ“ミス”(“m1
ss”)が発生したORゲート58からの連絡の受信に
応答して、データキャッシュ制御器14がバスインタフ
ェース制御器20に対する第1のREQLIEST(要
求、リクエスト)を発生し、内部レジスタ(図示されて
いない)内の様々な状態情報と共に、バスインタフェー
ス制御器20がREQUEST信号を受信するまで、リ
クエストされたキャッシュラインのためのアドレスをス
トアする。バスインタフェース制御器20によるREQ
UEST信号の肯定応答に際して、データキャッシュ制
御器14はアドレス、状態情報、及び読出し信号をバス
インタフェース制御器20に転送する。リクエストされ
たキャッシュラインは主メモリ26から読出され、選択
されたセットのキャッシュライン(0−3)の1つにお
けるデータキャッシュライン32に書込まれる。
イベント1のキャッシュ“ミス”(“m1ss”)の場
合には、第1のREQtJEST信号と同時に、データ
キャッシュ制御器14は、修飾されたデータキャッシュ
ライン32内に含まれた、DIRTY (不一致)ビッ
トを読出し、全データキャッシュライン32がメモリに
書込まれるべきか、もしくは代りに、長ワードLWI 
−LW4の内の1つだけがメモリに書込まれるべきかど
うかを決定する。修飾されたデータキャッシュライン3
2の内のDIRTY (不一致)ビットを読出した後、
データキャッシュ制御器14はメモリへの遅延書込みの
必要サイズ(requisite 5ize)を決定す
る。同時に、データキャッシュライン32からのTAG
アドレスと必要な数のデータエントリ(LWI −LW
4)はデータキャッシュ制御器14によって読出され、
ブツシュバッファ22b内にストアされる。−旦、プツ
ンユバツファ22bが充満されると、データキャッシュ
制御器14がバスインタフェース制御器20への新しい
REOUEST信号を発生し、VALID(有効)ビッ
トをクリアして、ブツシュバッファ22b内にストアさ
れた情報の転送(ブツシュ)をリクエストする。もしも
1つのDIRTY (不一致)ビットだけセットされた
ならば、データキャッシュ制御器14が長ワードブツシ
ュのためにバスインタフェース制御器20へREQUE
ST (要求)信号を送るであろう。しかしながら、2
つもしくはそれ以上のDIRTY (不一致)ビットが
セットされたならば、データキャッシュ制御器14がラ
インブツシュ(バースト転送)をリクエスト(要求)し
、全データキャッシュライン32がリクエストの受信に
際してバスインタフェース制御器20へ転送されるであ
ろう。
リプレイスメシトキャッシュエントリは主メモリ(記憶
)26からバスインタフェース制御器20ヘシステムバ
ス24を介して転送され、バッファ22aにロードされ
る。バッファ22aが充満された後、バスインタフェー
ス制御器20はデータキャッシュ制御器14によってな
されたブツシュリクエストを自由に受信し、しかもデー
タキャッシュ制御器14はリプレイスメシトエントリで
ライトバックキャッシュ16を自由にロードする。
−旦、バスインタフェース制御器20がブツシュリクエ
ストを受信すると、データキャッシュライン32からT
AG (タグ)アドレスと必要な数のデータエントリ(
LWI−LW4)がバッファ22bからバスインタフェ
ース制御器20ヘプツシユアウトされる。データキャッ
シュライン32のD I RTY部分のみが主メモリに
“書きもどす” (ライトバックする)ので、システム
バス24のバンド幅の最小量が使用される。データキャ
ッシュ制御器14はREQUEST信号を受信するため
にバスインタフェース制御器20を待時するであろう。
従って、データキャッシュライン32(もしくはその一
部分)は、ブツシュリクエストがバスインタフェース制
御器20によって受信されるまで、ブツシュバッファ2
2b内にストアされたままである。5TATUS信号の
セットはデータキャッシュ制御器14に対してデータキ
ャッシュ制御器14によってリクエストされたいかなる
バス転送の状態をも知らせるデータキャッシュ制御器1
4はライトバックキャッシュ16をバッファ22a内に
ストアされたりプレイスメシトエントリでロードし始め
る。すべてのDIRTY (不一致)ビットは新しく修
飾されたデータキャッシュライン32に対するそれらの
適当なる値にセットされる。例えば、キャッシュ読出し
“ミス′(“m1ss”)の場合には、DIRTY (
不一致)ビットはクリアされ、VALID(有効)ビッ
トはセットされ、データキャッシュライン32はVAL
ID (有効)状態に至るであろう。逆に、キャッシュ
書込み“ミス”にm1ss”)の場合には、リプレイス
メシトキャッシュラインはCPtJl、2によって提供
される新しいデータと合流しく組み合わされて) 、V
ALID (有効)ビットはセットされ、適当なるDI
RTY (不一致)ビットはセットされ、キャッシュラ
インはDIRTY (不一致)状態のままにしておく。
書込み“ミス”(m1ss”)の場合には、キャッシュ
ラインはそれがCPU12によってリプレイスされるか
もしくは無効化されるまでD I RTY(不一致)状
態に留どまるであろう。
イベント2のキャッシュ″ミス”(“m1ss”)の場
合には、データキャッシュ制御器14はCPU12によ
って提供されるアドレスがライトバックキャッシュ16
において“ミス”じm1ssed”)したことをORゲ
ート58によって通知されるであろう。データキャッシ
ュ制御器14は、選択されたデータキャッシュライン3
2内に含まれた、状態ビットを読出し、データキャッシ
ュエントリ(Llll −LW4 )のいづれがDIR
TY (不一致)であるかどうかを決定する。−旦、デ
ータキャッシュ制御器I4はデータキャッシュライン3
2がVALID (有効)であると決定すると、リクエ
ストされたキャッシュラインに対するアドレス及び様々
な状態情報がデータキャッシュ制御器14へ転送され、
しかも内部レジスタ内にストアされる。従って、データ
キャッシュ制御器14はREQUEST (要求)信号
をバス制御器20に送り、バス転送をリクエストするで
あろう。−旦、バス制御器20がREOUEST信号を
確認すると、データ制御器14は必要とされるキャッシ
ュラインに対するアドレスをこのキャッシュラインを主
メモリ26から読出すコマンドと共にバスインタフェー
ス制御器20に転送する。
イベント2の1ミス″(”m1ss”)がライトバック
キャッシュ16にアクセスし読出すためのCPLI 1
2による試行によって生じるならば、必要とされるキャ
ッシュラインは主メモリ26から読出され要求されたデ
ータがCPU12に供給される。基本的には、要求され
たデータは主メモリ26からシステムバス24に転送さ
れ、しかもハスインタフェース制御器20が内部バス1
8を介して、データをCPU12に供給する。リプレイ
スメシトエントリはキャッシュの中にロードされ、かつ
データキャッシュライン32の状態はCPU12によっ
て書込まれるまでVALID (有効)状態に留どまる
であろう。“ミス”(“m1ss”)がCPU12によ
る書込みアクセスの試行によって生じる場合には、必要
とされるキャッシュラインは主メモリ2Gから読出され
、しかもデータキャッシュライン32がバスサイクルの
結果として得られるTAG (タグ)及びデータでアッ
プデートされる。関連した長ワードに対するDIRTV
 (不一致)ビットが適宜にセットされ、しかも他のす
べての(DIRTY(不一致)ビット)がクリアされる
。データキャッシュライン32の状態はDIRTY (
不一致)データキャッシュエントリかりプレイスメシト
のために選択されるまで、DIRTY (不一致)に留
どまるであろう。−旦、データキャッシュライン32が
リプレイスメシトのために選択されると、イベントlで
説明されたりプレイスメシト方式が発生するであろう。
キャッシュ“ビット”にhit″)(イベント3)の場
合には、CPtJ12がアクセスを試みるエントリはラ
イトバックキャッシュ16に所在し、それゆえに、OR
ゲート58はキャッシュ“ビット奮“hit″)のデー
タキャッシュ制御器■4に通知する。
もしも“ビット”C″bit″)がCPU]2の読出し
アクセスの結果として生じるならば、ライトバックキャ
ッシュ16は内部バス18を介して要求されたデータオ
ペランドとともにCPU12を提供するもしも“ビット
”じhiじ)がCPLl12の書込みアドレスの結果と
して生ずるならば、選択されたデータキャッシュライン
32はCPIJ I 2によって提供されるデータで修
飾され、しかもDIRTY (不一致)ビットが適当な
長ワード(LWI −LW4 )に対してセットされる
。修飾されたデータキャッシュライン32の状態は、デ
ータキャッシュライン32のDIRTY (不一致)部
分がリプレイスされる時点での、イベントlもしくはイ
ベント2に対して説明されたりプレイスメシト方式を用
いて、イベントlもしくはイベント2かの発生まで同じ
状態に留どまるであろう。
本質的には、データエントリリプレイスメシト方式は実
際のりプレイスメシトプロセスをトリガするイベントに
係わらず同しである。ライトバックキャッシュ16の完
全利用を確保するために、選択されたセットにおいて、
INVALID (無効)であるキャッシュライン(0
−3)の第1は、リプレイスメシトエントリ (要求さ
れたキャッシュライン)をロードするために用いられる
。セット内のどのラインもINVALID (無効)で
ないならば、リプレイスメシトアルゴリズムかどのライ
ンがリプレイスされるかを決定する。一般に、リプレイ
スメシトアルゴリズムはDIRTY (不一致)ビット
の状態とは独立にリプレイスメシトのためのエントリを
選択するであろう。リブレイスメシトエントリによるラ
イトバックキャッシュ16の実際のロード順序(loa
ding 5equence)は、しかしながら、ライ
トバックキャッシュ16において“ミス”(“m1ss
″)がCPU 12による読出しあるいは書込みアクセ
スの結果として生じたかどうかに依存する本発明は望ま
しい実施例において説明されているが、当業技術者にと
って明白なことは、開示された発明が多様に修正され潟
るし、特に設定し上記で説明されたものの他に数多くの
実施例を想定し得るという点である。DIRTY (不
一致)ビットの最適数はキャッシュエントリのサイズを
、実施例に依存する、バス転送オーバヘラF(over
 head)及び状態フィールドスペース制限(spa
ce  1)m1tations)によってさらに修飾
されたメモリへの単一転送の最大サイズで割算したもの
である。従って、ステータスフィールドのサイズはデー
タキャッシュ制御器14に追加情報を提供するために増
加され得るものであり、それによってさらにDIRTY
(不一致)データをアンロードするために使用されるメ
モリアクセスの数を最小化するであろう。更には、ライ
トバックキャッシュ16はシステムバス24を介してC
PU12に結合された外部キャッシュであってもよい。
従って、前記特許請求の範囲によって意図されることは
本発明の真の精神と展望の範囲の中に入るあらゆる本発
明の修正をも、包含するということである。
以下、本発明の実施態様を下記に列記する。
1、 前記修飾されたデータエントリが前記複数のキャ
ッシュラインの内の少なくとも1つのアドレスに整合化
するアドレスを有する時に、前記キャッシュが前記複数
のキャッシュラインの内の少なくとも1つにある前記プ
ロセッサから受信された前記修飾されたデータエントリ
を特徴とする請求項1記載のライトバックデータキャッ
シュメモリ装置。
2、 前記バス制御器が前記第1の通信バスと、前記キ
ャッシュと、及び前記キャッシュ制御器手段とに結合さ
れる、請求項1記載のライトバックデータキャッシュメ
モリ装置。
3、 前記複数のビットの内の少なくとも1つのビット
を前記メモリに転送する前記第1の手段か、第1の動作
モードで前記メモリから受信された前記リプレイスメン
トデータエントリをストアし、及び第2の動作モードで
前記キャッシュから受信された前記複数のビットの内の
少な(とも1つのビットをストアする、前記バス制御器
に結合された、バッファ手段から成る、請求項1記載の
ライトバックデータキャッシュメモリ装置。
4、 前記キャッシュ制?B器手段が複数の制御信号を
前記バス制御器と前記プロセッサから受信し、前記複数
の制御信号に応答して、前記キャッシュと、前記バス制
御器と、前記プロセッサとの間のデータ転送を特徴する
請求項1記載のライトバックデータキャッシュメモリ装
置。
5、 前記複数のアドレス可能なデータエントリを前記
キャッシュに供給し、並びに前記第2の状態エントリを
修飾する、前記の適当な複数データビットの前記制御手
段に結合されたプロセッサをさらに含む、請求項2記載
のライトバックデータキャッシュメモリ装置。
6、 前記プロセッサは前記第2の状態エントリを変更
してリプレイスメシトに際して前記複数ビットの内の少
なくとも1つのビットは前記第1のモードにおいて前記
メモリに転送されねばならないことを前記制御手段に通
知する、請求項2記載のライトバックデータキャッシュ
メモリ装置。
【図面の簡単な説明】
第1図は本発明の望ましい実施例に従うデータ処理シス
テムとしてのライトバックキャッシュメモリ装置を図示
するブロック構成図である。 第2図は第3図A及び第3図Bに図示されるブロック構
成の配列を図示する図面である。 第3図A及び第3図Bは第1図のライトバックキャッシ
ュの望ましい実施例を図示するブロック構成図である。 第4図は第3図A及び第3図Bのライトバックキャッシ
ュにおけるデータキャッシュエントリのりプレイスメシ
ト方式の望ましい実施例を図示するブロック構成図であ
る。 10・・・データ処理システム(ライトバックデータキ
ャッシュメモリ装置)、 12・・・CPLI。 14・・・データキャッシュ制御器(コントローラ)、
I6・・・ライトバックキャッシュ、 18・・・内部バス、 20・・・バスインタフェース制御器(コントローラ)
、22、22a・・・バッファ 22b・・・ブツシュバッファ、 24・・・システムバス、 26・・・主メモリ(記憶)、 28・・・DMAユニット、 30・・・ディスク、 32・・・長ワード(IJ)、 34・・・翻訳ルックアサイドバッファ(TL8)36
、38.40.42・・・キャッシュブロック、44、
46.48.50・・・比較器、52、54.60・7
 ルチプレクサ(MUX)、56・・・論理ページアド
レス、 58・・・ORゲート、

Claims (3)

    【特許請求の範囲】
  1. (1)データプロセッサと、 複数のメモリアドレスによって同定される複数のデータ
    エントリをストアし、前記データエントリを前記プロセ
    ッサに提供するメモリと、 第1制御信号に応答して、前記メモリと前記データプロ
    セッサとの間で前記複数のデータエントリを転送する、
    第1の通信バスと、 バス制御器と、 前記メモリと前記データプロセッサに結合され、複数の
    キャッシュラインの各々内に複数のデータのビットを含
    むアドレス可能なデータキャッシュエントリをストアし
    、第1の書込みモードにて、前記データプロセッサから
    修飾されたデータエントリを受信し、第2の書込みモー
    ドにて、前記アドレス可能なデータキャッシュエントリ
    の複数のビットの内の少なくとも1つのビットを前記メ
    モリに転送するキャッシュであって、前記複数のキャッ
    シュラインの各々の内に前記複数のデータビットを含む
    前記アドレス可能なデータキャッシュエントリをストア
    し、しかも前記キャッシュラインが有効であることを示
    す第1の状態エントリ、並びに前記複数のデータビット
    が前記アドレス可能なデータキャッシュエントリに対応
    するメモリアドレスにおける前記データエントリと無矛
    盾であるか矛盾するかを示す前記複数のデータビットの
    各々に対応する第2の状態エントリをストアするレジス
    タ手段から成るキャッシュと、 前記キャッシュ及び前記バス制御器に結合され、前記キ
    ャッシュから前記修飾されたデータエントリを受信し、
    かつ前記対応する第2の状態エントリが前記複数のデー
    タビットは前記アドレス可能なデータキャッシュエント
    リに対応する前記メモリアドレスにある前記データエン
    トリと矛盾することを示す時に、前記メモリに前記修飾
    されたデータエントリを転送し、並びに複数のリプレイ
    スメントデータエントリを前記メモリから受信し、かつ
    前記リプレイスメントデータエントリを前記レジスタ手
    段に転送する第1の手段と、 前記第1の手段及び前記レジスタ手段に結合され、前記
    複数のデータビットの各々に対応する前記第2の状態エ
    ントリを読出し、前記修飾されたデータエントリの前記
    メモリへの転送を制御し、並びに前記複数のリプレイス
    メントデータエントリの前記第1の手段から前記キヤツ
    シユへの転送を制御する、キャッシュ手段と、を含むラ
    イトバックデータキャッシュメモリ装置。
  2. (2)複数のデータビットと、キャッシュラインの有効
    性を示す第1の状態エントリと、及び対応するメモリア
    ドレスにおけるメモリ内に含まれたデータエントリと前
    記複数のデータビットの各々との無矛盾化を示す第2の
    状態エントリとを、複数のアドレス可能なデータエント
    リの各々が含み、複数の前記キャッシュライン内に前記
    複数のアドレス可能なデータエントリをストアし、並び
    に、前記複数のデータビットが前記対応するメモリアド
    レス内に含まれた前記データエントリと矛盾化する時に
    、通信バスを介して、前記複数のデータビットの内の少
    なくとも1つのビットを前記メモリに選択的に転送する
    キャッシュを有するデータ処理システムにおいて、前記
    キャッシュは、前記複数のアドレス可能なデータエント
    リの各々が前記対応するメモリアドレスにおける前記メ
    モリ内に含まれた前記データエントリのコピーである、
    前記複数のアドレス可能なデータエントリの各々をスト
    アするレジスタ手段と、 前記レジスタ手段に結合され、前記第2の状態エントリ
    が前記複数のデータビットの内の少なくとも1つのビッ
    トは前記対応するメモリアドレスにおける前記データエ
    ントリと矛盾することを示す時に、前記複数のデータビ
    ットの内の少なくとも1つのビットを前記メモリに転送
    し、並びに前記メモリから複数のリプレイスメントデー
    タエントリを受信して前記キャッシュラインをアップデ
    ートする手段であって、該手段は、 前記複数のデータビットの内の少なくとも1つのビット
    を一時的にストアし、第1のモードにおいて前記メモリ
    に転送し、並びに第2のモードにおいて前記メモリから
    受信されたリプレイスメントデータキャッシュエントリ
    を一時的にストアするバッファ手段と、 前記レジスタ手段に結合され、前記キャッシュをイネー
    ブルしかつ、ディスエーブルし、並びに、前記第1のモ
    ードにおいて、前記複数のデータビットを前記キャッシ
    ュから前記メモリへ転送し、前記第2のモードにおいて
    前記リプレイスメントデータキャッシュエントリを前記
    メモリから前記キャッシュに転送するように複数の制御
    信号をバス制御器に与え、それによって前記バス制御器
    を信号処理する、制御手段とからなる、前記手段とを含
    むライトバックデータキャッシュメモリ装置。
  3. (3)複数のデータビットと、キャッシュラインの有効
    性を示す第1の状態エントリと、及び対応するメモリア
    ドレスにおけるメモリ内に含まれたデータエントリと前
    記複数のデータビットの各々との無矛盾化を示す第2の
    状態エントリとを、複数のアドレス可能なデータエント
    リの各々が含み、複数の前記キャッシュライン内に前記
    複数のアドレス可能なデータエントリをストアし、並び
    に、前記複数のデータビットの内の少なくとも1つのビ
    ットが前記対応するメモリアドレス内に含まれた前記デ
    ータエントリと矛盾する時に、通信バスを介して、前記
    複数のデータビットの内の少なくとも1つのビットを前
    記メモリに選択的に転送する、キャッシュメモリシステ
    ムであって、前記キャッシュメモリシステムは、 前記複数のアドレス可能なデータエントリの各々が前記
    対応するメモリアドレスにおける前記メモリ内に含まれ
    た前記データエントリのコピーである、前記複数のアド
    レス可能なデータエントリの各々をストアするレジスタ
    手段と、 前記第2の状態エントリが前記複数のデータビットの内
    の少なくとも1つのビットは前記対応するメモリアドレ
    スにおける前記データエントリと矛盾化することを示す
    時に、前記複数のデータビツトの内の少なくとも1つの
    ビットを前記メモリに転送し、並びに、前記メモリから
    複数のリプレイスメントデータエントリを受信して前記
    キャッシュラインをアップデートする手段であって、該
    手段は、 前記複数のデータビットの内の少なくとも1つのビット
    を一時的にストアし、第1のモードにおいて前記メモリ
    に転送し、並びに第2のモードにおいて前記メモリから
    受信されたリプレイスメントデータキャッシュエントリ
    を一時的にストアするバッファ手段と、 前記レジスタ手段に結合され、前記キャッシュをイネー
    ブルしかつディスエーブルし、並びに前記第1のモード
    において、前記複数のデータビットを前記キャッシュか
    ら前記メモリへ転送し、前記第2のモードにおいて前記
    リプレイスメントデータキャッシュエントリを前記メモ
    リから前記キャッシュに転送するようにバス制御器に複
    数の制御信号を与え、それによって前記バス制御器を信
    号処理する、制御手段とからなる、前記手段とを含むラ
    イトバックデータキャッシュメモリ装置。
JP2125264A 1989-05-15 1990-05-15 ライトバツクデータキヤツシユメモリ装置 Pending JPH036757A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/351,899 US5155824A (en) 1989-05-15 1989-05-15 System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US351,899 1989-05-15

Publications (1)

Publication Number Publication Date
JPH036757A true JPH036757A (ja) 1991-01-14

Family

ID=23382897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2125264A Pending JPH036757A (ja) 1989-05-15 1990-05-15 ライトバツクデータキヤツシユメモリ装置

Country Status (3)

Country Link
US (1) US5155824A (ja)
EP (1) EP0397995A3 (ja)
JP (1) JPH036757A (ja)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03216744A (ja) * 1990-01-22 1991-09-24 Fujitsu Ltd 内蔵キャッシュ・メモリ制御方式
JPH04140892A (ja) * 1990-02-05 1992-05-14 Internatl Business Mach Corp <Ibm> 制御データをエンコードする装置及び方法
US5467460A (en) * 1990-02-14 1995-11-14 Intel Corporation M&A for minimizing data transfer to main memory from a writeback cache during a cache miss
US5584003A (en) * 1990-03-29 1996-12-10 Matsushita Electric Industrial Co., Ltd. Control systems having an address conversion device for controlling a cache memory and a cache tag memory
US5835945A (en) * 1990-08-06 1998-11-10 Ncr Corporation Memory system with write buffer, prefetch and internal caches
US5420994A (en) * 1990-08-06 1995-05-30 Ncr Corp. Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
US5287512A (en) * 1990-08-06 1994-02-15 Ncr Corporation Computer memory system and method for cleaning data elements
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
US5295259A (en) * 1991-02-05 1994-03-15 Advanced Micro Devices, Inc. Data cache and method for handling memory errors during copy-back
US5353423A (en) * 1991-06-21 1994-10-04 Compaq Computer Corporation Memory controller for use with write-back cache system and multiple bus masters coupled to multiple buses
US5325504A (en) * 1991-08-30 1994-06-28 Compaq Computer Corporation Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US5335335A (en) * 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
US5359723A (en) * 1991-12-16 1994-10-25 Intel Corporation Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only
US5355477A (en) * 1991-12-23 1994-10-11 International Business Machines Corporation Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning
JPH05257899A (ja) * 1992-02-19 1993-10-08 Nec Corp キャッシュメモリユニット
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
US5485592A (en) * 1992-04-07 1996-01-16 Video Technology Computers, Ltd. Write back cache controller method and apparatus for use in a system having a CPU with internal cache memory
US5491811A (en) * 1992-04-20 1996-02-13 International Business Machines Corporation Cache system using mask bits to recorder the sequences for transfers of data through cache to system memory
DE69330768T2 (de) * 1992-04-24 2002-07-04 Compaq Computer Corp., Houston Verfahren und Vorrichtung zum Betrieb eines Multiprozessor-Rechnersystems mit Cachespeichern
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5471602A (en) * 1992-07-31 1995-11-28 Hewlett-Packard Company System and method of scoreboarding individual cache line segments
KR960006484B1 (ko) * 1992-09-24 1996-05-16 마쯔시다 덴기 산교 가부시끼가이샤 캐쉬메모리장치
GB2273179A (en) * 1992-12-02 1994-06-08 Ibm Cache indexing in interative processes.
DE69325786T2 (de) * 1992-12-04 2000-02-17 Koninklijke Philips Electronics N.V., Eindhoven Prozessor für gleichförmige Operationen auf Datenreihenfolgen in entsprechenden parallelen Datenströmen
EP1056020B1 (en) * 1993-04-30 2004-11-17 NEC Corporation Symmetric multiprocessing system with unified environment and distributed system functions
EP0624844A2 (en) * 1993-05-11 1994-11-17 International Business Machines Corporation Fully integrated cache architecture
US5555395A (en) * 1993-05-28 1996-09-10 Dell U.S.A. L.P. System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5903911A (en) * 1993-06-22 1999-05-11 Dell Usa, L.P. Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
US5623633A (en) * 1993-07-27 1997-04-22 Dell Usa, L.P. Cache-based computer system employing a snoop control circuit with write-back suppression
GB2282248B (en) * 1993-09-27 1997-10-15 Advanced Risc Mach Ltd Data memory
DE4423559A1 (de) * 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
EP0661638A1 (en) * 1993-12-28 1995-07-05 International Business Machines Corporation Method and apparatus for transferring data in a computer
US5632038A (en) * 1994-02-22 1997-05-20 Dell Usa, L.P. Secondary cache system for portable computer
US5666509A (en) * 1994-03-24 1997-09-09 Motorola, Inc. Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof
EP0683457A1 (en) * 1994-05-20 1995-11-22 Advanced Micro Devices, Inc. A computer system including a snoop control circuit
US5551001A (en) * 1994-06-29 1996-08-27 Exponential Technology, Inc. Master-slave cache system for instruction and data cache memories
US5692152A (en) * 1994-06-29 1997-11-25 Exponential Technology, Inc. Master-slave cache system with de-coupled data and tag pipelines and loop-back
US5835787A (en) * 1994-07-07 1998-11-10 Lucent Technologies, Inc. System for bi-directionally transferring a digital signal sample from a CODEC to a particular memory location and a second sample from memory to CODEC
JPH0844626A (ja) * 1994-07-28 1996-02-16 Nec Niigata Ltd キャッシュシステムのフラッシュサイクル制御方法
US5699550A (en) * 1994-10-14 1997-12-16 Compaq Computer Corporation Computer system cache performance on write allocation cycles by immediately setting the modified bit true
US5640532A (en) * 1994-10-14 1997-06-17 Compaq Computer Corporation Microprocessor cache memory way prediction based on the way of previous memory read
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
US5737756A (en) * 1995-04-28 1998-04-07 Unisys Corporation Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue
US5680542A (en) * 1995-06-07 1997-10-21 Motorola, Inc. Method and apparatus for synchronizing data in a host memory with data in target MCU memory
US5594863A (en) * 1995-06-26 1997-01-14 Novell, Inc. Method and apparatus for network file recovery
DE69605797T2 (de) * 1995-06-26 2000-06-21 Novell, Inc. Verfahren und vorrichtung zur unterdrückung redundanten schreibens
US5778431A (en) * 1995-12-19 1998-07-07 Advanced Micro Devices, Inc. System and apparatus for partially flushing cache memory
US5954811A (en) * 1996-01-25 1999-09-21 Analog Devices, Inc. Digital signal processor architecture
US5802572A (en) * 1996-03-15 1998-09-01 International Business Machines Corporation Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache
US5822763A (en) * 1996-04-19 1998-10-13 Ibm Corporation Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
US5920891A (en) * 1996-05-20 1999-07-06 Advanced Micro Devices, Inc. Architecture and method for controlling a cache memory
US5825788A (en) 1996-05-20 1998-10-20 Micron Technology Inc. Data ordering for cache data transfer
US5960453A (en) 1996-06-13 1999-09-28 Micron Technology, Inc. Word selection logic to implement an 80 or 96-bit cache SRAM
US5781733A (en) * 1996-06-20 1998-07-14 Novell, Inc. Apparatus and method for redundant write removal
US6523095B1 (en) * 1996-07-22 2003-02-18 Motorola, Inc. Method and data processing system for using quick decode instructions
US5895486A (en) * 1996-12-20 1999-04-20 International Business Machines Corporation Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence
US5924121A (en) * 1996-12-23 1999-07-13 International Business Machines Corporation Adaptive writeback of cache line data in a computer operated with burst mode transfer cycles
US5862154A (en) * 1997-01-03 1999-01-19 Micron Technology, Inc. Variable bit width cache memory architecture
US6212605B1 (en) * 1997-03-31 2001-04-03 International Business Machines Corporation Eviction override for larx-reserved addresses
US5900016A (en) * 1997-04-02 1999-05-04 Opti Inc. System for using a cache memory with a write-back architecture
US5960457A (en) * 1997-05-01 1999-09-28 Advanced Micro Devices, Inc. Cache coherency test system and methodology for testing cache operation in the presence of an external snoop
US6119205A (en) * 1997-12-22 2000-09-12 Sun Microsystems, Inc. Speculative cache line write backs to avoid hotspots
US6289419B1 (en) * 1998-03-06 2001-09-11 Sharp Kabushiki Kaisha Consistency control device merging updated memory blocks
US6421764B2 (en) * 1998-08-27 2002-07-16 Ati Technologies, Inc. Method and apparatus for efficient clearing of memory
US7114056B2 (en) 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW processor
US7117342B2 (en) * 1998-12-03 2006-10-03 Sun Microsystems, Inc. Implicitly derived register specifiers in a processor
US6205543B1 (en) * 1998-12-03 2001-03-20 Sun Microsystems, Inc. Efficient handling of a large register file for context switching
US7555603B1 (en) * 1998-12-16 2009-06-30 Intel Corporation Transaction manager and cache for processing agent
GB2385174B (en) * 1999-01-19 2003-11-26 Advanced Risc Mach Ltd Memory control within data processing systems
US6643741B1 (en) * 2000-04-19 2003-11-04 International Business Machines Corporation Method and apparatus for efficient cache management and avoiding unnecessary cache traffic
US6438658B1 (en) * 2000-06-30 2002-08-20 Intel Corporation Fast invalidation scheme for caches
JP4434534B2 (ja) * 2001-09-27 2010-03-17 株式会社東芝 プロセッサ・システム
US7089362B2 (en) * 2001-12-27 2006-08-08 Intel Corporation Cache memory eviction policy for combining write transactions
US6697076B1 (en) * 2001-12-31 2004-02-24 Apple Computer, Inc. Method and apparatus for address re-mapping
US7034849B1 (en) * 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US6836828B2 (en) * 2002-04-03 2004-12-28 Faraday Technology Corp. Instruction cache apparatus and method capable of increasing a instruction hit rate and improving instruction access efficiency
US6785789B1 (en) * 2002-05-10 2004-08-31 Veritas Operating Corporation Method and apparatus for creating a virtual data copy
US6862665B2 (en) * 2002-07-19 2005-03-01 Intel Corporation Method, system, and apparatus for space efficient cache coherency
US6912631B1 (en) 2002-09-25 2005-06-28 Veritas Operating Corporation Method and apparatus for restoring a corrupted data volume
US6938135B1 (en) 2002-10-04 2005-08-30 Veritas Operating Corporation Incremental backup of a data volume
US6907507B1 (en) 2002-12-19 2005-06-14 Veritas Operating Corporation Tracking in-progress writes through use of multi-column bitmaps
US6880053B2 (en) * 2002-12-19 2005-04-12 Veritas Operating Corporation Instant refresh of a data volume copy
US6910111B1 (en) 2002-12-20 2005-06-21 Veritas Operating Corporation Volume restoration using an accumulator map
US6978354B1 (en) 2002-12-20 2005-12-20 Veritas Operating Corporation Method for creating a virtual data copy of a volume being restored
US6996687B1 (en) 2002-12-20 2006-02-07 Veritas Operating Corporation Method of optimizing the space and improving the write performance of volumes with multiple virtual copies
US7103737B1 (en) 2003-07-01 2006-09-05 Veritas Operating Corporation Flexible hierarchy of relationships and operations in data volumes
US7664793B1 (en) 2003-07-01 2010-02-16 Symantec Operating Corporation Transforming unrelated data volumes into related data volumes
US7130965B2 (en) * 2003-12-23 2006-10-31 Intel Corporation Apparatus and method for store address for store address prefetch and line locking
JP2005322110A (ja) * 2004-05-11 2005-11-17 Matsushita Electric Ind Co Ltd プログラム変換装置及びプロセッサ
EP1607869B1 (en) * 2004-06-16 2008-10-08 Freescale Semiconductors, Inc. Data cache system
US7380070B2 (en) * 2005-02-17 2008-05-27 Texas Instruments Incorporated Organization of dirty bits for a write-back cache
US7965771B2 (en) * 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US8218654B2 (en) 2006-03-08 2012-07-10 Cisco Technology, Inc. Method for reducing channel change startup delays for multicast digital video streams
US8031701B2 (en) 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US7937531B2 (en) * 2007-02-01 2011-05-03 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US8769591B2 (en) 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US7940644B2 (en) * 2007-03-14 2011-05-10 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US8180968B2 (en) * 2007-03-28 2012-05-15 Oracle America, Inc. Reduction of cache flush time using a dirty line limiter
US20080253369A1 (en) 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
JP2009151457A (ja) * 2007-12-19 2009-07-09 Nec Corp キャッシュメモリシステムおよびキャッシュメモリ制御方法
US8787153B2 (en) 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US8219528B1 (en) 2009-03-31 2012-07-10 Symantec Corporation Method and apparatus for simultaneous comparison of multiple backup sets maintained in a computer system
US9168946B2 (en) * 2010-03-19 2015-10-27 Javad Gnss, Inc. Method for generating offset paths for ground vehicles
US8838901B2 (en) 2010-05-07 2014-09-16 International Business Machines Corporation Coordinated writeback of dirty cachelines
US8683128B2 (en) 2010-05-07 2014-03-25 International Business Machines Corporation Memory bus write prioritization
US8745004B1 (en) * 2011-06-24 2014-06-03 Emc Corporation Reverting an old snapshot on a production volume without a full sweep
US9342461B2 (en) * 2012-11-28 2016-05-17 Qualcomm Incorporated Cache memory system and method using dynamically allocated dirty mask space
US10019375B2 (en) * 2016-03-02 2018-07-10 Toshiba Memory Corporation Cache device and semiconductor device including a tag memory storing absence, compression and write state information
CN109101439B (zh) * 2017-06-21 2024-01-09 深圳市中兴微电子技术有限公司 一种报文处理的方法及装置
US12197329B2 (en) * 2022-12-09 2025-01-14 Advanced Micro Devices, Inc. Range-based cache flushing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4157586A (en) * 1977-05-05 1979-06-05 International Business Machines Corporation Technique for performing partial stores in store-thru memory configuration
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4713755A (en) * 1985-06-28 1987-12-15 Hewlett-Packard Company Cache memory consistency control with explicit software instructions
JPS62145340A (ja) * 1985-12-20 1987-06-29 Toshiba Corp キヤツシユメモリ制御方式
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
US4811209A (en) * 1986-07-31 1989-03-07 Hewlett-Packard Company Cache memory with multiple valid bits for each data indication the validity within different contents
US4910656A (en) * 1987-09-21 1990-03-20 Motorola, Inc. Bus master having selective burst initiation
EP0310446A3 (en) * 1987-10-02 1990-08-16 COMPUTER CONSOLES INCORPORATED (a Delaware corporation) Cache memory management method
US4996641A (en) * 1988-04-15 1991-02-26 Motorola, Inc. Diagnostic mode for a cache
US4939641A (en) * 1988-06-30 1990-07-03 Wang Laboratories, Inc. Multi-processor system with cache memories
US4995041A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Write back buffer with error correcting capabilities
US5067078A (en) * 1989-04-17 1991-11-19 Motorola, Inc. Cache which provides status information

Also Published As

Publication number Publication date
US5155824A (en) 1992-10-13
EP0397995A2 (en) 1990-11-22
EP0397995A3 (en) 1992-03-18

Similar Documents

Publication Publication Date Title
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5715428A (en) Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
US5197144A (en) Data processor for reloading deferred pushes in a copy-back data cache
US6757784B2 (en) Hiding refresh of memory and refresh-hidden memory
US5119485A (en) Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5897655A (en) System and method for cache replacement within a cache set based on valid, modified or least recently used status in order of preference
US5987571A (en) Cache coherency control method and multi-processor system using the same
US8782348B2 (en) Microprocessor cache line evict array
US5551001A (en) Master-slave cache system for instruction and data cache memories
EP0347040B1 (en) Data memory system
US6338119B1 (en) Method and apparatus with page buffer and I/O page kill definition for improved DMA and L1/L2 cache performance
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US5903911A (en) Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
US6092159A (en) Implementation of configurable on-chip fast memory using the data cache RAM
US20120198163A1 (en) Level One Data Cache Line Lock and Enhanced Snoop Protocol During Cache Victims and Writebacks to Maintain Level One Data Cache and Level Two Cache Coherence
US6502171B1 (en) Multiprocessor system bus with combined snoop responses explicitly informing snoopers to scarf data
EP2284712A2 (en) Method of controlling a cache memory to increase an access speed to a main memory, and a computer using the method
US5765199A (en) Data processor with alocate bit and method of operation
KR19980079433A (ko) 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템
US5809532A (en) Data processor with cache and method of operation
US5809537A (en) Method and system for simultaneous processing of snoop and cache operations
US6347363B1 (en) Merged vertical cache controller mechanism with combined cache controller and snoop queries for in-line caches
US6349367B1 (en) Method and system for communication in which a castout operation is cancelled in response to snoop responses
EP0432524A2 (en) Cache memory architecture
US6976130B2 (en) Cache controller unit architecture and applied method