JPWO2007099598A1 - プリフェッチ機能を有するプロセッサ - Google Patents
プリフェッチ機能を有するプロセッサ Download PDFInfo
- Publication number
- JPWO2007099598A1 JPWO2007099598A1 JP2008502585A JP2008502585A JPWO2007099598A1 JP WO2007099598 A1 JPWO2007099598 A1 JP WO2007099598A1 JP 2008502585 A JP2008502585 A JP 2008502585A JP 2008502585 A JP2008502585 A JP 2008502585A JP WO2007099598 A1 JPWO2007099598 A1 JP WO2007099598A1
- Authority
- JP
- Japan
- Prior art keywords
- prefetch
- cache
- address
- data
- request
- 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.)
- Granted
Links
Images
Classifications
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/6028—Prefetching based on hints or prefetch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
下位階層のキャッシュミスでムーブインされるデータサイズが、下位階層のキャッシュのラインサイズである場合、上位階層のキャッシュから下位階層のキャッシュに発行されるハードウエアプリフェッチの要求(下位階層のキャッシュへのムーブイン要求)は、下位階層のキャッシュのラインサイズにつき1回でよい。しかし、従来のキャッシュシステムでは上位階層のキャッシュのラインサイズごとに発行してしまい、無駄な下位階層キャッシュアクセスパイプラインを消費することとなる。
上記課題を解決するため、本発明によるプリフェッチ機能を有するプロセッサは、第1の階層のキャッシュメモリ、第2の階層のキャッシュメモリ、及びプリフェッチ制御部を備える。
第2の階層のキャッシュメモリは、当該第1の階層のキャッシュメモリの下位階層で、前記第1のラインサイズとは異なる大きさの第2のラインサイズを持つ。
前記プリフェッチ制御部は、前記第2のラインサイズ毎に1回乃至複数回前記プリフェッチ要求を発行する構成とすることも出来る。
この構成により、実装上の制約によって、プリフェッチ要求がロストする場合にも対処することが出来る。
また前記プリフェッチ制御部は、前記第1のラインサイズ毎に前記プリフェッチ要求を発行するのと、前記第2のラインサイズ毎に前記プリフェッチ要求を発行するのとを、ムーブインしたデータの大きさに基づいて切り換える切換部を更に備える構成とすることも出来る。
本発明によれば、第1の階層のキャッシュメモリではなく、第2の階層のキャッシュメモリのラインサイズである第2のラインサイズ毎にプリフェッチ要求が発行されるので、無駄な発行によって、第2の階層のキャッシュメモリのアクセスパイプラインが消費されるのを抑制することが出来る。
図1は本実施形態におけるコンピュータシステムのプロセッサ及びその周辺構成の概略図である。
プロセッサユニット1は、ALU、レジスタ等を含み、実際の計算やデータ処理を司る部分である。また同図の構成では、分岐予測等もプロセッサユニット1内で行われ、予測結果に基いたリクエストを1次キャッシュ3に行う。プリフェッチ制御装置2は、プリフェッチ処理の制御全般を受け持つ装置で、プロセッサユニット1から1次キャッシュ3へのリクエストアドレスを監視ながら、2次キャッシュ4にプリフェッチを要求する。1次キャッシュ3は、1次キャッシュシステムで、アクセス速度の早いメモリと1次キャッシュ制御装置から構成されている。2次キャッシュ4は、2次キャッシュシステムで、主記憶装置5よりはアクセス速度が早く1次キャッシュ3より容量の大きなメモリと2次キャッシュ制御装置から構成されている。また本実施形態では、プリフェッチされたデータはこの2次キャッシュ4に保持される。主記憶装置5は、DRAM等によって構成されるメモリである。
同図において、プロセッサは、メモリ管理用の構成要素として、フェッチポート(FP)21、ストアポート(SP)22、1次キャッシュアクセスパイプライン23及び1次キャッシュムーブインバッファ(L1$MIB)24を1次キャッシュ3内に備え、プリフェッチキュー25をプリフェッチ制御装置2内に備え、2次キャッシュムーブインポート(L2$MIP)26、2次キャッシュプリフェッチポート(L2$PFP)、2次キャッシュアクセスパイプライン28及び2次キャッシュムーブインバッファ(L2$MIP)29を2次キャッシュ4内に備え、システムコントローラムーブインポート(SCMIP)30を主記憶装置5内に備えている。
プロセッサユニット1で、load命令等をデコードし、メモリの読み出し要求が発行されると、この要求は、フェッチポート(FP)25から1次キャッシュアクセスパイプライン23に入力される。読む出し要求に対して1次キャッシュ2がヒットすればそのままデータをフェッチポート(FP)25から要求を発行したプロセッサユニット1に返して、データをレジスタ31に書きこむ。
1次キャッシュ2でミスして、プリフェッチキュー(PFQ)25にハードウエアプリフェッチとして動作すべきアドレスが登録されていない場合、そのアドレスを一旦プリフェッチキュー(PFQ)27に登録する。このとき特許文献1に示してあるように、64B分先のアドレスを登録する、次に64バイト先のアクセスしに行ったときには1次キャッシュがミスすると同時にプリフェッチキュー(PFQ)25はヒットする。このときプリフェッチキュー(PFQ)25は、更に64Bを足して+128Bのアドレスのプリフェッチのリクエストをプリフェッチポート(L2$PFP)27に出す。
同図のプリフェッチ3、選択回路44、加算器45、選択回路46及び47、及び加算器48を備え、各エントリ41−1〜41−nはそれぞれ、エントリ41に登録されるアドレス値等がセットされるレジスタ49、レジスタ49内のアドレスとリクエストアドレスを比較する比較器50及び比較器50の比較結果と後述するレジスタ49内の有効ビットとのANDを求めるAND回路51を有している。
レジスタ49内の有効ビットは、レジスタ48にセットされているアドレス値が有効かどうかを示すもので、アドレス値がレジスタ48に登録される時セットされ、このエントリ41からアドレス値が読み出された時にリセットされる。待機ビットは、有効ビットがセットされているエントリ41において、1次キャッシュアクセスパイプライン23からのリクエストアドレスがレジスタ48内に登録されているアドレス値にマッチした場合セットされる。プリフェッチアドレスキュー(PFQ)25は、この待機ビットの状態から読み出しを行うエントリ41−1〜41−nを決定する。L2$PFP登録許可フラグは、1次キャッシュアクセスパイプライン23からのリクエストアドレスと、このエントリ41に登録されているアドレスがマッチ(ヒット)したときに次の256Bの連続アドレスを2次キャッシュプリフェッチポート(L2$PFP)27に登録するかどうかの判断に用いられるもので、L2$PFP登録許可フラグに1がセットされていれば2次キャッシュプリフェッチポート(L2$PFP)に登録を行ない、0がセットされていれば2次キャッシュプリフェッチポート(L2$PFP)に登録を行わない。
加算器45によって、レジスタ49にセットされているアドレス値を64Bインクリメントしてレジスタ49に登録すると、その出力アドレスのビット[7:6]は、4回に一回0となり、よって比較器42からは4回に1回1が出力され、これがOR回路43を介してL2$PFP登録許可フラグにセットされる。なおレジスタ49への登録が新規登録の場合、L2$PFP登録許可フラグには1がセットされる。よって、アドレスの新規登録からアドレスが4回更新されるごとに1回L2$PFP登録許可フラグに1がセットされ、2次キャッシュPFP(L2$PFP)27にPFPリクエストアドレスが登録される。
以下の説明では、アドレスA、A+8、A+16、...、A+56に対するload命令がプロセッサユニットでデコードされた場合を例として示す。
1:load命令が、フェッチポート(FP)21を介して1次キャッシュアクセスパイプライン23を獲得。
2:1次キャッシュアクセスパイプライン23において、1次キャッシュに対してアドレスAでアクセス。
3:1次キャッシュアクセスパイプライン23において、2の結果、1次キャッシュミスを検出。
4:1次キャッシュムーブインバッファ(L1$MIB)24にミスアドレスを登録。
4.3:2次キャッシュアクセスパイプライン28において、手順4.2の結果、2次キャッシュミスを検出。
4.5:2次キャッシュムーブインバッファ(L2$MIB)29は、主記憶装置5から2次キャッシュ3へのムーブイン要求を、システムコントローラムーブインポート(SCMIP)30に対して発行。
4.9:アドレスAで1次キャッシュミスしたload命令は、1次キャッシュアクセスパイプライン23を獲得し、1次キャッシュムーブインバッファ(L1$MIB)24に転送されたムーブインデータをバイパスして読み出し、プロセッサユニット1内のレジスタ31にデータを書き込む。
5:プリフェッチキュー(PFQ)25がミスを検出。
6:次の連続アドレス(A+64)をプリフェッチキュー(PFQ)25に新規登録。レジスタ49内のL2$PFP登録許可フラグをセット。
7:同様に、連続アドレス(A+8、A+16、...、A+56)にアクセスするload命令が、1次キャッシュアクセスパイプライン23を獲得。
8:このとき2次キャッシュ3からのムーブインデータが到着していなければ、1次キャッシュMIBヒット、データミスを検出し、1次キャッシュアクセスパイプライン23をアボート。アボートされた要求は、フェッチポート(FP)21に戻る。
9:また2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュ2にデータが書き込まれていなければ、1次キャッシュMIBヒット、データヒットを検出し、1次キャッシュムーブインバッファ(L1$MIB)24のデータをバイパスして読み出し、レジスタ31にデータを書き込む。
10:また2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュにデータが書き込まれていれば、1次キャッシュヒットを検出し、1次キャッシュ2からデータを読み出し、レジスタ31にデータを書き込む。
手順8の状態では、1次キャッシュムーブインバッファ(L1$MIB)24からアドレスは到着しているがデータは到着しておらず、また1次キャッシュ2にはデータは書き込まれていないので、1次キャッシュアクセスパイプライン23をアボートする。
11:手順1と同様に、連続アドレス(A+64)にアクセスするload命令が、1次キャッシュアクセスパイプライン23を獲得。
12:手順11の結果、1次キャッシュミスを検出。
12.2:2次キャッシュヒットを検出し、2次キャッシュから64Bのデータを読み出し、1次キャッシュムーブインバッファ(L1$MIB)24に転送。
12.4:1次キャッシュムーブインバッファ(L1$MIB)24は、1次キャッシュ2に64Bデータを書き込む。
13:プリフェッチキュー(PFQ)25のヒットを検出。レジスタ49内の待機ビットをセット。
14:次の連続アドレス(A+128)をプリフェッチキュー(PFQ)25に登録。レジスタ49内のL2$PFP登録許可フラグをリセット。
15:手順14でリセットされるまでL2$PFP登録許可フラグがセットされていたので、次の256B連続アドレス(A+64+256)を2次キャッシュプリフェッチポート(L2$PFP)27に登録。
15.3:2次キャッシュムーブインバッファ(L2$MIB)29にキャッシュミスアドレスを登録。
16:同様に、連続アドレス(A+64+8、A+64+16、...、A+64+56)にアクセスするload命令が、1次キャッシュアクセスパイプライン23を獲得。
17:2次キャッシュ4からのムーブインデータが到着していなければ、1次キャッシュMIBヒット、データミスを検出し1次キャッシュアクセスパイプライン23をアボート。アボートした要求は、フェッチポート(FP)21に戻る。
18:2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュ2にデータが書き込まれていなければ、1次キャッシュMIBヒット、データヒットを検出し、1次キャッシュムーブインバッファ(L1$MIB)24のデータをバイパスして読み出し、それをレジスタ31に書き込む。
19:2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュ2にデータが書き込まれていれば、1次キャッシュヒットを検出し、1次キャッシュ2からデータを読み出し、それをレジスタ41に書き込む。
20:手順1、11と同様に、連続アドレス(A+128)にアクセスするload命令が、1次キャッシュアクセスパイプライン23を獲得。
21:手順20の結果、1次キャッシュミスを検出。
21.2:手順21.1の結果、2次キャッシュヒットを検出し、2次キャッシュ3から64Bのデータを読み出し、1次キャッシュムーブインバッファ(L1$MIB)24に転送。
22:プリフェッチキュー(PFQ)25のヒットを検出。レジスタ49の待機ビットをセット。
23:次の連続アドレス(A+192)をプリフェッチキュー(PFQ)25に登録。L2$PFP登録許可フラグをリセット。
24:(手順23でリセットされるまでL2$PFP登録許可フラグがセットされていたので、次の256B連続アドレス(A+128+256)は、2次キャッシュプリフェッチポート(L2$PFP)27に登録しない。)
25:同様に、連続アドレス(A+128+8、A+128+16、...、A+128+56)にアクセスするload命令が、1次キャッシュアクセスパイプライン23を獲得。
26:2次キャッシュ3からのムーブインデータが到着していなければ、1次キャッシュムーブインバッファ(L1$MIB)24、データミスを検出し1次キャッシュアクセスパイプライン23をアボート。アボートした要求は、フェッチポート(FP)21に戻る。
27:2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュにデータが書き込まれていなければ、1次キャッシュMIBヒット、データヒットを検出し、1次キャッシュMIBのデータをバイパスして読み出し、レジスタ31にデータを書き込む。
28:2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュ2にデータが書き込まれていれば、1次キャッシュヒットを検出し、1次キャッシュ2からデータを読み出し、レジスタ31にデータを書き込む。
29:手順1、11,20と同様に、連続アドレス(A+192)にアクセスするload命令が、1次キャッシュアクセスパイプラインを獲得。
30:手順29の結果、1次キャッシュミスを検出。
30.2:2次キャッシュヒットを検出し、2次キャッシュから64Bのデータを読み出し、1次キャッシュムーブインバッファ(L1$MIB)24に転送。
31:プリフェッチキュー(PFQ)25のヒットを検出。レジスタ49の待機ビットをセット。
32:次の連続アドレス(A+256)をプリフェッチキュー(PFQ)25に登録。レジスタ49のL2$PFP登録許可フラグをセット。
33:(手順32でセットされるまでL2$PFP登録許可フラグがリセットされていたので、次の256B連続アドレス(A+192+256)は、2次キャッシュプリフェッチポート(L2$PFP)27に登録しない。)
34:同様に、連続アドレス(A+192+8、A+192+16、...、A+192+56)にアクセスするload命令が、1次キャッシュアクセスパイプライン23を獲得。
35:2次キャッシュ3からのムーブインデータが到着していなければ、1次キャッシュムーブインバッファ(L1$MIB)24ヒット、データミスを検出し1次キャッシュアクセスパイプライン23をアボート。アボートされた要求はフェッチポート(FP)21に戻る。
36:2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュ2にデータが書き込まれていなければ、1次キャッシュムーブインバッファ(L1$MIB)24ヒット、データヒットを検出し、1次キャッシュムーブインバッファ(L1$MIB)24からデータをバイパスして読み出し、これをレジスタ31に書き込む。
37:2次キャッシュ3からのムーブインデータが到着していて、1次キャッシュ2にデータが書き込まれていれば、1次キャッシュヒットを検出し、1次キャッシュ2からデータを読み出し、これをレジスタ31に書き込む。
38:同様に、連続アドレス(A+256)にアクセスするload命令が、1次キャッシュアクセスパイプライン23を獲得。
39:手順38の結果1次キャッシュ2ミスを検出。
39.2:2次キャッシュヒットを検出し、2次キャッシュ3から64Bのデータを読み出し、これを1次キャッシュムーブインバッファ(L1$MIB)24に転送。
40:プリフェッチキュー(PFQ)25ヒットを検出。レジスタ49内の待機ビットをセット。
41:次の連続アドレス(A+320)をプリフェッチキュー(PFQ)25に登録。レジスタ49内のL2$PFP登録許可フラグをリセット。
42:手順41でリセットされるまでL2$PFP登録許可フラグがセットされていたので、次の256B連続アドレス(A+256+256)を2次キャッシュプリフェッチポート(L2$PFP)27に登録。
42.3:1次キャッシュムーブインバッファ(L1$MIB)24にミスアドレスを登録。
図6は、図3に示した第1の実施形態のプリフェッチキュー(PFQ)25の動作を示すフローチャートである。
ステップS2において、1次キャッシュ2がミスし(ステップS2、Y)、プリフェッチキュー(PFQ)25はヒットしたとき(ステップS3、N)、及び1次キャッシュ2がヒットし(ステップS2、N)、プリフェッチキュー(PFQ)25はヒットしたとき(ステップS3、N)、処理をステップS6に移し、プリフェッチを行う。
第1の実施形態のプリフェッチキュー(PFQ)25が、下位階層のキャッシュの1ラインの大きさが上位階層のキャッシュの1ラインの大きさのn倍であったとき、n回の連続アクセスに対して1回2次キャッシュプリフェッチポート(L2$PFP)27に対してプリフェッチ要求を登録していたが、第2の実施形態のプリフェッチキュー(PFQ)25は、n回に2回以上プリフェッチ要求を登録する。
次に、プリフェッチキュー(PFQ)25の第3の実施形態について説明する。
第3の実施形態では、上位階層のキャッシュのラインサイズの2倍以上のブロックをプリフェッチするように2次キャッシュプリフェッチポート(L2$PFP)27にプリフェッチ要求を発行する。これによりプリフェッチ要求は、2次キャッシュプリフェッチポート(L2$PFP)27で2倍以上に展開され、複数のプリフェッチ要求が発行される。
次に、プリフェッチキュー(PFQ)25の第4の実施形態について説明する。
図9は、第4の実施形態のプリフェッチキュー(PFQ)25の構成例を示す図である。なお同図も、図3の第1の実施形態のプリフェッチキュー(PFQ)25と対比する形で記載されている。
更には、コピーバックの際に実行される上位層キャッシュのラインサイズのムーブインにも対処することが出来る。
また、上記例では、プリフェッチの連続アクセス方向が、昇順であるケースについて適用した場合を例として示したが、本発明はこれに限定されるものではなく、プリフェッチの連続アクセス方向が、降順であるケースについても、適用することができる。
Claims (11)
- 第1のラインサイズを持つ第1の階層のキャッシュメモリと、
当該第1の階層のキャッシュメモリの下位階層で、前記第1のラインサイズとは異なる大きさの第2のラインサイズを持つ第2の階層のキャッシュメモリと、
前記第2のラインサイズ毎に、前記第1のラインサイズ分のブロックをプリフェッチするように、前記第1の階層のキャッシュメモリから前記第2の階層のキャッシュに対するプリフェッチ要求を発行するプリフェッチ制御部と、
を備えることを特徴とするプリフェッチ機能を有するプロセッサ。 - 前記プリフェッチ制御部は、前記第2のラインサイズ毎に1回前記プリフェッチ要求を発行することを特徴とする請求項1に記載のプリフェッチ機能を有するプロセッサ。
- 前記プリフェッチ制御部は、前記第2のラインサイズ毎に複数回前記プリフェッチ要求を発行することを特徴とする請求項1に記載のプリフェッチ機能を有するプロセッサ。
- 前記プリフェッチ制御部は、前記第1のラインサイズの2倍以上のブロックをプリフェッチするように、前記プリフェッチ要求を発行することを特徴とする請求項1乃至3のいずれか1つに記載のハードウエアプリフェッチ機能を有するプロセッサ。
- 前記プリフェッチ制御部は、前記プリフェッチ要求を行うプリフェッチ先のアドレスを、前記第1の階層のキャッシュメモリでミスしたアドレスから前記第2のラインサイズ分先のアドレスとすることを特徴とする請求項1乃至4のいずれか1つに記載のハードウエアプリフェッチ機能を有するプロセッサ。
- 前記プリフェッチ制御部は、前記第1のラインサイズ毎に前記プリフェッチ要求を発行するのと、前記第2のラインサイズ毎に前記プリフェッチ要求を発行するのとを、ムーブインしたデータの大きさに基づいて切り換える切換部を更に備えることを特徴とする請求項1乃至5のいずれか1つに記載のハードウエアプリフェッチ機能を有するプロセッサ。
- 前記切換部は、コピーバックの要求が発生したときに、前記前記第1のラインサイズ毎に前記プリフェッチ要求を発行するよう前記プリフェッチ制御部を切り換えることを特徴とする請求項6に記載のハードウエアプリフェッチ機能を有するプロセッサ。
- 前記プリフェッチ制御部は、登録アドレス及び当該登録アドレスによって値が決定するL2$PFP登録許可フラグを記憶するレジスタを更に備え、前記L2$PFP登録許可フラグの値に基づいて前記プリフェッチ要求を発行するか否かを決定することを特徴とする請求項1乃至6のいずれか1つに記載のハードウエアプリフェッチ機能を有するプロセッサ。
- 前記L2$PFP登録許可フラグの値は、前記登録アドレスの特定の位置のビットが0か否かによって決定されることを特徴とする請求項8に記載のハードウエアプリフェッチ機能を有するプロセッサ。
- 前記第1の階層のキャッシュメモリは1次キャッシュメモリであり、前記第2の階層のキャッシュメモリは2次キャッシュメモリであることを特徴とする請求項1乃至9のいずれか1つに記載のハードウエアプリフェッチ機能を有するプロセッサ。
- 第1のラインサイズを持つ第1の階層のキャッシュメモリと、当該第1の階層のキャッシュメモリの下位階層で、前記第1のラインサイズとは異なる大きさの第2のラインサイズを持つ第2の階層のキャッシュメモリとを備えたプロセッサにおけるプリフェッチ制御方法であって、
前記第2の階層のキャッシュメモリでのキャッシュミスを検出し、
前記第2のラインサイズ毎に、前記第1のラインサイズ分のブロックをプリフェッチするように、前記第1の階層のキャッシュメモリから前記第2の階層のキャッシュに対するプリフェッチ要求を発行する
ことを特徴とするプリフェッチ制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/303743 WO2007099598A1 (ja) | 2006-02-28 | 2006-02-28 | プリフェッチ機能を有するプロセッサ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010057979A Division JP2010176692A (ja) | 2010-03-15 | 2010-03-15 | 演算処理装置、情報処理装置及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007099598A1 true JPWO2007099598A1 (ja) | 2009-07-16 |
JP4574712B2 JP4574712B2 (ja) | 2010-11-04 |
Family
ID=38458721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008502585A Expired - Fee Related JP4574712B2 (ja) | 2006-02-28 | 2006-02-28 | 演算処理装置、情報処理装置及び制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8074029B2 (ja) |
EP (1) | EP1990731B1 (ja) |
JP (1) | JP4574712B2 (ja) |
WO (1) | WO2007099598A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5293001B2 (ja) * | 2008-08-27 | 2013-09-18 | 日本電気株式会社 | キャッシュメモリ装置及びその制御方法 |
WO2010116403A1 (ja) * | 2009-03-30 | 2010-10-14 | 富士通株式会社 | プリフェッチ要求回路 |
JP5482801B2 (ja) * | 2009-12-25 | 2014-05-07 | 富士通株式会社 | 演算処理装置 |
US8909866B2 (en) * | 2012-11-06 | 2014-12-09 | Advanced Micro Devices, Inc. | Prefetching to a cache based on buffer fullness |
US9588886B2 (en) * | 2013-03-15 | 2017-03-07 | Seagate Technology Llc | Staging sorted data in intermediate storage |
US20140281194A1 (en) | 2013-03-15 | 2014-09-18 | Seagate Technology Llc | Dynamically-sizeable granule storage |
US9569361B2 (en) | 2014-01-10 | 2017-02-14 | Samsung Electronics Co., Ltd. | Pre-fetch chaining |
JP6337570B2 (ja) * | 2014-03-28 | 2018-06-06 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP2016028319A (ja) * | 2014-07-08 | 2016-02-25 | 富士通株式会社 | アクセス制御プログラム、アクセス制御装置及びアクセス制御方法 |
CN104503923B (zh) * | 2014-11-21 | 2017-08-11 | 华中科技大学 | 一种非对称磁盘阵列高速缓存调度方法 |
US9594687B2 (en) * | 2015-04-14 | 2017-03-14 | Google Inc. | Virtualization-aware prefetching |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61169949A (ja) * | 1985-01-22 | 1986-07-31 | Fujitsu Ltd | バツフアメモリ制御方式 |
JPH02301843A (ja) * | 1989-05-17 | 1990-12-13 | Fujitsu Ltd | プリフェッチ制御方法およびプリフェッチ制御装置 |
JPH06149669A (ja) * | 1992-11-04 | 1994-05-31 | Fujitsu Ltd | キャッシュデータ転送方式およびキャッシュデータ転送装置 |
JPH07129464A (ja) * | 1993-11-05 | 1995-05-19 | Hitachi Ltd | 情報処理装置 |
JPH09128293A (ja) * | 1995-10-27 | 1997-05-16 | Hitachi Ltd | 情報処理装置 |
JP2000339157A (ja) * | 1999-05-27 | 2000-12-08 | Fujitsu Ltd | キャッシュメモリ制御装置および計算機システム |
JP2004038345A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | プリフェッチ制御装置、情報処理装置及びプリフェッチ制御方法 |
JP2006040141A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | マルチスレッドプロセッサ |
JP2006048181A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
JP2006048182A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195735B1 (en) * | 1996-12-31 | 2001-02-27 | Texas Instruments Incorporated | Prefetch circuity for prefetching variable size data |
JPH11289580A (ja) * | 1998-04-01 | 1999-10-19 | Sharp Corp | 無線電話装置 |
JP2001060169A (ja) * | 1999-08-24 | 2001-03-06 | Hitachi Ltd | キャッシュコントローラ及びコンピュータシステム |
US6460115B1 (en) * | 1999-11-08 | 2002-10-01 | International Business Machines Corporation | System and method for prefetching data to multiple levels of cache including selectively using a software hint to override a hardware prefetch mechanism |
US7493480B2 (en) * | 2002-07-18 | 2009-02-17 | International Business Machines Corporation | Method and apparatus for prefetching branch history information |
US7162588B2 (en) * | 2002-08-23 | 2007-01-09 | Koninklijke Philips Electronics N.V. | Processor prefetch to match memory bus protocol characteristics |
TW576977B (en) * | 2002-09-11 | 2004-02-21 | Sunplus Technology Co Ltd | Structure and method for planning control commands and data access |
US7032076B2 (en) * | 2002-09-16 | 2006-04-18 | Intel Corporation | Prefetching data in a computer system |
US7228362B2 (en) * | 2004-03-31 | 2007-06-05 | Intel Corporation | Out-of-order servicing of read requests with minimal additional storage |
-
2006
- 2006-02-28 EP EP06714873.4A patent/EP1990731B1/en not_active Expired - Fee Related
- 2006-02-28 WO PCT/JP2006/303743 patent/WO2007099598A1/ja active Application Filing
- 2006-02-28 JP JP2008502585A patent/JP4574712B2/ja not_active Expired - Fee Related
-
2008
- 2008-08-28 US US12/200,369 patent/US8074029B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61169949A (ja) * | 1985-01-22 | 1986-07-31 | Fujitsu Ltd | バツフアメモリ制御方式 |
JPH02301843A (ja) * | 1989-05-17 | 1990-12-13 | Fujitsu Ltd | プリフェッチ制御方法およびプリフェッチ制御装置 |
JPH06149669A (ja) * | 1992-11-04 | 1994-05-31 | Fujitsu Ltd | キャッシュデータ転送方式およびキャッシュデータ転送装置 |
JPH07129464A (ja) * | 1993-11-05 | 1995-05-19 | Hitachi Ltd | 情報処理装置 |
JPH09128293A (ja) * | 1995-10-27 | 1997-05-16 | Hitachi Ltd | 情報処理装置 |
JP2000339157A (ja) * | 1999-05-27 | 2000-12-08 | Fujitsu Ltd | キャッシュメモリ制御装置および計算機システム |
JP2004038345A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | プリフェッチ制御装置、情報処理装置及びプリフェッチ制御方法 |
JP2006040141A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | マルチスレッドプロセッサ |
JP2006048181A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
JP2006048182A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2007099598A1 (ja) | 2007-09-07 |
US8074029B2 (en) | 2011-12-06 |
EP1990731A1 (en) | 2008-11-12 |
JP4574712B2 (ja) | 2010-11-04 |
US20090037663A1 (en) | 2009-02-05 |
EP1990731A4 (en) | 2009-08-26 |
EP1990731B1 (en) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4574712B2 (ja) | 演算処理装置、情報処理装置及び制御方法 | |
US10877901B2 (en) | Method and apparatus for utilizing proxy identifiers for merging of store operations | |
US7284112B2 (en) | Multiple page size address translation incorporating page size prediction | |
KR102448124B1 (ko) | 가상 주소들을 사용하여 액세스된 캐시 | |
US7958317B2 (en) | Cache directed sequential prefetch | |
TWI534621B (zh) | 預取單元、資料預取方法、電腦程式產品以及微處理器 | |
US10083126B2 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
US9131899B2 (en) | Efficient handling of misaligned loads and stores | |
JPH1074166A (ja) | 多重レベル・ダイナミック・セット予測方法および装置 | |
US20170091097A1 (en) | Hazard checking | |
JPH0619793A (ja) | キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル | |
US9690707B2 (en) | Correlation-based instruction prefetching | |
JPH07295886A (ja) | 階層メモリ、階層メモリを有するコンピュータ・システムおよび階層メモリ管理方法 | |
JP2009512943A (ja) | 多階層の変換索引緩衝機構(TLBs)フィールドの更新 | |
JP2010170266A (ja) | 半導体集積回路及びアドレス変換方法 | |
US20140164712A1 (en) | Data processing apparatus and control method thereof | |
US20070186046A1 (en) | Pseudo LRU algorithm for hint-locking during software and hardware address translation cache miss handling modes | |
US6643743B1 (en) | Stream-down prefetching cache | |
US20010032297A1 (en) | Cache memory apparatus and data processing system | |
US7076635B1 (en) | Method and apparatus for reducing instruction TLB accesses | |
JP2010176692A (ja) | 演算処理装置、情報処理装置及び制御方法 | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
JP2017191564A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP2001344152A (ja) | キャッシュメモリ装置 | |
CN111198827A (zh) | 页表预取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090615 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100315 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100722 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100817 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100818 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4574712 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |