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
Application number
JP1123403A
Other languages
English (en)
Other versions
JP2786886B2 (ja
Inventor
Kuniki Morita
國樹 森田
Kazuhiro Hara
一広 原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1123403A priority Critical patent/JP2786886B2/ja
Publication of JPH02301843A publication Critical patent/JPH02301843A/ja
Application granted granted Critical
Publication of JP2786886B2 publication Critical patent/JP2786886B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概要] CPUと主記憶の間に複数のキャッシュを階層的に装備
した計算機システムのプリフェッチ制御方式に関し、 マイクロプログラムを変更することなくキャッシュを効
率良く使用することを目的とし、先にアクセスされるキ
ャッシュの1−ブロックのサイズが次にアクセスされる
キャッシュのサイズより小さく且つ次のキャッシュの1
ブロック中に偶数個入るサイズの場合に、アドレスで指
定とされる偶数番目のブロックに当るキャッリシュのア
クセス時にのみプリフェッチ機能を有効とするように構
成する。
[産業上の利用分野] 本発明は、CPUと主記憶の間に複数のキャッシュを階
層的に装備した計算機システムのプリフェッチ制御方式
に間する。
CPUと主記憶との間に複数個のキャッシュメモリ(以
下単に「キャッシュ」という)を階層的に装備した計算
機システムにあっては、キャッシュ上にデータが無い場
合にアクセス要求のあったブロックに続く次のブロック
のデータをプリフェッチすることで次回以降のアクセス
要求に効率良く対応できるようにしている。
この場合、全てのアクセスに対しプリフェッチ機能を有
効としても、次回以降の全てのアクセスがキャツシュヒ
ツトとはならず、この点を改善したプリフェッチ機能に
より更にキャッシュ利用効率を高めることが望まれる。
[発明が解決しようとする問題点] 従来のプリフェッチ機能を備えた計算機システムにあっ
ては、キャッシュ上にデータが無い場合、アクセス要求
のあったブロックに続く次のアドレスのブロックをプリ
フェッチするコマンドを全てのアクセスで実行している
例えば第6図に示すように、CPUから主記憶12まで
の間にキャッシュ14−1.14=2を設けれ、アドレ
ス指定されたデータDI、D2がキャッシュ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に引き渡す。
次にデータD2のアクセ要求■が出されたとすると、デ
ータD2はキャッシュ」−4,−]−のブブロック1個
に既に入っているため、キャツシュヒツトとなって直ち
にデータD2が得られ、メモリアクセスのペナルティが
少なくて済む。
[発明か解決しようとする問題点] しかしながら、このような従来のプリフェッチ制御方式
にあっては、全てのアクスセについてプリフェッチ機能
を有効としていたため次の問題があった。
第6図において、いまアドレスで指定されたデータD1
〜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のブロック1個置きに主
記憶12までデータを取りにいかなければならず、プリ
フェッチを行なっていてもメモリアクセスのペナルティ
が大きくなる問題がある。
このような問題を解決するため、マイクロプログラムで
キャッシュのサイズを意識してアクセスコマンドを使い
分ければキャッシュを効率良くしよ使用できるが、アク
セスアドレスを常にチェックしてコマンドを使い分けな
ければならず、マイクロプログラムのステップ数を増加
させる恐れがあった。
本発明は、このような従来の問題点に鑑みてなされたも
ので、マイクロプログラムを変更することなくキャッシ
ュを効率良く使用できるプリフェッチ制御方式を提供す
ることを目的とする。
[課題を解決するための手段」 第1図は本発明の原理説明図である。
まず本発明は、CPUl0と主記憶12との間にブロッ
クサイズの異なる2個以」二のキャッシュ14−1.1
4−2を階層的に装備し、アクセスしたキャッシュ上に
データが無い場合にアクセス要求のあったアドレスブロ
ックに続く次のブロックをプリフェッチする機能を備え
た計算機システムを対象とする。
即ち、本発明はCP U 1.0と主記憶1−2との間
にn個のキャッシャを階層的に装備した計算機システム
を対象とする。
このような計算機システムについて本発明のプリフェッ
チ制御方式にあっては、先にアゲセスされるキャッシュ
1−4−1の1ブロックのサイズA1が次アクセスされ
るキャッシュ14−2のサイズB1より小さく且つ次の
キャッシュJ4−2の1ブロックB1中に偶数偏入るサ
イズである場合に、アドレスで指定される偶数番目のブ
ロック(A2.A4)のアクセス時にのみ前記プリフェ
ッチ機能を有効としたものである。
このプリフェッチ制御において、先にアクセスされるキ
ャッシュ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側に向かうにつれてブ
ロックサイズが大きくなっている。
第3図は第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−のブロックが偶数偏入るサイズ
であることを条件とする。
具体的には第4図に示すように、先にアクセスされるキ
ャッシュ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が
設けられる。
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のアクセス時のみアクセス要求のあったアドレスのブ
ロックと、このアドレスに続く次のブロックをプリフェ
ッチするプリフェッチ機能を有効とするものである。
次に、第3図の実施例による本発明のプリフェッチ制御
方式の動作を、第5図の動作説明図を参照して説明する
第5図において、CPUによりアドレス指定されたデー
タD1〜D4の4つのデータがキャッシュ]4−1及び
i−4−2上に無かったものとする。
この場合のアクセスの動きとしては、まずキャラシュ1
4−1をアクセスするためのフェッチ要求■を行なうと
、キャッシュ14−1」−にはデータD1が無いため、
キャッシュ14−2にフェッチ要求■によるアクセスが
くる。
ここでメモリ制御回路20に設けたプリフェッチ判定回
路24はキャッシュ14−1をアクセスしたアドレスを
チェックするが、この場合のアクセスアドレスは偶数番
目ではないためプリフェッチ要求は出さない。
キャッシュ14−2はフェッチ要求■を受けてもデータ
が無いため、主記憶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をアクセスする。
このとき、キャッシュ14−1をアクセスしたアドレス
をチェックするとアクセスアドレスが2番目であること
から偶数番目となり、アクセスアドレスに続(ブロック
のプリフェッチ要求が出される。
フェッチ要求■に対しデータD2はキャッシュ14−2
のブロックB1に存在するため、キャッシュ」4−2の
キャツシュヒツトが得られてデータD2については主記
憶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に対し引き渡される。
次にキャッシュ] 4−1に対しデータD3のフェッチ
要求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に対するプリフェッチがそ
れぞれ行なわれる。
このように本発明にあっては、キャッシュ上にデータが
無くても、先のキャッシュをアクセスしたアドレスをチ
ェックし、偶数番目のアクセスについてのみプリフェッ
チ要求を有効とすることで、2番目以降のアクセスにつ
いては主記憶12までの間に階層的に設けている複数の
キャッシュのいずれかでキャツシュヒツトとなってデー
タを取り出すことができ、主記憶までデータを取りに行
く処理は最初の処理のみで済むことから、キャッシュの
利用効率を大幅に向上して処理速度を高めることができ
る。
なお、上記の実施例にあってはCPUと主記憶12の間
にサイズの異なるキャッシュを2台設はた場合を例にと
るものであったが、キャッシュの台数は2以上の任意の
整数についてそのまま適用することができる。
[発明の効果] 以上説明してきたように本発明によれば、アドレスで指
定される偶数番目のブロックに当るキャッシュのアクセ
ス時のみプリフェッチ機能を有効とすることで、階層的
に設けられたキャッシュ上にデータが無い場合に主記憶
までデータを取りに行く処理が最初の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ニブリフ工ツチ判定回路

Claims (2)

    【特許請求の範囲】
  1. (1)CPU(10)と主記憶(12)との間にブロッ
    クサイズの異なる2個以上のキャッシュ(14−1、1
    4−2)を階層的に装備し、アクセスしたキャッシュ上
    にデータが無い場合にアクセス要求のあったアドレスブ
    ロックと該アドレスに続く次のブロックをプリフェッチ
    する機能を備えた計算機システムに於いて、 先にアクセスされるキャッシュ(14−1)の1ブロッ
    クのサイズ(A1)が次にアクセスされるキャッシュヤ
    ((14−2)のサイズ(B1)より小さく且つ次のキ
    ャッシュ(14−2)の1ブロック中に偶数個入るサイ
    ズである場合に、アドレスで指定される偶数番目のブロ
    ックに当るキャッシュ(14−1)のアクセス時にのみ
    前記プリフェッチ機能を有効としたことを特徴とするプ
    リフェッチ制御方式。
  2. (2)請求項1記載のプリフェッチ制御方式に於いて、 先にアクセスされるキャッシュ(14−1)のアクセス
    時にプリフェッチ機能を有効とした際には、該キャッシ
    ュ(14−1)上にデータがない場合にアクセスされる
    次のキャッシュメモリ(14−2)についても前記プリ
    フェッチ機能を有効とすることを特徴とするプリフェッ
    チ方式。
JP1123403A 1989-05-17 1989-05-17 プリフェッチ制御方法およびプリフェッチ制御装置 Expired - Fee Related JP2786886B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 演算処理装置、情報処理装置及び制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
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