JPH04324546A - コンピュータ・システム - Google Patents

コンピュータ・システム

Info

Publication number
JPH04324546A
JPH04324546A JP4050181A JP5018192A JPH04324546A JP H04324546 A JPH04324546 A JP H04324546A JP 4050181 A JP4050181 A JP 4050181A JP 5018192 A JP5018192 A JP 5018192A JP H04324546 A JPH04324546 A JP H04324546A
Authority
JP
Japan
Prior art keywords
cache
data
bonus value
status
bonus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4050181A
Other languages
English (en)
Inventor
Jamshed H Mirza
ジャムシェッド・ホーメジヤー・ミルザ
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 JPH04324546A publication Critical patent/JPH04324546A/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般に、ハードウェア管
理によるキャッシュを使用し、その性能を拡張する高性
能プロセッサに関し、更に詳しくは、特にキャッシュを
通じてベクトルを供給するエンジニアリング及び科学計
算ベクトル・プロセッサに関する。
【0002】
【従来の技術】高性能コンピュータにおいて、キャッシ
ュはメモリに対する待ち時間を減少する役割をする。キ
ャッシュは比較的小容量でありながら、非常に高性能な
メモリをプロセッサの近傍に提供する。より大容量では
あるが遅い主メモリからのデータは、自動的に要求ベー
スによる特殊なハードウェアにより、キャッシュ内にス
テージされる。これは典型的には、“ライン”(例えば
、32バイトから256バイトの範囲に渡る)と称され
る転送単位で実施される。もしコンピュータ上で実行さ
れるプログラムが参照に関する良好な局所性を示す場合
は、プロセッサによる大抵のアクセスはキャッシュから
満足され、プロセッサによる平均メモリ・アクセス時間
はキャッシュのそれに非常に近いものとなる。すなわち
、1サイクルから2サイクルのオーダである。プロセッ
サが要求データをキャッシュ内で見い出せない場合のみ
、“キャッシュ・ミス・ペナルティ”を招き、主メモリ
に対する長い待ち時間を生ずる。すなわち、これは短サ
イクル時間を有するコンピュータにおいて、20サイク
ルから40サイクルのオーダとなる。任意のキャッシュ
構造にとって、プログラムはその“キャッシュ・ヒット
率”(CHR)により特徴化され、これはキャッシュか
ら満足されるアクセスの割合を示し、従って、ヒットの
場合には主メモリに対する長い待ち時間を必要としない
【0003】キャッシュのサイズが決定されると、キャ
ッシュ構造はライン・サイズ(バイト)、ライン数、及
びセット連想性に関して決定しなければならない。これ
らの決定には数多くの設計上のトレード・オフが伴う。 例えば、大部分の参照は順次的であり、プリフェッチ・
データを効率的に使用するので、ライン・サイズは十分
に大きく選択される。ライン・サイズが小さいとライン
・ミスの発生が増加し、従って、現在におけるプログラ
ムの局所性を定義する同量のデータに対するミス・ペナ
ルティが増える。更に、ライン・サイズが小さいとキャ
ッシュ内のライン数を増やす結果となり、またキャッシ
ュ・ディレクトリ設計におけるコスト、複雑性、及び性
能との係わりを有する。
【0004】また、ライン・サイズは大き過ぎないよう
に選択される。なぜなら、大き過ぎると、ライン数が減
り、参照の局所性が分散される関連のない領域の数を制
限する。更に、ライン・サイズが大きいと、各ライン・
ミスは非常に多数のデータ要素を生じ、これらの全ては
キャッシュにそのラインが存在する間は、使用されるこ
とはない。その結果、時間及び使用可能な主メモリのバ
ンド幅が、参照されないデータのために不要に費やされ
るのである。
【0005】キャッシュのセット連想性は、キャッシュ
・ラインのスラッシング状態の確率を低減するように選
択されている。ライン・スラッシングは、参照の現局所
性が、提供される連想性レベルよりも、合同クラスから
のより多くのラインを含む際に発生する。この場合、ラ
インは互いにキャッシュから置き換わり、CHRを低下
させる。一方、セット連想性は、キャッシュ・ルック・
アップ機構のコスト及び複雑性に関する負担を伴うため
に、任意に大きく設定することはできない。
【0006】命令による参照はいくつかの理由で、低キ
ャッシュ・ヒット率を示す。例えば、命令はループ内に
あり、データ構造の要素を非単位のストライドで参照す
る。従来例では多次元マトリクスの様々な方向に沿って
要素を参照し、データ・テーブルの1つの列を参照する
。ライン・サイズがL要素からなり、ストライドsがL
よりも大きいと、各ラインはL要素をフェッチし、これ
らの内の1つだけが直後に使用される。データ構造のサ
イズが大きく、また/或いはループ内の他の命令により
アクセスされるいくつかの他のデータ構造が存在する場
合は、これらの参照はキャッシュをフラッシュ(flu
sh) し、同じライン内の別の要素が参照される際に
は、これはすでに置換されている。これによりキャッシ
ュ・ヒット率はゼロに近づいて低下する状態となり、待
ち時間は主記憶装置のアクセス時間に近づき、その結果
性能の劣化を招く。また、キャッシュ機構は使用される
各要素に対し、キャッシュ内に存在する間に1度も参照
されることのないL−1個の要素を更にフェッチするた
めに、性能は一層低下する。これはシステム内の他のプ
ロセッサから使用可能な主メモリのバンド幅を奪うと同
様に、追加のフェッチによる遅延を生ずる。更に、キャ
ッシュにおける過密な転送は、システムにおける全ての
プロセッサに関する性能の低下を生む。
【0007】低キャッシュ・ヒット率を引き起こす別の
状態としては、ループ内の命令が、全て同じ合同クラス
に含まれるいくつかのデータ・オブジェクト、或いは同
一データ・オブジェクトのいくつかの領域を参照する時
がある。これはデータ・オブジェクトの次元が2次元の
場合に予想以上に頻繁となる。並列処理システムにおい
ては、使用可能なプロセッサは典型的には2次元である
。一般的な傾向としては、2次元のデータ・オブジェク
トを有することにより、これらをプロセッサ間で区分す
ることを容易にする。
【0008】更に、大きなデータ・オブジェクトを通じ
て非単位ストライド方向にストライドすることにより、
特定の命令が低ヒット率を経験するだけでなく、これら
の命令を取り囲むコードもまた低ヒット率を経験する。 これは、低率の局所性を有する命令は、有用なデータを
キャッシュからフラッシュすることによる。
【0009】
【発明が解決しようとする課題】従って、本発明の目的
は、低キャッシュ・ヒット率を示す命令を自動的にバイ
パスし、それにより、こうしたデータのキャッシュを回
避し、結果的に性能の改善を図るものである。
【0010】
【課題を解決するための手段】本発明によれば、理由の
如何により、その命令のデータ参照が低キャッシュ・ヒ
ット率を示す命令のための、データのキャッシュを回避
する発見的機構が提供されている。これはプログラマ或
いはコンパイラの介入無しに、自動的に実施される。こ
の機構は各命令のデータ参照局所性を追跡し、キャッシ
ュ許可か或いはキャッシュ不可かを決定する。キャッシ
ュから局所性が低い命令による参照を除外することによ
り、プロセッサは全てのラインにおける不要なデータを
フェッチする性能的ペナルティを招くことはい。これは
不要なデータをフェッチし、キャッシュ内の有用なデー
タをフラッシュすることによる、メモリバンド幅の非効
率的な使用を回避する。並列プログラミング環境におい
て、複数のプロセッサ間でのライン・スラッシング状態
は、低頻度に実行される命令のためのデータをキャッシ
ュしないことにより減少することができる。
【0011】本発明による機構は、自らを自動的に時間
と共に調整され、命令参照のいくつかがキャッシュされ
、一方、他の参照はキャッシュされない。これは有用な
データをフラッシュすることなく、キャッシュ内にでき
るだけ多くのデータ・オブジェクトを保持する結果とな
る。このようにして、例えば、命令がキャッシュよりも
かなり大きなマトリクス・データの非単位方向に沿って
、パスを形成する場合は、キャッシュ内に使用可能な空
間が存在する限り、できるだけ多くのマトリクスを堅持
しようとする。一方、残りについては、それに対する参
照をキャッシュすることなくキャッシュから除外する。 このように、使用可能なキャッシュ空間を最大限有効に
使用するように調整される。
【0012】
【実施例】図を参照すると、図1はキャッシュ・メモリ
を含むコンピュータ・メモリ階層を示す。中央処理装置
(CPU)10は命令に従い、主メモリ12内に記憶さ
れるデータを処理する。この命令も主メモリ12に記憶
される。キャッシュ・メモリ14はCPU10及び主メ
モリ12との間に配置され、主メモリ12よりも高速(
且つ典型的には高価)であり、主メモリ12に記憶され
るデータ及び命令のサブセットを記憶する。キャッシュ
・メモリを使用する概念は、キャッシュ・メモリ14に
記憶されるデータは再使用される可能性があるという予
測に基づく。なぜなら、CPU10がキャッシュ・メモ
リをアクセスするために要する時間は、CPUが主メモ
リ12をアクセスするのに要する時間よりも短いからで
ある。すなわち、コンピュータ・システムにおける性能
の向上が得られることになる。キャッシュ・メモリ14
、或いは単に“キャッシュ”は、一般的に高速メモリ・
デバイス15及びタグ・ディレクトリ16により構成さ
れる。
【0013】CPU10が新たなワードを要求すると、
それがデータ或いは命令であるにしろ、最初にアドレス
・タグ・ディレクトリに対するチェックが行われ、その
ワードがキャッシュ・メモリ配列15に含まれているか
を決定する。もし含まれていると(すなわちこの場合は
“キャッシュ・ヒット”となる)、そのワードが直接キ
ャッシュ14からCPU10に読み出される。含まれて
いない(“キャッシュ・ミス”)場合は、そのワードは
主メモリ12からアクセスされなければならない。通常
、主メモリ12から読み出されるワードは、それが近い
将来再び参照されるであろうという予測に基づき、キャ
ッシュ14に書き込まれる。実際に、単にワード単体よ
りもむしろ実際に参照されるそのワードを含むデータ・
ブロックを読み出す方が通例である。データ・ブロック
は次にキャッシュ14に書き込まれる。書き込まれると
、キャッシュ14に既に存在するデータはオーバライト
或いは“フラッシュ”(flush) される。従って
、オーバライトするための最も不要なデータ・ブロック
を識別するために、使用の履歴に基づくある種のアルゴ
リズムが必要となる。1つのアルゴリズムとして、LR
U(Least Recently Used)アルゴ
リズムがある。
【0014】本発明によれば、命令はその過去の動作に
基づき、“キャッシュ許可”、“キャッシュ不可”とさ
れる。概して、命令がキャッシュ・ヒットを生じる場合
は、これは現行ではキャッシュ許可と分類され、それが
経験するどのミスにおいても全てのラインがキャッシュ
内にフェッチされる。これはこの命令が良好に動作を継
続し、再びそのラインを参照するであろうという期待に
基づく。一方、命令が概してキャッシュ・ミスを生じる
場合は、これは現行キャッシュ不可と分類され、それが
経験するミスにおいて、単に要求されるデータ要素だけ
が直接、主メモリ12からフェッチされる。すなわち、
この命令は不当に動作を継続し、近い将来再び前記ライ
ンを参照することはないであろうという予測に基づき、
そのラインはキャッシュ14にフェッチされない。
【0015】変化する状態に対する適応性を促進するた
めに、“良好動作に対するボーナス”(bonus f
or good behavior) の概念が取り入
れられている。この機能はキャッシュ許可からキャッシ
ュ不可への移行時期を決定するためのしきい値を提供す
る。こうして、キャッシュ・ヒットを経験する命令には
、ある固定値或いは適応変化における変数値Bが与えら
れる。命令がキャッシュ許可であり、現在ボーナス“b
”を有するものとすると、連続するb回のライン・ミス
までは、その過去の“良好動作”により許容される。す
なわち、この命令は次の連続するb回のミスの間、キャ
ッシュ許可状態を維持する。b回以上の連続するミスが
生じると、この命令は(b+1)回目のミス時にキャッ
シュ不可状態に移行する。
【0016】固定ボーナス・パラメータBはシステムに
より選択される値であったり、或いは各ジョブに特定さ
れるか、ジョブ内において変更される調整パラメータで
あったりする。ボーナス・パラメータBの効果について
は後で説明される。
【0017】図2の参照履歴テーブル20(RHT:r
eference history table) は
、本発明によりCPU10内に提供される。RHT20
はCPU内のレジスタ22における命令アドレスにより
アドレスされる。図2で示される構造は、IBM Sy
stem/370−XA(拡張アーキテクチャ)プロセ
ッサに特有のものであり、32ビットの命令アドレスが
RHT20をアドレスするために使用される。当業者に
は理解されるように、この構造は容易に異なるプロセッ
サ・アーキテクチャに対しても適応することが可能であ
る。IBM System/370(S/370)に関
する更に詳細な情報については、IBM System
/370、Principles of Operat
ion、IBM Publication No. G
A22−7000−10(1987)を参照されたい。
【0018】大きな命令ループを堅持するために、RH
T20は1Kから2K程度の要素長である必要がある。 RHT20はレジスタ22内の命令アドレスを使用して
、直接マップ化される。ここでS/370の命令は、2
K入力RHTのハーフワード境界上にのみ配置され、命
令アドレスのビット20−30はRHT20を指標化す
るために使用される。もし2バイト命令と4バイト命令
がほぼ同等に混在するものとすると、2K入力RHTは
約1300命令のループを堅持する。
【0019】RHT20の各入力は3つのフィールドか
らなる。すなわち、最終参照ライン・アドレス(LRL
A)・フィールド24、状態フィールド26、及びボー
ナス・フィールド28である。
【0020】最終参照ライン・アドレス(LRLA)・
フィールド24は、命令により参照された最後のライン
のアドレスを含む。S/370−XA及び128バイト
のキャッシュ・ライン・サイズに対し、LRLAフィー
ルドは最大24ビット長である。しかしながら、ライン
・アドレスの下位の6ないし10ビットだけが保管され
る場合にも、同様に作用する。これはゼロに近い同一の
下位6ないし10アドレス・ビットを有する2つのライ
ンが、連続して参照される可能性を低減させるのに十分
である。更に、数ビットだけの比較に起因する誤った一
致は、単に通常バイパスされる数ラインを追加的にキャ
ッシュするだけである。
【0021】状態フィールド26は現命令状態を含む。 この状態は、参照データの取り扱い方法、キャッシュ方
法、或いは非キャッシュ方法に関する情報を提供する。 すなわち、全てのラインをキャッシュに取り込むか、或
いはキャッシュをバイパスして、主メモリから直接参照
データ要素をアクセスするかに関する。命令の過去の動
作は2つの基本的状態の一方にマップされる。状態フィ
ールド26は1ビット長である。
【0022】ボーナス・フィールド28は命令の過去の
“良好動作”(ライン・ヒット)に関するボーナスの現
値を含む。RHTの図において、ボーナス・フィールド
はnビットで示され、nは0からlog2(S)ビット
であり、ここでSはキャッシュにおけるラインのトータ
ル数である。図3で示される状態図はボーナス値が操作
される様子を示す。
【0023】命令の過去の動作は2つの主要状態、すな
わちキャッシュ許可或いはキャッシュ不可の内の一方に
マップされる。状態“0”は良好な参照局所性を示した
命令に対して割り当てられる。状態“0”の命令は0か
らBまでの現ボーナス値を有することができる。状態“
1”は低い参照局所性を示した命令に対して割り当てら
れる。状態“1”の命令に対するデータはキャッシュさ
れない。参照されるデータ要素だけが直接主メモリから
フェッチされ、キャッシュを完全にバイパスする。状態
“1”の命令は常にボーナス値ゼロを有する。後述され
るバイパス機構の変化では、状態“1”の命令に関する
固定“ペナルティ”の概念を導入する。
【0024】2つの状態は図2及び図3を参照して、後
に更に詳細に説明される。キャッシュ許可状態30(S
=0)においては、命令は良好に動作してくる。すなわ
ち、以前の参照においてキャッシュ14内のラインにヒ
ットしている。毎回、キャッシュ許可状態30における
命令はライン・ヒットを得て、そのボーナス値はBにリ
セットされる。キャッシュ許可状態30における命令が
ライン・ミスを得て、現ボーナス値bがゼロよりも大き
いと、その命令はキャッシュ許可状態に維持されるが、
ボーナス値は1だけ減じられてb−1となる。キャッシ
ュ許可状態30の命令がライン・ミスを得て、現ボーナ
ス値bがゼロに等しいと、この命令はB回連続してライ
ン・ミスを経験したことを意味し、キャッシュ不可状態
32(S=1)に移行され、ボーナス値はゼロとなる。 これらの規則は図4のテーブルの最初の2行により示さ
れ、ここで“C”はキャッシュ許可で、“NC”はキャ
ッシュ不可を表す。
【0025】キャッシュ不可状態32の命令は、近い過
去において低いデータ参照局所性を示している。最後の
B回或いはそれ以上の参照により異なるラインが指示さ
れ、これらはキャッシュ内には存在しなかったことにな
る。連続して2回同じラインを参照するか、或いはキャ
ッシュ内に既に存在するラインを参照するかしない限り
、命令はボーナス値ゼロで状態32に留まる。次回の参
照が以前に参照されたラインであれば、すなわちそのア
ドレスがLRLAフィールド24内に存在するが、最後
の参照の際にキャッシュ14内にそのラインがフェッチ
されなかったために真のヒットにならない場合は、それ
はキャッシュ許可状態(S=0)にボーナス値ゼロで復
帰する。この状況は“疑似ヒット”として参照される。 次の参照が既にキャッシュ内に存在する別のラインであ
れば、ボーナス値Bでキャッシュ許可状態30(S=0
)に移行する。こうした規則は図4のテーブル最終行で
示されている。
【0026】図5は本発明による自動キャッシュ・バイ
パス機構の実施例を示す。図5において、現RHT入力
51のLRLAフィールド24は、比較器52への1入
力として供給され、一方、他入力は現ライン・アドレス
である。これらが一致すると、論理“1”が比較器52
の出力に生成される。現RHT入力51のボーナス・フ
ィールド28は、比較器53への1入力として供給され
、比較器はこのフィールドが現在ゼロよりも大きいかを
決定する。もしそうであれば、比較器53の出力は論理
“1”となる。2つの比較器52及び53の出力はNO
Rゲート54の入力として供給され、NORゲートは状
態フィールド26、及びキャッシュ機構(図示せず)か
らの“ヒット”出力も入力として受け取る。通常のキャ
ッシュ・ディレクトリ・ルック・アップはRHTルック
・アップと並列に発生し、キャッシュ・ヒット或いはミ
スを伝える制御信号を送る。
【0027】既知のように、NORゲートの出力は、全
ての入力が論理“0”の場合のみ、論理“1”となる。 従って、比較器52、53或いは状態フィールド26、
或いはキャッシュ・ヒットの何れかからの論理“1”に
より、NORゲート54の出力は論理“0”となる。N
ORゲート54の出力は、キャッシュ機構に戻される。 NORゲート54からの論理“0”はキャッシュ機構に
次のラインをキャッシュさせるが、論理“1”はキャッ
シュ機構にキャッシュをバイパスさせる。このように、
本発明による自動キャッシュ・バイパス機構は信号をキ
ャッシュ機構に送り返し、現ラインがキャッシュ許可か
或いはキャッシュ不可かを管理する。
【0028】NORゲート54の出力はまた、新RHT
入力55の状態フィールド26´にも供給される。新R
HT入力55のLRLAフィールド24´は現ライン・
アドレスである。新RHT入力55のボーナス・フィー
ルド28´を生成するために、現RHT入力51のボー
ナス・フィールド28は選択回路56に供給され、これ
は値ゼロ、或いは値(b−1)の大きい方の値を選択す
る。この選択の結果は、マルチプレクサ57への1入力
として供給され、他方、値Bが入力として提供される。 選択入力或いはマルチプレクサ制御はキャッシュ・ヒッ
ト・ラインである。もしキャッシュ・ヒット(論理“1
”)が発生すると、値Bが選択されるが、キャッシュ・
ミス(論理“0”)の場合には、選択回路56の出力が
選択される。
【0029】RHT配列設計はオペランド・アドレス生
成のレートにより決定される。典型的には、このレート
はサイクル当たり1アドレスである。各命令はRHT読
出し及び書込みサイクルを必要とするため、RHTは同
時読出し/書込みを許可する配列で実施されるか、或い
は2つまたはそれ以上のインタリーブにより実施されね
ばならない。
【0030】命令が同じラインを2回或いはそれ以上連
続して参照すると、そのラインは常にキャッシュ内にフ
ェッチされ、バイパスの有無によるキャッシュ性能は同
一となる。配列内の参照の現局所性がキャッシュ(或い
はいくつかの競合する命令の発生の際に、配列にとって
使用可能な現キャッシュ空間)よりも大であると、通常
のキャッシュ機構はその配列に対してはキャッシュ・ヒ
ットがゼロとなり、全ての付随する性能が低下する。具
体的には、残りのラインをフェッチするために費やす時
間、他のプロセッサから奪われるメモリのバンド幅、キ
ャッシュからの有用なデータのフラッシュ、及びライン
・スラッシング状態などである。
【0031】一方、RHT機構は、他の命令の局所性に
依存して、キャッシュ内にできるだけ多くの配列を移送
し、残りを除外することによりキャッシュに対する継続
するフラッシュを回避する。これにより、キャッシュ内
に堅持される配列部分におけるヒット率を向上すること
ができる。キャッシュ内に存在しない配列部分に関して
は、この機構は、ライン内における不要なワードをフェ
ッチするといった別のペナルティを回避し、キャッシュ
をフラッシュしないことにより残りのデータ上における
ヒット率を増加し、要求ワードだけをフェッチすること
によりメモリ上におけるバンド幅要求を減少し、また並
列処理環境におけるライン・スラッシング状態を回避す
る。これにより、通常のキャッシュ機構に比較して、命
令による全体的なキャッシュ・ヒット率が向上し、総合
的なシステム性能が改善される。
【0032】ボーナス・フィールドは“良好動作”に報
いる手段として導入された。キャッシュ・ヒットの形で
最近の良好動作を示す命令は、将来、“不当動作”(す
なわちキャッシュ・ミス)を寛容される。Bの値は、参
照する特性が不当の場合に、いかに早くデータ・オブジ
ェクト部分がキャッシュ内に堅持されるかを決定する。 どれくらいのデータ・オブジェクトがキャッシュ内に堅
持されるかについても、他の命令の参照する特性に依存
する。
【0033】最初にB=1の場合について考察する。命
令が低い局所性を示す限り、RHT機構はその配列をキ
ャッシュから除外し続ける。しかしながら、B=1では
、その配列の一部のキャッシュへの移送レートは、行ア
クセスにつき1ラインと非常に遅くなる。従って、使用
可能なキャッシュ空間の最適使用は実現されない。
【0034】低い局所性により参照されるマトリクス部
分が、キャッシュにステージされる際のレートをスピー
ド・アップするために、B>1の値が使用される。Bの
最適値の選択は、低い参照特性にも係わらず、配列選択
がキャッシュに堅持されるスピードと、キャッシュから
メモリへのトラフィックの増加とのトレード・オフであ
る。もしBが非常に大きいと、すなわちB=SでSがラ
イン数で示されるキャッシュ・サイズとすると、RHT
機構は迅速にキャッシュに配列部分をステージし、これ
を堅持する。しかし、そのコードがいくつかの配列に対
して低い参照パターンで作用すると、大きなB値は使用
可能なキャッシュ空間をオーバ・コミットする。これは
すなわち、キャッシュ許可性及びキャッシュ不可性に関
し、最適でない決定がされたことになり、より小さなB
値の場合よりも、僅かにキャッシュからメモリへのトラ
フィックが増加することになる。一方、Bの値が小さす
ぎると、配列部分の移送及び安定が遅くなり、Bの値が
大きい時よりもキャッシュ・ヒット率が僅かに低減する
。しかし、どちらの場合も、バイパス機構を有する効果
的キャッシュ性能は、キャッシュ・ヒット率、及びメモ
リ・バンド幅、メモリ・アクセス時間に関しては、バイ
パス機構を持たない場合よりも向上する。
【0035】シュミレーション実行では、一般に、低局
所性で参照されるいくつかの配列と作用するとき、S/
4程度のB値が最高の平均的全体性能を引き出すことを
示す。ここでSはライン数で示されるキャッシュ・サイ
ズである。
【0036】図5で示される特定の実施例は、RHT機
構を更に最適化するように変更可能である。例えば、固
定ボーナス値Bを有するよりも、むしろBが総合的なキ
ャッシュ・ミス活動に基づき、ダイナミックに選択され
る。キャッシュ・ミス活動がモニタできると、B値は現
在低率の参照特性を経験している命令の数に基づき選択
可能である。Bの値はこうした命令がほとんど存在しな
い場合は増加され、数多く存在する場合は減少される。 これにより、現在低率の参照特性を示しているデータ・
オブジェクト部分がキャッシュ内に堅持されるスピード
と、全体的なキャッシュ・メモリ間のトラフィックとの
間の更にダイナミックなトレード・オフが提供される。
【0037】更に、基本的なRHT機構においては、1
度命令がキャッシュ不可状態に入ると、その命令はキャ
ッシュ・ミスを繰り返し経験し続ける限り、この状態を
維持する。RHT機構の変更において、限定されたペナ
ルティ時間の概念を使用する。命令は1度キャッシュ不
可とマークされると、多くともその後の“M”回の実行
の間はこの状態を維持する。それ以降は、自動的に状態
C、mに移行する。M及びmは付加的調整パラメータで
あり、これによりキャッシュ性能を微調整することが可
能となる。
【0038】
【発明の効果】以上説明したように、本発明によれば、
低キャッシュ・ヒット率を示す命令を自動的にバイパス
し、それによりこうしたデータのキャッシュを回避する
ことにより、コンピュータ・システムの性能の改善を達
成できる。
【図面の簡単な説明】
【図1】キャッシュ・メモリを含むメモリ階層機構を示
すブロック図である。
【図2】本発明による参照履歴テーブル構造を示すブロ
ック図である。
【図3】本発明のオペレーションを表す状態遷移図であ
る。
【図4】図3の状態遷移図により表される状態を示す状
態テーブルである。
【図5】本発明による自動キャッシュ・バイパス機構の
基本的実施例を示すブロック及び論理図である。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】主メモリ、該主メモリからデータを要求す
    るプロセッサ、及び該プロセッサと前記主メモリ間に配
    置され、前記主メモリ内のデータのサブセットを記憶す
    るキャッシュ、及び低キャッシュ・ヒット率を示す命令
    に対する自動的キャッシュ・バイパス機構を含むコンピ
    ュータ・システムにおいて、要求データがキャッシュ内
    に存在し、キャッシュ・ヒットを示すかどうかを決定す
    るキャッシュ制御手段を備え、存在する場合は、キャッ
    シュから要求データを検索し、存在しない場合は、前記
    主メモリから要求データを検索し、前記プロセッサから
    の命令アドレスによりアドレスされ、最後に参照された
    ライン・アドレス、及びキャッシュ許可或いはキャッシ
    ュ不可ステータスの記録をキャッシュ・ヒット或いはミ
    ス履歴に基づき保持し、キャッシュ・ヒットに対するボ
    ーナス値を記憶するテーブル手段と、前記キャッシュ制
    御手段及び前記テーブル手段に応じて、前記テーブル手
    段に記憶されるデータの現ステータスがキャッシュ許可
    の際、主メモリから検索されるデータを前記キャッシュ
    に記憶し、前記現ステータスがキャッシュ不可の際、前
    記キャッシュをバイパスする手段と、前記テーブル手段
    に記憶されるデータのステータスをキャッシュ・ヒット
    及び前記ボーナス値の関数として変更する手段とを具備
    することを特徴とするコンピュータ・システム。
  2. 【請求項2】前記自動的キャッシュ・バイパス機構にお
    いて、最初にデータをキャッシュに記憶する時、データ
    にキャッシュ許可のステータスと共に初期ボーナス値を
    割り当てる手段と、前記データに対するキャッシュ・ヒ
    ット或いはキャッシュ・ミスの関数として、前記ボーナ
    ス値を変更する手段とを具備することを特徴とする請求
    項1記載のコンピュータ・システム。
  3. 【請求項3】前記自動的キャッシュ・バイパス機構にお
    いて、前記ボーナス値を変更する前記手段は、各キャッ
    シュ・ミスに対し記憶されるボーナス値を減じ、データ
    のステータスを変更する前記手段は、前記テーブル手段
    に記憶されるキャッシュ許可のステータスを、前記ボー
    ナス値がゼロの時のキャッシュ・ミスに際し、キャッシ
    ュ不可に変更することを特徴とする請求項2記載のコン
    ピュータ・システム。
  4. 【請求項4】前記自動的キャッシュ・バイパス機構にお
    いて、データのステータスを変更する前記手段は、前記
    テーブル手段に記憶されるキャッシュ不可のステータス
    をキャッシュ・ヒットに際し、キャッシュ許可に変更し
    、前記ボーナス値はゼロを維持することを特徴とする請
    求項3記載のコンピュータ・システム。
  5. 【請求項5】前記自動的キャッシュ・バイパス機構にお
    いて、前記キャッシュ制御手段及び前記テーブル手段に
    応じ、前記キャッシュにデータを記憶する手段は、前記
    テーブル手段から前記プロセッサからの命令アドレスに
    よりアドレスされるラインに対する前記ステータス及び
    ボーナスを読み出す手段と、前記ボーナス値がゼロより
    も大きいかどうかを決定するための比較器手段と、前記
    ステータス、前記比較器手段、及び前記キャッシュ制御
    手段に応じ、バイパス信号を前記キャッシュ制御手段に
    対し生成するゲート手段とを具備することを特徴とする
    請求項1記載のコンピュータ・システム。
  6. 【請求項6】前記自動的キャッシュ・バイパス機構にお
    いて、前記テーブル手段から読み出される前記ボーナス
    値に応じ、ゼロと前記ボーナス値よりも1小さな値の大
    きい方の値を選択する選択手段と、前記選択手段の出力
    及び予め定義されたボーナス値を入力として有するマル
    チプレクサ手段とを備え、該マルチプレクサ手段は前記
    キャッシュ制御手段がキャッシュ・ヒットを指摘する際
    、前記予め定義したボーナス値を出力として提供し、前
    記キャッシュ制御手段がキャッシュ・ミスを指摘する際
    、前記選択手段の前記出力を提供し、前記テーブル手段
    に記録されるボーナス値を、前記マルチプレクサ手段の
    出力によって更新する手段とを具備することを特徴とす
    る請求項5記載のコンピュータ・システム。
JP4050181A 1991-04-15 1992-03-09 コンピュータ・システム Pending JPH04324546A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/685,583 US5625793A (en) 1991-04-15 1991-04-15 Automatic cache bypass for instructions exhibiting poor cache hit ratio
US685583 1991-04-15

Publications (1)

Publication Number Publication Date
JPH04324546A true JPH04324546A (ja) 1992-11-13

Family

ID=24752832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4050181A Pending JPH04324546A (ja) 1991-04-15 1992-03-09 コンピュータ・システム

Country Status (4)

Country Link
US (1) US5625793A (ja)
EP (1) EP0509676B1 (ja)
JP (1) JPH04324546A (ja)
DE (1) DE69208132D1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法
JPWO2008155802A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 キャッシュメモリ制御装置、およびパイプライン制御方法
JP4751510B2 (ja) * 1997-12-10 2011-08-17 株式会社日立製作所 メモリアクセス最適化方法

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2273181A (en) * 1992-12-02 1994-06-08 Ibm Cache/non-cache access control.
JP3724001B2 (ja) 1994-12-12 2005-12-07 富士通株式会社 情報処理装置
US5729713A (en) * 1995-03-27 1998-03-17 Texas Instruments Incorporated Data processing with first level cache bypassing after a data transfer becomes excessively long
US6044441A (en) * 1995-09-29 2000-03-28 Intel Corporation Method and apparatus for encoding valid and invalid states in a cache with an invalid pattern
US5818936A (en) * 1996-03-15 1998-10-06 Novell, Inc. System and method for automically authenticating a user in a distributed network system
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
US5978888A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation Hardware-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels
US6094708A (en) * 1997-05-06 2000-07-25 Cisco Technology, Inc. Secondary cache write-through blocking mechanism
US6304912B1 (en) * 1997-07-24 2001-10-16 Fujitsu Limited Process and apparatus for speeding-up layer-2 and layer-3 routing, and for determining layer-2 reachability, through a plurality of subnetworks
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
US6484230B1 (en) 1998-09-28 2002-11-19 International Business Machines Corporation Method and system for speculatively processing a load instruction before completion of a preceding synchronization instruction
US6785274B2 (en) 1998-10-07 2004-08-31 Cisco Technology, Inc. Efficient network multicast switching apparatus and methods
US6356980B1 (en) * 1999-11-09 2002-03-12 International Business Machines Corporation Method and system for bypassing cache levels when casting out from an upper level cache
US6385695B1 (en) 1999-11-09 2002-05-07 International Business Machines Corporation Method and system for maintaining allocation information on data castout from an upper level cache
US6370618B1 (en) 1999-11-09 2002-04-09 International Business Machines Corporation Method and system for allocating lower level cache entries for data castout from an upper level cache
US6850980B1 (en) * 2000-06-16 2005-02-01 Cisco Technology, Inc. Content routing service protocol
US6728835B1 (en) 2000-08-30 2004-04-27 Unisys Corporation Leaky cache mechanism
US6564299B1 (en) * 2001-07-30 2003-05-13 Lsi Logic Corporation Method and apparatus for defining cacheable address ranges
KR100453040B1 (ko) * 2002-02-01 2004-10-15 삼성전자주식회사 콜리메이팅 렌즈, 콜리메이팅 시스템 및 이를 채용한 화상표시장치
US7467377B2 (en) * 2002-10-22 2008-12-16 Intel Corporation Methods and apparatus for compiler managed first cache bypassing
US6922754B2 (en) * 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
JP4252828B2 (ja) 2003-03-19 2009-04-08 株式会社日立製作所 キャッシュ制御方法、ノード装置、プログラム
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
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
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
AU2005266945A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US8046830B2 (en) 2004-07-23 2011-10-25 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
US7228388B2 (en) * 2004-11-19 2007-06-05 International Business Machines Corporation Enabling and disabling cache bypass using predicted cache line usage
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8549149B2 (en) * 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US20060179240A1 (en) * 2005-02-09 2006-08-10 International Business Machines Corporation System and method for algorithmic cache-bypass
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
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
WO2007110898A1 (ja) * 2006-03-24 2007-10-04 Fujitsu Limited マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
US8683139B2 (en) 2006-10-31 2014-03-25 Hewlett-Packard Development Company, L.P. Cache and method for cache bypass functionality
US8495272B2 (en) * 2006-11-29 2013-07-23 International Business Machines Corporation Method to save bus switching power and reduce noise in an engineered bus
US7865669B2 (en) * 2007-08-02 2011-01-04 International Machines Business Corporation System and method for dynamically selecting the fetch path of data for improving processor performance
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8627009B2 (en) * 2008-09-16 2014-01-07 Mosaid Technologies Incorporated Cache filtering method and apparatus
US8484421B1 (en) 2008-11-25 2013-07-09 Marvell Israel (M.I.S.L) Ltd. Cache pre-fetch architecture and method
US8688911B1 (en) 2008-11-25 2014-04-01 Marvell Israel (M.I.S.L) Ltd. Transparent processing core and L2 cache connection
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
US8589867B2 (en) 2010-06-18 2013-11-19 Microsoft Corporation Compiler-generated invocation stubs for data parallel programming model
US8364652B2 (en) 2010-09-30 2013-01-29 Commvault Systems, Inc. Content aligned block-based deduplication
US8572340B2 (en) 2010-09-30 2013-10-29 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US8954446B2 (en) 2010-12-14 2015-02-10 Comm Vault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US8700864B2 (en) 2011-11-11 2014-04-15 Microsoft Corporation Self-disabling working set cache
US9218374B2 (en) 2012-06-13 2015-12-22 Commvault Systems, Inc. Collaborative restore in a networked storage system
US8972645B2 (en) 2012-09-19 2015-03-03 Hewlett-Packard Development Company, L.P. Request sent to storage device based on moving average
US9633033B2 (en) 2013-01-11 2017-04-25 Commvault Systems, Inc. High availability distributed deduplicated storage system
US9323675B2 (en) 2013-02-20 2016-04-26 International Business Machines Corporation Filtering snoop traffic in a multiprocessor computing system
US9235517B2 (en) * 2013-08-12 2016-01-12 Globalfoundries Inc. Implementing dynamic cache enabling and disabling based upon workload
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9633056B2 (en) 2014-03-17 2017-04-25 Commvault Systems, Inc. Maintaining a deduplication database
US9785568B2 (en) 2014-05-19 2017-10-10 Empire Technology Development Llc Cache lookup bypass in multi-level cache systems
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US20160179387A1 (en) * 2014-12-19 2016-06-23 Jayesh Gaur Instruction and Logic for Managing Cumulative System Bandwidth through Dynamic Request Partitioning
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US20170192868A1 (en) 2015-12-30 2017-07-06 Commvault Systems, Inc. User interface for identifying a location of a failed secondary storage device
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10795577B2 (en) 2016-05-16 2020-10-06 Commvault Systems, Inc. De-duplication of client-side data cache for virtual disks
US10846024B2 (en) 2016-05-16 2020-11-24 Commvault Systems, Inc. Global de-duplication of virtual disks in a storage platform
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US20210173811A1 (en) 2019-12-04 2021-06-10 Commvault Systems, Inc. Optimizing the restoration of deduplicated data stored in multi-node replicated file systems
CN111651120B (zh) * 2020-04-28 2023-08-08 中国科学院微电子研究所 预取数据的方法及装置
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01133162A (ja) * 1987-11-18 1989-05-25 Fujitsu Ltd キャッシュメモリ制御方式
JPH02189658A (ja) * 1989-01-18 1990-07-25 Fuji Xerox Co Ltd キャッシュメモリ

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass
US4500954A (en) * 1981-10-15 1985-02-19 International Business Machines Corporation Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
US4942518A (en) * 1984-06-20 1990-07-17 Convex Computer Corporation Cache store bypass for computer
JPH0630075B2 (ja) * 1984-08-31 1994-04-20 株式会社日立製作所 キャッシュメモリを有するデータ処理装置
US4663742A (en) * 1984-10-30 1987-05-05 International Business Machines Corporation Directory memory system having simultaneous write, compare and bypass capabilites
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
CA1300758C (en) * 1988-03-07 1992-05-12 Colin H. Cramm Mechanism for lock-up free cache operation with a remote address translation unit
DE68923112T2 (de) * 1988-04-12 1995-11-30 Nec Corp Mit einem Mikroprozessor verbundene Cachespeichersteuervorrichtung.
US5210847A (en) * 1989-05-19 1993-05-11 Compaq Computer Corporation Noncacheable address random access memory
US5233702A (en) * 1989-08-07 1993-08-03 International Business Machines Corporation Cache miss facility with stored sequences for data fetching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01133162A (ja) * 1987-11-18 1989-05-25 Fujitsu Ltd キャッシュメモリ制御方式
JPH02189658A (ja) * 1989-01-18 1990-07-25 Fuji Xerox Co Ltd キャッシュメモリ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4751510B2 (ja) * 1997-12-10 2011-08-17 株式会社日立製作所 メモリアクセス最適化方法
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法
JPWO2008155802A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 キャッシュメモリ制御装置、およびパイプライン制御方法
JP4750889B2 (ja) * 2007-06-20 2011-08-17 富士通株式会社 キャッシュメモリ制御装置、およびパイプライン制御方法
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
EP0509676B1 (en) 1996-02-07
DE69208132D1 (de) 1996-03-21
EP0509676A1 (en) 1992-10-21
US5625793A (en) 1997-04-29

Similar Documents

Publication Publication Date Title
US5625793A (en) Automatic cache bypass for instructions exhibiting poor cache hit ratio
US5737565A (en) System and method for diallocating stream from a stream buffer
US6957306B2 (en) System and method for controlling prefetching
USRE45078E1 (en) Highly efficient design of storage array utilizing multiple pointers to indicate valid and invalid lines for use in first and second cache spaces and memory subsystems
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US6219760B1 (en) Cache including a prefetch way for storing cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US7099999B2 (en) Apparatus and method for pre-fetching data to cached memory using persistent historical page table data
US6105111A (en) Method and apparatus for providing a cache management technique
US8473689B2 (en) Predictive sequential prefetching for data caching
US5958040A (en) Adaptive stream buffers
US7908439B2 (en) Method and apparatus for efficient replacement algorithm for pre-fetcher oriented data cache
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
KR100262906B1 (ko) 데이터 선인출 방법 및 시스템
EP1149342B1 (en) Method and apparatus for managing temporal and non-temporal data in a single cache structure
JPH06348595A (ja) キャッシュ装置
US6996679B2 (en) Cache allocation mechanism for saving multiple elected unworthy members via substitute victimization and imputed worthiness of multiple substitute victim members
US6993628B2 (en) Cache allocation mechanism for saving elected unworthy member via substitute victimization and imputed worthiness of substitute victim member
EP1831791A2 (en) Method for programmer-controlled cache line eviction policy
JPH0364893B2 (ja)
US20100318741A1 (en) Multiprocessor computer cache coherence protocol
JP2006516168A (ja) ストライド予測テーブルにアドレスするためにキャッシュミスパターンを使用する方法
US6535961B2 (en) Spatial footprint prediction
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
JPH11143774A (ja) キャッシュ制御機構