JP2881049B2 - プリフェッチバッファ - Google Patents
プリフェッチバッファInfo
- Publication number
- JP2881049B2 JP2881049B2 JP3190240A JP19024091A JP2881049B2 JP 2881049 B2 JP2881049 B2 JP 2881049B2 JP 3190240 A JP3190240 A JP 3190240A JP 19024091 A JP19024091 A JP 19024091A JP 2881049 B2 JP2881049 B2 JP 2881049B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- buffer
- storage device
- cpu
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
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)
- Advance Control (AREA)
- Memory System (AREA)
Description
るプリフェッチバッファ方式に関する。
ンの分野においては、高性能なRISCプロセッサの出
現によって大幅に性能が向上しつつある。RISCプロ
セッサは通常、高速なアクセスが可能な小容量のキャッ
シュメモリと、低速大容量の主記憶装置を持っている。
このとき、取り扱うデータ量が小さく、キャッシュミス
が起こらない場合にはRISCプロセッサの性能をフル
に引き出すことが可能となるが、取り扱うデータ量が大
きく、キャッシュミスが多発する場合には、主記憶装置
までデータを取りに行く間、プロセッサはプログラムの
実行を待たねばならず、この待ち時間が性能の低下のつ
ながる。しかも、この待ち時間は、どのような高速のプ
ロセッサであろうとも、主記憶装置のアクセス時間が同
じであるならば、同じ時間待たされるため、キャッシュ
ミスが多発するような処理の場合、プロセッサの性能を
いくら向上させても、全体としての処理性能が一向に上
がらないという問題が生じる。
ェッチバッファ方式がある。この方式の従来例として
は、Norman P. Jouppiの Improving Direct-Mapped Cac
he Performance by the Addition of a Small Fully-As
sociative Cache and PrefetchBuffers (The 17th Annu
al International Symposium on Computer Architectur
e Conference Proceedings, May, 1990, p364-p373)が
ある。これは、キャッシュミスを起こした場合、主記憶
装置から取りに行くべきデータを、あらかじめ小容量の
バッファに先読みしておくことにより、主記憶装置をア
クセスすることによるオーバーヘッドをなくす方式であ
る。
従来技術として、特開昭53-134334号、特開昭63-75934
号、特開平2-87229号、米国特許第4,714,994号に開示さ
れたものが挙げられる。
ッファにおいては、プログラムの命令の実行が一般にア
ドレス順に行われるため、プリフェッチの対象となるデ
ータは、通常、プロセッサからリクエストがあったデー
タの直後のアドレスを持つデータに限られている。ま
た、特殊な場合の対処として、分岐、ループ処理に応じ
たプリフェッチも提案されている。
方向に連続して変化する場合、あるいは、リクエストア
ドレスがとびとびである場合、プリフェッチバッファの
ヒット率が悪化し、性能が低下するという問題点があっ
た。
加する場合および減少する場合のいずれにおいてもヒッ
ト率を向上させることができるプリフェッチバッファを
提供することにある。
がとびとびの場合にもヒット率を向上させることができ
るプリフェッチバッファを提供することにある。
チバッファは、CPUを有する計算機システムにおける
キャッシュメモリと主記憶装置との間に設けられるプリ
フェッチバッファであって、プリフェッチしたデータと
該データをサーチするためのアドレスタグとを対にして
記憶する少なくともひとつのエントリを有するバッファ
と、プリフェッチするデータの主記憶装置内でのアドレ
スを発生するアドレス発生部と、上記バッファに記憶さ
れているデータの中から、上記CPUよりリクエストさ
れたアドレスを有するデータをサーチするデータサーチ
部と、上記CPUよりリクエストされたアドレスと、過
去にプリフェッチしたデータの主記憶装置内でのアドレ
スの履歴とに基づいて、次にプリフェッチすべきデータ
の主記憶装置内でのアドレスを決定するアドレス予測部
とを備えたものである。
CPUからのリクエストアドレスと該アドレスの直前に
上記CPUよりリクエストされたアドレスとの差分を取
り、該差分の値に基づいて次に主記憶装置からプリフェ
ッチするデータのアドレスを予測する。
エントリを含み、上記データサーチ部は、上記CPUか
らのリクエストアドレスを有するデータを、上記すべて
のエントリを対象としてサーチすることが望ましい。
ッチすべきデータのアドレスとして、上記CPUよりリ
クエストされたデータのアドレスに連続するn個のアド
レスを発生する。
リクエストアドレスと該アドレスの直前に上記CPUよ
りリクエストされたアドレスとの差分を取り、該差分値
をk(kは1からnまで)倍した値を当該リクエストア
ドレスに加算して得られるアドレスを、上記主記憶装置
からプリフェッチするデータのアドレスとすることも可
能である。
部は、CPUからのリクエストアドレスに続くn個の連
続したアドレスを発生し、該n個(nは好ましくは複
数)のアドレスを持つn個のデータを主記憶装置から読
みだし、n段のバッファに格納する。またデータサーチ
部は、次にCPUからリクエストされたアドレスを、バ
ッファ内の全てのエントリを対象としてサーチする。こ
れにより、次にCPUからリクエストされたアドレス
が、その直前のリクエストアドレス+1から+nまでの
アドレスであれば、プリフェッチバッファはヒットす
る。
リクエストされたアドレスが、上記リクエストアドレス
よりも小さかった場合には、プリフェッチするデータの
アドレスを減少方向に切り替える。これによってアドレ
スが減少方向に変化する場合でもプリフェッチバッファ
をヒットさせることができる。
直前のリクエストアドレスとCPUからのリクエストア
ドレスの差分をとり、アドレス発生部は、リクエストア
ドレス+該差分×k(kは1からnまで)のアドレスを
持つデータを主記憶装置から読みだし、n段(この場
合、nは複数)のバッファに格納する。これによって次
にCPUからリクエストされたアドレスが、その直前の
アドレス+該差分×k(kは1からn)のアドレスを持
つデータであれば、プリフェッチバッファをヒットさせ
ることができる。
プリフェッチバッファにリクエストされるアドレスの履
歴から、次にリクエストされるアドレスを予測するアド
レス予測部を設けることにより、とびとびのリクエスト
アドレスや、減少方向のアドレスに対しても、プリフェ
ッチバッファのヒット率を高め、計算機システムの性能
向上を図ることができる。
詳細に説明する。
システム1の概略構成を表わすブロック図を示す。計算
機システム1は、演算や制御を行なうCPU2、高速小
容量の記憶手段であるキャッシュメモリ(Cache)3、低
速大容量の記憶手段である主記憶装置(Main Memory)
4、入出力装置(I/O)6、システムバス7、およびCP
U2と主記憶装置4とシステムバス7をつなぐメモリ・
インターフェース10からなる。メモリ・インターフェ
ース10は、CPU2とのインターフェースをとるCP
Uインターフェース部20、システムバス7とのインタ
ーフェースをとるシステムバス・インターフェース部(S
ystem Bus i/f)70、主記憶装置4を制御するメモリ・
コントローラ部(Memory Controller)40、および主記
憶装置4が記憶しているデータを先読みして記憶するプ
リフェッチバッファ5(Prefetch Buffer)からなる。
キャッシュメモリ3の中をサーチし、データがキャッシ
ュメモリ3の中にあればそれを使用する。もしなけれ
ば、主記憶装置4をアクセスするとともにプリフェッチ
バッファ5の中をサーチする。プリフェッチバッファ5
に必要なデータがあればそれを読み出して使用し、その
データをキャッシュメモリ3に記憶する。このとき主記
憶装置4へのアクセスはキャンセルする。
なかった場合には、主記憶装置4からそのデータを取っ
てくる。主記憶装置4からデータを取り出した際には、
CPU2はそのデータを使用すると共に、キャッシュメ
モリ3に記憶する。さらに上記データの後続もしくは先
行するデータを主記憶装置4から取り出し、プリフェッ
チバッファ5に記憶しておく。
示す。プリフェッチバッファ5は、本実施例では、4個
のバッファモジュール50−0,50−1,50−2,
50−3、全体制御部51、データ出力マルチプレクサ
52、アドレス出力マルチプレクサ53からなる。ま
た、それぞれのバッファモジュール50−i(i=0,
1,2,3)は、データサーチ部500、アドレス予測
部501、アドレス発生部502、4個のエントリから
なるバッファ503、及びデータ出力部504からな
る。
データ要求がなされると、リクエストアドレスがアドレ
ス入力線55を介してそれぞれのバッファモジュール5
0−i内のデータサーチ部500に供給される。データ
サーチ部500は、バッファ503の中に一致するアド
レスを持つデータがあるかどうかを検索する。検索の結
果、リクエストデータがあれば、そのデータをデータ出
力部504及びデータ出力マルチプレクサ52を介して
CPU2及びキャッシュメモリ3に出力する。
リクエストアドレスを予測するため、上記リクエストア
ドレスを記憶しておく。また、アドレス発生部502
は、バッファ503の内容が、当該リクエストアドレス
に後続もしくは先行する連続したデータ(本実施例では
4つ)が記憶されるように、不足するデータのアドレス
を発生し、アドレス出力マルチプレクサ53を介して主
記憶装置4に送り、上記不足するデータを獲得してバッ
ファ503に格納する。バッファ503に格納するデー
タを、リクエストアドレスに後続するデータとするか先
行するデータとするかは、アドレス予測部501が管理
している。
検索し、リクエストデータがなかった場合には、ミスヒ
ットであったことを全体制御部51に報告する。
ール50−0,50−1,50−2,50−3のヒット
状況を収集し、少なくともひとつのバッファモジュール
50−iについてヒットしていた場合には、ヒットした
バッファモジュール50−iのひとつを選択して、その
出力をデータ出力マルチプレクサ52を介してCPU2
およびキャッシュメモリ3に転送する。このとき、全体
制御部51によって選択されなかったバッファモジュー
ル50−iのバッファ503の内容はそのまま保持され
る。
ヒットした場合には、全体制御部51が次の手順にした
がってバッファモジュール50−iのひとつを選択し、
その内容を更新する。
のそれぞれにおいて、アドレス予測部501が記憶して
いる最新のヒットアドレスと、リクエストアドレスとの
差を求める。
されたしきい値の範囲内に収まるバッファモジュール5
0−iが少なくとも一つあれば、該バッファモジュール
50−iの中から一つを選択し、線τされたバッファモ
ジュール50−iのバッファ503に、リクエストアド
レスに後続もしくは先行する4つの連続したアドレスを
持つデータが記憶されるように、データを主記憶装置4
から読み込む。
スが上記最新ヒットアドレスの近傍のアドレスか否かを
判定するためのものである。すなわち、上記アドレス差
がしきい値の範囲内であれば近傍であると判定し、バッ
ファ503にデータを取り込む処理を行なう。
リクエストアドレスがアドレス予測部501内に記憶さ
れている最新ヒットアドレスよりも大きく、その差が4
未満であれば、リクエストアドレスに後続する連続デー
タを読み込み、最新ヒットアドレスよりも小さく、その
差が4未満であれば、先行する連続データを読み込むよ
う、アドレス発生部502を制御する。
行するデータを読み込むかのモードが切り替わるのは、
プリフェッチバッファがミスヒットし、リクエストアド
レスとアドレス予測部501内に記憶されている最新ヒ
ットアドレスの差が、4未満であった場合のみであり、
それ以外では、上記モードは各バッファモジュール50
−i内のアドレス予測部501毎に保持される。
い値よりも小さいバッファモジュール50−iがまった
くなかった場合には、全体制御部51が、バッファモジ
ュール50−iの中で、最も長い時間アクセスのなかっ
たものを選択し、該バッファモジュール50−iのバッ
ファ503の内容として、リクエストアドレスに後続も
しくは先行する4つの連続したアドレスを持つデータが
記憶されるように、データを主記憶装置4から読み込
む。
なわれた後、データの入れ替えが行なわれたバッファモ
ジュール50−iのアドレス予測部501内に記憶され
ている最新ヒットアドレスは、上記リクエストアドレス
に初期化される。
みの途中において、CPU2よりプリフェッチバッファ
5にリクエストが来た場合にも、CPU2からのリクエ
ストを受け付ける。このため、各バッファモジュール5
0−iのバッファ503の中には、4個のデータが全て
取り込まれていないモジュールも存在する可能性があ
る。その場合、バッファ503は、バッファ503内の
有効なエントリと無効なエントリを識別し、その時点で
の有効なデータに対してサーチを行なうよう制御する。
ら、主記憶装置4へ書き込みがあった場合には、各バッ
ファモジュール50−i内のデータサーチ部500が、
書き込みのあったアドレスのデータをバッファ503が
記憶しているかどうかを調査し、該アドレスを持つバッ
ファ503があった場合には、該バッファ503の内容
を全てリセットする。
す。現時点においてバッファモジュール50−iに記憶
されているプリフェッチデータの最小アドレスと最大ア
ドレスが、それぞれ最小アドレスレジスタ5022、最
大アドレスレジスタ5023に記憶されている。(これ
らのレジスタは、後述するアドレス発生部502の中に
ある。)比較器5001−0は、リクエストアドレスと
最小アドレスレジスタ5022の内容を比較し、リクエ
ストアドレスが、最小アドレス以上の値であったときに
TRUEを出力する。比較器5001−1は、リクエス
トアドレスと最大アドレスジスタ5023の内容を比較
し、リクエストアドレスが、最大アドレス以下の値であ
ったときにTRUEを出力する。そして比較器5001
−0と比較器5001−1の両方の出力がTRUEのと
き、プリフェッチバッファがヒットしたと判定する。
1,5002−2,5002−3が、リクエストアドレ
スの最下位の2ビットと、バッファ503内の4つのア
ドレスエントリ5030−0,5030−1,5030
−2,5030−3に記憶されているアドレスタグの最
下位の2ビットとを比較し、一致した場合にTRUEを
出力する。この出力信号によって、バッファ503内の
4つのアドレス/データの内のどれがヒットしたのかを
最終的に判定する。
す。減算器5011が、リクエストアドレスと、最新ヒ
ット・アドレス・レジスタ(last hit addr)5010に
記憶された最新のヒットアドレスとの差分を求める。該
差分を範囲判定回路(zone)5012が判定し、あらかじ
め指定されたしきい値の範囲内であれば、zone情報
5015をアクティブにする。該zone情報5015
は、全体制御部51において、全てのバッファモジュー
ル50−iがミスヒットであった場合、どのバッファモ
ジュール50−iに新たなプリフェッチデータを取り込
むかを決定するのに使う。なお、上記しきい値は、リク
エストアドレスが上記最新ヒットアドレスの近傍か否か
を判定するためのものであり、本実施例では“8”とす
る。
の絶対値が4未満であり、該差分の符号と、最新ヒット
・アドレス差分レジスタ(last hit diff)5014の符
号が異なり、かつ全バッファモジュール50−iがミス
ヒットであったとき、アドレス増減方向レジスタ501
3の値を書き換える。アドレス増減方向レジスタ501
3の値により、当該バッファモジュール50−iが、ア
ドレスの増加方向に先読みするか、減少方向に先読みす
るかが決定される。
ジュール50−iにおいてヒットした場合、該リクエス
トアドレスを新たな最新ヒットアドレスとして、最新ヒ
ット・アドレス・レジスタ5010に記憶しておく。同
様に、最新ヒット・アドレス差分レジスタ5014の内
容も、今回算出した最新ヒット・アドレス差分に更新し
ておく。また、全てのバッファモジュール50−iがミ
スヒットであって、該バッファモジュール50−iのバ
ッファ503にリクエストアドレスに連続したデータを
ロードする場合には、上記リクエストアドレスを初期値
として最新ヒット・アドレス・レジスタ5010に記憶
し、最新ヒット・アドレス差分レジスタ5014には、
あらかじめ指定された初期値を記憶する。
ッファモジュール50−iのヒット情報はヒット検出部
511に集められる。ヒット検出部511は、ヒットし
たバッファモジュール50−iが少なくともひとつある
場合は、あらかじめ定められたルールに従って、該ヒッ
トしたバッファモジュール50−iの中からひとつを選
択し、該選択されたバッファモジュール50−iへのh
it選択信号をアクティブにする。さらに、LRU管理
部510、出力アドレス選択部512、データ出力マル
チプレクサ52に対して、hit選択信号によりヒット
情報を通知する。また、ヒットしたバッファモジュール
50−iがなかった場合には、信号線miss hitをアクテ
ィブにすることにより、ミスヒット情報を全バッファモ
ジュール50−iに通知する。
ル50−iのヒットした履歴から最も長い間アクセスさ
れていないバッファモジュール50−iを求める。LR
U管理部510により求められるLRUバッファ選択信
号は、各バッファモジュール50−iの中のアドレス予
測部501が生成するzone情報5015がアクティブと
なったバッファモジュール50−iがなかったとき、最
も長い時間アクセスのなかったバッファモジュール50
−iに対して発行される。この時、LRUバッファ選択
信号により指定されたバッファモジュール50−iに、
リクエストアドレスに後続もしくは先行するデータが主
記憶装置4から読み込まれて記憶される。また、zon
e情報5051が少なくとも一つのバッファモジュール
50−iについてアクティブであった場合には、予め定
められたルールに従って、該バッファモジュール50−
iの一つを選択し、該選択されたバッファモジュール5
0−iへのzone選択信号をアクティブにする。
部511とLRU管理部510のどちらかから指定のあ
ったバッファモジュール50−iから出る出力アドレス
を主記憶装置4に出力するように、アドレス出力マルチ
プレクサ53に通知する。ヒット検出部511とLRU
管理部510のどちらからも指定のない場合には、リク
エストアドレスを主記憶装置4に出力する通知を行な
う。
す。最大最小アドレス算出部5020は、リクエストア
ドレスとアドレス増減方向から、次にバッファに記憶す
べきデータのアドレスの最小アドレスと最大アドレスを
求め、それぞれ最小アドレスレジスタ5022、最大ア
ドレスレジスタ5023に記憶する。ロードアドレス発
生部5021は、リクエストアドレス、アドレス増減方
向、hit選択信号、LRUバッファ選択信号、zone選
択信号から、主記憶装置4からロードすべきデータのア
ドレスを求め、出力する。また、バッファ503の中の
不要となったデータを指定するinvalid信号を発行し、
バッファ503に通知する。
時には、リクエストアドレスの後続もしくは先行する4
アドレスを持つデータのうち、バッファ503にないデ
ータを選択し、該データのアドレスを順次発生する。ま
た、LRUバッファ選択信号がアクティブのとき、ある
いはzone選択信号がアクティブでかつ信号線miss hitが
アクティブのとき、リクエストアドレスの後続もしくは
先行する4アドレスを発生する。
つのアドレスエントリ5030−0,5030−1,5
030−2,5030−3は、アドレスタグを記憶す
る。4つのデータエントリ5031−0,5031−
1,5031−2,5031−3は、上記アドレスタグ
に対応するデータを記憶する。書き込み制御回路503
2は、アドレスエントリ5030−i及びデータエント
リ5031−iへの書き込み、及び各エントリの有効、
無効を制御する。
ず、アドレス発生部502から供給されるロードアドレ
スを、無効となっているアドレスエントリ5030−i
に記憶する。次に入力データと共に主記憶装置4から送
られてくるdata valid信号に従って、先に書き込まれた
アドレスエントリ5030−iに対応するデータエント
リ5031−iに、主記憶装置4から読み出されたデー
タを書き込む。
行するinvalid信号に従い、指定されたアドレスエント
リ5030−i及びデータエントリ5031−iの内容
を無効にする。さらに、データサーチ部500が、主記
憶装置4への書き込みアドレスが、アドレスエントリ5
030−iに記憶されていることを検出した場合には、
データサーチ部500がバッファ503に対してreset
信号を発行し、書き込み制御回路5032は全てのアド
レスエントリ5030−i及びデータエントリ5031
−iの内容を無効にする。
がリクエストアドレスの増減を監視しているので、CP
U2から、連続したリクエストアドレスが来る場合、ア
ドレスが増加する方向でも減少する方向でもヒットしう
る効果がある。また、バッファ503は4段のエントリ
を持っており、ここに4つの連続したアドレスのデータ
が記憶されるので、リクエストアドレスがひとつ飛び、
2つ飛び、3つ飛びで連続する場合もヒットしうる効果
がある。
ドレスのデータを記憶していることから、リクエストア
ドレスがバッファ内のアドレスの最大アドレスと最小ア
ドレスの範囲内にあることを判定することによってヒッ
ト判定がなされ、最下位の2ビットのアドレス比較でヒ
ットデータを選択できるので、比較器のハード物量を低
減できる効果がある。
に全てデータが記憶されていなくても動作可能であるた
め、バッファ503の全てのエントリにデータが記憶さ
れるまで、CPU2を待たせることがなく、プリフェッ
チバッファ5の主記憶装置4へのアクセスによる性能低
下を防ぐことができる効果がある。
つあるので、リクエストアドレスの規則性を最大4通り
まで記憶し、ヒットさせうる効果がある。
施例では、第1の実施例と比べ、アドレス予測部50
1、アドレス発生部502、およびデータサーチ部50
0の構成が異なる。
11が、リクエストアドレスと、最新ヒット・アドレス
・レジスタ5010に記憶された最新のヒットアドレス
との差分を求める。該差分を範囲判定回路5012が判
定し、差分の絶対値があらじめ指定されたしきい値の範
囲内であれば、zone情報5015をアクティブにす
る。さらに該差分は、アドレス発生部502に供給され
る。なお、上記しきい値は、リクエストアドレスが上記
最新ヒットアドレスの近傍のアドレスか否かを判定する
ためのものであり、本実施例では、最新ヒット・アドレ
ス差分レジスタ5014の値×8とする。
の絶対値が最新ヒット・アドレス差分レジスタ5014
の値の4倍未満であり、該差分の符号と、最新ヒット・
アドレス差分レジスタ5014の符号が異なり、かつ全
バッファモジュール50−iがミスヒットであったと
き、アドレス増減方向レジスタ5013の値を書き換え
る。アドレス増減方向レジスタ5013の値により、当
該バッファモジュール50−iが、アドレスの増加方向
に先読みするか、減少方向に先読みするかが決定され
る。
ジュール50−iにおいてヒットした場合、該リクエス
トアドレスを新たな最新ヒットアドレスとして、最新ヒ
ット・アドレス・レジスタ5010に記憶しておく。同
様に、最新ヒット・アドレス差分レジスタ5014の内
容も、今回算出した最新ヒット・アドレス差分に更新し
ておく。また、全てのバッファモジュール50−iがミ
スヒットであって、該バッファモジュール50−iのバ
ッファ503にリクエストアドレスに続くデータをロー
ドする場合には、上記リクエストアドレスを初期値とし
て最新ヒット・アドレス・レジスタ5010に記憶し、
最新ヒット・アドレス差分レジスタ5014には、あら
かじめ指定された初期値を記憶する。
す。最大最小アドレス算出部5020は、リクエストア
ドレス、アドレス増減方向、及びアドレス予測部501
から供給される差分から、次にバッファに記憶すべきデ
ータのアドレスの最小アドレスと最大アドレスを求め、
それぞれ最小アドレスレジスタ5022、最大アドレス
レジスタ5023に記憶する。ロードアドレス発生部5
021は、リクエストアドレス、アドレス増減方向、ヒ
ット情報、LRUバッファ選択信号、zone情報、上記差
分から、主記憶装置4からロードすべきデータのアドレ
スを求め、出力する。また、バッファ503の中の不要
となったデータを指定するinvalid信号を発行し、バッ
ファ503に通知する。
は、ヒット時には、リクエストアドレスに対して上記差
分の間隔を置いて後続もしくは先行する4アドレスを持
つデータのうち、バッファ503にないデータを選択
し、該データのアドレスを順次発生する。このとき、上
記最大アドレスと最小アドレスによって規定される範囲
内のアドレスであって、上記順次発生されたアドレスと
異なるアドレスを持つバッファ503内のデータに対し
ては、invalid信号を発行して無効化する。
ブのとき、及びzone情報がアクティブでかつミスヒット
情報がアクティブのとき、リクエストアドレスに対して
上記差分の間隔を置いて後続もしくは先行する4アドレ
スを発生する。
ータサーチ部500では、比較器5003−0,500
3−1,5003−2,5003−3により、現時点に
おいてバッファモジュール50−iに記憶されているプ
リフェッチデータの全アドレスタグとリクエストアドレ
スとを比較し、一致したものがあればヒットしたと判定
する。
がリクエストアドレスの差分を監視しているので、CP
U2から、規則的な飛び飛びのリクエストアドレスが来
る場合、アドレスが増加する方向でも減少する方向でも
フルヒットしうる効果がある。また、バッファ503は
4段のエントリを持っており、ここに4つの規則的な飛
び飛びのアドレスのデータが記憶されるので、リクエス
トアドレスが2×上記差分の間隔、3×上記差分の間
隔、4×上記差分の間隔で移動する場合もヒットしうる
効果がある。さらに、バッファモジュール50−iは4
のあるので、リクエストアドレスの規則性を最大4通り
まで記憶し、ヒットさせうる効果がある。さらに、バッ
ファ503の4つのエントリに全てデータが記憶されて
いなくても動作可能であるため、バッファ503の全て
のエントリにデータが記憶されるまで、CPU2を待た
せることがなく、プリフェッチバッファ5の主記憶装置
4へのアクセスによる性能低下を防ぐことができる効果
がある。
て説明する。本実施例では、第1の実施例に比べ、全体
制御部51が異なる。全体制御部51に、CPU2よ
り、プリフェッチバッファ5へのアクセスが、リードミ
スによるものか、ライトミスによるものかを通知する信
号線を設けたものである。
/W管理レジスタ514は、各バッファモジュール50
−iが、現在リードミス用のデータを記憶しているか、
ライトミス用のデータを記憶しているかを示す。R/W
管理レジスタ514は、LRU管理部510によって書
き換えられ、LRU管理部510およびヒット検出部5
11によって参照される。
報はヒット検出部511に集められる。ヒット検出部5
11は、CPU2から供給されるリードミス/ライトミ
ス属性と一致する属性を持つバッファモジュール50−
iの中で、ヒットしたバッファモジュール50−iが少
なくともひとつある場合は、その中からあらかじめ定め
られたルールに従って、該ヒットしたバッファモジュー
ル50−iの中からひとつを選択し、LRU管理部51
0、出力アドレス選択部512、バッファモジュール5
0−i及び、データ出力マルチプレクサ52にヒット情
報を通知する。また、ヒットしたバッファモジュール5
0−iがなかった場合には、ミスヒット情報を全バッフ
ァモジュール50−iに通知する。
も長い間アクセスされていないバッファモジュール50
−iと、ライトミス用の最も長い間アクセスされていな
いバッファモジュール50−iを同時に管理し、リクエ
ストアドレスに対して同じ属性を持つバッファモジュー
ル50−iが全てミスヒットし、zone信号が立つバッフ
ァモジュール50−iもない場合には、リクエストアド
レスに対して異なる属性を持つバッファモジュール50
−iの中で最も長い間アクセスされていないバッファモ
ジュール50−iを選択し、該バッファモジュール50
−iをリクエストアドレスと同じ属性に変更する。これ
はR/w管理レジスタ514への書き込みによって変更
される。その後、該バッファモジュール50−iに対し
てLRU信号をアクティブにする。その結果、リクエス
トアドレスに後続もしくは先行するアドレスを有するデ
ータが該バッファモジュール50−iに記憶される。
る属性をもつバッファモジュール50−iがなかった場
合には、同じ属性を持つバッファモジュール50−iの
中で、最も長い間アクセスされていないものを選択す
る。
0−iを、リードミス用とライトミス用にダイナミック
に切り替えることができる。このため、リードミスアド
レス、ライトミスアドレスがそれぞれに規則的な動きを
し、リードミスとライトミスを区別しない場合には互い
に干渉しあってアドレス予測が混乱するが、これらを分
離すると、規則性が容易に予測されるようなアプリケー
ションであった場合には、プリフェッチバッファ5のヒ
ット率が向上し、リードミスとライトミスを区別しない
場合に比べて計算機システムの性能を向上させる効果が
ある。
用いて説明する。ここでは、第1の実施例の計算機シス
テム1において、CPU2を4個設け、マルチプロセッ
サ構成にしたものである。本実施例では、バッファモジ
ュール50−iを、CPU2が単一であった場合の4
倍、すなわち16個設ける。
いてもプリフェッチバッファによる性能向上を図れる効
果がある。
て説明する。本実施例では、第4の実施例に比べ、全体
制御部51が異なる。全体制御部51に、CPU2よ
り、プリフェッチバッファ5へのアクセスが、プロセッ
サ番号何番のCPU2−iによって使用されるものかを
通知する信号線を設けたものである。
ロセッサ番号管理レジスタ515は、各バッファモジュ
ール50−iが、現在どのプロセッサのプリフェッチデ
ータを記憶しているかを示す。プロセッサ番号管理レジ
スタ515は、LRU管理部510によって書き換えら
れ、LRU管理部510およびヒット検出部511によ
って参照される。
報はヒット検出部511に集められる。ヒット検出部5
11は、CPU2から供給されるプロセッサ番号と一致
するプロセッサ番号を持つバッファモジュール50−i
の中で、ヒットしたバッファモジュール50−iが少な
くともひとつある場合は、その中からあらかじめ定めら
れたルールに従って、該ヒットしたバッファモジュール
50−iの中からひとつを選択し、LRU管理部51
0、出力アドレス選択部512、バッファモジュール5
0−i及び、データ出力マルチプレクサ52にヒット情
報を通知する。また、ヒットしたバッファモジュール5
0−iがなかった場合には、ミスヒット情報を全バッフ
ァモジュール50−iに通知する。
に、最も長い間アクセスされていないバッファモジュー
ル50−iを管理し、リクエストアドレスに対して同じ
プロセッサ番号を持つバッファモジュール50−iが全
てミスヒットし、zone信号が立つバッファモジュール5
0−iもない場合には、リクエストアドレスに対して異
なるプロセッサ番号を持つバッファモジュール50−i
の中で最も長い間アクセスされていないバッファモジュ
ール50−iを選択し、該バッファモジュール50−i
をリクエストアドレスと同じプロセッサ番号に変更す
る。これはプロセッサ番号管理レジスタ515への書き
込みによって変更される。その後、該バッファモジュー
ル50−iに対してLRU信号をアクティブにする。そ
の結果、リクエストアドレスに後続もしくは先行するア
ドレスを有するデータが該バッファモジュール50−i
に記憶される。
るプロセッサ番号をもつバッファモジュール50−iが
なかった場合には、同じプロセッサ番号を持つバッファ
モジュール50−iの中で、最も長い間アクセスされて
いないものを選択する。
0−iを、プロセッサ番号によって切り替えることがで
きる。このため、アドレスがプロセッサ毎に規則的な動
きをし、プロセッサ番号を区別しない場合には互いに干
渉しあってアドレス予測が混乱するが、これらを分離す
ると、規則性が容易に予測されるようなアプリケーショ
ンであった場合には、プリフェッチバッファ5のヒット
率が向上し、プロセッサ番号を区別しない場合に比べ計
算機システムの性能を向上させる効果がある。
ファ方式に比べ、プリフェッチバッファのヒット率を向
上させることができるので、CPUから主記憶装置への
アクセスによる性能低下を大幅に軽減させることがで
き、計算機システムの性能を向上させることができる。
成図。
図。
部の他の構成図。
図。
成図。
ァの構成図。
構成図。
ァの構成図。
リ、4…主記憶装置、5…プリフェッチバッファ、6…
入出力装置、7…システムバス、50…バッファモジュ
ール、51…全体制御部、52…データ出力マルチプレ
クサ、53…アドレス出力マルチプレクサ、500…デ
ータサーチ部、501…アドレス予測部、502…アド
レス発生部、503…バッファ、504…データ出力
部。
Claims (12)
- 【請求項1】CPUを有する計算機システムにおけるキ
ャッシュメモリと主記憶装置との間に設けられるプリフ
ェッチバッファであって、 プリフェッチしたデータと該データをサーチするための
アドレスタグとを対にして記憶する少なくともひとつの
エントリを有するバッファと、 プリフェッチするデータの主記憶装置内でのアドレスを
発生するアドレス発生部と、 上記バッファに記憶されているデータの中から、上記C
PUよりリクエストされたアドレスを有するデータをサ
ーチするデータサーチ部と、 上記CPUよりリクエストされたアドレスと、過去にプ
リフェッチしたデータの主記憶装置内でのアドレスの履
歴とに基づいて、次にプリフェッチすべきデータの主記
憶装置内でのアドレスを決定するアドレス予測部と、 を備えたことを特徴とするプリフェッチバッファ。 - 【請求項2】上記アドレス予測部は、上記CPUからの
リクエストアドレスと該アドレスの直前に上記CPUよ
りリクエストされたアドレスとの差分を取り、該差分の
値に基づいて次に主記憶装置からプリフェッチするデー
タのアドレスを予測することを特徴とする請求項1記載
のプリフェッチバッファ。 - 【請求項3】上記バッファはn段(nは複数)のエント
リを含み、上記データサーチ部は、上記CPUからのリ
クエストアドレスを有するデータを、上記すべてのエン
トリを対象としてサーチすることを特徴とする請求項1
記載のプリフェッチバッファ。 - 【請求項4】上記アドレス発生部は、プリフェッチすべ
きデータのアドレスとして、上記CPUよりリクエスト
されたデータのアドレスに連続するn個のアドレスを発
生することを特徴とする請求項3記載のプリフェッチバ
ッファ。 - 【請求項5】上記アドレス予測部は、上記バッファに、
CPUからのリクエストアドレスに対して後続するアド
レスのデータを記憶するか先行するアドレスのデータを
記憶するかを決定するフラグを記憶するアドレス増減方
向レジスタと、プリフェッチバッファにヒットした最新
のアドレスを記憶する最新ヒットアドレスレジスタとを
有し、プリフェッチバッファがミスヒットした場合、当
該リクエストアドレスが最新ヒットアドレスよりも大き
くかつその差の絶対値が予め指定された値p未満であれ
ば当該リクエストアドレスに後続するn個の連続データ
を上記バッファに格納し、当該リクエストアドレスが上
記最新ヒットアドレスよりも小さくかつその差の絶対値
が上記値p未満であれば当該リクエストアドレスに先行
するn個の連続データを上記バッファに格納するよう、
上記アドレス発生部を制御することを特徴とする請求項
4記載のプリフェッチバッファ。 - 【請求項6】上記予め指定された値pは、1からnのい
ずれかであることを特徴とする請求項5記載のプリフェ
ッチバッファ。 - 【請求項7】上記アドレス予測部は、上記リクエストア
ドレスに対してプリフェッチバッファがヒットした場
合、当該リクエストアドレスで上記最新ヒットアドレス
レジスタの内容を更新すると共に、上記アドレス増減方
向レジスタの内容に従う方向の、当該リクエストアドレ
スに続くn個の連続データを上記バッファに格納するよ
う上記アドレス発生部を制御することを特徴とする請求
項5記載のプリフェッチバッファ。 - 【請求項8】上記アドレス予測部は、上記CPUからの
リクエストアドレスと該アドレスの直前に上記CPUよ
りリクエストされたアドレスとの差分を取り、該差分値
をk(kは1からnまで)倍した値を当該リクエストア
ドレスに加算して得られるアドレスを、上記主記憶装置
からプリフェッチするデータのアドレスとすることを特
徴とする請求項3記載のプリフェッチバッファ。 - 【請求項9】上記バッファは、有効なデータが記憶され
ているエントリと無効なデータが記憶されているエント
リとを識別するフラグを有し、上記データサーチ部は、
該フラグを参照して、有効なデータが記憶されているエ
ントリを対象として上記リクエストアドレスをサーチす
ることを特徴とする請求項3記載のプリフェッチバッフ
ァ。 - 【請求項10】CPUを有する計算機システムにおける
キャッシュメモリと主記憶装置との間に設けられるプリ
フェッチバッファであって、 プリフェッチしたデータと該データをサーチするための
アドレスタグとを対にして記憶する少なくともひとつの
エントリからなるバッファと、 プリフェッチするデータの主記憶装置内でのアドレスを
発生するアドレス発生部と、 上記バッファに記憶されているデータの中から、上記C
PUよりリクエストされたアドレスを有するデータをサ
ーチするデータサーチ部と、 上記CPUよりリクエストされたアドレスに基づいて、
次にプリフェッチすべきデータの主記憶装置内でのアド
レスを決定するアドレス予測部とを備え、 上記データサーチ部と、上記アドレス予測部と、上記ア
ドレス発生部と、上記バッファとを一つのバッファと
し、m個のバッファモジュールを設け、さらに、該m個
のバッファモジュールを制御する全体制御部を設け、該
全体制御部は、上記m個のバッファモジュールをリード
ミス用とライトミス用に分けて管理することを特徴とす
るプリフェッチバッファ。 - 【請求項11】複数個のCPUを有するマルチプロセッ
サ計算機システムにおけるキャッシュメモリと主記憶装
置との間に設けられるプリフェッチバッファであって、 プリフェッチしたデータと該データをサーチするための
アドレスタグとを対にして記憶する少なくとも一つのエ
ントリを有するバッファと、 該バッファに記憶されているデータの中から、CPUよ
りリクエストさたアドレスを持つデータをサーチするデ
ータサーチ部と、 プリフェッチするデータの主記憶装置以内でのアドレス
を発生するアドレス発生部と、 上記CPUよりリクエストされたアドレスと、過去にプ
リフェッチしたデータの主記憶装置内でのアドレスの履
歴とに基づいて、次にプリフェッチすべきデータの主記
憶装置内でのアドレスを決定するアドレス予測部とを備
え、 上記バッファと、上記データサーチ部と、上記アドレス
発生部と、上記アドレス予測部とを一つのバッファモジ
ュールとし、m個のバッファモジュールを設けると共
に、該m個のバッファモジュールを制御する全体制御部
を設け、該全体制御部は、上記m個のバッファモジュー
ルを、それぞれ上記複数のCPUのいずれかに割当てて
管理することを特徴とするプリフェッチバッファ。 - 【請求項12】CPUを有する計算機システムにおける
キャッシュメモリと主記憶装置との間に設けられるプリ
フェッチバッファであって、 プリフェッチしたデータと該データをサーチするための
アドレスタグとを対にして記憶する少なくともひとつの
エントリを有するバッファと、 プリフェッチするデータの主記憶装置内でのアドレスを
発生するアドレス発生部と、 上記バッファに記憶されているデータの中から、上記C
PUよりリクエストされたアドレスを有するデータをサ
ーチするデータサーチ部と、 上記CPUからのリクエストアドレスが増加方向に変化
するか、減少方向に変化するかに応じて、上記バッファ
にプリフェッチすべきデータの主記憶装置内でのアドレ
スを増加させまたは減少させるアドレス予測部と、 を備えたことを特徴とするプリフェッチバッファ。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3190240A JP2881049B2 (ja) | 1991-07-30 | 1991-07-30 | プリフェッチバッファ |
KR1019920013630A KR930002945A (ko) | 1991-07-30 | 1992-07-30 | 프리페치버퍼 및 프리페치버퍼를 적용한 정보처리장치 |
DE4225228A DE4225228C2 (de) | 1991-07-30 | 1992-07-30 | Vorabrufpuffer und einen derartigen Vorabrufpuffer verwendendes Informationsverarbeitungssystem |
US07/921,742 US5345560A (en) | 1991-07-30 | 1992-07-30 | Prefetch buffer and information processing system using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3190240A JP2881049B2 (ja) | 1991-07-30 | 1991-07-30 | プリフェッチバッファ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0628180A JPH0628180A (ja) | 1994-02-04 |
JP2881049B2 true JP2881049B2 (ja) | 1999-04-12 |
Family
ID=16254838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3190240A Expired - Fee Related JP2881049B2 (ja) | 1991-07-30 | 1991-07-30 | プリフェッチバッファ |
Country Status (4)
Country | Link |
---|---|
US (1) | US5345560A (ja) |
JP (1) | JP2881049B2 (ja) |
KR (1) | KR930002945A (ja) |
DE (1) | DE4225228C2 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659713A (en) * | 1992-04-24 | 1997-08-19 | Digital Equipment Corporation | Memory stream buffer with variable-size prefetch depending on memory interleaving configuration |
US6453388B1 (en) | 1992-06-17 | 2002-09-17 | Intel Corporation | Computer system having a bus interface unit for prefetching data from system memory |
US5566324A (en) * | 1992-12-24 | 1996-10-15 | Ncr Corporation | Computer apparatus including a main memory prefetch cache and method of operation thereof |
US5588128A (en) * | 1993-04-02 | 1996-12-24 | Vlsi Technology, Inc. | Dynamic direction look ahead read buffer |
TW228580B (en) * | 1993-10-01 | 1994-08-21 | Ibm | Information processing system and method of operation |
KR970010368B1 (ko) * | 1994-01-18 | 1997-06-25 | 삼성전자 주식회사 | 캐시라인 리프레이스장치 및 방법 |
TW233354B (en) * | 1994-03-04 | 1994-11-01 | Motorola Inc | Data processor with memory cache and method of operation |
JP2689920B2 (ja) * | 1994-09-26 | 1997-12-10 | 日本電気株式会社 | 演算処理システムに用いられるプリフェッチバッファ装置 |
JPH0895857A (ja) * | 1994-09-29 | 1996-04-12 | Shikoku Nippon Denki Software Kk | 入出力キャッシュ |
US5761706A (en) * | 1994-11-01 | 1998-06-02 | Cray Research, Inc. | Stream buffers for high-performance computer memory system |
US5664147A (en) * | 1995-08-24 | 1997-09-02 | International Business Machines Corp. | System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated |
US5737565A (en) * | 1995-08-24 | 1998-04-07 | International Business Machines Corporation | System and method for diallocating stream from a stream buffer |
US6055621A (en) * | 1996-02-12 | 2000-04-25 | International Business Machines Corporation | Touch history table |
US5854911A (en) * | 1996-07-01 | 1998-12-29 | Sun Microsystems, Inc. | Data buffer prefetch apparatus and method |
US7272703B2 (en) * | 1997-08-01 | 2007-09-18 | Micron Technology, Inc. | Program controlled embedded-DRAM-DSP architecture and methods |
US6134643A (en) * | 1997-11-26 | 2000-10-17 | Intel Corporation | Method and apparatus for cache line prediction and prefetching using a prefetch controller and buffer and access history |
WO2000031642A1 (de) * | 1998-11-25 | 2000-06-02 | Fujitsu Siemens Computers Gmbh | Cache-speichereinrichtung |
DE69935066D1 (de) * | 1999-05-03 | 2007-03-22 | St Microelectronics Sa | Befehlsvorausholeinheit |
WO2001004760A1 (fr) * | 1999-07-07 | 2001-01-18 | Hitachi, Ltd. | Controleur de memoire |
JP3535800B2 (ja) * | 2000-03-31 | 2004-06-07 | 松下電器産業株式会社 | ディスクメモリ装置、データ先読み方法、及び記録媒体 |
US7039766B1 (en) * | 2000-10-12 | 2006-05-02 | International Business Machines Corporation | Prescheduling sequential data prefetches in a preexisting LRU cache |
JP4341186B2 (ja) | 2001-01-22 | 2009-10-07 | 株式会社日立製作所 | メモリシステム |
JP3969009B2 (ja) | 2001-03-29 | 2007-08-29 | 株式会社日立製作所 | ハードウェアプリフェッチシステム |
US7133972B2 (en) * | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
JP4067887B2 (ja) | 2002-06-28 | 2008-03-26 | 富士通株式会社 | プリフェッチを行う演算処理装置、情報処理装置及びそれらの制御方法 |
US8876221B2 (en) | 2002-08-09 | 2014-11-04 | Colgate-Palmolive Company | Oral care implement |
US8806695B2 (en) | 2002-08-09 | 2014-08-19 | Colgate-Palmolive Company | Oral care implement having flexibly supported cleaning elements extending in opposite directions |
US7841041B2 (en) | 2002-08-09 | 2010-11-30 | Colgate-Palmolive Company | Oral care implement |
US8151397B2 (en) | 2002-08-09 | 2012-04-10 | Colgate-Palmolive Company | Oral care implement having flexibly supported cleaning elements extending in opposite directions |
US7167954B2 (en) * | 2002-09-09 | 2007-01-23 | Broadcom Corporation | System and method for caching |
US7111116B1 (en) * | 2003-09-30 | 2006-09-19 | Western Digital Technologies, Inc. | Reducing micro-controller access time to data stored in a remote memory in a disk drive control system |
JP2006215799A (ja) * | 2005-02-03 | 2006-08-17 | Toshiba Corp | メモリコントローラ |
US7702883B2 (en) * | 2005-05-05 | 2010-04-20 | Intel Corporation | Variable-width memory |
US8281448B2 (en) | 2005-10-24 | 2012-10-09 | Colgate-Palmolive Company | Oral care implement having one or more moving sections |
US8977819B2 (en) | 2010-09-21 | 2015-03-10 | Texas Instruments Incorporated | Prefetch stream filter with FIFO allocation and stream direction prediction |
US10866897B2 (en) * | 2016-09-26 | 2020-12-15 | Samsung Electronics Co., Ltd. | Byte-addressable flash-based memory module with prefetch mode that is adjusted based on feedback from prefetch accuracy that is calculated by comparing first decoded address and second decoded address, where the first decoded address is sent to memory controller, and the second decoded address is sent to prefetch buffer |
US10956315B2 (en) * | 2018-07-24 | 2021-03-23 | Micron Technology, Inc. | Memory devices and methods which may facilitate tensor memory access |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4714994A (en) * | 1985-04-30 | 1987-12-22 | International Business Machines Corp. | Instruction prefetch buffer control |
US4943908A (en) * | 1987-12-02 | 1990-07-24 | International Business Machines Corporation | Multiple branch analyzer for prefetching cache lines |
EP0389175A3 (en) * | 1989-03-15 | 1992-11-19 | Fujitsu Limited | Data prefetch system |
-
1991
- 1991-07-30 JP JP3190240A patent/JP2881049B2/ja not_active Expired - Fee Related
-
1992
- 1992-07-30 DE DE4225228A patent/DE4225228C2/de not_active Expired - Fee Related
- 1992-07-30 KR KR1019920013630A patent/KR930002945A/ko not_active Application Discontinuation
- 1992-07-30 US US07/921,742 patent/US5345560A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5345560A (en) | 1994-09-06 |
KR930002945A (ko) | 1993-02-23 |
JPH0628180A (ja) | 1994-02-04 |
DE4225228A1 (de) | 1993-02-04 |
DE4225228C2 (de) | 1997-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2881049B2 (ja) | プリフェッチバッファ | |
CA1238984A (en) | Cooperative memory hierarchy | |
US5694568A (en) | Prefetch system applicable to complex memory access schemes | |
US6473833B1 (en) | Integrated cache and directory structure for multi-level caches | |
US6957304B2 (en) | Runahead allocation protection (RAP) | |
US5802566A (en) | Method and system for predicting addresses and prefetching data into a cache memory | |
US8458408B2 (en) | Cache directed sequential prefetch | |
US7584327B2 (en) | Method and system for proximity caching in a multiple-core system | |
US5664148A (en) | Cache arrangement including coalescing buffer queue for non-cacheable data | |
JPH0962572A (ja) | ストリーム・フィルタ装置及び方法 | |
US20100217937A1 (en) | Data processing apparatus and method | |
US5701426A (en) | Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio | |
US7194586B2 (en) | Method and apparatus for implementing cache state as history of read/write shared data | |
WO2007096572A1 (en) | Cache management within a data processing apparatus | |
JP4574712B2 (ja) | 演算処理装置、情報処理装置及び制御方法 | |
US20090106498A1 (en) | Coherent dram prefetcher | |
JP2019096309A (ja) | メンテナンス動作の実行 | |
US6418516B1 (en) | Method and system for managing speculative requests in a multi-level memory hierarchy | |
JPH09160827A (ja) | コールド・キャッシュ命令のプリフェッチ | |
US6438656B1 (en) | Method and system for cancelling speculative cache prefetch requests | |
US20050198439A1 (en) | Cache memory prefetcher | |
US6487637B1 (en) | Method and system for clearing dependent speculations from a request queue | |
US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
US20010032297A1 (en) | Cache memory apparatus and data processing system | |
JP3626609B2 (ja) | マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080129 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080129 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090129 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090129 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100129 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110129 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |