JP2700148B2 - コンピュータ内のキャッシュへ情報を装填する方法と装置 - Google Patents

コンピュータ内のキャッシュへ情報を装填する方法と装置

Info

Publication number
JP2700148B2
JP2700148B2 JP1504733A JP50473389A JP2700148B2 JP 2700148 B2 JP2700148 B2 JP 2700148B2 JP 1504733 A JP1504733 A JP 1504733A JP 50473389 A JP50473389 A JP 50473389A JP 2700148 B2 JP2700148 B2 JP 2700148B2
Authority
JP
Japan
Prior art keywords
cache
rate
information
loading
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1504733A
Other languages
English (en)
Other versions
JPH02500552A (ja
Inventor
シモン カール ジュニア スティリー
ラジ カナン ラマヌジャン
ピーター ジョセフ バノン
ウォルター アロイシャーズ ビーチ
Original Assignee
ディジタル イクイプメント コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ディジタル イクイプメント コーポレーション filed Critical ディジタル イクイプメント コーポレーション
Publication of JPH02500552A publication Critical patent/JPH02500552A/ja
Application granted granted Critical
Publication of JP2700148B2 publication Critical patent/JP2700148B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

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)

Description

【発明の詳細な説明】 技術分野 本発明は、デジタルコンピュータ及びそれらのアーキ
テクチャに係る。より詳細には、本発明は、このような
コンピュータに使用されるキャッシュメモリをいっぱい
にすることに関する。
先行技術 近代的なコンピュータシステムは、種々様々な性能特
性を有するメモリ装置を必要とする。ある近代的な中央
処理ユニット(CPU)にそれらを動作するための命令及
びデータを供給するためには、非常に迅速な情報探索及
び送信を行なうことのできるメモリユニットがしばしば
必要とされる。このようなメモリは、通常、ランダムア
クセスメモリ(RAM)の形態で入手することができ、一
般に「キャッシュ」メモリと称される。これらのキャッ
シュは、一般に、データを迅速に検索できるようにする
ために数千バイト程度の小さなものである。このサイズ
のメモリに記憶できる完全なプログラム又はデータベー
スは数個であるから、コンピュータシステムは、アクセ
ス及び検索時間のかかる大容量のメモリも組み込むこと
になる。これらのメモリには、検索速度の遅い大きなRA
Mや、バブルメモリや、種々の形式のディスクメモリ
や、その他のメモリが含まれる。
コンピュータの動作を最適にするために一般に用いら
れている方法は、キャッシュメモリをCPUに直接接続し
そして別の大型のメモリユニットをキャッシュメモリ及
びCPUの両方に接続することである。このようにして、
キャッシュは、CPUの動作を妨げることのない速度で必
要な命令及びデータを直ちにCPUに供給することができ
る。主メモリは、通常、再装填データをキャッシュに供
給し、キャッシュをいっぱいに保つ。CPUが必要とする
ときに命令又は必要なデータ片がキャッシュにない場合
には、これを主メモリから得ることができるが、これに
は相当の時間がかかる。
仮想メモリマッピングを用いるキャッシュに伴う問題
は、キャッシュをクリア又はフラッシュするときに生じ
る。
メモリは、少なくとも2つのやり方でマッピングする
ことができる。その第1の物理的なマッピングであり、
命令は必要なデータが記憶された実際のメモリアドレス
を参照する。第2のやり方は仮想マッピングである。こ
の場合は、命令が仮想アドレスを参照し、これはデータ
が記憶された物理アドレスを得るためにある形態で変換
しなければならない。仮想マッピングは主メモリを良好
に利用できるようにし、ユーザ間で連続的に仕切ること
なくメモリを割り当てることができるので、マルチプロ
グラム環境で特に有用である。物理的マッピング及び仮
想マッピングの両方のキャッシュがコンピュータ設計に
現在使用されている。
又、キャッシュメモリの物理的な位置は、コンピュー
タの動作を最適にする上で重要な役割を果たす。CPUの
動作は、仮想アドレスで実行される。コンピュータシス
テムが仮想マッピングキャッシュを用いる場合には、キ
ャッシュを直接CPUに接続することが効果的となる。行
なわればならない仮想アドレスから物理アドレスへの変
換は、キャッシュから下流に行なうことができる。
新たなプログラムを走らせるといった多数の理由で、
仮想マップキャッシュの仮想−物理アドレス変換マップ
が変化する。これが生じたときには、キャッシュをフラ
ッシュ(クリア)して新たなマップと交換しなければな
らない。
キャッシュは、フラッシュされた後に、新たなデータ
及び命令が再装填される。これまでは、キャッシュがフ
ラッシュされた後に、所与のプログラムを長時間実行し
たときにデータや命令がキャッシュに供給されたのと同
じ率でキャッシュが再装填される。キャッシュは完全に
いっぱいであるときに最も効率的に動作する。というの
は、キャッシュ内のデータ又は命令を見つけるよう試み
たときに、主メモリの探索を必要とするような外れ(ミ
ス)の結果になることが少ないからである。従って、フ
ラッシュの後に一定の率でキャッシュを再装填したので
は、主メモリを参照してそこからの応答を必要とするよ
うな多数の「外れ」が生じ、キャッシュの利用が不充分
なものとなる。一方、キャッシュが常時再装填されるか
又は非常に高い率でリフレッシュされる場合には、現在
存在していて有用であるデータ又は命令の上に書き込ん
でしまうような他の問題が生じる。
本発明の目的は、キャッシュを少なくとも2つの異な
った率で装填することができる機構で、第1の率がキャ
ッシュのクリア直後に使用されそしてキャッシュがほと
んど完全に装填されたときに低い率が使用されるような
機構を提供することである。
発明の要旨 この目的及び他の目的は、コンピュータのキャッシュ
に情報を装填する本発明の方法によって達成される。こ
の方法は、必要な情報に対してキャッシュを探索し、必
要な情報がキャッシュに見当らないときに外れ信号を発
生し、そして外れ信号が発生されたときに必要な情報が
位置されているべきキャッシュ内のデータブロックの有
効ビットを検査するという段階を具備する。有効ビット
がオンでなく、そのブロックのデータが既に使用された
が現在はもはやないことを示す場合には、キャッシュに
N個のデータブロックが書き込まれる。これらのN個の
データブロックは、必要な情報を含むデータブロックを
備えている。有効ビットがオンである場合には、一度に
P個のデータブロックがキャッシュに書き込まれる。P
はNよりも小さい。これらP個のデータブロックは、必
要な情報を含むデータブロックを備えている。
本発明による他の実施例は、一度にキャッシュを装填
するデータブロック数を決定するのに他の基準を用いて
いる。
図面の簡単な説明 第1図は、キャッシュに記憶されるデータブロックの
構造を示し、そして 第2図は、仮想マップキャッシュを用いたコンピュー
タシステムのブロック図である。
実施例の説明 第1図を参照すれば、キャッシュは、一般に、データ
のブロックとして情報を記憶する。ここで各々10、20、
30、40及び50と番号付けされている各ブロックは、有効
ビット、タグフィールド、プロセス識別(PID)フィー
ルド及びデータフィールドを含む。
有効ビットは、ブロックに含まれた情報が有効である
かどうかを決定するのに用いられる。キャッシュがフラ
ッシュされたときには、各データブロックの全ての有効
ビットが0にセットされ、これは無効データを指示する
と共に、そのブロックの現在の内容を上に書き込めるよ
うにする。新たな有効データが各ブロックに供給される
ときには、有効ビットがオンにされ、そこに含まれたデ
ータが有効であって且つ使用可能であることを指示す
る。
マルチユーザのコンピュータ環境においては、各ユー
ザのプログラムをある時間中走らせることができ、その
後に、別のプログラムが走らされる。以下で述べる理由
で、各プログラムを独特のPID番号で走らせることが有
用である。本発明においては、PID番号として6ビット
のフィールドが使用され、少なくとも63の別々のプロセ
スを追跡することができる。
データフィールドとは、各ブロックに記憶されたデー
タが実際に配置されるところである。
第2図を参照すれば、キャッシュ100は仮想マッピン
グされて、CPU120に接続されている。キャッシュ100
は、例えば、仮想/物理変換をキャッシュする変換バッ
ファである。主メモリ160は、キャッシュ100及びCPU120
と、複数の入力/出力装置(図示せず)とに接続され
る。前記したように、仮想マッピングキャッシュは、仮
想/物理のマッピングを変更するたびにフラッシュしな
ければならない。これが生じるときの一例として、ある
ラン中のプログラムがCPUにおいて別のものに変更され
るときがそうである。
本発明は、次に述べるようにハードウェアを介して仮
想キャッシュの再装填を最適に行なう。次に述べるよう
に、キャッシュに外れがあり、即ちキャッシュ内の所望
のデータ又は命令が見つからなかったと仮定する。一般
に、これが生じるのは、探索に使用されるアドレスタグ
が特定のブロックを参照するが、そのブロックが異なっ
たデータ又は無効データを含んでいるときである。
外れが生じたときには、本発明の第1実施例では、有
効ビットがオフであるかオンであるかがチェックされ
る。これがオフである場合には、最後のフラッシュ以来
このブロックにデータが書き込まれておらず、従って、
一度にN個のブロックに等しい高い速度でキャッシュを
再装填しなければならないことを意味する。有効ビット
がオンである場合は、有用なデータが既に存在しそして
有用なデータの上に書き込みするのが時間浪費であると
いう仮定に基づいてキャッシュに1ブロックが再装填さ
れる。
コンピュータ環境で動作するために既に分かっている
空間的な位置決めの原理によれば、データ又は命令のあ
る所与のブロックが必要とされるときには、それに隣接
するデータ又は命令のブロックも必要とされることが多
々あることが述べられている。ここに述べる全ての実施
例では、ブロックNの数が4に等しい。それ故、本来互
いに整列される4つのブロックを用いてキャッシュが再
装填される。これらの実施例では、ブロックが4つのブ
ロックの本来均一に整列されたグループとして選択さ
れ、より詳細には、「外れ」ブロックが当該グループに
入る場合には、ブロック番号0ないし3、4ないし7、
等々が1つのグループとしてフェッチされる。例えば、
ブロック2が無効であると分かった場合には、ブロック
0ないし3がフェッチされる。
本発明の第2の実施例は、PID番号及び有効ビットの
両方に基づくもので、多数の異なったプログラム又はプ
ロセスをほゞ同じ速度で走らせるようなマルチユーザコ
ンピュータシステムに特に有用である。各PIDは、単一
のCPUにおいてほゞ同じ時間でランする少なくとも32の
プロセス又はプログラムの1つを参照する独特の番号を
表わしている。この実施例では、各外れの後に有効ビッ
トがチェックされる。有効ビットがオフである場合に
は、第1の実施例で述べたものと同じ状態が考えられ、
即ち、キャッシュの領域が空であり、Nブロックの再装
填が生じる。有効ビットがオンである場合には、第2の
比較が、このときには、実行されているプロセスのPID
と、読み取られている特定ブロックのPIDとの間で行な
われる。2つの番号が一致しない場合には、実行してい
るプログラムがCPUを最も最近制御したプログラムと異
なり、そのブロックに含まれたデータ又は命令が有用な
ものではない。従って、この場合も、外れ部にN個のブ
ロックが再装填される。有効ビットがオンでありそして
PID番号が一致する場合のみ、外れ部に1つのブロック
が再装填される。これは、実行されているプロセスにと
ってまだ有用であるデータの上に書き込むのを防止す
る。
更に別の実施例では、最後の外れ部のアドレスが記憶
される。第2の外れが生じたときには、2つの外れ部の
位置が比較される。これらが同一の整列したブロックグ
ループ、例えば、ブロック2及び3において生じた場合
には、実行されているプログラムが新たなデータ及び命
令を必要とする新たな領域へ移動したものとみなされ、
外れ部にN個のブロックが再装填される。この状態は、
前記実施例で述べたものに加えられるものである。
更に別の実施例では、外れカウンタが設けられる。こ
の場合も、有効ビットがオフであり及び/又はPID番号
が一致しない場合には、外れ部にN個のブロックが装填
される。更に、外れカウンタは、有効ビットがオンであ
り且つPID番号が一致するときに生じる全ての読み取り
外れも追跡する。このカウントが予め決定されたスレッ
シュホールドを越える場合には、各外れ部にN個のブロ
ックが再装填される。この場合、実行されているプログ
ラムは、ある遷移に達して、新たな領域にジャンプし、
データ及び命令の変更を必要とすると仮定する。当たり
(ヒット)が生じると、カウンタがゼロにセットされ
る。この実施例では、当たりが生じるたびにカウンタを
減少するようにすることもできる。この場合は、カウン
タが第2の予め決定されたスレッシュホールドより下が
ったときにのみ、外れ部に1つのブロックが装填され
る。
更に別の実施例では、整列されたブロックグループの
どのブロックが読み取られるかを検査する。最後の2つ
の実施例の場合と同様に、有効ビットがオフであり及び
/又はPID番号が一致しない場合には、外れ部にN個の
ブロックが再装填される。有効ビットがオンであり且つ
PID番号が一致する場合でも、検査されているブロック
がその整列ブロックグループの最初のブロックである場
合には、外れ部にN個のブロックが再装填される。この
判断は、あるプログラム及びデータセットのトラフィッ
クパターンに基づいて決定される。
以上、特定の実施例を参照して本発明を説明した。然
し乍ら、請求の範囲に規定した本発明の精神及び範囲か
ら逸脱することなく、種々の変更や修正がなされ得るこ
とが容易に明らかであろう。又、上記説明は、解説に過
ぎず、本発明をこれに限定するものではない。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラマヌジャン ラジ カナン アメリカ合衆国 マサチューセッツ州 01453 レミンスター フォックス メ ドー ロード 36 (72)発明者 バノン ピーター ジョセフ アメリカ合衆国 マサチューセッツ州 01720 アクトン ミルダム ロード 19 (72)発明者 ビーチ ウォルター アロイシャーズ アメリカ合衆国 マサチューセッツ州 01730 ベッドフォード カーライル ロード 53エイ (56)参考文献 特開 昭57−209555(JP,A)

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】a)必要な情報を求めてキャッシュを探索
    し、 b)キャッシュに必要な情報がなければ外れ信号を発生
    し、 c)段階bで外れ信号が発生されると、必要な情報を含
    んでいるべきキャッシュ内のデータブロックの所定のビ
    ットの状態を決定し、 d)その所定のビットの状態が第1の状態を示している
    と第1の率でキャッシュに、必要な情報を含むデータブ
    ロックを含んでいる複数のデータブロックを装填し、そ
    して e)その所定のビットの状態が第2の状態を示している
    と第1の率より遅い第2の率でキャッシュに必要な情報
    を含んでいる少なくとも一つのデータブロックを装填す
    る ことを特徴としたコンピュータ内のキャッシュへの情報
    を装填する方法。
  2. 【請求項2】a)必要な情報を求めてキャッシュを探索
    し、 b)キャッシュに必要な情報がなければ外れ信号を発生
    し、 c)段階bで外れ信号が発生され、そして必要な情報が
    存在しないと、必要な情報を含んでいるべきキャッシュ
    内のデータブロックの所定のビットの状態を決定し、 d)その所定のビットの状態が第1の状態を表している
    と第1の率で、必要な情報を含むデータブロックを含ん
    でいる複数のデータブロックをキャッシュに装填し、 e)必要な情報があるべきデータブロックのプロセス識
    別番号をコンピュータが実施しているプロセスのプロセ
    ス識別番号と比較し、 f)そのプロセス識別番号がそれ以外であれば第1の率
    で複数のデータブロックをキャッシュに装填し、そして g)そのプロセス識別番号が必要な情報を含んでいる少
    なくとも一つのデータブロックと同じであれば第1の率
    より遅い第2の率でキャッシュに少なくとも一つのデー
    タブロックを装填する ことを特徴としたコンピュータ内のキャッシュに情報を
    装填する方法。
  3. 【請求項3】a)必要な情報を含んでいるべきデータブ
    ロックをキャッシュ内で探索し、そして必要な情報がキ
    ャッシュ内になければ外れ信号を発生し、 b)段階aで発生した外れ信号のカウントを記憶し、 c)探索されたデータブロックの所定ビットの状態を決
    定し、 d)その所定のビットの状態が第1の状態を表している
    と第1の率で、必要な情報を含むデータブロックを含ん
    でいる複数のデータブロックをキャッシュに装填し、 e)前記のカウントを第1の外れスレッシュホールド数
    と比較し、 f)外れ信号のカウントが第1の所定数を越えると第1
    の率で複数のデータブロックをキャッシュに装填し、 g)もし外れ信号のカウントが第1の外れスレッシュホ
    ールド数より小さいか、もしくはそれと同じであると、
    第1の率より遅い第2の率で、必要情報を含んでいる少
    なくとも一つのデータブロックをキャッシュに書き込
    み、そして h)データブロックの探索が当たる毎に外れ信号のカウ
    ントを減らし、そして外れ信号のカウントが第2の所定
    数以下になるまで第1の率で複数のデータブロックをキ
    ャッシュに装填し続けていく ことを特徴としたコンピュータ内のキャッシュに情報を
    装填する方法。
  4. 【請求項4】段階bでデータブロックの探索が当たる度
    にカウントを零に減少する請求項3に記載のコンピュー
    タ内のキャッシュに情報を装填する方法。
  5. 【請求項5】キャッシュ探索が外れ信号を発生する結果
    となるとき外れの位置を記憶しておく段階、 その記憶された外れ位置を次に発生する外れの位置と比
    較する段階、そして その記憶された外れ位置により決定され、次に発生する
    外れの位置と並んでいるグループのブロック内の第1の
    ブロックがその記憶された外れ位置であると、第1の率
    で複数のデータブロックをキャッシュに装填する段階 を更に備えている請求項1、2もしくは3に記載のコン
    ピュータ内のキャッシュに情報を装填する方法。
  6. 【請求項6】所定の距離が同じ揃えられたグループのブ
    ロックである請求項5に記載のコンピュータ内のキャッ
    シュに情報を装填する方法
  7. 【請求項7】キャッシュ内のデータブロックの所定ビッ
    トの状態が第1の状態を表しているか、第2の状態を表
    しているかを決定する手段、そして 所定ビットが第1の状態を表しているとき第1の率で、
    そして所定ビットが第2の状態を表しているとき第1の
    率より遅い第2の率でデータブロックをキャッシュに装
    填する手段、 を備えていることを特徴とするコンピュータのキャッシ
    ュへ情報を装填する装置。
  8. 【請求項8】コンピュータが実施しているプロセスのプ
    ロセス認識番号とデータブロックのプロセス認識番号と
    を比較する手段と、 この比較手段によるプロセス番号の比較に基づいて第1
    もしくは第2の率でキャッシュに装填する手段と を更に備えている請求項7に記載のコンピュータのキャ
    ッシュへ情報を装填する装置。
  9. 【請求項9】キャッシュが変換バッファである請求項7
    に記載のコンピュータのキャッシュへ情報を装填する装
    置。
  10. 【請求項10】第1の率が第1の所定期間当たり4デー
    タブロックの率でキャッシュを装填し、そして第2の率
    が第1の所定期間当たり1データブロックの率でキャッ
    シュを装填する請求項1、2もしくは3に記載のコンピ
    ュータ内のキャッシュに情報を装填する方法。
  11. 【請求項11】探索されたデータブロックのプロセス認
    識番号をコンピュータが実施しているプロセスのプロセ
    ス認識番号と比較する段階を備え、もし2つのプロセス
    認識番号が同じであれば第2の率を使ってキャッシュを
    装填する請求項3に記載のコンピュータ内のキャッシュ
    に情報を装填する方法。
  12. 【請求項12】キャッシュ探索の結果が外れ信号の発生
    であるとき外れの位置を記憶し、 その記憶したはずれ位置を次に起きる外れの位置と比較
    し、そして 記憶された外れ位置と次に起きる外れの位置とが所定数
    のデータブロックだけ離れていると第1の率でキャッシ
    ュに複数のデータブロックを装填する請求項1、2もし
    くは3に記載のコンピュータ内のキャッシュに情報を装
    填する方法。
  13. 【請求項13】必要な情報があるべきキャッシュ内のデ
    ータブロックのプロセス認識番号をコンピュータが実施
    しているプロセスのプロセス認識番号と比較し、もし2
    つのプロセス認識番号が同じであるなら第2の率でキャ
    ッシュを装填する段階を更に備える請求項1に記載のコ
    ンピュータ内のキャッシュに情報を装填する方法。
JP1504733A 1988-04-01 1989-03-30 コンピュータ内のキャッシュへ情報を装填する方法と装置 Expired - Lifetime JP2700148B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17659688A 1988-04-01 1988-04-01
US176,596 1988-04-01

Publications (2)

Publication Number Publication Date
JPH02500552A JPH02500552A (ja) 1990-02-22
JP2700148B2 true JP2700148B2 (ja) 1998-01-19

Family

ID=22645015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1504733A Expired - Lifetime JP2700148B2 (ja) 1988-04-01 1989-03-30 コンピュータ内のキャッシュへ情報を装填する方法と装置

Country Status (6)

Country Link
EP (1) EP0359815B1 (ja)
JP (1) JP2700148B2 (ja)
KR (1) KR930002786B1 (ja)
CA (1) CA1314107C (ja)
DE (1) DE68924896T2 (ja)
WO (1) WO1989009444A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182562B1 (en) * 2000-08-21 2011-05-11 Texas Instruments France Smartcache with interruptible block prefetch
US7162588B2 (en) 2002-08-23 2007-01-09 Koninklijke Philips Electronics N.V. Processor prefetch to match memory bus protocol characteristics

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4442488A (en) * 1980-05-05 1984-04-10 Floating Point Systems, Inc. Instruction cache memory system
US4370710A (en) * 1980-08-26 1983-01-25 Control Data Corporation Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation

Also Published As

Publication number Publication date
KR900700959A (ko) 1990-08-17
EP0359815B1 (en) 1995-11-22
DE68924896D1 (de) 1996-01-04
EP0359815A1 (en) 1990-03-28
DE68924896T2 (de) 1996-07-25
WO1989009444A1 (en) 1989-10-05
KR930002786B1 (ko) 1993-04-10
JPH02500552A (ja) 1990-02-22
CA1314107C (en) 1993-03-02
EP0359815A4 (en) 1992-04-01

Similar Documents

Publication Publication Date Title
US5694568A (en) Prefetch system applicable to complex memory access schemes
US4774654A (en) Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
US5136700A (en) Apparatus and method for reducing interference in two-level cache memories
US5214770A (en) System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command
US5778436A (en) Predictive caching system and method based on memory access which previously followed a cache miss
US5584013A (en) Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache
US6640283B2 (en) Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size
US5537573A (en) Cache system and method for prefetching of data
US5058006A (en) Method and apparatus for filtering invalidate requests
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US6038647A (en) Cache memory device and method for providing concurrent independent multiple accesses to different subsets within the device
JP2881049B2 (ja) プリフェッチバッファ
US5038278A (en) Cache with at least two fill rates
US20070094450A1 (en) Multi-level cache architecture having a selective victim cache
JPH0962572A (ja) ストリーム・フィルタ装置及び方法
EP0139407B1 (en) Data select match
US6832294B2 (en) Interleaved n-way set-associative external cache
US5897651A (en) Information handling system including a direct access set associative cache and method for accessing same
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
US6202128B1 (en) Method and system for pre-fetch cache interrogation using snoop port
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
EP0173893B1 (en) Computing system and method providing working set prefetch for level two caches
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JP2700148B2 (ja) コンピュータ内のキャッシュへ情報を装填する方法と装置
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module