JPH02301843A - プリフェッチ制御方法およびプリフェッチ制御装置 - Google Patents
プリフェッチ制御方法およびプリフェッチ制御装置Info
- Publication number
- JPH02301843A JPH02301843A JP1123403A JP12340389A JPH02301843A JP H02301843 A JPH02301843 A JP H02301843A JP 1123403 A JP1123403 A JP 1123403A JP 12340389 A JP12340389 A JP 12340389A JP H02301843 A JPH02301843 A JP H02301843A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- block
- accessed
- prefetch
- 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
- 230000015654 memory Effects 0.000 claims abstract description 47
- 230000006870 function Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[概要]
CPUと主記憶の間に複数のキャッシュを階層的に装備
した計算機システムのプリフェッチ制御方式に関し、 マイクロプログラムを変更することなくキャッシュを効
率良く使用することを目的とし、先にアクセスされるキ
ャッシュの1−ブロックのサイズが次にアクセスされる
キャッシュのサイズより小さく且つ次のキャッシュの1
ブロック中に偶数個入るサイズの場合に、アドレスで指
定とされる偶数番目のブロックに当るキャッリシュのア
クセス時にのみプリフェッチ機能を有効とするように構
成する。
した計算機システムのプリフェッチ制御方式に関し、 マイクロプログラムを変更することなくキャッシュを効
率良く使用することを目的とし、先にアクセスされるキ
ャッシュの1−ブロックのサイズが次にアクセスされる
キャッシュのサイズより小さく且つ次のキャッシュの1
ブロック中に偶数個入るサイズの場合に、アドレスで指
定とされる偶数番目のブロックに当るキャッリシュのア
クセス時にのみプリフェッチ機能を有効とするように構
成する。
[産業上の利用分野]
本発明は、CPUと主記憶の間に複数のキャッシュを階
層的に装備した計算機システムのプリフェッチ制御方式
に間する。
層的に装備した計算機システムのプリフェッチ制御方式
に間する。
CPUと主記憶との間に複数個のキャッシュメモリ(以
下単に「キャッシュ」という)を階層的に装備した計算
機システムにあっては、キャッシュ上にデータが無い場
合にアクセス要求のあったブロックに続く次のブロック
のデータをプリフェッチすることで次回以降のアクセス
要求に効率良く対応できるようにしている。
下単に「キャッシュ」という)を階層的に装備した計算
機システムにあっては、キャッシュ上にデータが無い場
合にアクセス要求のあったブロックに続く次のブロック
のデータをプリフェッチすることで次回以降のアクセス
要求に効率良く対応できるようにしている。
この場合、全てのアクセスに対しプリフェッチ機能を有
効としても、次回以降の全てのアクセスがキャツシュヒ
ツトとはならず、この点を改善したプリフェッチ機能に
より更にキャッシュ利用効率を高めることが望まれる。
効としても、次回以降の全てのアクセスがキャツシュヒ
ツトとはならず、この点を改善したプリフェッチ機能に
より更にキャッシュ利用効率を高めることが望まれる。
[発明が解決しようとする問題点]
従来のプリフェッチ機能を備えた計算機システムにあっ
ては、キャッシュ上にデータが無い場合、アクセス要求
のあったブロックに続く次のアドレスのブロックをプリ
フェッチするコマンドを全てのアクセスで実行している
。
ては、キャッシュ上にデータが無い場合、アクセス要求
のあったブロックに続く次のアドレスのブロックをプリ
フェッチするコマンドを全てのアクセスで実行している
。
例えば第6図に示すように、CPUから主記憶12まで
の間にキャッシュ14−1.14=2を設けれ、アドレ
ス指定されたデータDI、D2がキャッシュ14−1及
び]4−2上に無かったとする。
の間にキャッシュ14−1.14=2を設けれ、アドレ
ス指定されたデータDI、D2がキャッシュ14−1及
び]4−2上に無かったとする。
この場合のアクセスの動きとしては、まず■に示すよう
にキャッシュ14−1をアクセスするとキャッシュ14
−1上にデータが無いため、キャッシュ]4−2に■の
ように要求が出される。
にキャッシュ14−1をアクセスするとキャッシュ14
−1上にデータが無いため、キャッシュ]4−2に■の
ように要求が出される。
キャッシュ:+−4−2上にもデータが無いため■のよ
うに主記憶12に要求が出される。このため■のように
キャッシュi 4−2に主記憶12上のデータDi、D
2が取り込まれ、キャッシュ14−2はデータD1を■
のようにキャッシュ14−1に引き渡す。このときプリ
フェッチ要求が来ているため■のようにキャッシュ14
−2はデータD2もキャッシュ14−1に引き渡す。
うに主記憶12に要求が出される。このため■のように
キャッシュi 4−2に主記憶12上のデータDi、D
2が取り込まれ、キャッシュ14−2はデータD1を■
のようにキャッシュ14−1に引き渡す。このときプリ
フェッチ要求が来ているため■のようにキャッシュ14
−2はデータD2もキャッシュ14−1に引き渡す。
次にデータD2のアクセ要求■が出されたとすると、デ
ータD2はキャッシュ」−4,−]−のブブロック1個
に既に入っているため、キャツシュヒツトとなって直ち
にデータD2が得られ、メモリアクセスのペナルティが
少なくて済む。
ータD2はキャッシュ」−4,−]−のブブロック1個
に既に入っているため、キャツシュヒツトとなって直ち
にデータD2が得られ、メモリアクセスのペナルティが
少なくて済む。
[発明か解決しようとする問題点]
しかしながら、このような従来のプリフェッチ制御方式
にあっては、全てのアクスセについてプリフェッチ機能
を有効としていたため次の問題があった。
にあっては、全てのアクスセについてプリフェッチ機能
を有効としていたため次の問題があった。
第6図において、いまアドレスで指定されたデータD1
〜D4の4つがキャッシュ14−1及び]4−2上に無
かったとする。この場合、既に説明した第6図の■〜■
のように、2番目のデータD2については最初のデータ
D1をアクセスした際のプリフェッチによりキャッシュ
14−1上のブロックA2に存在しているため、データ
D2のアクセス要求■に対して有効に対処できる。
〜D4の4つがキャッシュ14−1及び]4−2上に無
かったとする。この場合、既に説明した第6図の■〜■
のように、2番目のデータD2については最初のデータ
D1をアクセスした際のプリフェッチによりキャッシュ
14−1上のブロックA2に存在しているため、データ
D2のアクセス要求■に対して有効に対処できる。
続いてデータD3のアクセス要求■が来ると、キャッシ
ュ14−1及び14−2上にデータが無いため、■〜[
相]のように主記憶12までデータD3を取りいかなれ
ればならない。勿論、データD3をアクセスした際には
11〜13に示すようにデータD4がプリフェッチされ
るため、次のデータD4のアクセス要求には有効に対処
できる。
ュ14−1及び14−2上にデータが無いため、■〜[
相]のように主記憶12までデータD3を取りいかなれ
ればならない。勿論、データD3をアクセスした際には
11〜13に示すようにデータD4がプリフェッチされ
るため、次のデータD4のアクセス要求には有効に対処
できる。
この結果、キャッシュ14−1のブロック1個置きに主
記憶12までデータを取りにいかなければならず、プリ
フェッチを行なっていてもメモリアクセスのペナルティ
が大きくなる問題がある。
記憶12までデータを取りにいかなければならず、プリ
フェッチを行なっていてもメモリアクセスのペナルティ
が大きくなる問題がある。
このような問題を解決するため、マイクロプログラムで
キャッシュのサイズを意識してアクセスコマンドを使い
分ければキャッシュを効率良くしよ使用できるが、アク
セスアドレスを常にチェックしてコマンドを使い分けな
ければならず、マイクロプログラムのステップ数を増加
させる恐れがあった。
キャッシュのサイズを意識してアクセスコマンドを使い
分ければキャッシュを効率良くしよ使用できるが、アク
セスアドレスを常にチェックしてコマンドを使い分けな
ければならず、マイクロプログラムのステップ数を増加
させる恐れがあった。
本発明は、このような従来の問題点に鑑みてなされたも
ので、マイクロプログラムを変更することなくキャッシ
ュを効率良く使用できるプリフェッチ制御方式を提供す
ることを目的とする。
ので、マイクロプログラムを変更することなくキャッシ
ュを効率良く使用できるプリフェッチ制御方式を提供す
ることを目的とする。
[課題を解決するための手段」
第1図は本発明の原理説明図である。
まず本発明は、CPUl0と主記憶12との間にブロッ
クサイズの異なる2個以」二のキャッシュ14−1.1
4−2を階層的に装備し、アクセスしたキャッシュ上に
データが無い場合にアクセス要求のあったアドレスブロ
ックに続く次のブロックをプリフェッチする機能を備え
た計算機システムを対象とする。
クサイズの異なる2個以」二のキャッシュ14−1.1
4−2を階層的に装備し、アクセスしたキャッシュ上に
データが無い場合にアクセス要求のあったアドレスブロ
ックに続く次のブロックをプリフェッチする機能を備え
た計算機システムを対象とする。
即ち、本発明はCP U 1.0と主記憶1−2との間
にn個のキャッシャを階層的に装備した計算機システム
を対象とする。
にn個のキャッシャを階層的に装備した計算機システム
を対象とする。
このような計算機システムについて本発明のプリフェッ
チ制御方式にあっては、先にアゲセスされるキャッシュ
1−4−1の1ブロックのサイズA1が次アクセスされ
るキャッシュ14−2のサイズB1より小さく且つ次の
キャッシュJ4−2の1ブロックB1中に偶数偏入るサ
イズである場合に、アドレスで指定される偶数番目のブ
ロック(A2.A4)のアクセス時にのみ前記プリフェ
ッチ機能を有効としたものである。
チ制御方式にあっては、先にアゲセスされるキャッシュ
1−4−1の1ブロックのサイズA1が次アクセスされ
るキャッシュ14−2のサイズB1より小さく且つ次の
キャッシュJ4−2の1ブロックB1中に偶数偏入るサ
イズである場合に、アドレスで指定される偶数番目のブ
ロック(A2.A4)のアクセス時にのみ前記プリフェ
ッチ機能を有効としたものである。
このプリフェッチ制御において、先にアクセスされるキ
ャッシュ14−1のアクセス時にプリフェッチ機能を有
効とした際には、次のキャッシュ1、4−2についても
プリフェッチ機能を有効とする。
ャッシュ14−1のアクセス時にプリフェッチ機能を有
効とした際には、次のキャッシュ1、4−2についても
プリフェッチ機能を有効とする。
[作用]
このような構成を備えた本発明のプリフェッチ制御方式
によれば、キャッシュ上に無いデータを最初にアクセス
した際には、主記憶までいってデータを取り出すように
なるが、次のデータ以降については、主記憶まで取りに
行かなくともキャッシュ上に前回データのアクセス時に
プリフェッチされて存在するデータを取出すこととなり
、キャッシュメモリの利用効率を大幅に向上して高速化
を図ることができる。
によれば、キャッシュ上に無いデータを最初にアクセス
した際には、主記憶までいってデータを取り出すように
なるが、次のデータ以降については、主記憶まで取りに
行かなくともキャッシュ上に前回データのアクセス時に
プリフェッチされて存在するデータを取出すこととなり
、キャッシュメモリの利用効率を大幅に向上して高速化
を図ることができる。
またプリフェッチ機能を有効とするのは偶数番目のブロ
ックに当るキャッシュアクセス時であることから、この
キッシュアクセスを判別してプリフェッチを有効とする
バードウェアを装備することで、マイクロプログラムに
キャッシュのブロックサイズを意識させる変更を必要が
ないために通常のマイクロプログラムのまま使用でき、
プログラムステップか増加することもない。
ックに当るキャッシュアクセス時であることから、この
キッシュアクセスを判別してプリフェッチを有効とする
バードウェアを装備することで、マイクロプログラムに
キャッシュのブロックサイズを意識させる変更を必要が
ないために通常のマイクロプログラムのまま使用でき、
プログラムステップか増加することもない。
[実施例]
第2図は本発明のプリフェッチ制御方式が適用される計
算機システムのシステム構成図である。
算機システムのシステム構成図である。
第2図において、10はCPUであり、CPU1−0と
主記憶1−2の間にキャッシュ14−1.14−2・・
・14−nとなるn個のキャッシュを階層的に装備して
いる。ここで、キャッシュ14−1〜i 4.− nは
データを格納するためのブロックサイズが異なっており
、ブロックサイズがCPU ]、 O側のキャッシュ1
4−1が最も小さく、主記憶12側に向かうにつれてブ
ロックサイズが大きくなっている。
主記憶1−2の間にキャッシュ14−1.14−2・・
・14−nとなるn個のキャッシュを階層的に装備して
いる。ここで、キャッシュ14−1〜i 4.− nは
データを格納するためのブロックサイズが異なっており
、ブロックサイズがCPU ]、 O側のキャッシュ1
4−1が最も小さく、主記憶12側に向かうにつれてブ
ロックサイズが大きくなっている。
第3図は第2図に示した本発明が適用される計算機シス
テムにおいて、CPUと主記憶12との間に2個のキャ
ッシュ14−1.14−2を設けた場合を例にとって本
発明の一実施例を示した実施例構成図である。
テムにおいて、CPUと主記憶12との間に2個のキャ
ッシュ14−1.14−2を設けた場合を例にとって本
発明の一実施例を示した実施例構成図である。
第3図において、主記憶12との間には2個のキャッシ
ュ1f−1,14〜2が設けられ、キャッシュ14−1
と14−2のブロックサイズは異なっており、CPU側
に近い先にアクセスされるキャッシュ14−1のブロッ
クサイズか小さく、次のキャッシュ14−2のブロック
サイズが大きい。そして、本発明のプリフェッチ制御方
式を適用するため、キャッシュ14−2の1ブロック中
にキャッシュ14−1−のブロックが偶数偏入るサイズ
であることを条件とする。
ュ1f−1,14〜2が設けられ、キャッシュ14−1
と14−2のブロックサイズは異なっており、CPU側
に近い先にアクセスされるキャッシュ14−1のブロッ
クサイズか小さく、次のキャッシュ14−2のブロック
サイズが大きい。そして、本発明のプリフェッチ制御方
式を適用するため、キャッシュ14−2の1ブロック中
にキャッシュ14−1−のブロックが偶数偏入るサイズ
であることを条件とする。
具体的には第4図に示すように、先にアクセスされるキ
ャッシュi 4−1の1ブロックのサイズを32バイト
とすると、次にアクセスされるキャッシュ14−2の1
ブロックは2倍の64バイトとなる。勿論、キャッシュ
14−2のブロックサイズはキャッシュ14−1のブロ
ックサイズの偶数倍であれば適宜のバイト数とすること
ができる。
ャッシュi 4−1の1ブロックのサイズを32バイト
とすると、次にアクセスされるキャッシュ14−2の1
ブロックは2倍の64バイトとなる。勿論、キャッシュ
14−2のブロックサイズはキャッシュ14−1のブロ
ックサイズの偶数倍であれば適宜のバイト数とすること
ができる。
再び第3図を参照するに、キャッシュ14−1に対して
はキャッシュ制御回路16−1が設けられ、また、キャ
ッシュ14−2に対してはキャッシュ制御回路16−2
が設けられ、更に主記憶12に対しては制御回路18が
設けられる。
はキャッシュ制御回路16−1が設けられ、また、キャ
ッシュ14−2に対してはキャッシュ制御回路16−2
が設けられ、更に主記憶12に対しては制御回路18が
設けられる。
20はメモリ制御回路であり、マイクロコマンド実行制
御回路22で解読されたCPUからのアクセスコマンド
、即ちマイクロプログラムの解読による実行制御情報を
受けてキャッシュ制御を行なう。このメモリ制御回路2
0内にはプリフェッチ判定回路24が設けられ、マイク
ロコマンド実行制御回路22からのアクセス要求に対し
キャッシュ14−1上にデータがない場合にキャッシュ
14−2にアクセス要求を出すと同時にプリフェッチ判
定回路24でアドレスをチェックして次のデータブロッ
クのプリフェッチを行なうか否か判定するようにしてい
る。このプリフェッチ判定回路24は第4図に示したよ
うに、先にアクセスされるキャッシュ14−1−の1ブ
ロックのサイズが次にアクセスされるキャッシュ14−
2のサイズより小さく、次のキャッシュ1−4−2の1
ブロック中に偶数個入るサイズの場合に、アドレスで指
定される偶数番目のブロックに当たるキャッシュ14−
1のアクセス時のみアクセス要求のあったアドレスのブ
ロックと、このアドレスに続く次のブロックをプリフェ
ッチするプリフェッチ機能を有効とするものである。
御回路22で解読されたCPUからのアクセスコマンド
、即ちマイクロプログラムの解読による実行制御情報を
受けてキャッシュ制御を行なう。このメモリ制御回路2
0内にはプリフェッチ判定回路24が設けられ、マイク
ロコマンド実行制御回路22からのアクセス要求に対し
キャッシュ14−1上にデータがない場合にキャッシュ
14−2にアクセス要求を出すと同時にプリフェッチ判
定回路24でアドレスをチェックして次のデータブロッ
クのプリフェッチを行なうか否か判定するようにしてい
る。このプリフェッチ判定回路24は第4図に示したよ
うに、先にアクセスされるキャッシュ14−1−の1ブ
ロックのサイズが次にアクセスされるキャッシュ14−
2のサイズより小さく、次のキャッシュ1−4−2の1
ブロック中に偶数個入るサイズの場合に、アドレスで指
定される偶数番目のブロックに当たるキャッシュ14−
1のアクセス時のみアクセス要求のあったアドレスのブ
ロックと、このアドレスに続く次のブロックをプリフェ
ッチするプリフェッチ機能を有効とするものである。
次に、第3図の実施例による本発明のプリフェッチ制御
方式の動作を、第5図の動作説明図を参照して説明する
。
方式の動作を、第5図の動作説明図を参照して説明する
。
第5図において、CPUによりアドレス指定されたデー
タD1〜D4の4つのデータがキャッシュ]4−1及び
i−4−2上に無かったものとする。
タD1〜D4の4つのデータがキャッシュ]4−1及び
i−4−2上に無かったものとする。
この場合のアクセスの動きとしては、まずキャラシュ1
4−1をアクセスするためのフェッチ要求■を行なうと
、キャッシュ14−1」−にはデータD1が無いため、
キャッシュ14−2にフェッチ要求■によるアクセスが
くる。
4−1をアクセスするためのフェッチ要求■を行なうと
、キャッシュ14−1」−にはデータD1が無いため、
キャッシュ14−2にフェッチ要求■によるアクセスが
くる。
ここでメモリ制御回路20に設けたプリフェッチ判定回
路24はキャッシュ14−1をアクセスしたアドレスを
チェックするが、この場合のアクセスアドレスは偶数番
目ではないためプリフェッチ要求は出さない。
路24はキャッシュ14−1をアクセスしたアドレスを
チェックするが、この場合のアクセスアドレスは偶数番
目ではないためプリフェッチ要求は出さない。
キャッシュ14−2はフェッチ要求■を受けてもデータ
が無いため、主記憶12に対しフェッチ要求■によるア
クセスを行なう。フェッチ要求■を受けた主記憶12は
、主記憶12上のキャッシュ14−2の1ブロックに相
当するデータD1゜D2を■に示すようにキャッシュ1
4−2のブロックB1に引き渡し、更にキャッシュ14
−2よりデータDJ−を■に示すようにキャッシュ14
−1に引き渡す。
が無いため、主記憶12に対しフェッチ要求■によるア
クセスを行なう。フェッチ要求■を受けた主記憶12は
、主記憶12上のキャッシュ14−2の1ブロックに相
当するデータD1゜D2を■に示すようにキャッシュ1
4−2のブロックB1に引き渡し、更にキャッシュ14
−2よりデータDJ−を■に示すようにキャッシュ14
−1に引き渡す。
次にキャッシュ14−1−に対しデータD2をアクセス
するためのフェッチ要求■がくる。データD2もキャッ
シュ14−1−上に無いためフェッチ要求■によりキャ
ッシュ14−2をアクセスする。
するためのフェッチ要求■がくる。データD2もキャッ
シュ14−1−上に無いためフェッチ要求■によりキャ
ッシュ14−2をアクセスする。
このとき、キャッシュ14−1をアクセスしたアドレス
をチェックするとアクセスアドレスが2番目であること
から偶数番目となり、アクセスアドレスに続(ブロック
のプリフェッチ要求が出される。
をチェックするとアクセスアドレスが2番目であること
から偶数番目となり、アクセスアドレスに続(ブロック
のプリフェッチ要求が出される。
フェッチ要求■に対しデータD2はキャッシュ14−2
のブロックB1に存在するため、キャッシュ」4−2の
キャツシュヒツトが得られてデータD2については主記
憶12まで取りに行(ことなくメモリアクセスのペナル
ティが少ない状態で取り出せる。
のブロックB1に存在するため、キャッシュ」4−2の
キャツシュヒツトが得られてデータD2については主記
憶12まで取りに行(ことなくメモリアクセスのペナル
ティが少ない状態で取り出せる。
このとき、アクセスアドレスに続くブロックにプリフェ
ッチ要求が出されているため、キャッシュi 4−2に
対しプリフェッチ要求■を行なうが、キャッシュ14−
2上にはプリフェッチすべきデータ、即ちデータD3が
無いために主記憶12に対しプリフェッチ[相]が出さ
れる。
ッチ要求が出されているため、キャッシュi 4−2に
対しプリフェッチ要求■を行なうが、キャッシュ14−
2上にはプリフェッチすべきデータ、即ちデータD3が
無いために主記憶12に対しプリフェッチ[相]が出さ
れる。
プリフェッチ要求[相]を受けた主記憶12はキヤッシ
j14−2の1ブロックに相当するデータI〕3.D4
をキャッシュ14−2にOのように引き渡し、更にキャ
ッシュ14−2よりデータD3か0のようにキャッシュ
14−1のブロックA3に対し引き渡される。
j14−2の1ブロックに相当するデータI〕3.D4
をキャッシュ14−2にOのように引き渡し、更にキャ
ッシュ14−2よりデータD3か0のようにキャッシュ
14−1のブロックA3に対し引き渡される。
次にキャッシュ] 4−1に対しデータD3のフェッチ
要求0が行なわれると、データ1) 3は前回のデータ
D2のアクセスの際のプリフェッチによりブロックA3
に既に格納されているため、キャッシュJ4−1のキャ
ツシュヒツトによりメモリのアクセスペナルティを生ず
ることなく、直ちに取り出すことができる。
要求0が行なわれると、データ1) 3は前回のデータ
D2のアクセスの際のプリフェッチによりブロックA3
に既に格納されているため、キャッシュJ4−1のキャ
ツシュヒツトによりメモリのアクセスペナルティを生ず
ることなく、直ちに取り出すことができる。
更に最後のデータD4のアクセスがキャッシュ14−1
に対し行なわれると、キャッシュ1−4−1にはデータ
1) 2は存在しないが、次のキャッシュJ−4−2の
ブロックB2にデータD4が既にプリフェッチされて存
在することから、キャッシュ14−2でキャツシュヒツ
トが得られ、この場合、主記憶]−2までデータD4を
取りに行く必要がないことから、その分だけメモリアク
セスのペナルティを低減することができる。勿論、デー
タD4のアクセスは偶数番目となることから、要求アド
レスに続くブロックのプリフェッチ要求が出され、デー
タD2のアクセス時と同様、主記憶1−2からキャッシ
ュ14−2に対するプリフェッチ、及びキャッシュ14
−2からキャッシュ14−1に対するプリフェッチがそ
れぞれ行なわれる。
に対し行なわれると、キャッシュ1−4−1にはデータ
1) 2は存在しないが、次のキャッシュJ−4−2の
ブロックB2にデータD4が既にプリフェッチされて存
在することから、キャッシュ14−2でキャツシュヒツ
トが得られ、この場合、主記憶]−2までデータD4を
取りに行く必要がないことから、その分だけメモリアク
セスのペナルティを低減することができる。勿論、デー
タD4のアクセスは偶数番目となることから、要求アド
レスに続くブロックのプリフェッチ要求が出され、デー
タD2のアクセス時と同様、主記憶1−2からキャッシ
ュ14−2に対するプリフェッチ、及びキャッシュ14
−2からキャッシュ14−1に対するプリフェッチがそ
れぞれ行なわれる。
このように本発明にあっては、キャッシュ上にデータが
無くても、先のキャッシュをアクセスしたアドレスをチ
ェックし、偶数番目のアクセスについてのみプリフェッ
チ要求を有効とすることで、2番目以降のアクセスにつ
いては主記憶12までの間に階層的に設けている複数の
キャッシュのいずれかでキャツシュヒツトとなってデー
タを取り出すことができ、主記憶までデータを取りに行
く処理は最初の処理のみで済むことから、キャッシュの
利用効率を大幅に向上して処理速度を高めることができ
る。
無くても、先のキャッシュをアクセスしたアドレスをチ
ェックし、偶数番目のアクセスについてのみプリフェッ
チ要求を有効とすることで、2番目以降のアクセスにつ
いては主記憶12までの間に階層的に設けている複数の
キャッシュのいずれかでキャツシュヒツトとなってデー
タを取り出すことができ、主記憶までデータを取りに行
く処理は最初の処理のみで済むことから、キャッシュの
利用効率を大幅に向上して処理速度を高めることができ
る。
なお、上記の実施例にあってはCPUと主記憶12の間
にサイズの異なるキャッシュを2台設はた場合を例にと
るものであったが、キャッシュの台数は2以上の任意の
整数についてそのまま適用することができる。
にサイズの異なるキャッシュを2台設はた場合を例にと
るものであったが、キャッシュの台数は2以上の任意の
整数についてそのまま適用することができる。
[発明の効果]
以上説明してきたように本発明によれば、アドレスで指
定される偶数番目のブロックに当るキャッシュのアクセ
ス時のみプリフェッチ機能を有効とすることで、階層的
に設けられたキャッシュ上にデータが無い場合に主記憶
までデータを取りに行く処理が最初の1回のみで済み、
それ以降のデータ取り出しについては全てキャッシュ上
で処理できるため、メモリアクセスのペナルティを最少
限に抑え、キャッシュ利用効率を高めて処理速度を向上
させることができる。
定される偶数番目のブロックに当るキャッシュのアクセ
ス時のみプリフェッチ機能を有効とすることで、階層的
に設けられたキャッシュ上にデータが無い場合に主記憶
までデータを取りに行く処理が最初の1回のみで済み、
それ以降のデータ取り出しについては全てキャッシュ上
で処理できるため、メモリアクセスのペナルティを最少
限に抑え、キャッシュ利用効率を高めて処理速度を向上
させることができる。
また、プリフェッチ機能を有効とするアドレス指定され
た偶数番目のブロック判別についてハードウェアを使用
することで、従来のマイクロプログラムの処理を変更す
ることなく、キャッシュの有効利用を図ることができ、
プログラムステップが増加することもない。
た偶数番目のブロック判別についてハードウェアを使用
することで、従来のマイクロプログラムの処理を変更す
ることなく、キャッシュの有効利用を図ることができ、
プログラムステップが増加することもない。
第1図は本発明の原理説明図;
第2図は本発明が適用される計算機システム構成図;
第3図は本発明の実施例構成図;
第4図は本発明のキャッシュブロックサイズ説明図;
第5図は本発明のプリフェッチ制御の動作説明図;第6
図は従来方式の説明図である。 図中、 1.0:CPU 12 主記憶 14−1.14−2・・・14−n:キャッシュ16−
1.16−2:キャッシュ制御回路18:制御回路 20:メモリ制御回路 22・マイクロコマンド実行制御回路 24ニブリフ工ツチ判定回路
図は従来方式の説明図である。 図中、 1.0:CPU 12 主記憶 14−1.14−2・・・14−n:キャッシュ16−
1.16−2:キャッシュ制御回路18:制御回路 20:メモリ制御回路 22・マイクロコマンド実行制御回路 24ニブリフ工ツチ判定回路
Claims (2)
- (1)CPU(10)と主記憶(12)との間にブロッ
クサイズの異なる2個以上のキャッシュ(14−1、1
4−2)を階層的に装備し、アクセスしたキャッシュ上
にデータが無い場合にアクセス要求のあったアドレスブ
ロックと該アドレスに続く次のブロックをプリフェッチ
する機能を備えた計算機システムに於いて、 先にアクセスされるキャッシュ(14−1)の1ブロッ
クのサイズ(A1)が次にアクセスされるキャッシュヤ
((14−2)のサイズ(B1)より小さく且つ次のキ
ャッシュ(14−2)の1ブロック中に偶数個入るサイ
ズである場合に、アドレスで指定される偶数番目のブロ
ックに当るキャッシュ(14−1)のアクセス時にのみ
前記プリフェッチ機能を有効としたことを特徴とするプ
リフェッチ制御方式。 - (2)請求項1記載のプリフェッチ制御方式に於いて、 先にアクセスされるキャッシュ(14−1)のアクセス
時にプリフェッチ機能を有効とした際には、該キャッシ
ュ(14−1)上にデータがない場合にアクセスされる
次のキャッシュメモリ(14−2)についても前記プリ
フェッチ機能を有効とすることを特徴とするプリフェッ
チ方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1123403A JP2786886B2 (ja) | 1989-05-17 | 1989-05-17 | プリフェッチ制御方法およびプリフェッチ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1123403A JP2786886B2 (ja) | 1989-05-17 | 1989-05-17 | プリフェッチ制御方法およびプリフェッチ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02301843A true JPH02301843A (ja) | 1990-12-13 |
JP2786886B2 JP2786886B2 (ja) | 1998-08-13 |
Family
ID=14859693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1123403A Expired - Fee Related JP2786886B2 (ja) | 1989-05-17 | 1989-05-17 | プリフェッチ制御方法およびプリフェッチ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2786886B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5704056A (en) * | 1992-11-04 | 1997-12-30 | Fujitsu Limited | Cache-data transfer system |
WO2007099598A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | プリフェッチ機能を有するプロセッサ |
JP2010512580A (ja) * | 2006-12-08 | 2010-04-22 | クゥアルコム・インコーポレイテッド | 低複雑性命令プリフェッチシステム |
JP2010176692A (ja) * | 2010-03-15 | 2010-08-12 | Fujitsu Ltd | 演算処理装置、情報処理装置及び制御方法 |
-
1989
- 1989-05-17 JP JP1123403A patent/JP2786886B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5704056A (en) * | 1992-11-04 | 1997-12-30 | Fujitsu Limited | Cache-data transfer system |
WO2007099598A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | プリフェッチ機能を有するプロセッサ |
JPWO2007099598A1 (ja) * | 2006-02-28 | 2009-07-16 | 富士通株式会社 | プリフェッチ機能を有するプロセッサ |
JP4574712B2 (ja) * | 2006-02-28 | 2010-11-04 | 富士通株式会社 | 演算処理装置、情報処理装置及び制御方法 |
US8074029B2 (en) | 2006-02-28 | 2011-12-06 | Fujitsu Limited | Processor equipped with a pre-fetch function and pre-fetch control method |
JP2010512580A (ja) * | 2006-12-08 | 2010-04-22 | クゥアルコム・インコーポレイテッド | 低複雑性命令プリフェッチシステム |
JP2010176692A (ja) * | 2010-03-15 | 2010-08-12 | Fujitsu Ltd | 演算処理装置、情報処理装置及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2786886B2 (ja) | 1998-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
US5586295A (en) | Combination prefetch buffer and instruction cache | |
CA1238984A (en) | Cooperative memory hierarchy | |
US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
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 | |
US6912628B2 (en) | N-way set-associative external cache with standard DDR memory devices | |
US5410653A (en) | Asynchronous read-ahead disk caching using multiple disk I/O processes and dynamically variable prefetch length | |
US5694568A (en) | Prefetch system applicable to complex memory access schemes | |
US20090132749A1 (en) | Cache memory system | |
JP3425158B2 (ja) | マルチバッファデータキャッシュを具えているコンピュータシステム | |
US6782453B2 (en) | Storing data in memory | |
US20030221069A1 (en) | Method and apparatus providing non level one information caching using prefetch to increase a hit ratio | |
JPS63150731A (ja) | コンピュータシステムおよびその実行方法 | |
JPH06318177A (ja) | キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム | |
US6832294B2 (en) | Interleaved n-way set-associative external cache | |
US7047362B2 (en) | Cache system and method for controlling the cache system comprising direct-mapped cache and fully-associative buffer | |
US6715035B1 (en) | Cache for processing data in a memory controller and a method of use thereof to reduce first transfer latency | |
US5367657A (en) | Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems | |
US7346741B1 (en) | Memory latency of processors with configurable stride based pre-fetching technique | |
US20020042861A1 (en) | Apparatus and method for implementing a variable block size cache | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
JPH02301843A (ja) | プリフェッチ制御方法およびプリフェッチ制御装置 | |
JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
JP2552704B2 (ja) | データ処理装置 | |
JP2000047942A (ja) | キャッシュメモリ制御装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |