JP2735781B2 - キャッシュ・メモリ制御システム及び方法 - Google Patents

キャッシュ・メモリ制御システム及び方法

Info

Publication number
JP2735781B2
JP2735781B2 JP5286262A JP28626293A JP2735781B2 JP 2735781 B2 JP2735781 B2 JP 2735781B2 JP 5286262 A JP5286262 A JP 5286262A JP 28626293 A JP28626293 A JP 28626293A JP 2735781 B2 JP2735781 B2 JP 2735781B2
Authority
JP
Japan
Prior art keywords
memory
cache
access
line
mode
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
JP5286262A
Other languages
English (en)
Other versions
JPH06214888A (ja
Inventor
ベルンスタイン デビッド
ロデー マイケル
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06214888A publication Critical patent/JPH06214888A/ja
Application granted granted Critical
Publication of JP2735781B2 publication Critical patent/JP2735781B2/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
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般的にはコンピュータ
のキャッシュ・メモリ・システムに関連し、特に改善さ
れたキャッシュ・メモリ制御システムに関連する。
【0002】
【従来の技術】キャッシュ・メモリ・システムは、永年
にわたってコンピュータに使用され、小さな一組のデー
タのコピーをまたすぐ後で使うことを予測して高速キャ
ッシュ・メモリに保持し、該データを高速でアクセスす
ることによって、大容量記憶装置のアクセス速度の制限
を克服するように意図されている。しかしながら、キャ
ッシュ・メモリの1つの問題は、コンピュータ・プログ
ラムによってアクセスされるデータ構造が、キャッシュ
・メモリに適さないとか釣り合わないとかいうことが頻
繁に起こることである。これに関する1例は、大きなマ
トリックスの参照である。もし、コンピュータ・メモリ
に対するアクセスがキャッシュされると、いくつかのメ
モリ・アクセスがキャッシュ・ミスを起こす。
【0003】すなわち、コンピュータが求めるメモリ・
アドレスがキャッシュ・メモリにないということであ
る。従って、マトリックスの1要素をアクセスする度
に、メモ リ・ライン全体をキャッシュ・メモリにもって
こなければならない。このメモリ・ラインは、マトリッ
クスの残りの要素がアクセスできるチャンスがあって
も、すぐ次のメモリ・ラインによって置き換えられる。
主メモリからキャッシュ・メモリへのロードは、時間の
経過やメモリ・バスの争奪という観点でシステムに負担
をかける。更に、後で必要となるかも知れない既存のキ
ャッシュ・ラインを置き換えてしまうことによるマイナ
スの効果をもたらす。大体において、もしデータ構造が
キャッシュ・メモリに適さなければ、不必要なメモリ・
トラフィックが生成され、結果として効率が悪くなる。
【0004】この問題の見地から、ある種のコンピュー
タ、例えばIBM RISCシステム/6000コンピ
ュータ・ファミリー(IBM及びRISCシステム/6
000は、インターナショナル・ビジネス・マシーンズ
・コーポレーションの登録商標)は、2つの異なった方
法のうちのいずれかでメモリをアクセスするための手段
を有する。すなわち、キャッシュ・メモリの中に要求さ
れたアドレスがない場合、1つのキャッシュ・ライン全
を主メモリからキャッシュ・メモリへ取り出すキャッ
シュ・モード・アクセスか或いは、単一のワードが直接
主メモリからロードされ、キャッシュ・メモリの内容に
は何の効果も与えないノン・キャッシュ・モード・アク
セスかどちらかである。後者のノン・キャッシュ・モー
ド・アクセスは、オペレーティング・システムによって
メモリ中でキャッシュ不能としてマークされた特別のペ
ージに対してのみ行われる。このように、ノン・キャッ
シュ・モード・アクセスは特別のページに限定されてい
るので、状況に応じてモードを変えるといった融通性に
欠ける。
【0005】
【発明が解決しようとする課題】本発明の目的は、キャ
ッシュ・モード・アクセス及びノン・キャッシュ・モー
ド・アクセスの両方を適宜採用することによって、キャ
ッシュ・メモリを効率よく使用する改善されたキャッシ
ュ・メモリ制御システムを提供することである。
【0006】
【課題を解決するための手段】本発明は、メモリ位置が
それぞれ関連するインデックスを有するメモリ・ライン
に配置された主メモリとキャッシュ・メモリとを含むコ
ンピュータ・システムで使用され、キャッシュ・モード
及びノン・キャッシュ・モードのメモリ・アクセスを実
行することができるキャッシュ・メモリ制御システムを
提供する。このシステムは、複数のメモリ・ラインのそ
れぞれに対してアクセスした回数を表す頻度値を記憶す
頻度値記憶域と、各命令によってアクセスされた最後
のメモリ・ラインのインデックスを記憶する命令データ
記憶域と、プロセッサがキャッシュ・メモリにないメモ
リ位置をアクセスする度毎に現在の命令によってアクセ
スされた最後のメモリ・ラインに関する頻度値を検査
し、もしそのメモリ・ラインに対するアクセスの回数が
所定の閾値を越えていれば、主メモリからそのメモリ・
ラインをキャッシュ・メモリに取り出してキャッシュ・
モードのメモリ・アクセスを実行し、もし越えていなけ
れば、ノン・キャッシュ・モードのメモリ・アクセスを
実行するロジックを有する。
【0007】メモリ・ラインをキャッシュ・メモリにロ
ードする有益性に関する証拠を積み重ねることによっ
て、各命令によってアクセスされたメモリ・ラインに関
する情報に基づいてその命令の最新の実行中にメモリ・
アクセスをキャッシュ・モードで行うかノン・キャッシ
ュ・モードで行うかの決定がなされる。このようにし
て、キャッシュ・モードとノン・キャッシュ・モード両
方のメモリ・アクセスに関する最適使用が達成され、コ
ンピュータ・システムにおけるメモリ・アクセスの効率
が向上する。本発明は更に、新しい特別の命令をコンピ
ュータの命令セットに追加しないで、或いはプログラム
をコンパイルし直すこともしないで実施できるという利
点がある。
【0008】それぞれの命令の履歴値を命令データ記憶
域に記憶し、命令の実行がキャッシュ・モードのメモリ
・アクセスとなる度毎にその履歴値を増加させ、命令の
実行がノン・キャッシュ・モードのアクセスとなる度毎
にその履歴値を減少させ、プロセッサがキャッシュ・メ
モリにないメモリ位置をアクセスする度毎に、現在の命
令に関する履歴値を検査し、もし現在の命令に関する履
歴値が所定の閾値を過ぎたらキャッシュ・モード・アク
セスのみを実行することによって、もう少し前の命令実
行も考慮に入れるのが望ましい。1つの実施例では、命
令データ記憶域及び頻度値記憶域はLRUセット・アソ
シアティブ・テーブルである。別の実施例では、命令デ
ータ記憶域及び頻度値記憶域は照合(Collision)テーブ
ルである。
【0009】
【実施例】図1を参照するとコンピュータ・システム
は、プロセッサ10、キャッシュ・メモリ20、主メモ
リ30及びメモリ・コントローラ40から構成されてい
る。メモリ・コントローラ40は、プロセッサ10によ
るキャッシュ・メモリ20及び主メモリ30に対するア
クセスを制御し、またキャッシュ置換アルゴリズムに従
ってキャッシュ・メモリ20の内容の更新を制御する。
ここで説明する実施例では、キャッシュ置換アルゴリズ
ムはLRUタイプである。この種のアルゴリズムの動作
は、この分野の技術知識を有するものには良く知られて
いるので、ここでは説明を省略する。
【0010】コンピュータ・システムで動作するプログ
ラムを考えてみる。メモリをアクセスする命令が、メモ
リ位置L1、L2、・・・・Lnに記憶されていると想
定する。メモリ位置Lの内容を(L)と表示する。キャ
ッシュ・メモリ20は、1群のキャッシュ・ラインC
1、C2、・・・・Cmから構成される高速メモリで、
各キャッシュ・ラインは、いくつかの連続したコンピュ
ータ・ワードを含んでいる。主メモリ30は、キャッシ
ュ・ラインと同一の大きさのメモリ・ラインM1、M
2、・・・・で構成されている。メモリ・アクセス命令
Iをキャッシュ・モード・アクセスとして実行し、キャ
ッシュ・ラインCkを占有することの有益性は、将来の
メモリ・アクセスに依存する。もし、Ckが何回かアク
セスされるのであれば、主メモリ30からキャッシュ・
メモリ20への転送が有益である。さもなければ、主メ
モリ30の対応するラインがその度にアクセスされるの
で、機械の動作が遅くなる。この現象を捉えるため、命
令Iが本当にキャッシュ・モー ド・アクセスをするかノ
ン・キャッシュ・モード・アクセスをするかの証拠が積
み重ねられ、この情報が、次のIの実行で使われる。
【0011】図2を参照すると、メモリ・コントローラ
40は、メモリ位置をアクセスする命令の情報を保持す
る命令テーブル(IT)60及び、メモリ・ラインに関
する情報を保持するメモリ・テーブル(MT)70を有
する。メモリ・コントローラ40は、更にテーブル60
及び70を参照するコントロール・ロジック50を有
し、これらの内容に従ってキャッシュ・モード・アクセ
ス及びノン・キャッシュ・モード・アクセスのどちらか
を実行する。
【0012】位置Lに記憶された全てのメモリ・アクセ
ス命令に関して、(L)によってアクセスされた最新の
メモリ・ラインに対するポインタがIT60のLML
保持される。全てのメモリ・ラインMiに関して、頻度
値、すなわちメモリ・ラインiにたいする照会回数を
示す照会計数RiがMT70に記憶される。コントロー
ル・ロジック50は、テーブルIT及びMTを維持し、
次の方法でキャッシュ・モード・アクセス又はノン・キ
ャッシュ・モード・アクセスを制御する。メモリ・ライ
ンMiをアクセスする(L)の実行を考える。2つの場
合があるであろう。キャッシュがヒットし、コントロー
ル・ロジック50がLMLをiにセットし、Riを1増加
させる場合か、キャッシュがヒットせず、もしRLML
閾値Tより大きければ(ここでTは1か1より大きい
値)、Miがキャッシュに取り出され、LMiがiにセッ
トされ、Riが1にセットされる場合のどちらかであ
る。
【0013】その他の場合は、ノン・キャッシュ・モー
ドのメモリ・アクセスが実行され、LMLがiにセット
され、Riが1増加される。オーバーフローを避けるた
め、Riの最大値がセットされ、もしRiがその最大値に
到達すると、増加させる必要がある場合でも、そのまま
不変とする。このようにして、メモリ・ラインiをキャ
ッシュ・メモリにロードすることに関する有益性につい
て、証拠が積み重ねられる。そこで、命令の最新の実
行中にアクセスされたメモリ・ラインに関する情報に基
づいて、メモリ・アクセス命令をキャッシュ・モード
実行するか又はノン・キャッシュ・モードで実行するか
の決定がなされる。もう少し前の命令実行について考慮
するために、履歴値Hが、ノン・キャッシュ・モードの
メモリ・アクセスを実行するかどうか決めるために使わ
れる。
【0014】場所Lに記憶されたメモリ・アクセス命令
Iを考える。Iに関してキャッシュ・モード対ノン・キ
ャッシュ・モードのメモリ・アクセスについての過去の
決定に基づく履歴値をHLとする。Iのj番目の実行を
考える。もし上で説明した方法を適用してキャッシュが
ヒットしたとすれば、或いはキャッシュ・モード・アク
セスを決定したとすれば、HLは、その値をHL×e+
(1ーe)にセットすることによって増加し(ここでe
は、1とゼロの間の定数)、キャッシュ・モード・アク
セスが実行される。その他の場合では、HLは、その値
をHL×eとセットすることによって減らされる。もし
Lが閾値Qより大きければ、キャッシュ・モード・ア
クセスが行われる。さもなくばノン・キャッシュ・モー
・アクセスが行われる。
【0015】望ましい実施例では、e=1/2及びQ=
1/8である。この場合、HLの値を保持するのに3ビ
ットで十分である。これらのパラメータを使うと、3回
連続してアクセスに失敗するとノン・キャッシュ・モー
ド・アクセスが必要となる。しかしながら、1回アクセ
スに成功すると、次に続くメモリ・アクセスをキャッシ
ュ・モード・アクセスに切り替えることができる。これ
らの実施例に関して、本発明は、「Machine organisati
on of the IBM Risc System /6000 processor」G.Groh
oski,IBM J.R&D,Vol34,1,p37(1990)[文献1]の記事の
中で説明されているように、IBM RISCシステム
/6000に対する修正として実施されている。
【0016】図3は、RISCシステム/6000プロ
セッサの体系を示す図である。RISCシステム/60
00プロセッサは固定小数点実行ユニット(FXU)8
0、命令キャッシュ・ユニット(ICU)90、データ
・キャッシュ・ユニット(DCU)100,浮動小数点
ユニット(FPU)110、及びシステム制御ユニット
(SCU)120から構成されている。これらの構成要
素の動作は上記文献1で一般的に説明されている。これ
ら実施例におけるキャッシュ・メモリ制御システムは、
FXUチップ80の中にハードウェアとして実施され、
その中に全てのデータ・キャッシュ・ディレクトリが含
まれる。RISCシステム/6000において、全ての
メモリ・アクセス命令は、FXU80によって実行され
る。FXU80は、データ・キャッシュ及び主メモリへ
のバス双方に接続されている。
【0017】FXU80は、データ・キャッシュの中で
見つからないデータ・オペランドに関して、ノン・キャ
ッシュ・モード・アクセスを行う能力を有する。しかし
ながらこれは、未修正のRISCシステム/6000に
おいて、入出力と中央メモリの間の一貫性を維持する目
的で、オペレーティング・システムによってメモリの中
でキャッシュ不能とマークされた特別のページに配置さ
れたオペランドに対してのみ行われる。本発明を実施す
るために、命令キャッシュ・ユニット(ICU)90に
よってFXU80に伝達する必要がある追加情報は、全
てのメモリ・アクセス命令のアドレスである。
【0018】テーブルMT70及びIT60は、コント
ロール・ロジック50と共に、FXU80の相応な記憶
域とロジックによって実施されている。図4は、本発明
の実施におけるデータ変換索引バッファ(TLB)の一
般構成とパイプライン化及びデータ・キャッシュ状態ア
レイを示す体系ダイアグラムである。図4は、未修正の
プロセッサに関しては文献1の第8図に対応し、図4に
関する未修正の局面に対する説明が文献1に見られる。
次の問題が並行して判定されなければならない。 (a) 現在のメモリ・アクセスはTLBヒットか。 ヒットの場合「TLBヒット・ラッチ」140がセット
される。 (b) 現在のメモリ・アクセスはデータ・キャッシュ
・ヒットか。 ヒットの場合「データ・キャッシュ・ヒット・ラッチ」
130がセットされる。 (c) もし現在のメモリ・アクセスがデータ・キャッ
シュ・ヒットでなければ、現在のメモリ・アクセスは、
キャッシュ・モードでなされるべきかノン・キャッシュ
・モードでなされるべきか。これは本発明による方法で
決定される。もし決定がノン・キャッシュ・モードのア
クセスなら、このことはキャッシュ・バイパス信号15
0によって表示される。
【0019】この方法によるRISCシステム/600
0プロセッサの修正は、プロセッサのサイクル・タイム
を延長する必要がない。命令及びメモリ・ラインの合計
の数は非常に大きいので、これら全てをテーブル60及
びテーブル70に登録することは実際的でない。ここで
は、有限のIT及びMTテーブルを実施する2つの異な
った方法による実施例を説明する。
【0020】 1.セット・アソシアティブ・テーブル このタイプのテーブルは、データ・キャッシュ・ディレ
クトリの実施と類似しており、LRU置換アルゴリズム
によって管理される。ITは最新のメモリ・アクセスに
関する情報を含んでいる。図5(a)に示すとおり、I
Tの各登録項目は、次のフィールドを含む。 (a)命令のアドレスを識別する命令タグ(ITA
G)。 (b)LMポインタ (c)H履歴情報この実施例において、ITに登録され
る項目のライン数は、コンピュータの命令キャッシュの
ライン数より小さい。MTテーブルは、最近参照したメ
モリ・ラインに関する情報を含み、このメモリ・ライン
は必ずしもキャッシュに持って来られたものとは限らな
い。図5(b)に示すように、MTの各登録項目は次の
フィールドを含む。 (d)メモリ・ラインを識別するメモリ・タグ(MTA
G)。 (e)メモリ・ラインに対するアクセス回数を表すR。
【0021】この例において、MTの大きさは、データ
・キャッシュの大きさと同じである。IT及びMTに対
するアクセスの処理は次のようになる。命令Iのアドレ
スの下位ビットに基づいて、ITにおけるそれぞれの登
録項目EIが見つけられる。もしこの登録項目のITA
EIフィールドがIのアドレスの上位ビットと合致すれ
ば、IがITEIで見つかると仮定する。そうすると、下
位の(LMEI)が使われ、Iの最後の実行によってアク
セスされた最後のメモリ・ラインを保持しているであろ
うMTの登録項目EMを見つける。MTAGEMが上位の
(LMEI)と比較され、本当に正しいメモリ・ラインが
MTEMにあるかどうか検証する。
【0022】この時だけ、REMを使ってキャッシュ・モ
ード・アクセスかノン・キャッシュ・モード・アクセス
の決定をすることができる。もし必要な命令がITの
中で見つからなければ、或いは必要なメモリ・ラインが
MTの中で見つからなければ、キャッシュ・モード・ア
クセスを実行するよう決定される。そこで実行された命
令とアクセスされたメモリ・ラインがIT及びMTにそ
れぞれ設定され、HLが1にセットされる。IT及びM
Tにおいて登録項目を置き換える処理は、LRU置換ア
ルゴリズムによって、一般的キャッシュ・ディレクトリ
と同じ方法で管理される。
【0023】2.照合テーブル(Collision Table)こ
のタイプのテーブルにおいては、ITで命令を識別し、
MTでメモリ・ラインを識別するタグ・フィールドは保
持されていない。また、ITにLMポインタ全体を保持
するよりも、MTの登録項目をアドレスするのに充分な
その下位ビット(以下下位(LM)という)だけが維持
される。これは、ITを調べるとき異なった命令の中で
照合を可能にし、MTで情報をアクセスするとき異なっ
たメモリ・ラインの中で照合を可能にする。図6(a)
に示すとおり、ITテーブルは、次のフィールドしか持
っていない。 (a)下位(LM)ポインタ (b)H履歴情報 図6(b)に示すとおり、MTテーブルは、Rフィール
ドしか持っていない。照合テーブルは、IT及びMTテ
ーブルを実施するために必要なメモリ空間の大きさと提
案されたアルゴリズムの正確さとの妥協である。照合テ
ーブルの場合には、IT及びMTをアクセスする処理
は、セット・アソシアティブ・テーブルの場合よりも単
純である。命令Iのアドレスの下位ビットに基づいて、
ITにおけるEIの登録項目が見つけられる。それ以上
何の検査もしないで、下位(LMEI)フィールドを使っ
て、MTテーブルをアクセスし、そこで登録項目を見つ
ける。更に、何の検査もしないで、REMフィールドを使
ってキャッシュ・モード・アクセスをするかノン・キャ
ッシュ・モード・アクセスをするかが決められる。
【0024】この実施では、いくつかの命令がITテー
ブルの1つの登録項目に合致することがあり、いくつか
のメモリ・ラインがMTテーブルの1つの登録項目と合
致することがあり得る。これは、方法の正確さに対して
逆効果であるかも知れない、がしかし、この方法には、
IT及びMTテーブルを保持するために必要となるメモ
リ空間の大きさを減少させるという利点がある。もし必
要な命令がITの中で見つからなければ、或いは必要な
メモリ・ラインがMTの中に見つからなければ、キャッ
シュ・モード・アクセスを実行するよう決定される。
【0025】両方の実施例におけるITテーブルへのア
クセスは、命令解読の段階で行われ、MTテーブルへの
アクセスは、キャッシュ・メモリへのアクセスと同時に
行われる。
【0026】
【発明の効果】本発明によって、キャッシュ・モード
ノン・キャッシュ・モード両方のメモリ・アクセスに関
する最適使用が達成され、コンピュータ・システムにお
けるメモリ・アクセスの効率が向上する。本発明は更
に、新しい特別の命令をコンピュータの命令セットに追
加しないで、或いはプログラムをコンパイルし直すこと
もしないで実施できるという利点がある。
【図面の簡単な説明】
【図1】本発明の実施例におけるコンピュータ・システ
ムの体系を示すブロック図。
【図2】本発明の実施例におけるキャッシュ・メモリ制
御システムの体系を示すブロック図。
【図3】本発明が実施されるRISCシステム/600
0プロセッサの体系を示すブロック図。
【図4】本発明の実施例におけるデータ変換索引バッフ
の一般的構成とパイプライン化及びデータ・キャッシ
ュ状態アレイを示すブロック図。
【図5】本発明の第1の実施例におけるテーブルIT及
びMTを示す図。
【図6】本発明の第2の実施例におけるテーブルIT及
びMTを示す図。
【符号の説明】
10 プロセッサ 20 キャッシュ・メモリ 30 主メモリ 40 メモリ・コントローラ 50 コントロール・ロジック 60 命令テーブル 70 メモリ・テーブル 80 固定小数点実行ユニットFXU 90 命令キャッシュ・ユニット

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 プロセッサ、主メモリ及びキャッシュ・
    メモリを含み、メモリ位置がメモリ・ラインに配置さ
    れ、各メモリ・ラインが対応するインデックスを有する
    コンピュータ・システムにおいて、上記キャッシュ・メ
    モリを使用するキャッシュ・モードのメモリ・アクセス
    及び上記キャッシュ・メモリをバイパスするノン・キャ
    ッシュ・モードのメモリ・アクセスを選択的に実行する
    ためのキャッシュ・メモリ制御システムであって複数 のメモリ・ラインのそれぞれに対して、アクセスさ
    れた回数を表す頻度値を記憶するための頻度値記憶域
    と、複数 の命令のそれぞれによってアクセスされた最後のメ
    モリ・ラインのインデックスを記憶するための命令デー
    タ記憶域と、 プロセッサがキャッシュ・メモリにないメモリ位置をア
    クセスしようと試みる度毎に現在の命令によってアクセ
    スされた最後のメモリ・ラインに関する頻度値を検査
    し、もしそのメモリ・ラインに対するアクセスの回数が
    所定の閾値を越えていれば、主メモリからそのメモリ位
    置のメモリ・ラインをキャッシュ・メモリに取り出して
    キャッシュ・モードのメモリ・アクセスを実行し、もし
    閾値を越えていなければ、ノン・キャッシュ・モードの
    メモリ・アクセスを実行する、コントロール・ロジック
    と、 を有することを特徴とするキャッシュ・メモリ制御シス
    テム。
  2. 【請求項2】 プロセッサ、主メモリ及びキャッシュ・
    メモリを含み、メモリ位置がメモリ・ラインに配置さ
    れ、各メモリ・ラインが対応するインデックスを有する
    コンピュータ・システムにおいて、上記キャッシュ・メ
    モリを使用するキャッシュ・モードのメモリ・アクセス
    及び上記キャッシュ・メモリをバイパスするノン・キャ
    ッシュ・モードのメモリ・アクセスを選択的に実行する
    ためのキャッシュ・メモリ制御方法であって複数のメモリ・ラインのそれぞれに対して、アクセスさ
    れた回数を表す記憶された頻度値を維持し複数の命令のそれぞれによってアクセスされた最後のメ
    モリ・ラインのインデックスを命令データ記憶域に維持
    キャッシュ・ミスが起こったとき、その命令によってア
    クセスされた最後のメモリ・ラインに関する上記記憶さ
    れた頻度値を検査しもし最後のメモリ・ラインがアクセスされた回数が閾値
    を越えたら、そのメモリ・ラインをキャッシュ・メモリ
    に取り出してキャッシュ・モードのメモリ・アクセスを
    実行しもし閾値を越えていなければノン・キャッシュ・モード
    のメモリ・アクセスを実行するキャッシュ・メモリ制御方法
JP5286262A 1992-12-02 1993-10-22 キャッシュ・メモリ制御システム及び方法 Expired - Lifetime JP2735781B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9225211A GB2273181A (en) 1992-12-02 1992-12-02 Cache/non-cache access control.
GB9225211.3 1992-12-02

Publications (2)

Publication Number Publication Date
JPH06214888A JPH06214888A (ja) 1994-08-05
JP2735781B2 true JP2735781B2 (ja) 1998-04-02

Family

ID=10726011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5286262A Expired - Lifetime JP2735781B2 (ja) 1992-12-02 1993-10-22 キャッシュ・メモリ制御システム及び方法

Country Status (4)

Country Link
US (1) US5586296A (ja)
EP (1) EP0604015A3 (ja)
JP (1) JP2735781B2 (ja)
GB (1) GB2273181A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327079B2 (en) 2007-06-20 2012-12-04 Fujitsu Limited Cache memory control device and pipeline control method

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3724001B2 (ja) 1994-12-12 2005-12-07 富士通株式会社 情報処理装置
US5845320A (en) * 1996-04-29 1998-12-01 Micron Technology, Inc. Circuit and method to implement a least recently used cache set replacement technique
US5893150A (en) * 1996-07-01 1999-04-06 Sun Microsystems, Inc. Efficient allocation of cache memory space in a computer system
US6021470A (en) * 1997-03-17 2000-02-01 Oracle Corporation Method and apparatus for selective data caching implemented with noncacheable and cacheable data for improved cache performance in a computer networking system
US6094708A (en) 1997-05-06 2000-07-25 Cisco Technology, Inc. Secondary cache write-through blocking mechanism
GB9724031D0 (en) 1997-11-13 1998-01-14 Advanced Telecommunications Mo Cache memory operation
US6115385A (en) 1998-03-11 2000-09-05 Cisco Technology, Inc. Method and system for subnetting in a switched IP network
GB2335764B (en) * 1998-03-27 2002-10-09 Motorola Ltd Circuit and method of controlling cache memory
US6275904B1 (en) * 1998-03-31 2001-08-14 Intel Corporation Cache pollution avoidance instructions
US6785274B2 (en) 1998-10-07 2004-08-31 Cisco Technology, Inc. Efficient network multicast switching apparatus and methods
US6738865B1 (en) 2000-06-09 2004-05-18 International Business Machines Corporation Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data
US6981112B2 (en) * 2002-08-26 2005-12-27 International Business Machines Corporation Dynamic cache disable
US7467377B2 (en) * 2002-10-22 2008-12-16 Intel Corporation Methods and apparatus for compiler managed first cache bypassing
US8549226B2 (en) * 2004-05-14 2013-10-01 Hewlett-Packard Development Company, L.P. Providing an alternative caching scheme at the storage area network level
US7694075B1 (en) * 2005-03-09 2010-04-06 Globalfoundries Inc. System for enabling and disabling cache and a method thereof
US20070130114A1 (en) * 2005-06-20 2007-06-07 Xiao-Feng Li Methods and apparatus to optimize processing throughput of data structures in programs
US7506132B2 (en) 2005-12-22 2009-03-17 International Business Machines Corporation Validity of address ranges used in semi-synchronous memory copy operations
US7454585B2 (en) 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
US7484062B2 (en) 2005-12-22 2009-01-27 International Business Machines Corporation Cache injection semi-synchronous memory copy operation
US9760432B2 (en) 2015-07-28 2017-09-12 Futurewei Technologies, Inc. Intelligent code apparatus, method, and computer program for memory
US9921754B2 (en) 2015-07-28 2018-03-20 Futurewei Technologies, Inc. Dynamic coding algorithm for intelligent coded memory system
US11106594B2 (en) * 2019-09-05 2021-08-31 Advanced Micro Devices, Inc. Quality of service dirty line tracking

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253351A (en) * 1988-08-11 1993-10-12 Hitachi, Ltd. Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values
US5170476A (en) * 1990-01-22 1992-12-08 Motorola, Inc. Data processor having a deferred cache load
US5625793A (en) * 1991-04-15 1997-04-29 International Business Machines Corporation Automatic cache bypass for instructions exhibiting poor cache hit ratio
US5375216A (en) * 1992-02-28 1994-12-20 Motorola, Inc. Apparatus and method for optimizing performance of a cache memory in a data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327079B2 (en) 2007-06-20 2012-12-04 Fujitsu Limited Cache memory control device and pipeline control method

Also Published As

Publication number Publication date
EP0604015A3 (en) 1995-02-15
US5586296A (en) 1996-12-17
GB2273181A (en) 1994-06-08
GB9225211D0 (en) 1993-01-20
JPH06214888A (ja) 1994-08-05
EP0604015A2 (en) 1994-06-29

Similar Documents

Publication Publication Date Title
JP2735781B2 (ja) キャッシュ・メモリ制御システム及び方法
US5809530A (en) Method and apparatus for processing multiple cache misses using reload folding and store merging
JP3618385B2 (ja) データをバッファリングする方法およびそのシステム
US6122709A (en) Cache with reduced tag information storage
EP1934753B1 (en) Tlb lock indicator
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
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
US5465342A (en) Dynamically adaptive set associativity for cache memories
US5778407A (en) Methods and apparatus for determining operating characteristics of a memory element based on its physical location
EP0097790B1 (en) Apparatus for controlling storage access in a multilevel storage system
US6587927B2 (en) Data processor having cache memory
US6622211B2 (en) Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
US6321321B1 (en) Set-associative cache-management method with parallel and single-set sequential reads
WO1999031593A1 (en) Cache tag caching
JPH1074166A (ja) 多重レベル・ダイナミック・セット予測方法および装置
US20170091097A1 (en) Hazard checking
US5873123A (en) Processor and method for translating a nonphysical address into a physical address utilizing a selectively nonsequential search of page table entries
JP2001195303A (ja) 機能が並列に分散された変換索引バッファ
US5682495A (en) Fully associative address translation buffer having separate segment and page invalidation
US5737749A (en) Method and system for dynamically sharing cache capacity in a microprocessor
US5539892A (en) Address translation lookaside buffer replacement apparatus and method with user override
KR19990072272A (ko) 로드/로드검출및재정렬방법
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US5687350A (en) Protocol and system for performing line-fill address during copy-back operation
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム