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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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%を利用している
。あるシステムにおいては、不十分なバス帯域幅の問題
はキャッシュ手法、特定すると大きな(すなわち、バス
サイズよりも著しく大きな)データエントリを収容する
キャッシュを用いることによって対応されてきた。
マイクロプロセッサの速さが増すに連れて重要な設計上
の考慮すべき点となっている。これらのより速いマイク
ロプロセッサはシステムバスを共をするメモリシステム
、多重プロセッサ及びDMA装置(デバイス)に対する
要求を増加する。マイクロプロセッサのM68000フ
ァミリーは典型的には中央演算処理装置(CPU)の高
効率なパイプライン化された内部アーキテクチャのため
に、外部バス帯域幅の内の90−95%を利用している
。あるシステムにおいては、不十分なバス帯域幅の問題
はキャッシュ手法、特定すると大きな(すなわち、バス
サイズよりも著しく大きな)データエントリを収容する
キャッシュを用いることによって対応されてきた。
キャッシュメモリの構成方式はコンピュータ設計者によ
ってよく用いられており中央演算処理装置(CPU)に
よる主メモリへのアクセスタイムを減小し、それゆえシ
ステム性能を向上するものである。多くの計算システム
において、主メモリはプロセッサ速度に比べて速度か遅
い、大容量アレイのメモリ装置(デバイス)から構成さ
れている。
ってよく用いられており中央演算処理装置(CPU)に
よる主メモリへのアクセスタイムを減小し、それゆえシ
ステム性能を向上するものである。多くの計算システム
において、主メモリはプロセッサ速度に比べて速度か遅
い、大容量アレイのメモリ装置(デバイス)から構成さ
れている。
主メモリへのアクセス期間中に、プロセッサはより動作
速度の遅いメモリ装置(デバイス)に適合させるために
、追加の待ち状態(wait 5tates)を挿入さ
せられる。メモリアクセス期間中のシステム性能はキャ
ッシュにより向上し促進され得る。
速度の遅いメモリ装置(デバイス)に適合させるために
、追加の待ち状態(wait 5tates)を挿入さ
せられる。メモリアクセス期間中のシステム性能はキャ
ッシュにより向上し促進され得る。
主メモリよりもサイズが小さくしかも著しく速い、キャ
ッシュはプロセッサによってしばしば使用されるデータ
及びインストラクション(命令)コードのための速いロ
ーカル記憶器(fast 1ocal storage
)を提供する。キャッシュを有する計算システムにおい
て、プロセッサによるメモリ動作は最初にキャッシュと
情報交換する。より遅い主メモリはメモリ動作がキャッ
シュで完了できないときにのみプロセッサによってアク
セスされる。一般に、プロセッサはキャッシュによりそ
のメモリ動作の大部分を満足する高い確率を有する。キ
ャッシュを用いる計算システムにおいてその結果として
、プロセッサと比較的遅い主メモリとの間の実効的なメ
モリアクセスタイムを減少することができる。
ッシュはプロセッサによってしばしば使用されるデータ
及びインストラクション(命令)コードのための速いロ
ーカル記憶器(fast 1ocal storage
)を提供する。キャッシュを有する計算システムにおい
て、プロセッサによるメモリ動作は最初にキャッシュと
情報交換する。より遅い主メモリはメモリ動作がキャッ
シュで完了できないときにのみプロセッサによってアク
セスされる。一般に、プロセッサはキャッシュによりそ
のメモリ動作の大部分を満足する高い確率を有する。キ
ャッシュを用いる計算システムにおいてその結果として
、プロセッサと比較的遅い主メモリとの間の実効的なメ
モリアクセスタイムを減少することができる。
キャッシュは多数の異なる特徴に従って高度に最適化さ
れる。キャッシュの性能及び設計複雑度に影響を与える
1つの重要な特徴はプロセッサあるいは代替バスマスタ
ー(bus master)による書込みの操作取扱い
である。データあるいはインストラクション(命令)コ
ードの特定なものの2つのコピー、主メモリ内に1つ、
キャシュに写し、が存在し得るので、主メモリもしくは
キャッシュへの書込みは結果として2つの記憶システム
の間の矛盾化(incoherency)となり得る。
れる。キャッシュの性能及び設計複雑度に影響を与える
1つの重要な特徴はプロセッサあるいは代替バスマスタ
ー(bus master)による書込みの操作取扱い
である。データあるいはインストラクション(命令)コ
ードの特定なものの2つのコピー、主メモリ内に1つ、
キャシュに写し、が存在し得るので、主メモリもしくは
キャッシュへの書込みは結果として2つの記憶システム
の間の矛盾化(incoherency)となり得る。
例えば、特定のデータがキャッシュと主メモリとの両方
における所定のアドレスにストアされている。所定のア
ドレスへのプロセッサ書込み期間中に、プロセッサはま
ずそのデータのためのキャッシュの内容をチエツクする
。キャッシュにおけるそのデータを見つけた後、プロセ
ッサは新しいデータを所定のアドレスにおいてキャッシ
ュに書込みに行く。結果として、データが主メモリ内で
はな(キャッシュ内において修飾(modify)され
、それゆえ、キャッシュ及び主メモリが矛盾化(inc
oherent)となる。同様にして、他の代替バスマ
スターを有するシステムにおいて、代替バスマスターに
よる主メモリへの直接メモリアクセス(Direct
Memory Access)(DMA)書込みがキャ
ッシュではなく主メモリにおいてデータを修飾する。も
う−度、キャッシュと主メモリが矛盾化(incohe
rent )となる。
における所定のアドレスにストアされている。所定のア
ドレスへのプロセッサ書込み期間中に、プロセッサはま
ずそのデータのためのキャッシュの内容をチエツクする
。キャッシュにおけるそのデータを見つけた後、プロセ
ッサは新しいデータを所定のアドレスにおいてキャッシ
ュに書込みに行く。結果として、データが主メモリ内で
はな(キャッシュ内において修飾(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
>’ に終る、プロセッサによるキャッシュをアクセス
する次の引き続く試みは、リブレイスメシトアルゴリズ
ムにリプレイスメシトに代えてダーティ(不一致)キャ
ッシュエントリを選択させて、かつ全ダーティ(不一致
)(変更された)キャッシュエントリを主メモリに転送
することを可能とする。新しいデータはダーティ(不一
致)エントリによって空白にされた位置にあるキャッシ
ュに書込まれる。
盾化(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つの長ワード)の書
込みとなる。従って、キャッシュを維持するために必要
とされるバス帯域幅はより大きく、バス利用度は効率的
ではない。
プロセッサかいくつか存在する。これらのプロセッサは
主メモリ(記憶)への全キャッシュラインの書込みモー
ド転送によってダーティキャッシュエントリをアンロー
ド(unload)する。キャッシュエントリはシステ
ムバスサイズよりも著しく大きいので、主メモリへの全
キャッシュラインツバ−スト書込み(burst wr
ite)はバスバンド幅のかなりの著しい部分を利用し
ている。さらには、このタイプのプロセッサはキャッシ
ュラインの °クリーン(clean)’ (一致)も
しくは非修飾部分、と ゛ダーティ′ (不一致)もし
くは修飾部分との間を区別することはない。本質的には
、これらのプロセッサはキャッシュライン当たりただ1
つのダーティ(不一致)ビット及び1つの有効(Val
id)ビットを提供する。結果として、キャッシュエン
トリの部分(すなわち、ひとつの長ワード(long
word))のダーティ(不一致)状態は主メモリへの
全キャッシュライン(すなわち、4つの長ワード)の書
込みとなる。従って、キャッシュを維持するために必要
とされるバス帯域幅はより大きく、バス利用度は効率的
ではない。
従って、本発明の目的の1つはメモリへの置換(リプレ
イス)された“ダーティ” (不一致)エントリの書込
みのためのバンド幅要求を低減化することによってバス
効率を増大するライトバックキャッシュを提供すること
である。
イス)された“ダーティ” (不一致)エントリの書込
みのためのバンド幅要求を低減化することによってバス
効率を増大するライトバックキャッシュを提供すること
である。
本発明の別の目的の1つはキャッシュエントリの様々な
サイズをアンロードできるライトバックキャッシュを提
供することである。
サイズをアンロードできるライトバックキャッシュを提
供することである。
本発明のさらに別の目的の1つはバスのサイズに対応す
るキャッシュエントリのダーティ(不二致)部分のみを
アンロードできるライトバックキャッシュを提供するこ
とである。
るキャッシュエントリのダーティ(不二致)部分のみを
アンロードできるライトバックキャッシュを提供するこ
とである。
本発明のこれらの及び他の目的は、データプロセッサと
、複数のデータエントリをストアし、複数のメモリアド
レスによって同定されプロセッサへのデータエントリを
提供するメモリと、第1の制御信号に応答してメモリと
データプロセッサとの間の複数のデータエントリを転送
する第1通信バスと、バス制御器と、複数のキャッシュ
ラインの各々に複数のデータビットを含むアドレス可能
なデータキャッシュエントリをストアし、第1の書込み
モードで修飾されたデータエントリをデータプロセッサ
から受信し、第2の書込みモードでメモリへのアドレス
可能なデータエントリの複数のビットの内の少なくとも
1つのビットを転送するキャッシュと、 該キャッシュは、複数のキャツンユラインの各々に複数
のデータビットを含むアドレス可能なデータキャッシュ
エントリをストアし、キャッシュラインが宵効であるこ
とを示す第1の状態エントリをストアし、複数のデータ
ビットはアドレス可能なデータキャッシュエントリに対
応するメモリアドレスにおいてデータエントリと無矛盾
化もしくは矛盾化することを示す複数のデータビットの
各々に対応する第2の状態エントリをストアするレジス
タと、複数のデータビットがアドレス可能なデータエン
トリに対応するメモリアドレスにおけるデータエントリ
と矛盾化しているということを対応する第2の状態エン
トリが示す時に、キャンシュからの修飾されたデータエ
ントリを受信しかつメモリへ修飾されたデータエントリ
を転送しメモリから複数のリプレイスメントデータエン
トリを受信しキャッシュへ複数のリプレイスメントデー
タエントリを転送する、キャッシュとバス制御器に結合
された複数のバッファと、及び複数のデータビットの各
々に対応する第2の状態エントリを読出し、メモリへの
修飾されたデータエントリの転送を制御し、かつ複数の
バッファからキャッシュへの複数のリプレイスメントデ
ータエントリの転送を制御する複数のバッファとレジス
タに結合されたキャッシュ制御器とから成る、データ処
理システムにおいて達成される。
、複数のデータエントリをストアし、複数のメモリアド
レスによって同定されプロセッサへのデータエントリを
提供するメモリと、第1の制御信号に応答してメモリと
データプロセッサとの間の複数のデータエントリを転送
する第1通信バスと、バス制御器と、複数のキャッシュ
ラインの各々に複数のデータビットを含むアドレス可能
なデータキャッシュエントリをストアし、第1の書込み
モードで修飾されたデータエントリをデータプロセッサ
から受信し、第2の書込みモードでメモリへのアドレス
可能なデータエントリの複数のビットの内の少なくとも
1つのビットを転送するキャッシュと、 該キャッシュは、複数のキャツンユラインの各々に複数
のデータビットを含むアドレス可能なデータキャッシュ
エントリをストアし、キャッシュラインが宵効であるこ
とを示す第1の状態エントリをストアし、複数のデータ
ビットはアドレス可能なデータキャッシュエントリに対
応するメモリアドレスにおいてデータエントリと無矛盾
化もしくは矛盾化することを示す複数のデータビットの
各々に対応する第2の状態エントリをストアするレジス
タと、複数のデータビットがアドレス可能なデータエン
トリに対応するメモリアドレスにおけるデータエントリ
と矛盾化しているということを対応する第2の状態エン
トリが示す時に、キャンシュからの修飾されたデータエ
ントリを受信しかつメモリへ修飾されたデータエントリ
を転送しメモリから複数のリプレイスメントデータエン
トリを受信しキャッシュへ複数のリプレイスメントデー
タエントリを転送する、キャッシュとバス制御器に結合
された複数のバッファと、及び複数のデータビットの各
々に対応する第2の状態エントリを読出し、メモリへの
修飾されたデータエントリの転送を制御し、かつ複数の
バッファからキャッシュへの複数のリプレイスメントデ
ータエントリの転送を制御する複数のバッファとレジス
タに結合されたキャッシュ制御器とから成る、データ処
理システムにおいて達成される。
ライトバック(write−back) (コピーバッ
ク(copy−back) )モードで動作可能なデー
タキャッシュである。データキャッシュの設計は、メモ
リへ全キャッシュエントリを書込まずに、データキャッ
シュをメモリと無矛盾化させる機構を提供し、それ故に
バス利用度を低減化する各データキャッシュエントリは
3つの項目、即ちデータ、タグアドレス(tag ad
dress)及び混成サイズ状態フィールド(mixe
d 5ize 5tatus field)から成る。
ク(copy−back) )モードで動作可能なデー
タキャッシュである。データキャッシュの設計は、メモ
リへ全キャッシュエントリを書込まずに、データキャッ
シュをメモリと無矛盾化させる機構を提供し、それ故に
バス利用度を低減化する各データキャッシュエントリは
3つの項目、即ちデータ、タグアドレス(tag ad
dress)及び混成サイズ状態フィールド(mixe
d 5ize 5tatus field)から成る。
混成サイズ状態フィールドはデータキャッシュエントリ
の有効性を示す1つのビットと及びエントリがメモリに
書込まれていない(dirtiness(不一致))デ
ータを含むかどうかを示す多重ビットとを提供する。多
重ダーティビットはダーティ(不一致)エントリをアン
ロードするのに使われるメモリアクセスの数を最小とす
るのに十分な情報をデータキャッシュ制御器に提供する
。データキャッシュ制御器はダーティ−(不一致)デー
タをメモリに書込むのに要するアクセスの量とタイプを
決定するために多重ダーティ(不一致)ビットを利用す
る。
の有効性を示す1つのビットと及びエントリがメモリに
書込まれていない(dirtiness(不一致))デ
ータを含むかどうかを示す多重ビットとを提供する。多
重ダーティビットはダーティ(不一致)エントリをアン
ロードするのに使われるメモリアクセスの数を最小とす
るのに十分な情報をデータキャッシュ制御器に提供する
。データキャッシュ制御器はダーティ−(不一致)デー
タをメモリに書込むのに要するアクセスの量とタイプを
決定するために多重ダーティ(不一致)ビットを利用す
る。
クリーン(一致)(非修飾)であるとしてリプレイス(
r6placed)されているエントリの部分はメモリ
には書込まれない。
r6placed)されているエントリの部分はメモリ
には書込まれない。
“肯定する(assert)”、“肯定(assert
ion)”、“否定する(negate)”及び“否定
(negation)“という用語は、“アクティブハ
イ(active high)“と“アクティブロー(
active low)”の信号の混成を取扱う時に、
混同を避けるために使われるであろう。“肯定する″及
び“肯定”は信号がアクティブもしくは論理的に真(t
rue)であると考えられることを示すのに使われる。
ion)”、“否定する(negate)”及び“否定
(negation)“という用語は、“アクティブハ
イ(active high)“と“アクティブロー(
active low)”の信号の混成を取扱う時に、
混同を避けるために使われるであろう。“肯定する″及
び“肯定”は信号がアクティブもしくは論理的に真(t
rue)であると考えられることを示すのに使われる。
“否定する“及び“否定”は信号がイナクティブもしく
は論理的に偽(false)であると考えられることを
示すのに使われる。
は論理的に偽(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)を提供する
。
い実施例のブロック構成図であり、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の望ましい実施例を図示するブロック構成図
である。第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における適当な
るビットを選択するときに使われる。
モリ管理ユニットの翻訳ルックアサイドバッファ(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と矛盾化する。
ン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信号を転送する。
)の所定数の上位ビットが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 (不一致)状態に留どまる。
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
)に対してセットされるようにする時に発生する。
タキャッシュエントリのりプレイスメシト方式の望まし
い実施例を図示するブロック構成図である。ライトバッ
クキャッシュ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の状態に依
存する。
を書込もうとするエントリがライトバックキャッシュ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 (タグ)ア
ドレスフィールドとを比較する。
を送り所与のアドレスにおいてライトバックキャッシュ
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に書込まれる。
ラインの“ビット“(“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へ転送されるであ
ろう。
合には、第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を自由にロードする。
)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から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 (不一致)状態のままにしておく。
部分)は、ブツシュリクエストがバスインタフェース制
御器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(不一致)状
態に留どまるであろう。
ラインはそれが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に転送する。
合には、データキャッシュ制御器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で
説明されたりプレイスメシト方式が発生するであろう。
キャッシュ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に通知する。
合には、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は内部バス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に結合された外部キャッシュであってもよい。
際のりプレイスメシトプロセスをトリガするイベントに
係わらず同しである。ライトバックキャッシュ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記載のライトバックデータキャッ
シュメモリ装置。
ッシュラインの内の少なくとも1つのアドレスに整合化
するアドレスを有する時に、前記キャッシュが前記複数
のキャッシュラインの内の少なくとも1つにある前記プ
ロセッサから受信された前記修飾されたデータエントリ
を特徴とする請求項1記載のライトバックデータキャッ
シュメモリ装置。
2、 前記バス制御器が前記第1の通信バスと、前記キ
ャッシュと、及び前記キャッシュ制御器手段とに結合さ
れる、請求項1記載のライトバックデータキャッシュメ
モリ装置。
ャッシュと、及び前記キャッシュ制御器手段とに結合さ
れる、請求項1記載のライトバックデータキャッシュメ
モリ装置。
3、 前記複数のビットの内の少なくとも1つのビット
を前記メモリに転送する前記第1の手段か、第1の動作
モードで前記メモリから受信された前記リプレイスメン
トデータエントリをストアし、及び第2の動作モードで
前記キャッシュから受信された前記複数のビットの内の
少な(とも1つのビットをストアする、前記バス制御器
に結合された、バッファ手段から成る、請求項1記載の
ライトバックデータキャッシュメモリ装置。
を前記メモリに転送する前記第1の手段か、第1の動作
モードで前記メモリから受信された前記リプレイスメン
トデータエントリをストアし、及び第2の動作モードで
前記キャッシュから受信された前記複数のビットの内の
少な(とも1つのビットをストアする、前記バス制御器
に結合された、バッファ手段から成る、請求項1記載の
ライトバックデータキャッシュメモリ装置。
4、 前記キャッシュ制?B器手段が複数の制御信号を
前記バス制御器と前記プロセッサから受信し、前記複数
の制御信号に応答して、前記キャッシュと、前記バス制
御器と、前記プロセッサとの間のデータ転送を特徴する
請求項1記載のライトバックデータキャッシュメモリ装
置。
前記バス制御器と前記プロセッサから受信し、前記複数
の制御信号に応答して、前記キャッシュと、前記バス制
御器と、前記プロセッサとの間のデータ転送を特徴する
請求項1記載のライトバックデータキャッシュメモリ装
置。
5、 前記複数のアドレス可能なデータエントリを前記
キャッシュに供給し、並びに前記第2の状態エントリを
修飾する、前記の適当な複数データビットの前記制御手
段に結合されたプロセッサをさらに含む、請求項2記載
のライトバックデータキャッシュメモリ装置。
キャッシュに供給し、並びに前記第2の状態エントリを
修飾する、前記の適当な複数データビットの前記制御手
段に結合されたプロセッサをさらに含む、請求項2記載
のライトバックデータキャッシュメモリ装置。
6、 前記プロセッサは前記第2の状態エントリを変更
してリプレイスメシトに際して前記複数ビットの内の少
なくとも1つのビットは前記第1のモードにおいて前記
メモリに転送されねばならないことを前記制御手段に通
知する、請求項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ゲート、
テムとしてのライトバックキャッシュメモリ装置を図示
するブロック構成図である。 第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の書込みモードにて、前記データプロセッサから
修飾されたデータエントリを受信し、第2の書込みモー
ドにて、前記アドレス可能なデータキャッシュエントリ
の複数のビットの内の少なくとも1つのビットを前記メ
モリに転送するキャッシュであって、前記複数のキャッ
シュラインの各々の内に前記複数のデータビットを含む
前記アドレス可能なデータキャッシュエントリをストア
し、しかも前記キャッシュラインが有効であることを示
す第1の状態エントリ、並びに前記複数のデータビット
が前記アドレス可能なデータキャッシュエントリに対応
するメモリアドレスにおける前記データエントリと無矛
盾であるか矛盾するかを示す前記複数のデータビットの
各々に対応する第2の状態エントリをストアするレジス
タ手段から成るキャッシュと、 前記キャッシュ及び前記バス制御器に結合され、前記キ
ャッシュから前記修飾されたデータエントリを受信し、
かつ前記対応する第2の状態エントリが前記複数のデー
タビットは前記アドレス可能なデータキャッシュエント
リに対応する前記メモリアドレスにある前記データエン
トリと矛盾することを示す時に、前記メモリに前記修飾
されたデータエントリを転送し、並びに複数のリプレイ
スメントデータエントリを前記メモリから受信し、かつ
前記リプレイスメントデータエントリを前記レジスタ手
段に転送する第1の手段と、 前記第1の手段及び前記レジスタ手段に結合され、前記
複数のデータビットの各々に対応する前記第2の状態エ
ントリを読出し、前記修飾されたデータエントリの前記
メモリへの転送を制御し、並びに前記複数のリプレイス
メントデータエントリの前記第1の手段から前記キヤツ
シユへの転送を制御する、キャッシュ手段と、を含むラ
イトバックデータキャッシュメモリ装置。 - (2)複数のデータビットと、キャッシュラインの有効
性を示す第1の状態エントリと、及び対応するメモリア
ドレスにおけるメモリ内に含まれたデータエントリと前
記複数のデータビットの各々との無矛盾化を示す第2の
状態エントリとを、複数のアドレス可能なデータエント
リの各々が含み、複数の前記キャッシュライン内に前記
複数のアドレス可能なデータエントリをストアし、並び
に、前記複数のデータビットが前記対応するメモリアド
レス内に含まれた前記データエントリと矛盾化する時に
、通信バスを介して、前記複数のデータビットの内の少
なくとも1つのビットを前記メモリに選択的に転送する
キャッシュを有するデータ処理システムにおいて、前記
キャッシュは、前記複数のアドレス可能なデータエント
リの各々が前記対応するメモリアドレスにおける前記メ
モリ内に含まれた前記データエントリのコピーである、
前記複数のアドレス可能なデータエントリの各々をスト
アするレジスタ手段と、 前記レジスタ手段に結合され、前記第2の状態エントリ
が前記複数のデータビットの内の少なくとも1つのビッ
トは前記対応するメモリアドレスにおける前記データエ
ントリと矛盾することを示す時に、前記複数のデータビ
ットの内の少なくとも1つのビットを前記メモリに転送
し、並びに前記メモリから複数のリプレイスメントデー
タエントリを受信して前記キャッシュラインをアップデ
ートする手段であって、該手段は、 前記複数のデータビットの内の少なくとも1つのビット
を一時的にストアし、第1のモードにおいて前記メモリ
に転送し、並びに第2のモードにおいて前記メモリから
受信されたリプレイスメントデータキャッシュエントリ
を一時的にストアするバッファ手段と、 前記レジスタ手段に結合され、前記キャッシュをイネー
ブルしかつ、ディスエーブルし、並びに、前記第1のモ
ードにおいて、前記複数のデータビットを前記キャッシ
ュから前記メモリへ転送し、前記第2のモードにおいて
前記リプレイスメントデータキャッシュエントリを前記
メモリから前記キャッシュに転送するように複数の制御
信号をバス制御器に与え、それによって前記バス制御器
を信号処理する、制御手段とからなる、前記手段とを含
むライトバックデータキャッシュメモリ装置。 - (3)複数のデータビットと、キャッシュラインの有効
性を示す第1の状態エントリと、及び対応するメモリア
ドレスにおけるメモリ内に含まれたデータエントリと前
記複数のデータビットの各々との無矛盾化を示す第2の
状態エントリとを、複数のアドレス可能なデータエント
リの各々が含み、複数の前記キャッシュライン内に前記
複数のアドレス可能なデータエントリをストアし、並び
に、前記複数のデータビットの内の少なくとも1つのビ
ットが前記対応するメモリアドレス内に含まれた前記デ
ータエントリと矛盾する時に、通信バスを介して、前記
複数のデータビットの内の少なくとも1つのビットを前
記メモリに選択的に転送する、キャッシュメモリシステ
ムであって、前記キャッシュメモリシステムは、 前記複数のアドレス可能なデータエントリの各々が前記
対応するメモリアドレスにおける前記メモリ内に含まれ
た前記データエントリのコピーである、前記複数のアド
レス可能なデータエントリの各々をストアするレジスタ
手段と、 前記第2の状態エントリが前記複数のデータビットの内
の少なくとも1つのビットは前記対応するメモリアドレ
スにおける前記データエントリと矛盾化することを示す
時に、前記複数のデータビツトの内の少なくとも1つの
ビットを前記メモリに転送し、並びに、前記メモリから
複数のリプレイスメントデータエントリを受信して前記
キャッシュラインをアップデートする手段であって、該
手段は、 前記複数のデータビットの内の少なくとも1つのビット
を一時的にストアし、第1のモードにおいて前記メモリ
に転送し、並びに第2のモードにおいて前記メモリから
受信されたリプレイスメントデータキャッシュエントリ
を一時的にストアするバッファ手段と、 前記レジスタ手段に結合され、前記キャッシュをイネー
ブルしかつディスエーブルし、並びに前記第1のモード
において、前記複数のデータビットを前記キャッシュか
ら前記メモリへ転送し、前記第2のモードにおいて前記
リプレイスメントデータキャッシュエントリを前記メモ
リから前記キャッシュに転送するようにバス制御器に複
数の制御信号を与え、それによって前記バス制御器を信
号処理する、制御手段とからなる、前記手段とを含むラ
イトバックデータキャッシュメモリ装置。
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)
| 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)
| 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 |
-
1989
- 1989-05-15 US US07/351,899 patent/US5155824A/en not_active Expired - Lifetime
-
1990
- 1990-03-23 EP EP19900105547 patent/EP0397995A3/en not_active Withdrawn
- 1990-05-15 JP JP2125264A patent/JPH036757A/ja active Pending
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 |