JPH07219838A - データ先読み制御装置 - Google Patents

データ先読み制御装置

Info

Publication number
JPH07219838A
JPH07219838A JP6014266A JP1426694A JPH07219838A JP H07219838 A JPH07219838 A JP H07219838A JP 6014266 A JP6014266 A JP 6014266A JP 1426694 A JP1426694 A JP 1426694A JP H07219838 A JPH07219838 A JP H07219838A
Authority
JP
Japan
Prior art keywords
access
main
data
central processing
address
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
JP6014266A
Other languages
English (en)
Other versions
JP3284508B2 (ja
Inventor
Yoshihiro Kusano
義博 草野
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 JP01426694A priority Critical patent/JP3284508B2/ja
Publication of JPH07219838A publication Critical patent/JPH07219838A/ja
Application granted granted Critical
Publication of JP3284508B2 publication Critical patent/JP3284508B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明は、CPUからのアクセス要求に応じ
次アクセスを予測しその結果に基づき予測アクセスを行
ないMSUからデータを先読みする装置に関し、分岐命
令のみに限ることなくオペランド系のアクセスも確実に
予測可能にし、MSUに対する見かけ上のアクセス時間
を大幅に短縮することを目的とする。 【構成】 連続する本アクセス要求を対にして記憶する
AHT21と、AHT21を検索する検索手段22と、
検索された予測アクセスを起動する起動手段23と、予
測アクセスにより得られた先読みデータを格納する記憶
手段24と、次の本アクセスと予測アクセスとの一致を
判定する判定手段25と、一致する場合で予測アクセス
処理終了の場合には記憶手段24の先読みデータをCP
U1側へ出力する一方で一致する場合で予測アクセス処
理未終了の場合には予測アクセスを本アクセスに切り換
える切換手段26とをそなえるように構成する。

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術(図7) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用(図1) 実施例(図2〜図6) 発明の効果
【0002】
【産業上の利用分野】本発明は、各種演算処理を実行す
る中央処理装置(CPU)と、各種データを記憶する主
記憶装置(MSU)とからなるデータ処理装置におい
て、中央処理装置からのアクセス要求に応じて次のアク
セスを予測しその予測結果に基づいて主記憶装置に対す
る予測アクセスを行なって主記憶装置から中央処理装置
の必要とするデータを先読みするデータ先読み制御装置
に関する。
【0003】
【従来の技術】一般に、データ処理装置は、図7に示す
ように、各種演算処理を実行する中央処理装置(CP
U)1と、この中央処理装置1の各種データを記憶する
主記憶装置(MSU)2とをそなえて構成されている。
そして、近年、中央処理装置1と主記憶装置2との処理
速度の差には大きな隔たりがあり、中央処理装置1にお
ける処理速度の方が、主記憶装置2における処理速度の
何倍も高速となっている。主記憶装置2の処理速度は大
容量になる程遅くなる。勿論、中央処理装置1の処理速
度に見合ったアクセス速度をもつ記憶素子も存在する
が、そのような記憶素子は高価であり、大容量の主記憶
装置2を構成するには不適当である。
【0004】高速な中央処理装置1と低速な主記憶装置
2とを組み合わせた場合、中央処理装置1をデータの消
費側、主記憶装置2をデータの供給側とみなすと、デー
タの供給不足状態が生じ、中央処理装置1はほとんどの
時間を主記憶装置2からのデータ待ち時間に費やすこと
になり、中央処理装置1における処理性能が大幅に低下
してしまう。
【0005】そこで、図7に示すように、従来より、中
央処理装置1と主記憶装置2との間に、主記憶装置2よ
りも小容量であるが高速なキャッシュ装置(バッファ記
憶装置)12を設置し、このキャッシュ装置12を用い
ることにより、中央処理装置1と主記憶装置2との間の
処理速度差を緩和することが行なわれている。中央処理
装置1において主記憶装置2から読み出されて使用され
たデータは、読出後、再度使用される可能性(確率)が
高いことから、キャッシュ装置12は、中央処理装置1
からのアクセス要求により主記憶装置2から読み出され
たデータを一時的に格納しておくように構成されてい
る。
【0006】そして、中央処理装置1から主記憶装置2
に対するアクセス要求があると、まず、キャッシュ装置
12にそのアクセスに対応するデータが格納されている
か否かを判断し、格納されている場合(キャッシュヒッ
ト)には、主記憶装置2に対してアクセスすることなく
そのデータを中央処理装置1へ出力する。一方、対応す
るデータがキャッシュ装置12に格納されていない場合
(キャッシュミス)には、通常通り、主記憶装置2に対
してアクセスを行ない、読み出されたデータを、キャッ
シュ装置12に格納するとともに、中央処理装置1へ入
力している。
【0007】上述のようなキャッシュ装置12とは別
に、主記憶装置2からデータの先読み(予測アクセス)
を行なうことにより、主記憶装置2の処理速度を見かけ
上速くすることも行なわれている。このようなデータ先
読み方式は、キャッシュ装置12に代えて適用される
か、もしくは、キャッシュ装置12と主記憶装置2との
間に適用される。
【0008】従来の先読み方式としては、大別して以下
のような2つのものがある。 (1)分岐予測による先読み方式 この方式は、分岐命令実行のパイプラインの乱れを抑え
るために、分岐命令の次に実行される命令を予測して、
その命令を主記憶装置2から予め読み出しておくもの
で、さらに以下の〜のように分類される。これらの
方式では共通して過去の分岐の履歴を記憶する分岐履歴
テーブルが用いられる。
【0009】分岐命令が格納されているアドレスをキ
ーとして分岐履歴テーブルを検索することにより、分岐
履歴テーブルに格納された分岐先の命令を得て、その命
令を実行する。 分岐命令が格納されているアドレスをキーとして分岐
履歴テーブルを検索して、分岐履歴テーブルに格納され
た分岐先のアドレスを得ることにより、分岐先のアドレ
スを予測し、その予測結果に基づいてデータを先読みす
る。
【0010】分岐命令が格納されているアドレスをキ
ーとして分岐履歴テーブルを検索することにより、本分
岐命令の分岐/非分岐を予測し、その予測結果を用いて
次の命令を先読みする。 分岐命令にカウンタを付与し、分岐時にはそのカウン
タによるカウント値に1加算し、非分岐時にはそのカウ
ンタによるカウント値を1減算することにより、その分
岐命令の分岐/非分岐の確率を得て、その確率に基づい
て実命令を予測して先読みする。
【0011】(2)分岐予測以外の先読み方式 前述した分岐予測による先読み方式に限定されないデー
タの先読み方式としては、さらに以下の,のような
ものがある。 ロード対象のアドレスAに定数αを加算して、アドレ
スA+αを先読みアドレスとする方式(例えば特開平4
−7762号公報参照)。通常の命令は分岐命令が無い
限り順番にジャンプしながら実行されてゆき、ある命令
を実行した場合には、所定間隔だけ先の命令を実行する
可能性が極めて高いことから、この方式では、あるアド
レスAに対してアクセスが有った場合には、ある定数α
(一つの命令文のバイト数)を加えたアドレスA+αの
データも、近い将来、アクセスされて読み出されるであ
ろうという予測のもとに、主記憶装置2のアドレスA+
αに対して予測アクセスを行なう。そして、中央処理装
置1から主記憶装置2に対する次のアクセスのアドレス
が正にA+αであれば、予測が当たったことになり、主
記憶装置2の処理速度の遅さが吸収され、実質的に主記
憶装置2の処理速度が速くなったように見える。
【0012】ロードの対象キャッシュラインの次のキ
ャッシュラインを先読みアドレスとす方式。前述したキ
ャッシュ装置12と主記憶装置2との間に適用する場
合、データの先読みを行なう際に、あるアクセスのアド
レスAから一つのキャッシュライン(キャッシュ装置1
2と主記憶装置2との間でデータをやり取りする単位で
例えば128バイト)分以内のデータを先読みしても、
そのデータは、キャッシュ装置12内に読み出されてい
るものと重複してしまい、先読みする意味が無い。そこ
で、この方式では、あるアドレスAに対してアクセスが
有った場合には、1キャッシュライン分だけ先のアドレ
スに対して予測アクセスを行なう。つまり、前述の方式
において、定数αが1キャッシュラインである場合に対
応する。
【0013】
【発明が解決しようとする課題】しかしながら、上述し
た従来のデータ先読み方式のうち、前者の分岐予測によ
る先読み方式では、いずれの場合も、データの先読みを
行なう契機が分岐命令実行時に限られているため、分岐
命令の出現頻度が少ないプログラムでは、その効用を発
揮することができない。また、先読みの対象が分岐命令
の次に実行される命令データに限られているため、適用
範囲が狭いなどの課題がある。
【0014】また、後者の分岐予測以外の先読み方式で
は、いずれの場合も、予測が分岐予測のみに限定される
ことはなくなるが、予測アクセスのアドレス決定手段
が、「定数(αあるいは1キャッシュライン分)を加え
る」点に帰着され、柔軟な予測アクセスを行なえず、予
測ヒット率が高くない。特に、命令アクセスについては
予測ヒット率は高くなるが、オペランド系のアクセスに
ついては、充分な予測ヒット率を実現することができな
い。
【0015】本発明は、このような課題に鑑み創案され
たもので、アクセスの履歴に応じた柔軟な予測を行なう
ことにより、分岐命令のみに限ることなくオペランド系
のアクセスについても確実に予測を行なえるようにし
て、主記憶装置に対する見かけ上のアクセス時間を大幅
に短縮したデータ先読み制御装置を提供することを目的
とする。
【0016】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図で、この図1において、1は各種演算処理を実行
する中央処理装置(CPU)、2は中央処理装置1の各
種データを記憶する主記憶装置(MSU)で、これらの
中央処理装置1および主記憶装置2からデータ処理装置
10が構成されている。
【0017】このようなデータ処理装置10において、
中央処理装置1と主記憶装置2との間に、本発明のデー
タ先読み制御装置11がそなえられている。このデータ
先読み制御装置11は、中央処理装置1からの本アクセ
ス要求に応じて本アクセス要求の次の本アクセスを予測
し、その予測結果に基づいて主記憶装置2に対する予測
アクセスを行なうことにより、主記憶装置2から中央処
理装置1の必要とするデータを先読みしうるもので、後
述するアクセスヒストリテーブル〔以下、AHT(Acces
s History Table)という〕21,検索手段22,予測ア
クセス起動手段3,先読みデータ記憶手段24,判定手
段25および切換手段26から構成されている。
【0018】ここで、AHT21は、中央処理装置1か
ら主記憶装置2に対して生じる、連続する2つの本アク
セス要求を対にして、初めの本アクセスに応じて後の本
アクセスをアクセス履歴として記憶するものであり、検
索手段22は、中央処理装置1から主記憶装置2に対す
る本アクセス要求があった場合に、当該本アクセス要求
に対応する後のアクセスを、AHT21から予測アクセ
スとして検索するものである。
【0019】また、予測アクセス起動手段23は、検索
手段22により当該本アクセス要求に対応する後のアク
セスがAHT21から検索された場合に、検索された後
のアクセスを予測アクセスとして主記憶装置2に対して
起動するものであり、先読みデータ記憶手段24は、予
測アクセス起動手段23により起動された予測アクセス
により主記憶装置2から読み出された先読みデータを格
納するものであり、判定手段25は、当該本アクセス要
求の次の本アクセス要求と、検索手段22により検索さ
れた予測アクセスとが同一のものであるか否かを比較し
て判定するものである。
【0020】さらに、切換手段26は、判定手段25に
より同一のものであると判定された場合で、予測アクセ
スによる処理を終了している場合には先読みデータ記憶
手段24に格納されている先読みデータを中央処理装置
1側へ出力する一方、予測アクセスによる処理を終了し
ていない場合には予測アクセスを本アクセスに切り換え
そのアクセスにより主記憶装置2から読み出された先読
みデータをそのまま中央処理装置1側へ出力するもので
ある(以上、請求項1)。
【0021】なお、予測アクセス起動手段23により起
動された予測アクセスが、主記憶装置2に存在しないア
ドレスに対するものであった場合には、当該予測アクセ
スの結果を無効にする(請求項2)。また、中央処理装
置1からの本アクセス要求により主記憶装置2から読み
出したデータを一時的に格納し中央処理装置1からの本
アクセス要求に対応するデータが格納されている場合に
はそのデータを中央処理装置1へ出力するキャッシュ装
置12を介設する場合には、中央処理装置1からの本ア
クセスを、キャッシュ装置12を介してデータ先読み制
御装置11に入力するとともに、主記憶装置2から読み
出したデータをキャッシュ装置12を介して中央処理装
置1へ出力するように構成する(請求項3)。
【0022】このとき、予測アクセスのロード単位、お
よび、先読みデータ記憶手段24のビット幅を、キャッ
シュ装置12の1ライン分と等しくする(請求項4)。
また、中央処理装置1からの本アクセス要求に対応する
データがキャッシュ装置12に格納されている場合に
は、AHT21へのアクセス履歴の書込を行なわないよ
うに構成してもよいし(請求項5)、AHT21を、ア
クセス履歴を書き込むための第1のテーブルと、第1の
テーブルに書き込まれたデータを第1のテーブルから転
送・格納され検索手段22による予測アクセス検索対象
となる第2のテーブルとの2段から構成してもよい(請
求項6)。
【0023】
【作用】上述した本発明のデータ先読み制御装置(請求
項1)では、中央処理装置1から主記憶装置2に対する
本アクセス要求が生じた場合には、随時、その本アクセ
ス要求と1つ前のアクセスとを対にしアクセス履歴とし
てAHT21に記憶させるとともに、検索手段22によ
り、当該本アクセス要求に対応する後のアクセスが、A
HT21から予測アクセスとして検索される。
【0024】そして、検索手段22によりその本アクセ
ス要求に対応する後のアクセスがAHT21から検索さ
れた場合には、予測アクセス起動手段23により、検索
された後のアクセスが予測アクセスとして主記憶装置2
に対して起動され、その予測アクセスにより主記憶装置
2から読み出された先読みデータは、先読みデータ記憶
手段24に格納される。
【0025】この後、中央処理装置1から主記憶装置2
に対する次の本アクセス要求が生じると、判定手段25
により、その次の本アクセス要求と、検索手段22によ
り検索された予測アクセスとが同一のものであるか否か
が比較・判定される。判定手段25により同一であると
判定された場合には、予測アクセスによる処理を終了し
ていれば、切換手段26により、先読みデータ記憶手段
24に格納されている先読みデータが中央処理装置1側
へ出力される一方、予測アクセスによる処理を終了して
いなければ、切換手段26により、予測アクセスが本ア
クセスに切り換えられ、そのアクセスにより主記憶装置
2から読み出された先読みデータがそのまま中央処理装
置1側へ出力される。
【0026】これにより、中央処理装置1からの本アク
セス要求の次のアクセスが、アクセス履歴に応じて柔軟
に予測され、その予測結果に基づいて主記憶装置2に対
する予測アクセスが行なわれ、主記憶装置2から中央処
理装置1の必要とするデータが高い予測ヒット率で先読
みされることになる。なお、主記憶装置2に存在しない
アドレスに対して、予測アクセス起動手段23により予
測アクセスが起動された場合には、その予測アクセスの
結果は無効とされ(請求項2)、異常動作が生じるのを
防止している。
【0027】また、中央処理装置1からの本アクセス
を、キャッシュ装置12を介してデータ先読み制御装置
11に入力するとともに、主記憶装置2から読み出した
データをキャッシュ装置12を介して中央処理装置1へ
出力することにより(請求項3)、本発明のデータ先読
み制御装置11は、キャッシュ装置12をそなえる場合
にも適用される。
【0028】このとき、予測アクセスのロード単位、お
よび、先読みデータ記憶手段24のビット幅を、キャッ
シュ装置12の1ライン分と等しくすることにより(請
求項4)、先読みデータ記憶手段24の内容をキャッシ
ュ装置12に書き込むようにすることができる。また、
中央処理装置1からの本アクセス要求に対応するデータ
がキャッシュ装置12に格納されている場合には、AH
T21へのアクセス履歴の書込を行なわないように構成
することにより(請求項5)、キャッシュ装置12に格
納されているデータに対するアクセスを重複してAHT
21に格納することを防止できる。
【0029】さらに、中央処理装置1からの本アクセス
を一つ前のアクセスと対にしてAHT21に格納した時
点では、その本アクセスにより読み出されたデータはキ
ャッシュ装置12に格納されており、そのアクセス履歴
を予測アクセスとしてAHT21から検索できる状態に
しておいても、キャッシュ装置12でキャッシュヒット
となり、データ先読み制御装置11における検索(予
測)動作は無駄なものになる。そこで、AHT21を、
書込専用の第1のテーブルと、検索専用の第2のテーブ
ルとの2段構成とし、ATH21に書き込んだ直後のア
クセス履歴については、第1のテーブルに格納してお
き、検索手段22による検索対象は第2のテーブルとす
ることにより(請求項6)、前述のような無駄な検索動
作を行なうことを防止できる。
【0030】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図2は本発明の一実施例としてのデータ先読み制
御装置の構成を示すブロック図で、この図2に示すよう
に、本実施例においては、各種演算処理を実行する中央
処理装置(CPU)1と、中央処理装置1の各種データ
を記憶する主記憶装置(MSU)2と、キャッシュ装置
12と、本実施例のデータ先読み制御装置11Aとから
データ処理装置10Aが構成されている。
【0031】キャッシュ装置(バッファ記憶装置)12
は、前述した通り、中央処理装置1と主記憶装置2との
間に介設され、中央処理装置1からの本アクセス要求に
より主記憶装置2から読み出したデータを一時的に格納
し、中央処理装置1からの本アクセス要求に対応するデ
ータが格納されている場合(キャッシュヒット)にはそ
のデータを中央処理装置1へ出力するものである。
【0032】なお、以後、中央処理装置1が発行したア
クセス要求を本アクセスと呼び、データ先読み制御装置
11Aが発行したアクセス要求を予測アクセスと呼ぶこ
ととする。そして、本実施例のデータ先読み制御装置1
1Aは、キャッシュ装置12と主記憶装置2との間に介
設され、中央処理装置1からの本アクセスを、キャッシ
ュ装置12を介して入力されるとともに、主記憶装置2
から読み出したデータをキャッシュ装置12を介して中
央処理装置1へ出力するように構成されている。
【0033】また、本実施例のデータ先読み制御装置1
1Aも、中央処理装置1からの本アクセス要求に応じて
本アクセス要求の次の本アクセスを予測し、その予測結
果に基づいて主記憶装置2に対する予測アクセスを行な
うことにより、主記憶装置2から中央処理装置1の必要
とするデータを先読みしうるものであるが、本実施例の
データ先読み制御装置11Aは、後述する、アクセスヒ
ストリテーブル〔以下、AHT(Access History Table)
という〕30,最終アクセスアドレスレジスタ〔以下、
LAAR(Last Access Address Register)という〕3
1,セレクタ(SEL)32,AHT用コントロール回
路33,比較回路(EQ)34,予測アドレス出力部3
5,プリフェッチアクセスアドレスレジスタ〔以下、P
AAR(Pre-fetch Access Address Register)という〕
36,セレクタ(SEL)37,プリフェッチアクセス
データレジスタ〔以下、PADR(Pre-fetch Access Da
ta Register)という〕38,比較回路(EQ)39,セ
レクタ(SEL)40および切換用コントロール回路4
1から構成されている。
【0034】AHT30は、中央処理装置1から主記憶
装置2に対して生じる、連続する2つの本アクセス要求
を対にして、初めの本アクセスのアドレスに応じて後の
本アクセスのアドレスをアクセス履歴として記憶するも
のであり、本実施例では、アクセス履歴を書き込むため
の書込専用の第1のテーブル30Aと、この第1のテー
ブル30Aに書き込まれたデータを第1のテーブル30
Aから転送・格納され予測アクセス検索対象となる検索
専用の第2のテーブル30Bとの2段から構成となって
いる。
【0035】各テーブル30A,30Bには、対となる
2つの本アクセスのアドレスについて、先の本アクセス
のアドレスの一部分を各テーブル30A,30Bにおけ
るアドレス(以下、テーブルアドレスという)として、
そのアドレスに、先の本アクセスのアドレスの他部分を
抽出してなる検索キー(図3参照)KEY0,KEY1
と、この先の本アクセスに続く後の本アクセスのアドレ
スPAA(Pre-fetch Access Address)0,PAA1とが
登録されている。
【0036】なお、検索キーKEY0およびPAA0は
第1のテーブル30Aに格納されるデータを示し、検索
キーKEY1およびPAA1は第2のテーブル30Bに
格納されるデータを示している。また、図2中、各テー
ブル30A,30BにおけるADDは、書込もしくは読
出のためのテーブルアドレスを入力される端子であり、
各テーブル30A,30BにおけるWRT/RDは、後
述するAHT用コントロール回路33からの制御信号を
受けることにより、各テーブル30A,30Bでの書込
(WRITE)モード/読出(READ)モードの切換を行なうため
の端子である。
【0037】そして、第1のテーブル30Aへのアクセ
ス履歴の書込・登録制御,第2のテーブル30Bにおけ
るアクセス履歴の検索制御および第1のテーブル30A
から第2のテーブル30Bへのアクセス履歴の書込・登
録制御は、LAAR31,セレクタ32およびAHT用
コントロール回路33により後述するごとく行なわれる
ようになっている。
【0038】LAAR31は、キャッシュ装置12を介
し、中央処理装置1からアドレス線42を通じて送られ
てきた本アクセスのアドレスを記憶するもので、常に最
後に送られてきた本アクセスのアドレスを格納するもの
であり、セレクタ32は、ATH用コントロール回路3
3からの切換制御信号に応じて、中央処理装置1からの
最新の本アクセスのアドレス、もしくは、LAAR31
に格納されている最後(最新本アクセス直前)の本アク
セスのアドレスのいずれか一方を選択して切換出力する
ものである。
【0039】AHT用コントロール回路33は、キャッ
シュ装置12からのキャッシュヒット/ミス情報に基づ
いて、AHT30における各テーブル30A,30Bの
書込/読出モードの切換制御およびセレクタ32の切換
制御を行なうことにより、AHT30へのアクセス履歴
の登録や、AHT30のテーブル30Bに対する検索を
制御するものである。
【0040】ここで、AHT用コントロール回路33の
具体的な制御動作については、図7のタイミングチャー
トにより後述するが、基本的には、以下の項目 (A)〜
(D) にて説明する制御動作がAHT用コントロール回路
33により行なわれるようになっている。 (A) 中央処理装置1からの本アクセスが発生すると、キ
ャッシュヒット/ミスに係わらず、セレクタ32を現本
アクセスのアドレス側に切り換えるとともに、第2のテ
ーブル30Bを読出モードに切り換え、その現本アクセ
スのアドレスのうちテーブルアドレスに対応する部分を
第2のテーブル30BのADD端子に入力して、そのテ
ーブルアドレスにおける検索キーKEY1および予測ア
クセスのアドレスPAA1を読み出すとともに、その現
本アクセスのアドレスのうち検索キーに対応する部分
を、後述する比較回路34に入力する。
【0041】(B) 中央処理装置1からの本アクセスが発
生し、その本アクセス要求に対応するデータがキャッシ
ュ装置12に格納されている場合、つまり、その本アク
セスがキャッシュヒットした場合には、AHT30への
アクセス履歴の書込・登録を行なわない。 (C) 中央処理装置1からの本アクセスが発生し、その本
アクセス要求に対応するデータがキャッシュ装置12に
格納されていない場合、つまり、その本アクセスがキャ
ッシュミスした場合、第1のテーブル30Aを読出モー
ドに、第2のテーブル30Bを書込モードに切り換える
とともに、セレクタ32をLAAR31側に切り換え、
LAAR31に格納されている一つ前の本アクセスのア
ドレスのうちテーブルアドレスに対応する部分を第1の
テーブル30Aおよび第2のテーブル30BのADD端
子に入力し、第1のテーブル30Aから、そのテーブル
アドレスにおける検索キーKEY0およびアドレスPA
A0を読み出した後、これらの検索キーKEY0および
アドレスPAA0を、検索キーKEY1およびアドレス
PAA1として第2のテーブル30Bにおけるそのテー
ブルアドレスに書き込む。
【0042】(D) 中央処理装置1からの本アクセスが発
生しその本アクセスがキャッシュミスした場合、前記
による動作を終了した後、テーブル30Aを書込モード
に切り換え、LAAR31に格納されている一つ前の本
アクセスのアドレスから前述したテーブルアドレスと検
索キーとに対応する部分を読み出し、テーブル30Aに
おいて、そのテーブルアドレスに、一つ前の本アクセス
の検索キーと現在の本アクセスのアドレスとをそれぞれ
KEY0,PAA0として格納する。
【0043】また、比較回路34は、前記の動作に応
じてセレクタ32から入力される現本アクセスのアドレ
スのうち検索キーに対応する部分と、第2のテーブル3
0Bから読み出される検索キーKEY1とを比較するも
のであり、予測アドレス出力部35は、比較回路34に
より2つの検索キーが等しいと判定された場合に、第2
のテーブル30Bから読み出される予測アクセスのアド
レス(以下、予測アドレスいう)PAA1をアドレス線
43に対して出力するものである。
【0044】本実施例では、前述したセレクタ32,A
HT用コントロール回路33および比較回路34によ
り、中央処理装置1から主記憶装置2に対する本アクセ
ス要求があった場合(中央処理装置1からのフェッチア
ドレスがアドレス線42を通じて送られた場合)に、当
該本アクセス要求に対応する後のアクセスのアドレス
を、AHT21から予測アクセスのアドレスPAA1と
して検索する、本発明でいうところの検索手段が構成さ
れている。
【0045】PAAR36は、AHT30における検索
により予測アドレスが得られた場合、予測アドレス出力
部35から出力された予測アドレスを格納するものであ
り、セレクタ37は、アドレス線42からの現本アクセ
スのアドレス(フェッチアドレス)と、アドレス線43
からの予測アドレスとのいずれか一方を選択してアドレ
ス線44へ切換出力するもので、後述する切換用コント
ロール回路41によりその切換動作を制御されるように
なっている。
【0046】PADR(先読みデータ記憶手段)38
は、セレクタ37により予測アドレスが出力されて予測
アクセスが起動されることにより、主記憶装置2から読
み出された先読みデータを格納するものであり、比較回
路(判定手段)39は、現本アクセス要求の次の本アク
セス要求が中央処理装置1から発生した場合に、その次
の本アクセスのアドレスと、PAAR36に格納されて
いる予測アドレス(AHT30の検索結果)とが同一の
ものであるか否かを比較して判定するものである。
【0047】セレクタ40は、主記憶装置2からのデー
タを中央処理装置1側(キャッシュ装置12)へ直接出
力するか、主記憶装置2から読み出されPADR38に
一旦格納されたデータ(先読みデータ)を出力するかを
切り換えるもので、後述する切換用コントロール回路4
1によりその切換動作を制御されるようになっている。
【0048】そして、切換用コントロール回路41は、
比較回路34,39による比較・判定結果と、予測アク
セスを起動した場合にはその予測アクセスが終了してい
るか否か(予測アクセスによる先読みデータがPADR
38に格納されているか否か)とに応じて、セレクタ3
7,40の切換動作を制御するもので、基本的には、以
下の項目(E),(F) にて説明する制御動作を実行するもの
である。
【0049】(E) セレクタ37の切換制御について 通常、セレクタ37はアドレス線42側に切り換えられ
ており、中央処理装置1からアドレス線42を通じて本
アクセスのアドレスが到来すると、その本アクセスのア
ドレスはアドレス線44を通じて主記憶装置2へ送ら
れ、通常のアクセスが行なわれるようになっている。
【0050】中央処理装置1から本アクセス要求がある
と、AHT30における予測アドレスの検索が行なわれ
るが、現本アクセスのアドレスに続く次のアクセスのア
ドレスがアクセス履歴としてAHT30に登録されてお
り、AHT30による検索の結果、次のアクセスのアド
レスつまり予測アドレスが得られた場合(比較回路34
が一致したと判定した場合)、セレクタ37をアドレス
線43側に切り換え、予測アドレス出力部35からの予
測アドレスを、アドレス線44を通じて主記憶装置2へ
出力することにより、主記憶装置2に対する予測アクセ
スが起動されるようになっている。
【0051】つまり、本実施例では、予測アドレス出力
部35,セレクタ37および切換用コントロール回路4
1により、検索された次のアクセスを予測アクセスとし
て主記憶装置2に対して起動する、本発明でいうところ
の予測アドレス起動手段が構成されている。 (F) セレクタ40の切換制御について 中央処理装置1からアドレス線42を通じて本アクセス
のアドレスが到来すると、比較回路39により、現本ア
クセスのアドレスと、PAAR36に格納された一つ前
の本アクセスの際にAHT30から検索された予測アド
レスとが比較され、同一であると判定された場合(予測
が当たった場合)で、且つ、その予測アドレスによる主
記憶装置2に対する予測アクセス処理を終了している場
合には、セレクタ40をPADR38側に切り換えて、
PADR38に格納されている先読みデータを中央処理
装置1側(キャッシュ装置12)へ出力する。
【0052】一方、比較回路39により同一であると判
定された場合で、且つ、予測アドレスによる主記憶装置
2に対する予測アクセス処理を終了していない場合に
は、セレクタ40を主記憶装置2側に切り換えることに
より、予測アクセスを本アクセスに切り換え、そのアク
セスにより主記憶装置2から読み出された先読みデータ
をそのまま中央処理装置1側(キャッシュ装置12)へ
出力する。
【0053】つまり、本実施例では、セレクタ40およ
び切換用コントロール回路41により、本発明でいうと
ころの切換手段が構成されている。なお、比較回路39
による比較結果が同一でない場合には、セレクタ40を
主記憶装置2側に切り換え、セレクタ37を介して出力
された本アクセスの結果、主記憶装置2から読み出され
たデータをそのまま中央処理装置1側(キャッシュ装置
12)へ出力する。
【0054】以上が、切換用コントロール回路41によ
るセレクタ37,40の切換制御動作についての説明で
ある。なお、本実施例では、起動された予測アクセス
が、主記憶装置2に存在しないアドレスに対するもので
あった場合には、主記憶装置2から読み出された先読み
データのPADR38への書込を禁止することにより、
当該予測アクセスの結果を無効にするようになってい
る。
【0055】また、本実施例では、予測アクセスのロー
ド単位、および、PADR38のビット幅は、キャッシ
ュ装置12の1ライン分と等しくしている。上述の構成
により、本実施例のデータ先読み制御装置11Aでは、
中央処理装置1から主記憶装置2に対する本アクセス要
求が生じた場合、LAAR31,セレクタ32,AHT
用コントロール回路33,比較回路34により、随時、
その本アクセス要求と1つ前のアクセスとを対にしアク
セス履歴としてAHT30に登録するとともに、現本ア
クセス要求に対応する後のアクセスのアドレスが、AH
T30から予測アクセスとして検索される。このAHT
30に対するアクセス履歴の登録および検索の詳細な動
作は図6により後述する。
【0056】そして、AHT30から予測アドレスが検
索された場合、つまり、比較回路34により、現本アク
セスのアドレスのうち検索キーに対応する部分(図3参
照)と、第2のテーブル30Bから読み出される検索キ
ーKEY1とが等しいと判定された場合には、セレクタ
37を介して現本アクセスのアドレスをアドレス線42
からアドレス線44へ出力して主記憶装置2に対して現
本アクセスを起動してから、セレクタ37をアドレス線
43側に切り換える。
【0057】これにより、予測アドレス出力部35から
の予測アドレスが、アドレス線43からアドレス線44
へ出力され、主記憶装置2に対して予測アドレスが起動
され、その予測アクセスにより主記憶装置2から読み出
された先読みデータは、PADR38に格納される。な
お、比較回路34により等しくないと判定された場合
(つまりAHT30から予測アドレスを検索できなかっ
た場合)には、セレクタ37は、アドレス線42側に切
り換わったままで、アドレス線43側に切り換えられる
ことはない。また、予測アドレスがAHT30から検索
されると、その予測アドレスは、予測アドレス出力部3
5によりセレクタ37へ出力されると同時に、PAAR
36へも出力され、このPAAR36において次の予測
アドレスが入力されるまで格納される。
【0058】予測アドレス起動後、中央処理装置1から
主記憶装置2に対する次の本アクセス要求が生じると、
比較回路39により、中央処理装置1からアドレス線4
2を通じてその次の本アクセスのアドレスと、PAAR
36に格納されている予測アドレス(AHT30の検索
結果)とが比較され、その比較結果が切換用コントロー
ル回路41へ出力される。
【0059】そして、比較回路39による比較結果が同
一(予測が当たった場合)であり、且つ、図4に示すよ
うに予測アドレスによる主記憶装置2に対する予測アク
セス処理を終了しPADR38に先読みデータが格納さ
れている場合には、切換用コントロール回路41により
セレクタ40がPADR38側に切り換えられ、PAD
R38に格納されている先読みデータが、セレクタ40
を介して中央処理装置1側(キャッシュ装置12)へ出
力される。このとき、予測アクセス処理を終了している
が、比較回路39による比較結果が同一でなかった場合
(予測がはずれた場合)には、PADR38に格納され
ている先読みデータは無効化される。
【0060】また、図5に示すように、比較回路39に
よる比較結果が同一であり、且つ、予測アドレスによる
主記憶装置2に対する予測アクセス処理を終了しておら
ずPADR38に先読みデータが格納されていない場合
(予測アクセス終了前に次の本アクセスが入力された場
合)には、切換用コントロール回路41によりセレクタ
40が主記憶装置2側に切り換えられ、予測アクセスが
本アクセスへ移行し、そのアクセスにより主記憶装置2
から読み出された先読みデータはそのまま中央処理装置
1側(キャッシュ装置12)へ出力される。
【0061】このとき、予測アクセス処理を終了する前
に次の本アクセスが入力され、比較回路39による比較
結果が同一でなかった場合には、予測アクセスによる主
記憶装置2からの読出データは、PADR38に一旦格
納された後に無効化され、その次の本アクセスによる主
記憶装置2からの読出データは、セレクタ40から中央
処理装置1側(キャッシュ装置12)へ出力される。
【0062】このように、本実施例によれば、中央処理
装置1からの本アクセス要求の次のアクセスがアクセス
履歴に応じて柔軟に予測され、その予測結果に基づいて
主記憶装置2に対する予測アクセスが行なわれ、主記憶
装置2から中央処理装置1の必要とするデータが高い予
測ヒット率で先読みされることになる。従って、分岐命
令のみに限ることなくオペランド系のアクセスについて
も確実に予測を行なうことができ、主記憶装置2に対す
る見かけ上のアクセス時間を大幅に短縮することができ
る。
【0063】特に、図4に示すように予測アクセス終了
後に入力された次の本アクセスについて予測が当たって
いれば、その次の本アクセスについてのデータは、PA
DR38からセレクタ40を介して即座に中央処理装置
1側(キャッシュ装置12)へ出力されるので、主記憶
装置2に対するアクセス時間を大幅に短縮することがで
きる。
【0064】また、図5に示すように、予測アクセス処
理終了前に入力された次の本アクセスについて予測が当
たっていれば、予測アクセスが次の本アクセスに移行さ
れるため、その次の本アクセスと同じアクセスが予め予
測アクセスとして起動されており、その次の本アクセス
の終了時刻は早くなり、その次の本アクセスによる主記
憶装置2に対するアクセス時間は、見かけ上大幅に短縮
されることになる。
【0065】さらに、主記憶装置2に存在しないアドレ
スに対して、予測アクセスが起動された場合には、主記
憶装置2は例外を伴って応答する。このとき、本実施例
では、主記憶装置2から読み出された先読みデータのP
ADR38への書込を禁止することにより、当該予測ア
クセスの結果が無効化され、異常動作の発生が確実に防
止される。
【0066】また、本実施例では、予測アクセスのロー
ド単位、および、PADR38のビット幅を、キャッシ
ュ装置12の1ライン分と等しくすることにより、PA
DR38の内容をキャッシュ装置12に書き込むように
することが可能で、本実施例のデータ先読み制御装置1
1Aからキャッシュ装置12に対して効率のよいデータ
書込を行なえるとともに、キャッシュ装置12における
キャッシュヒット率が大幅に向上する。
【0067】次に、図6により、AHT30に対する具
体的なアクセス履歴の登録動作および検索動作について
説明する。この図6に示すタイミングチャートでは、ア
ドレスa3,b3,a4,b3,a5,b4の順でロー
ド命令(中央処理装置1からの本アクセス要求)が発生
したものとする。また、図6中のA〜Oはそれぞれ以下
のような情報を示すものである。
【0068】A:ロード要求(本アクセス要求)のアド
レス(real access address) B:キャッシュ装置12において、その本アクセスにつ
いてヒット(hit)したかミス(miss)したかに関する情報
(cache miss/hit) C:LAAR31に格納されている一つ前の本アクセス
のアドレス D:第1のテーブル30AのADD端子に入力される1
バイト幅のアドレス(前記テーブルアドレス;AHT0 ADD
R) E:AHT用コントロール回路33から第1のテーブル
30AのWRT/RD端子に入力されるモード設定情報
(AHT0 R/W;rのとき読出モード,wのとき書込モード) F:第1のテーブル30Aにおける検索キーデータ(AHT
0 KEY0) G:第1のテーブル30Aにおける予測アクセスアドレ
スデータ(AHT0 PAA0) ここで、FおよびGにおけるデータは、Eが“r”であ
る場合には第1のテーブル30Aに書き込まれるものを
示し、Eが“w”である場合には第1のテーブル30A
から第2のテーブル30Bへ読み出されるものを示して
いる。
【0069】H:第2のテーブル30BのADD端子に
入力される1バイト幅のアドレス(前記テーブルアドレ
ス;AHT1 ADDR) I:AHT用コントロール回路33から第2のテーブル
30BのWRT/RD端子に入力されるモード設定情報
(AHT0 R/W;rのとき読出モード,wのとき書込モード) J:第2のテーブル30Bにおける検索キーデータ(AHT
1 KEY1) K:第2のテーブル30Bにおける予測アクセスアドレ
スデータ(AHT1 PAA1) ここで、JおよびKにおけるデータは、Eが“r”であ
る場合には第1のテーブル30Aから第2のテーブル3
0Bに書き込まれるものを示し、Eが“w”である場合
には、Jについては第2のテーブル30Bから比較回路
34へ読み出されるものを示し、Kについては予測アド
レス出力部35へ読み出されるものを示している。
【0070】L:比較回路34の出力〔EQ2(A=H
J);“yes ”の場合、比較回路34による比較結果が
等しく、“no”の場合、比較回路34による比較結果が
等しくないことを示す〕 M:予測アクセスの起動信号〔AHT1 hit(predict go);
“yes ”の場合、本信号がアクティブになり予測アクセ
スが起動されたことを示す(このMはLと全く同じ信号
となる)〕 N:予測アクセスのアドレス〔predict access addr;第
2のテーブル30Bが読出モードとなった時に出力され
る予測アクセスアドレスデータ(AHT1 PAA1) 〕 O:PAAR36に格納されている予測アクセスのアド
レス なお、本実施例では、アドレスは例えば2バイトとす
る。また、AHT30(テーブル30A,30B)への
アドレス入力(ADDR;前記テーブルアドレス)としては、
上1バイト(例えばアドレス“a3”であれば“a”)
が入力され、AHTエントリ内の検索キーは、下1バイ
ト(例えばアドレス“a3”であれば“3”)とする。
ただし、これは、あくまで一例であり、実際のアドレス
の幅,AHT30のエントリ数等は任意に設定すること
ができる。さらに、キャッシュ装置12における検索手
段も、AHT30に対するものと等しいものとする。即
ち、キャッシュ装置12のアドレス入力には、アドレス
の上1バイトが入力され、キャッシュ装置12のエント
リ数は例えば256とする。
【0071】以上のことを踏まえて次に動作について説
明する。まず、図6に示す最初の本アクセスは、AHT
30(第2のテーブル30B)に履歴が登録されていな
いため、予測アクセスを行なえなかった場合を示す。こ
のときの本アクセスのアドレスは“a3”で、第2のテ
ーブル30Bのアドレス“a”に格納されている検索キ
ーKEY1は2であるから、比較回路34により不一致
(L=no)となる。ここで、第2のテーブル30Bに
登録されていたのは、アドレス“a2”の後にアドレス
“f0”のアクセスが到来することを予測するアクセス
履歴である。
【0072】また、図6に示す2番目の本アクセスはア
ドレス“b3”に対するもので、第2のテーブル30B
には、アドレス“b3”の後にアドレス“f1”のアク
セスが到来することを予測するアクセス履歴が登録され
ている場合の動作を示す。この場合、比較回路34によ
る比較結果は一致(L,M=yes)となり、第2のテ
ーブル30Bから読み出された予測アドレスPAA1
が、予測アドレス出力部35から出力されて、PAAR
36に格納されるとともに、その予測アドレスによる予
測アクセスが起動される。
【0073】図6に示す3番目の本アクセスはアドレス
“a4”に対するもので、AHT30(第2のテーブル
30B)に履歴が登録されていない場合を示す。この場
合の動作は、前述した最初の本アクセスの場合と同じと
なる。上述した3つの本アクセスは、全てキャッシュミ
ス(B:miss)している場合が示されているので、第1
のテーブル30Aおよび第2のテーブル30Bに対する
アクセス履歴の登録・書込を行なう。これを最初の本ア
クセスを例に説明する。
【0074】まず、AHT用コントロール回路33によ
り、第2のテーブル30Bによる検索終了後に、第1の
テーブル30Aを読出モード(E:r)に、第2のテー
ブル30Bを書込モード(I:w)に切り換えるととも
に、セレクタ32をLAAR31側に切り換え、LAA
R31に格納されている一つ前の本アクセスのアドレス
“b2”のうちテーブルアドレスに対応する部分“b”
を第1のテーブル30Aおよび第2のテーブル30Bの
ADD端子に入力し、第1のテーブル30Aから、その
テーブルアドレス“b”における検索キー“3”(F)
およびアドレス“f1”(G)を読み出した後、これら
のデータ“3”,“f1”を、それぞれ検索キーKEY
1(J)およびアドレスPAA1(K)として第2のテ
ーブル30Bにおけるそのテーブルアドレスbに書き込
む。
【0075】また、この第1のテーブル30Aから第2
のテーブル30Bを行なった後、AHT用コントロール
回路33によりテーブル30Aを書込モード(E:w)
に切り換え、LAAR31に格納されている一つ前の本
アクセスのアドレス“b2”からテーブルアドレス
“b”と検索キー“2”とに対応する部分を読み出し、
テーブル30Aにおいて、そのテーブルアドレス“b”
に、一つ前の本アクセスの検索キー“2”と現在の本ア
クセスのアドレス“a3”とをそれぞれKEY0,PA
A0として格納する。
【0076】以上のような登録・書込動作は、図6に示
す2番目,3番目の本アクセスについても全く同様に行
なわれ、第1のテーブル30Aには、アドレス“a3”
から“b3”への履歴とアドレス“b3”から“a4”
への履歴とが新たに登録されるとともに、第2のテーブ
ル30Bには、第1のテーブル30Bから、アドレス
“a5”から“f2”への履歴とアドレス“b2”から
“a3”への履歴とが書き込まれる。
【0077】ここまでの動作により、第1のテーブル3
0Aには、アドレス“a3”から“b3”への履歴とア
ドレス“b3”から“a4”への履歴とが登録されてい
る。また、アドレス“b2”から“a3”への履歴はア
ドレス“b3”から“a4”への履歴と同じエントリで
あるため、上書きされて消滅している。さて、図6に示
す4番目の本アクセスはアドレス“b3”に対するもの
で、AHT30(第2のテーブル30B)に履歴が登録
されていない場合を示す。ただし、この場合、キャッシ
ュヒット(B:hit)しているので、AHT30へのアク
セス履歴の書込・登録を行なわない(登録サイクルが無
い)。この点を除けば、この4番目の本アクセスに対す
る処理も、最初や3番目の本アクセスに対するものと同
様である。
【0078】ここで、何故、キャッシュヒットした場合
にはAHT30への登録を行なわないかについて簡単に
説明する。前記4番目の本アクセスについてもAHT3
0への登録を行なった場合、つまり、キャッシュミス/
ヒットに係わらずAHT30への登録を行なった場合、
AHT30をテーブル30A,30Bによる2段構成と
する必要はなくなる。何故ならば、毎回、第1のテーブ
ル30Aの内容が第2のテーブル30Bへコピーされる
ため、第1のテーブル30Aと第2のテーブル30Bと
が同じデータをもつことになるからである。
【0079】この場合、AHT30に登録されている予
測アドレスは全てキャッシュ装置12上に存在するデー
タになってしまい、予測アクセスを行なう意味がなくな
ってしまう。これを図6により確認すると、最初の本ア
クセスの直後に、第2のテーブル30Bにも、アドレス
“b2”から“a3”への履歴が登録されることにな
り、同時にキャッシュ装置12にもアドレス“a3”に
ついてのデータが主記憶装置2から読み出される。
【0080】これに対し、本発明のように構成すること
で、キャッシュ装置12上に読み出されているデータの
アドレスはAHT30の第1のテーブル30Aに登録さ
れ、第2のテーブル30Bには、キャッシュ装置12か
ら追い出されたデータのアドレスが登録されることにな
る。従って、予測アクセスは、キャッシュ装置12に読
み出されていないデータに対して行なわれることにな
る。
【0081】最後に、図6に示す5番目の本アクセスは
アドレス“a5”に対するもので、AHT30(第2の
テーブル30B)に履歴(アドレス“a5”から“f
2”への履歴)が登録されており、且つ、キャッシュヒ
ット(B:hit)している場合を示し、登録サイクルが無
い点を除いては、2番目の本アクセスの場合と同様の動
作となる。また、図6に示す6番目の本アクセスはアド
レス“b4”に対するもので、最初や3番目の本アクセ
スの場合と同様の動作を行なっている。
【0082】以上のように、本実施例によれば、中央処
理装置1からの本アクセス要求に対応するデータがキャ
ッシュ装置12に格納されている場合には、AHT30
へのアクセス履歴の書込を行なわないため、キャッシュ
装置12に格納されているデータに対するアクセスを重
複してAHT30に格納することを防止でき、データを
効率よく登録することができる。
【0083】また、前述したように、中央処理装置1か
らの本アクセスを一つ前のアクセスと対にしてAHT3
0に格納した時点では、その本アクセスにより読み出さ
れたデータはキャッシュ装置12に格納されており、そ
のアクセス履歴を予測アクセスとしてAHT30から検
索できる状態にしておいても、キャッシュ装置12でキ
ャッシュヒットとなり、データ先読み制御装置11にお
ける検索(予測)動作は無駄なものになる。
【0084】そこで、本実施例のように、AHT30
を、書込専用の第1のテーブル30Aと、検索専用の第
2のテーブル30Bとの2段構成とし、ATH30に書
き込んだ直後のアクセス履歴については、第1のテーブ
ル30Aに格納しておき、キャッシュ装置12から追い
出されたデータのアドレスが第2のテーブル30Bに登
録されるため、キャッシュ装置12上に存在するデータ
と同じデータに対して予測アクセスする確率が低くな
り、無駄な検索動作を行なうことなく効率のよい検索動
作を行なえる。
【0085】なお、AHT30(各テーブル30A,3
0B)のエントリは、主記憶装置2上の全ての記憶セル
に対応して設けることが望まれるが、このようにする
と、AHT30に必要なハードウエア量は莫大なものと
なるため、実際は、全主記憶セルに関する情報のうち、
最近にアクセスが行なわれた幾つかのセルに関する情報
のみを保持する。これは、キャッシュ装置で一般的に行
なわれている手法と全く同様である。本実施例における
AHT30の検索でも、一般のキャッシュ装置と同様に
アドレス情報の一部分のみを用いている(図3参照)。
【0086】
【発明の効果】以上詳述したように、本発明のデータ先
読み制御装置(請求項1)によれば、アクセス履歴をA
HTに登録し、本アクセス要求がある毎にAHTを検索
して予測を行なうことにより、アクセスの履歴に応じた
柔軟な予測が可能になって、分岐命令のみに限ることな
くオペランド系のアクセスについても確実に予測を行な
え、主記憶装置に対する見かけ上のアクセス時間を大幅
に短縮することができる。
【0087】また、主記憶装置に存在しないアドレスに
対して予測アクセスが起動された場合には、その予測ア
クセスの結果を無効化することにより(請求項2)、異
常動作が生じるのを確実に防止できる。さらに、中央処
理装置からの本アクセスを、キャッシュ装置を介して入
力するとともに、主記憶装置から読み出したデータをキ
ャッシュ装置を介して中央処理装置へ出力することによ
り(請求項3)、本発明のデータ先読み制御装置を、キ
ャッシュ装置をそなえる場合にも適用される同様の作用
効果を得ることができる。
【0088】このとき、予測アクセスのロード単位、お
よび、先読みデータ記憶手段のビット幅を、キャッシュ
装置の1ライン分と等しくすることにより(請求項
4)、先読みデータ記憶手段の内容をキャッシュ装置に
書き込むようにすることができ、データ先読み制御装置
からキャッシュ装置に対して効率のよいデータ書込を行
なえるとともに、キャッシュ装置におけるキャッシュヒ
ット率を向上できる効果がある。
【0089】また、中央処理装置からの本アクセス要求
に対応するデータがキャッシュ装置に格納されている場
合には、AHTへのアクセス履歴の書込を行なわないよ
うに構成することにより(請求項5)、キャッシュ装置
に格納されているデータに対するアクセスを重複してA
HTに格納することを防止できデータを効率よく登録で
きる。
【0090】さらに、AHTを、書込専用の第1のテー
ブルと、検索専用の第2のテーブルとの2段構成とし、
ATHに書き込んだ直後のアクセス履歴については、第
1のテーブルに格納しておき、検索対象は第2のテーブ
ルとすることにより(請求項6)、キャッシュ装置上に
存在するデータと同じデータに対して予測アクセスする
確率が低くなり、効率のよい検索動作を行なえる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の一実施例としてのデータ先読み制御装
置の構成を示すブロック図である。
【図3】本実施例における検索キーを説明するための図
である。
【図4】本実施例の動作を説明するためのタイミングチ
ャートである。
【図5】本実施例の動作を説明するためのタイミングチ
ャートである。
【図6】本実施例におけるアクセスヒストリテーブルの
動作を説明するためのタイミングチャートである。
【図7】一般的なデータ処理装置を示すブロック図であ
る。
【符号の説明】
1 中央処理装置(CPU) 2 主記憶装置(MSU) 10,10A データ処理装置 11,11A データ先読み制御装置 12 キャッシュ装置(バッファ記憶装置) 21 アクセスヒストリテーブル 22 検索手段 23 予測アクセス起動手段 24 データ記憶手段 25 判定手段 26 切換手段 30 アクセスヒストリテーブル(AHT) 30A 第1のテーブル 30B 第2のテーブル 31 最終アクセスアドレスレジスタ(LAAR) 32 セレクタ(検索手段) 33 AHT用コントロール回路(検索手段) 34 比較回路(検索手段) 35 予測アドレス出力部(予測アクセス起動手段) 36 プリフェッチアクセスアドレスレジスタ(PAA
R) 37 セレクタ(予測アクセス起動手段) 38 プリフェッチアクセスデータレジスタ(PAD
R,先読みデータ記憶手段) 39 比較回路(判定手段) 40 セレクタ(切換手段) 41 切換用コントロール回路(切換手段,予測アドレ
ス起動手段) 42〜44 アドレス線

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 各種演算処理を実行する少なくとも一つ
    の中央処理装置(1)と、該中央処理装置(1)の各種
    データを記憶する主記憶装置(2)とからなるデータ処
    理装置(10)において該中央処理装置(1)と該主記
    憶装置(2)との間にそなえられ、該中央処理装置
    (1)からの本アクセス要求に応じて該本アクセス要求
    の次の本アクセスを予測しその予測結果に基づいて該主
    記憶装置(2)に対する予測アクセスを行なうことによ
    り該主記憶装置(2)から該中央処理装置(1)の必要
    とするデータを先読みしうるデータ先読み制御装置であ
    って、 該中央処理装置(1)から該主記憶装置(2)に対して
    生じる、連続する2つの本アクセス要求を対にして、初
    めの本アクセスに応じて後の本アクセスをアクセス履歴
    として記憶するアクセスヒストリテーブル(21)と、 該中央処理装置(1)から該主記憶装置(2)に対する
    本アクセス要求があった場合に、当該本アクセス要求に
    対応する後のアクセスを、該アクセスヒストリテーブル
    (21)から予測アクセスとして検索する検索手段(2
    2)と、 該検索手段(22)により当該本アクセス要求に対応す
    る後のアクセスが該アクセスヒストリテーブル(21)
    から検索された場合に、検索された後のアクセスを予測
    アクセスとして該主記憶装置(2)に対して起動する予
    測アクセス起動手段(23)と、 該予測アクセス起動手段(23)により起動された予測
    アクセスにより該主記憶装置(2)から読み出された先
    読みデータを格納する先読みデータ記憶手段(24)
    と、 当該本アクセス要求の次の本アクセス要求と、該検索手
    段(22)により検索された予測アクセスとが同一のも
    のであるか否かを比較して判定する判定手段(25)
    と、 該判定手段(25)により同一のものであると判定され
    た場合で、該予測アクセスによる処理を終了している場
    合には該先読みデータ記憶手段(24)に格納されてい
    る先読みデータを該中央処理装置(1)側へ出力する一
    方、該予測アクセスによる処理を終了していない場合に
    は該予測アクセスを本アクセスに切り換えそのアクセス
    により該主記憶装置(2)から読み出された先読みデー
    タをそのまま該中央処理装置(1)側へ出力する切換手
    段(26)とがそなえられていることを特徴とする、デ
    ータ先読み制御装置。
  2. 【請求項2】 該予測アクセス起動手段(23)により
    起動された予測アクセスが、該主記憶装置(2)に存在
    しないアドレスに対するものであった場合には、当該予
    測アクセスの結果を無効にすることを特徴とする、請求
    項1記載のデータ先読み制御装置。
  3. 【請求項3】 該中央処理装置(1)との間に、該中央
    処理装置(1)からの本アクセス要求により該主記憶装
    置(2)から読み出したデータを一時的に格納し該中央
    処理装置(1)からの本アクセス要求に対応するデータ
    が格納されている場合にはそのデータを該中央処理装置
    (1)へ出力するキャッシュ装置(12)を介設され、 該中央処理装置(1)からの本アクセスを、該キャッシ
    ュ装置(12)を介して入力されるとともに、該主記憶
    装置(2)から読み出したデータを該キャッシュ装置
    (12)を介して該中央処理装置(1)へ出力すること
    を特徴とする、請求項1または2に記載のデータ先読み
    制御装置。
  4. 【請求項4】 前記予測アクセスのロード単位、およ
    び、該先読みデータ記憶手段(24)のビット幅を、該
    キャッシュ装置(12)の1ライン分と等しくすること
    を特徴とする、請求項3記載のデータ先読み制御装置。
  5. 【請求項5】 該中央処理装置(1)からの本アクセス
    要求に対応するデータが該キャッシュ装置(12)に格
    納されている場合には、該アクセスヒストリテーブル
    (21)への前記アクセス履歴の書込を行なわないこと
    を特徴とする、請求項3または4に記載のデータ先読み
    制御装置。
  6. 【請求項6】 前記アクセスヒストリテーブル(21)
    が、前記アクセス履歴を書き込むための第1のテーブル
    と、該第1のテーブルに書き込まれたデータを該第1の
    テーブルから転送・格納され該検索手段(22)による
    予測アクセス検索対象となる第2のテーブルとの2段か
    ら構成されていることを特徴とする、請求項3〜5のい
    ずれかに記載のデータ先読み制御装置。
JP01426694A 1994-02-08 1994-02-08 データ先読み制御装置 Expired - Fee Related JP3284508B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01426694A JP3284508B2 (ja) 1994-02-08 1994-02-08 データ先読み制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01426694A JP3284508B2 (ja) 1994-02-08 1994-02-08 データ先読み制御装置

Publications (2)

Publication Number Publication Date
JPH07219838A true JPH07219838A (ja) 1995-08-18
JP3284508B2 JP3284508B2 (ja) 2002-05-20

Family

ID=11856297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01426694A Expired - Fee Related JP3284508B2 (ja) 1994-02-08 1994-02-08 データ先読み制御装置

Country Status (1)

Country Link
JP (1) JP3284508B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040090A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央処理方法。
JP2006215799A (ja) * 2005-02-03 2006-08-17 Toshiba Corp メモリコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040090A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央処理方法。
JP2006215799A (ja) * 2005-02-03 2006-08-17 Toshiba Corp メモリコントローラ

Also Published As

Publication number Publication date
JP3284508B2 (ja) 2002-05-20

Similar Documents

Publication Publication Date Title
KR100333470B1 (ko) 세트 예측을 사용하여 세트 연상 캐시에서 대기 시간을감소시키기 위한 방법 및 장치
US4701844A (en) Dual cache for independent prefetch and execution units
JP4027620B2 (ja) 分岐予測装置、プロセッサ、及び分岐予測方法
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US5790823A (en) Operand prefetch table
JPH10232827A (ja) 先取りキャッシュ書戻しの方法と装置
JPH06318177A (ja) キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム
JPH03147022A (ja) 分岐命令処理装置および処理方法
JPH0820950B2 (ja) マルチ予測型分岐予測機構
JPH0321934B2 (ja)
US8601240B2 (en) Selectively defering load instructions after encountering a store instruction with an unknown destination address during speculative execution
US20090037663A1 (en) Processor equipped with a pre-fetch function and pre-fetch control method
KR100234647B1 (ko) 인스트럭션 프리페치 방법 및 데이터 처리 시스템
US5634119A (en) Computer processing unit employing a separate millicode branch history table
JPH06168119A (ja) データ先読み制御装置
JP3973129B2 (ja) キャッシュメモリ装置及びそれを用いた中央演算処理装置
JPH1055276A (ja) 多重レベル分岐予測方法および装置
US5724548A (en) System including processor and cache memory and method of controlling the cache memory
JP3284508B2 (ja) データ先読み制御装置
US6934810B1 (en) Delayed leaky write system and method for a cache memory
EP0156307A2 (en) Pipelined processor having dual cache memories
JPH0477344B2 (ja)
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP2014194586A (ja) 半導体装置
JP2972451B2 (ja) ハードウェア制御ソフトウェアによるキャッシュメモリ制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020212

LAPS Cancellation because of no payment of annual fees