JPH09259040A - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置

Info

Publication number
JPH09259040A
JPH09259040A JP8068836A JP6883696A JPH09259040A JP H09259040 A JPH09259040 A JP H09259040A JP 8068836 A JP8068836 A JP 8068836A JP 6883696 A JP6883696 A JP 6883696A JP H09259040 A JPH09259040 A JP H09259040A
Authority
JP
Japan
Prior art keywords
address
cache
control information
read
data
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.)
Pending
Application number
JP8068836A
Other languages
English (en)
Inventor
Tomoaki Sumita
智昭 住田
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP8068836A priority Critical patent/JPH09259040A/ja
Publication of JPH09259040A publication Critical patent/JPH09259040A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 プロセッサ1から読み出し要求されたデータ
に応じて適応的に決定した先読アドレスのデータを先読
みすることにより、キャッシュメモリ3のヒット率を確
実に向上させることができるキャッシュメモリ装置を提
供する。 【解決手段】 メインメモリ2とキャッシュメモリ3に
は、データと共にキャッシュ制御情報を記憶する領域が
設けられる。キャッシュ制御装置4は、プロセッサ1か
らのデータの読み出し要求があるたびに、このデータに
付随するキャッシュ制御情報に基づいてアドレス計算回
路4bで先読アドレスを決定し、この先読アドレスのデ
ータをメインメモリ2からキャッシュメモリ3に先読み
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムにおいて、プロセッサとメインメモリとの間にキャ
ッシュメモリを配置することにより、メインメモリの見
掛け上のアクセス速度を向上させるキャッシュメモリ装
置に関する。
【0002】
【従来の技術】ノイマン型コンピュータ[von Neumann t
ype computer]は、メインメモリ(主記憶装置)に格納
した命令をデータとして逐次読み出すことによりプログ
ラムを実行する。このため、プロセッサの処理速度が向
上しても、メインメモリのアクセス速度がこれに追従で
きないと、プロセッサの待ち時間が多くなり処理能力を
十分に発揮することができなくなる。しかし、メインメ
モリは、コンピュータシステムの規模が大きくなるに従
って大容量のものが要求されるので、アクセス速度が速
い高価なデバイスを用いることは不経済であり、アクセ
ス速度はある程度妥協しても安価なデバイスを用いざる
を得ないことが多い。そこで、このようなコンピュータ
では、大容量ではあるがアクセス速度が遅いメインメモ
リと処理速度の速いプロセッサとの間に、小容量ではあ
るがアクセス速度の速いキャッシュメモリを配置するこ
とにより、このメインメモリの見掛け上のアクセス速度
を向上させるキャッシュメモリ装置が従来から広く利用
されている。
【0003】従来のキャッシュメモリ装置の構成例を図
12に示す。プロセッサ1が送出するアドレスは、キャ
ッシュ制御装置4を介してメインメモリ2とキャッシュ
メモリ3に送られる。そして、データは、このキャッシ
ュ制御装置4を介して、プロセッサ1とメインメモリ2
とキャッシュメモリ3のそれぞれの相互間で読み出しと
書き込みを行うことができるようになっている。また、
キャッシュメモリ3は、要求されたアドレスのデータが
存在するかどうかを通知するためのヒット信号をキャッ
シュ制御装置4に送り、このキャッシュ制御装置4は、
データの読み出しが確定したかどうかを通知するための
ウェイト信号をプロセッサ1に送る。なお、ここでは簡
単のため、これらプロセッサ1やメインメモリ2などの
間でやり取りされる他の制御信号の説明は省略する。
【0004】上記プロセッサ1が読み出し要求のための
アドレスを送出すると、キャッシュ制御装置4は、この
アドレスをキャッシュメモリ3に送る。キャッシュメモ
リ3は、送られて来たアドレスのデータが存在するかど
うかを検索して、このデータが存在しない場合にはヒッ
ト信号をミス状態にする。すると、キャッシュ制御装置
4は、このヒット信号を参照してアドレスがミス[cache
miss]したことを知り、このアドレスをメインメモリ2
に送ってデータを読み出させ、データの読み出しが完了
すると、このデータをプロセッサ1に送りウェイト信号
を読み出し確定状態にする。したがって、プロセッサ1
は、メインメモリ2からの読み出しを待ってウェイト信
号が読み出し確定状態になったことを確認した後にデー
タを読み込むことができる。また、キャッシュ制御装置
4は、このデータをキャッシュメモリ3にも送り、この
キャッシュメモリ3の適宜領域に記憶させる。この際、
キャッシュメモリ3は、記憶容量がメインメモリ2より
も十分に小さいために、通常は既に全ての領域が使用済
みとなっているので、例えば最後のアクセスが最も古い
データと交換するLRU[Least Recently Used]アルゴ
リズムなどにより、新たなデータの記憶領域を確保す
る。
【0005】キャッシュメモリ3には、上記ようにアド
レスがミスしたデータが記憶され、新たなデータと交換
されるまで保持される。そして、これによりプロセッサ
1からの読み出し要求があったアドレスのデータがキャ
ッシュメモリ3に存在していた場合には、ヒット信号が
ヒット状態にされると共に、このデータが読み出され
る。すると、キャッシュ制御装置4は、このヒット信号
を参照してヒット[cachehit]したことを知り、キャッシ
ュメモリ3から読み出したデータをプロセッサ1に送る
と共に、直ちにウェイト信号を読み出し確定状態にす
る。したがって、プロセッサ1は、送出したアドレスが
キャッシュメモリ3でミスした場合には、上記のように
アクセス速度の遅いメインメモリ2からの読み出しを待
つ必要があるが、このアドレスがヒットした場合には、
アクセス速度の速いキャッシュメモリ3から極めて高速
にデータを読み出すことができるので、ヒット率が十分
に高ければ見掛け上のアクセス速度を向上させることが
できる。
【0006】プロセッサ1が書き込み要求のためのアド
レスとデータを送出した場合には、キャッシュ制御装置
4がこのアドレスとデータをキャッシュメモリ3にのみ
送って記憶させ、上記新たなデータとの交換が必要にな
ってからメインメモリ2に書き出すライトバック[write
-back]方式と、キャッシュ制御装置4がこのアドレスと
データをキャッシュメモリ3とメインメモリ2に送って
双方に記憶させるライトスルー[write-through]方式と
がある。そして、いずれの方式の場合にも、一度書き込
んだデータはキャッシュメモリ3に保持されるので、こ
れによっても次の読み出しの際のアクセス速度が向上す
る。また、ライトバック方式の場合には、とりあえずデ
ータをキャッシュメモリ3にのみ記憶させるので、書き
込みの際のアクセス速度も向上させることができる。
【0007】上記キャッシュメモリ3は、データをその
アドレスに対応するアドレスタグと共に記憶する。例え
ば、プロセッサ1が送出するアドレスを32ビットと
し、メインメモリ2からは各アドレス毎に記憶された3
2ビットの1語のデータが一度に読み出されるものとす
る。キャッシュメモリ3がデータを1語ずつ記憶する場
合には、図13に示すように、32ビットのアドレスを
そのままアドレスタグとして使用し、1語32ビットの
データと対応付けて各領域に記憶させる。また、図14
に示すように、例えばキャッシュメモリ3の記憶領域を
00H〜FFH(Hは16進表記を示す)の256領域
設けておき、アドレスの下位8ビットの値に応じてこの
記憶領域を特定させる場合もある。この場合、アドレス
タグは、アドレスの上位24ビットによって構成され
る。そして、キャッシュメモリ3にアドレスが送られて
来ると、このアドレスの下位8ビットの値に対応する記
憶領域のアドレスタグとこのアドレスの上位24ビット
を比較することによりヒットかミスかの判断を行うこと
ができる。ただし、この場合には、アドレスの下位8ビ
ットによってキャッシュメモリ3上の記憶領域が特定さ
れるために、命令とこの命令の処理対象となる処理デー
タのアドレスの下位8ビットが偶然一致したときにヒッ
ト率が低下するので、通常はハーバードアーキテクチャ
などでの命令専用の命令キャッシュや処理データ専用の
データキャッシュにのみ使用される。
【0008】さらに、キャッシュメモリ3が各アドレス
タグ毎に対応付けるデータを1ブロックのデータとする
と、各ブロックを複数語のデータで構成することもでき
る。この際、キャッシュ制御装置4は、プロセッサ1が
アクセスを要求するアドレスを含む1ブロック分のアド
レスをメインメモリ2に送ることにより複数語のデータ
を読み出させキャッシュメモリ3に1ブロックとして記
憶させる。例えばキャッシュメモリ3が4語のデータを
1ブロックとする場合には、図15に示すように、アド
レスタグをアドレスの上位30ビットによって構成し、
各アドレスタグに32ビットのデータを4語ずつ対応付
けて記憶させる。この場合、キャッシュメモリ3にアド
レスが送られて来ると、このアドレスの上位30ビット
の値と各アドレスタグとを比較することによりヒットか
ミスかの判断を行う。そして、アドレスがヒットした場
合には、そのアドレスタグに対応付けられた1ブロック
のデータの中から、このアドレスの下位2ビットの00
B〜11B(Bは2進表記を示す)の値に応じた場所に
記憶された1語を選択することにより目的のデータを得
ることができる。
【0009】また、例えばプロセッサ1の語長は32ビ
ットであるが、メインメモリ2が1アドレスに1バイト
(8ビット)のデータを記憶するバイトアドレスである
ような場合にも、アドレスタグをアドレスの上位30ビ
ットによって構成し、4アドレス分のバイトデータを1
語にまとめて各アドレスタグに1ブロックとして記憶さ
せることもできる。しかも、この4アドレス分のバイト
データをさらに複数語まとめたものを1ブロックとする
こともでき、さらに、これらの複数語のデータを図14
に示した形式で記憶させることもできる。そして、これ
らの場合には、アドレスタグを構成するビット数がさら
に減少する。なお、メインメモリ2から複数語のデータ
をブロック単位で読み込む場合には、バースト読み出し
などの高速読出モードを利用したり、キャッシュメモリ
3との間のデータバス幅を複数語分に広げるようにし
て、読み出し効率を高めることができる。
【0010】ここで、プロセッサ1は、アクセスするデ
ータのメインメモリ2上でのアドレス分布に時間的・空
間的な局所性が強いために、同じアドレスに記憶された
データを繰り返しアクセスすることが比較的多くなる。
即ち、プログラムは、原則として各命令をメインメモリ
2上のアドレスの順に実行される。そして、ループ命令
やその他の分岐命令によって以前に実行された命令のア
ドレスに戻ることにより、一連の命令が繰り返し実行さ
れることが多くなり、サブルーチンとなる一連の命令
も、サブルーチンコール命令などによって繰り返し呼び
出されて実行されることが多くなる。また、このプログ
ラムが処理を行うデータについても、短い期間内に同じ
アドレスに記憶された一部のデータのみが繰り返し参照
されたり書き換えられることが多くなる。
【0011】したがって、上記従来のキャッシュメモリ
装置のように、プロセッサ1が1度アクセスしたデー
タ、または、その近隣の1ブロックのデータのみをキャ
ッシュメモリ3に保持するようにした場合であっても、
このキャッシュメモリ3のヒット率は十分に高くなり、
メインメモリ2の見掛け上のアクセス速度を確実に向上
させることができる。ただし、この場合にも、プロセッ
サ1が始めてアクセスするアドレス領域や以前にアクセ
スしていても既にキャッシュメモリ3に存在しなくなっ
たアドレス領域にアクセスするような場合に、各データ
または1ブロックのデータを読み込むたびにキャッシュ
メモリ3でミスが発生するので、ヒット率の向上に限度
が生じアクセス速度をさらに向上させることができなか
った。
【0012】このため、特願平5−44176号では、
ヒット率が低下した場合に、それまでにアクセスした所
定回数分のアドレスの履歴に基づいて今後アクセスされ
る可能性の高いアドレスを予測し、このアドレスのデー
タを事前にキャッシュメモリ3に読み込んでおくように
したキャッシュメモリ装置が提案されている。このキャ
ッシュメモリ装置は、図16に示すように、キャッシュ
制御装置4内にアドレス予測回路4fが設けられてい
る。アドレス予測回路4fは、例えば履歴アドレスが順
に大きくなっている場合に、今回と前回のアドレスの差
を今回のアドレスに加算して予測アドレスを算出した
り、逆の場合に、同様にして算出したアドレスよりも1
ブロック前のアドレスを予測アドレスとし、また、今回
のアドレスに所定値を加減算することにより予測アドレ
スを算出するものである。そして、プロセッサ1が今回
のアドレスのデータを読み込んで処理する間に、制御回
路4aがこの予測アドレスのデータをメインメモリ2か
ら読み出しキャッシュメモリ3に記憶させておく。する
と、例えばプロセッサ1が新たなアドレス領域の各命令
の実行を開始したためにヒット率が低下したような場合
に、現在実行している命令よりも先のアドレスにある命
令を事前に読み込んでおくことができるので、ヒット率
をさらに向上させることができる。
【0013】
【発明が解決しようとする課題】ところが、上記特願平
5−44176号の発明では、アドレス予測回路4fが
履歴アドレスのみに基づいて予測アドレスを算出するの
で、メインメモリ2のデータがアドレス順から大きく逸
脱することなく順次読み出されることを前提に今後アク
セスされる可能性の高いアドレスを予測せざるを得な
い。このため、分岐命令などによる分岐が生じた場合に
は、分岐先の命令を読み込む際にキャッシュメモリ3で
ミスが発生することが多くなるので、ヒット率が必ず確
実に向上するとは限らないという問題があった。しか
も、このような分岐が生じても、これらの分岐命令に続
くアドレスの命令が事前にキャッシュメモリ3に読み込
まれるので、実行されない無駄な命令の読み込みによ
り、保持すべきデータがキャッシュメモリ3から排除さ
れて逆にヒット率を低下させたり、不必要な読み込み動
作による消費電力の無駄が生じるという問題もあった。
【0014】本発明は、上記事情に鑑み、キャッシュ制
御情報に基づいて適応的に先読アドレスを決定すること
によりヒット率を確実に向上させることができるキャッ
シュメモリ装置を提供することを目的としている。
【0015】
【課題を解決するための手段】本発明は、プロセッサ側
とメインメモリ側との間にキャッシュメモリを配置する
キャッシュメモリ装置において、メインメモリの各アド
レスにデータの他に、キャッシュ制御情報を記憶する領
域が設けられると共に、該キャッシュメモリのアドレス
タグとデータを記憶する各領域に、キャッシュ制御情報
を記憶する領域が設けられ、該プロセッサ側から読み出
し要求があった場合に、読み出し要求されたアドレスが
該キャッシュメモリでヒットすると、該キャッシュメモ
リからヒットしたデータを読み出して該プロセッサ側に
送り、また、読み出し要求されたアドレスが該キャッシ
ュメモリでミスすると、該メインメモリ側から該アドレ
スのデータと該キャッシュ制御情報を読み出して、デー
タを該プロセッサ側に送ると共に、該データと該キャッ
シュ制御情報をアドレスに対応するアドレスタグを伴っ
て該キャッシュメモリの適宜領域に記憶させるキャッシ
ュ読出制御手段と、該プロセッサ側から読み出し要求が
あった場合に、該キャッシュ読出制御手段が該キャッシ
ュメモリまたは該メインメモリ側から読み出したデータ
の該キャッシュ制御情報に基づく先読アドレスを決定す
ると共に、該先読アドレスが該キャッシュメモリでヒッ
トするかどうかを検査し、結果がミスになると、該メイ
ンメモリ側から該先読アドレスのデータと該キャッシュ
制御情報を読み出して該先読アドレスに対応するアドレ
スタグを伴い該キャッシュメモリの適宜領域に記憶させ
るキャッシュ先読手段とを備え、そのことにより上記目
的が達成される。
【0016】好ましくは、前記キャッシュ制御情報が、
所定の演算のパラメータを示すコード、または、所定の
複数の演算制御処理のいずれかを指定するコードであ
り、キャッシュ先読手段が、キャッシュ制御情報によっ
て示されたパラメータを用いて所定の演算を実行し、ま
たは、キャッシュ制御情報によって指定された所定の演
算制御処理を実行することにより、キャッシュ制御情報
に基づく先読アドレスを決定する。
【0017】また、好ましくは、前記キャッシュ制御情
報が、該キャッシュ制御情報を記憶するアドレスと先読
アドレスとの変位を示す相対アドレスであり、前記キャ
ッシュ先読手段が、キャッシュ制御情報のアドレスに、
該キャッシュ制御情報によって示された相対アドレスを
加算して、キャッシュ制御情報に基づく先読アドレスを
決定する。
【0018】また、好ましくは、前記キャッシュ制御情
報に基づく先読アドレスが、該キャッシュ制御情報のア
ドレスよりも、キャッシュメモリの1ブロック分だけ先
のアドレスに定められるものである。
【0019】また、好ましくは、前記キャッシュ制御情
報に基づく先読アドレスが、該キャッシュ制御情報のア
ドレスよりも、キャッシュメモリの2ブロック分だけ先
のアドレスに定められるものである。
【0020】以下作用について説明する。
【0021】上記構成により、プロセッサ側から読み出
し要求があると、キャッシュ読出制御手段が本来のキャ
ッシュ処理を行うと共に、キャッシュ先読手段が先読ア
ドレスを決定し、この先読アドレスのデータがキャッシ
ュメモリに存在しない場合に、これをメインメモリ側か
ら読み出して事前にキャッシュメモリに記憶させておく
ことができる。そして、この先読アドレスは、読み出し
要求があったアドレスのみに基づいて決定するのではな
く、このアドレスに記憶されたデータに付随するキャッ
シュ制御情報に基づいて決定するので、実際にこのアド
レスに記憶されたデータの内容に応じたアドレスとする
ことができる。即ち、分岐命令などにより次にアクセス
されるアドレスが元のアドレスからだけでは単純に予測
し得ないような場合にも、例えばこの分岐命令で指定さ
れた分岐先のアドレスを先読アドレスとするようなこと
が可能になる。したがって、キャッシュ制御情報に基づ
き適応的に先読アドレスを決定することにより、近い将
来に確実にアクセスされるアドレス、または、アクセス
される可能性が極めて高いアドレスのデータを先読みす
ることができるので、キャッシュメモリのヒット率を高
めることができる。
【0022】なお、キャッシュメモリ装置は、プロセッ
サとメインメモリとの間に複数設けられる場合があるの
で、本発明のキャッシュメモリ装置のプロセッサ側に
は、例えばプロセッサに内蔵される内蔵キャッシュメモ
リによる内蔵キャッシュメモリ装置を介してプロセッサ
本体が接続されることがあり、本発明のキャッシュメモ
リ装置のメインメモリ側には、例えばプロセッサの外部
に実装される外部キャッシュメモリによる外部キャッシ
ュメモリ装置を介してメインメモリが接続されることが
ある。また、このプロセッサ側又はメインメモリ側に
は、メモリ管理ユニットが接続されていてもよく、プロ
セッサ側にメモリ管理ユニットが接続される場合には、
物理アドレスによってアクセスが要求され、メインメモ
リ側にメモリ管理ユニットが接続される場合には、論理
アドレスによってアクセスが要求されることになる。さ
らに、ここでいうメインメモリなどに記憶されるデータ
は、プログラムの処理対象となる本来の処理データのみ
ならず、プログラムの命令やその他のコードを含むこと
ができ、また、命令のみまたは処理データのみに限定す
ることもできる。
【0023】さらに、キャッシュメモリの各領域には、
アドレスタグと共に1アドレスのデータだけを記憶させ
てもよいし、複数アドレスのデータを記憶させることも
できる。ここでは、これら各アドレスタグと共に記憶さ
れる1アドレスまたは複数アドレスのデータを1ブロッ
クのデータとする。また、アドレスタグは、アドレス自
身の場合もあるし、アドレスの一部のビットなどで構成
される場合もある。1ブロックが複数アドレスのデータ
からなる場合やアドレスタグがアドレスの一部のビット
などで構成される場合であっても、各データのアドレス
はアドレスタグとそのキャッシュメモリ上での記憶場所
から特定することができる。1ブロックが複数アドレス
のデータからなる場合、キャッシュ読出制御手段やキャ
ッシュ先読手段は、読み出し要求されたアドレスや先読
アドレスに基づいて1度のアクセスで、または、これら
のアドレスを含む複数のアドレスに基づいて複数回のア
クセスを行うことにより、メインメモリ側からこれら複
数のデータをキャッシュ制御情報と共に読み出すことに
なる。
【0024】さらに、メインメモリには、各アドレスに
キャッシュ制御情報を1単位ずつ記憶させてもよいし、
1単位のキャッシュ制御情報をメインメモリの複数のア
ドレスに分割して記憶させるようにしてもよい。上記の
ように1ブロックが複数アドレスのデータからなる場合
に、1単位のキャッシュ制御情報を1ブロック分の複数
アドレスに分割して記憶させると、キャッシュメモリの
各アドレスタグ毎に1単位のキャッシュ制御情報が得ら
れる。このキャッシュ制御情報は、例えば先読アドレス
をそのまま示す絶対アドレスによって表すことができ
る。そして、この場合、キャッシュ先読手段は、キャッ
シュ制御情報をそのまま先読アドレスとして決定する。
ただし、このようにキャッシュ制御情報を絶対アドレス
で表すと、キャッシュ制御情報のビット数が多くなりメ
インメモリやキャッシュメモリの容量が増大する。
【0025】さらに、プロセッサ側から書き込み要求が
あった場合には、ライトスルー方式やライトバック方式
などの任意のキャッシュ処理を行うことができる。ま
た、この場合には、必ずしも先読みを行う必要はない
が、読み出し要求時と同様の先読み処理を行うことも可
能である。
【0026】また、上記構成により、キャッシュ制御情
報を所定の演算のパラメータを示すコード、または、所
定の複数の演算制御処理のいずれかを指定するコードで
表すので、このキャッシュ制御情報のビット数を減少さ
せることができる。キャッシュ制御情報を所定の演算の
パラメータを示すコードで表す場合としては、例えばキ
ャッシュ制御情報を相対アドレスで表し、所定の演算を
そのキャッシュ制御情報のアドレスとこの相対アドレス
との加算処理(相対アドレスが負の場合には減算処理)
とする場合がある。キャッシュ制御情報を所定の複数の
演算制御処理のいずれかを指定するコードで表す場合と
しては、例えばキャッシュ制御情報を演算制御処理の指
定と相対アドレスを示すコードで表す場合がある。この
場合、指定された演算制御処理によって、そのキャッシ
ュ制御情報のアドレスと相対アドレスとの加算処理とし
たり、例えば特定のステイタスレジスタの値に応じてそ
のキャッシュ制御情報のアドレスに相対アドレスを加算
するか一定値を加算するかを選択させるような処理とす
ることができる。
【0027】さらに、上記構成により、キャッシュ制御
情報を相対アドレスで表すので、この相対アドレスの範
囲を限定することにより、キャッシュ制御情報のビット
数を減少させることができる。プロセッサによっては分
岐命令で指定する分岐先のアドレスの範囲が限定される
場合があり、この場合も含め一般に分岐命令による分岐
先は、アドレス空間の全範囲ではなく多くがある程度の
限られた範囲内となる。したがって、近い将来にアクセ
スされる可能性があるとして予測される先読アドレスの
ほとんどは、このように範囲が限定された相対アドレス
で表すことが可能となる。
【0028】なお、上記のようにキャッシュメモリの1
ブロックが複数アドレスのデータからなる場合には、相
対アドレスの例えば+1をこの複数アドレスの増分に対
応させることにより、さらにビット数を減少させること
ができる。
【0029】さらに、上記構成により、キャッシュ制御
情報に基づく先読アドレスが原則としてそのキャッシュ
制御情報を記憶するアドレスの次のアドレスや次のブロ
ックのアドレスに定められる。分岐命令などを除く通常
の命令の場合には、アドレスの順に実行されるので、先
読アドレスを次のアドレスに定めておけば、近い将来実
行される可能性の高い命令を先読することができる。ま
た、例えば配列データの場合にも各要素を連続するアド
レスに記憶することが多いので、添え字を順に増加させ
てアクセスする際には、同様に近い将来アクセスされる
可能性の高い要素を先読することができる。
【0030】さらに、上記構成により、キャッシュ制御
情報に基づく先読アドレスが原則としてそのキャッシュ
制御情報を記憶するアドレスの次の次のアドレスや次の
次のブロックのアドレスに定められる。この場合にも、
少し先の命令などを事前に先読みすることができる。
【0031】なお、先読アドレスを常に次のアドレスや
次の次のアドレスなどに固定したのでは、読み出し要求
があったアドレスのみに基づいて先読アドレスが一律に
決定できることになり、キャッシュ制御情報を設ける意
味がなくなる。即ち、本発明は、分岐命令などの場合に
も、このキャッシュ制御情報に基づいてより適切な先読
アドレスを決定することができるようにするものであ
る。
【0032】
【発明の実施の形態】以下、本発明の実施形態について
説明する。
【0033】図1乃至図11は本発明の一実施形態を示
すものであって、図1はキャッシュメモリ装置における
キャッシュ制御装置の具体的構成を示すブロック図、図
2はキャッシュメモリ装置の構成を示すブロック図、図
3はメインメモリに記憶したデータとキャッシュ制御情
報を示す図、図4はキャッシュメモリに記憶したアドレ
スタグとデータとキャッシュ制御情報を示す図、図5は
キャッシュ制御装置の制御回路の動作を示すフローチャ
ート、図6はアドレス計算回路の構成を示すブロック
図、図7はキャッシュ制御情報のビット構成を示す図、
図8はアドレス計算回路の他の構成を示すブロック図、
図9はキャッシュ制御情報を次のアドレスの絶対アドレ
スとした場合のメインメモリのメモリマップ、図10は
キャッシュ制御情報を次のアドレスの絶対アドレスとし
た場合のメインメモリのメモリマップ、図11はキャッ
シュ制御情報を次のアドレスを示す相対アドレスとした
場合のメインメモリのメモリマップである。なお、図1
2〜図16に示した従来例と同様の機能を有する構成部
材には同じ符号を付記する。
【0034】本実施形態では、プロセッサの語長をmビ
ットとして、メインメモリから1語mビットのデータを
mビット幅のデータバスを介して1度に読み込むものと
し、メインメモリもmビットアドレスとして、各アドレ
スにmビットのデータを記憶するものとする。
【0035】本実施形態のキャッシュメモリ装置は、図
1および図2に示すように、プロセッサ1とメインメモ
リ2とキャッシュメモリ3とキャッシュ制御装置4とか
らなる。プロセッサ1が送出するアドレスは、キャッシ
ュ制御装置4を介してメインメモリ2とキャッシュメモ
リ3に送られる。そして、データは、このキャッシュ制
御装置4を介して、プロセッサ1とメインメモリ2とキ
ャッシュメモリ3のそれぞれの相互間で読み出しと書き
込みを行うことができるようになっている。また、キャ
ッシュ制御情報は、このキャッシュ制御装置4を介し
て、メインメモリ2とキャッシュメモリ3との間で読み
出しと書き込みを行うことができるようになっている。
さらに、キャッシュメモリ3は、要求されたアドレスの
データが存在するかどうかを通知するためのヒット信号
をキャッシュ制御装置4に送り、このキャッシュ制御装
置4は、データの読み出しが確定したかどうかを通知す
るためのウェイト信号をプロセッサ1に送る。なお、こ
こでも簡単のため、他の制御信号の説明は省略する。
【0036】メインメモリ2には、図3に示すように、
各アドレス毎に、1語mビットのデータを記憶する領域
の他に、nビットのキャッシュ制御情報を記憶する領域
が設けられている。また、キャッシュメモリ3は、ここ
では簡単のため、各アドレスタグ毎に1語のデータのみ
を記憶する構成とする。したがって、図4に示すよう
に、キャッシュメモリ3には、アドレスのビット幅と同
じkビットのアドレスタグと1語mビットのデータとn
ビットのキャッシュ制御情報を記憶する領域が複数設け
られている。キャッシュ制御情報は、先読アドレスを求
めるためのコードであり、先読アドレスは、そのキャッ
シュ制御情報が付随するデータに応じて、近い将来に確
実にアクセスされると予測されるアドレス、または、近
い将来にアクセスされる可能性が極めて高いと判断され
るアドレスである。これらキャッシュ制御情報と先読ア
ドレスについては、後にさらに詳細に説明する。
【0037】キャッシュ制御装置4は、図1に示すよう
に、制御回路4aとアドレス計算回路4bとアドレス選
択回路4c,データ選択回路4dおよびキャッシュ制御
情報選択回路4eとからなる。アドレス選択回路4c
は、プロセッサ1が送出するアドレスかアドレス計算回
路4bが送出するアドレスをメインメモリ2とキャッシ
ュメモリ3に振り分けて送るセレクタであり、データ選
択回路4dは、プロセッサ1とメインメモリ2とキャッ
シュメモリ3との相互間でのデータの送受を切り換える
セレクタである。また、キャッシュ制御情報選択回路4
eは、メインメモリ2とキャッシュメモリ3との間でキ
ャッシュ制御情報の送受を行わせたり、これらメインメ
モリ2やキャッシュメモリ3から読み出したキャッシュ
制御情報をアドレス計算回路4bに送るようにしたセレ
クタである。アドレス計算回路4bは、このキャッシュ
制御情報選択回路4eから送られて来たキャッシュ制御
情報に基づいて先読アドレスを決定し、この先読アドレ
スをアドレス選択回路4cに送る回路である。このアド
レス計算回路4bが具体的に先読アドレスをどのように
決定するかは後に詳細に説明する。制御回路4aは、キ
ャッシュメモリ3からのヒット信号を受け取り、プロセ
ッサ1にウェイト信号を送るようになっている。そし
て、この制御回路4aがアドレス選択回路4c,データ
選択回路4dおよびキャッシュ制御情報選択回路4eの
切り換え動作を制御する。
【0038】プロセッサ1が読み出し要求を行った場合
の上記制御回路4aの制御動作を図5に示すフローチャ
ートに基づいて説明する。まず最初のステップ(以下
「S」という)1で、プロセッサ1からアドレスが送出
されると、制御回路4aは、アドレス選択回路4cを制
御してこのアドレスをキャッシュメモリ3に送りヒット
するかどうかを検査する(S2)。そして、このアドレ
スがヒットしキャッシュメモリ3がそのデータを読み出
すと共に、ヒット信号をヒット状態にした場合には、デ
ータ選択回路4dを制御してこのデータをプロセッサ1
に送り(S3)、ウェイト信号を読み出し確定状態にす
る(S4)。したがって、プロセッサ1は、このウェイ
ト信号を参照して、待ち時間なく直ちにデータを読み込
むことができる。
【0039】上記S2の処理でアドレスがミスしキャッ
シュメモリ3がヒット信号をミス状態にした場合には、
制御回路4aがアドレス選択回路4cを制御してこのア
ドレスをメインメモリ2に送り読み出し要求を行う。そ
して、メインメモリ2がデータとキャッシュ制御情報の
読み出しを完了すると、データ選択回路4dとキャッシ
ュ制御情報選択回路4eを制御してこれらのデータとキ
ャッシュ制御情報をキャッシュメモリ3に送ると共に、
データのみをプロセッサ1に送り(S5)、ウェイト信
号を読み出し確定状態にする(S4)。したがって、こ
の場合は、プロセッサ1が、ある程度の待ち時間の後に
データを読み込むことができる。また、キャッシュメモ
リ3では、送られて来たデータとキャッシュ制御情報を
ミスしたアドレスに対応するアドレスタグと共に適宜領
域に記憶する。
【0040】キャッシュメモリ3は、アドレスがヒット
してデータを読み出す際に、同じ領域に記憶されたキャ
ッシュ制御情報も読み出すので(S3)、制御回路4a
は、ヒット信号がヒット状態である場合に、キャッシュ
制御情報選択回路4eを制御してこのキャッシュ制御情
報をアドレス計算回路4bに送る。また、アドレスがミ
スしヒット信号がミス状態となる場合には、制御回路4
aがキャッシュ制御情報選択回路4eを制御してメイン
メモリ2からキャッシュメモリ3に送るキャッシュ制御
情報をアドレス計算回路4bにも送る。すると、アドレ
ス計算回路4bがこのキャッシュ制御情報に基づいて先
読アドレスを決定するので(S6)、制御回路4aは、
アドレス選択回路4cを制御してこの先読アドレスをキ
ャッシュメモリ3に送り(S7)、ヒットするかどうか
を検査する(S8)。そして、この先読アドレスがミス
した場合には、キャッシュメモリ3がヒット信号をミス
状態にすることにより、アドレス選択回路4cを制御し
てこの先読アドレスをメインメモリ2に送る。また、メ
インメモリ2がデータとキャッシュ制御情報の読み出し
を完了すると、データ選択回路4dとキャッシュ制御情
報選択回路4eを制御してこれらのデータとキャッシュ
制御情報をキャッシュメモリ3に送る。キャッシュメモ
リ3では、この先読アドレスに対応するアドレスタグと
共にこれらのデータとキャッシュ制御情報を適宜領域に
記憶して先読みを行う(S9)。
【0041】なお、キャッシュメモリ3が複数アドレス
のデータをブロック単位で読み込むように構成されてい
る場合には、プロセッサ1が送出したアドレスや先読ア
ドレスをメインメモリ2に送る際に、これらのアドレス
が所属するブロックの先頭アドレスを送るようにする。
そして、これにより複数アドレスのデータが1度に読み
込めない場合には、以降のアドレスを順次送ることによ
りこれらのデータをキャッシュ制御情報と共に読み出
す。
【0042】また、上記制御回路4aは、プロセッサ1
から書き込み要求があった場合には、ライトスルー方式
やライトバック方式などによる書き込み時のキャッシュ
処理を行う。キャッシュメモリ3にデータを書き込む場
合には、これに付随するキャッシュ制御情報も適宜書き
込むことができる。そして、この場合にも、上記と同様
に先読アドレスに基づいてメインメモリ2からデータを
読み込むことは可能である。
【0043】ここで、プロセッサ1が命令フェッチ(in
struction fetch)によってメインメモリ2からいずれ
かのアドレスの命令を読み込んだ場合、この命令が複数
語で構成されているときには、引き続いて次のアドレス
のオペランド部のデータを読み込むことになる。また、
この命令が分岐命令などを除く通常の命令であった場合
にも、割り込み要求などがない限り必ず次の命令フェッ
チによって以降のアドレスに続く次の命令を読み込むこ
とになる。したがって、これらの命令では、そのアドレ
スに続く以降のアドレスがすぐ後に確実にアクセスされ
る。また、配列データの各要素は連続したアドレスに記
憶されることが多く、その他の関連するデータも隣接す
るアドレスに配置されることが多いので、このようなデ
ータがアクセスされた場合にも、そのアドレスの近隣の
アドレスは近い将来アクセスされる可能性が高くなる。
そこで、上記先読アドレスを読み出し要求のあったアド
レスの次のアドレスや次の次のアドレスと定めると、こ
れらのアドレスのデータが先読みされるので、キャッシ
ュメモリ3のヒット率が向上する。なお、キャッシュメ
モリ3が複数アドレスのデータをブロック単位で読み込
むように構成されている場合には、これら次のアドレス
や次の次のアドレスが既にブロックに存在する可能性が
高くなり、これによってもキャッシュメモリ3のヒット
率が向上する。そして、この場合には、先読アドレスを
次のブロックや次の次のブロックの先頭アドレスとする
ことにより、さらにヒット率を向上させることができ
る。
【0044】ただし、分岐命令などの場合には、次の命
令フェッチが全く別のアドレスとなることがあるので、
先読アドレスを常に上記のように定めると、キャッシュ
メモリ3でミスが発生するおそれがある。しかし、無条
件分岐命令やサブルーチンコール命令などの場合には、
分岐が常に行われるので、この分岐先のアドレスがすぐ
後に確実にアクセスされる。したがって、読み出し要求
された命令がこれらの無条件分岐命令やサブルーチンコ
ール命令などであった場合には、先読アドレスを分岐先
のアドレスに定めることにより、キャッシュメモリ3の
ヒット率をさらに一層向上させることができる。また、
ループ命令やその他の条件分岐命令の場合には、プロセ
ッサ1のステイタスレジスタなどの状態に応じて分岐す
るかそのまま次の命令に移行するかが分かれるが、この
場合であってもアルゴリズムの性質上分岐する可能性が
事前にある程度予測できることがあり、分岐先または次
の命令のいずれか確率の高い方を先読アドレスに定めれ
ばヒットの低下を減少させることができる。
【0045】この結果、読み出し要求のあったアドレス
のデータがどのような処理データであるか、または、ど
のような命令であるかによって、先読アドレスを以降の
アドレスと分岐先のアドレスのいずれかに適応的に定め
れば、キャッシュメモリ3のヒット率を格段に向上させ
ることができる。そして、この先読アドレスを求めるた
めのキャッシュ制御情報は、対応するデータに付随して
メインメモリ2やキャッシュメモリ3に記憶される。
【0046】上記キャッシュ制御情報は、先読アドレス
の絶対アドレスや、この先読アドレスとの変位を示す相
対アドレスなどの任意の形式のコードとすることができ
る。上記アドレス計算回路4bは、キャッシュ制御情報
が絶対アドレスである場合には、このキャッシュ制御情
報をそのまま先読アドレスとして出力する。また、キャ
ッシュ制御情報が相対アドレスである場合には、図6に
示すように、プロセッサ1から送出されたアドレスに加
算器41でこのキャッシュ制御情報を加算して先読アド
レスとして出力すればよい。この相対アドレスは、2の
補数表現で正負の値を表現すれば、負数の場合にもその
まま加算処理を行うことができる。
【0047】また、例えばデータとアドレスのビット幅
が32ビットの場合に、キャッシュ制御情報のビット幅
を11ビットとして、図7に示すように、このキャッシ
ュ制御情報のMSB(最上位ビット)が1のときには絶
対アドレスを示し、MSBが0のときには、相対アドレ
スを示すようにして、これら絶対アドレスと相対アドレ
スを混在させることもできる。MSBが0の場合、相対
アドレスは下位の10ビットで表される。ただし、MS
Bが1の場合の絶対アドレスは、32ビット必要となる
ので、下位の10ビットだけでは表し切れない。したが
って、この下位10ビット中のさらに下位8ビットで絶
対アドレスを4分割したバイトデータを表し、上位2ビ
ットでこのバイトデータが4分割のどの位置となるかを
示すようにする。この場合、上記アドレス計算回路4b
は、図8に示すように、キャッシュ制御情報のMSBが
1のときには、スイッチ42をONとしスイッチ43を
OFFにすることにより、このキャッシュ制御情報の下
位8ビットを先読アドレスの一部として出力する。ま
た、MSBが0のときには、スイッチ42をOFFにし
スイッチ43をONとすることにより、プロセッサ1か
ら送出されたアドレスに加算器41でこのキャッシュ制
御情報の下位10ビットを加算して先読アドレスとして
出力することができる。
【0048】絶対アドレスをこのように分割した場合に
は、先読アドレスを求めるための1単位のキャッシュ制
御情報を得るために、4アドレス分のキャッシュ制御情
報が必要となる。このため、これらの分割されたキャッ
シュ制御情報は、連続して読み出される4アドレス分の
データに付随してキャッシュメモリ3に記憶させてお
く。もっとも、メインメモリ2がバイトアドレスとなっ
ていて各アドレスに1バイト(8ビット)のデータが記
憶されている場合には、4アドレス分で1語32ビット
となる各データ毎に4アドレス分のキャッシュ制御情報
を付随させて1度に読み込むことができる。また、メイ
ンメモリ2が32ビットアドレスであっても、キャッシ
ュメモリ3が4語のデータをブロック単位で一括して読
み込むように構成されている場合には、このブロック毎
に1単位のキャッシュ制御情報を得ることができる。
【0049】なお、上記では、条件分岐命令の場合の先
読アドレスを、各命令毎に以降のアドレスか分岐先のア
ドレスのいずれかに固定して定めたが、アドレス計算回
路4bがプロセッサ1のステイタスレジスタなどを参照
できる場合には、このステイタスレジスタなどの値に応
じて、以降のアドレスかまたは分岐先のアドレスのいず
れかを動的に選択できるようにすることもできる。そし
て、この場合のキャッシュ制御情報は、このような選択
を指示するコードといずれのレジスタを参照するかを示
すコードや分岐先のアドレスの絶対アドレスまたは相対
アドレスなどを組み合わせたものとなる。
【0050】また、分岐命令において、先読アドレスが
分岐先のアドレスとなる場合には、この分岐命令のオペ
ランド部にその絶対アドレスや相対アドレスが格納され
ているので、アドレス計算回路4bは、このオペランド
部に基づいて先読アドレスを決定するようにし、キャッ
シュ制御情報は、この処理を指示するコードとすること
もできる。
【0051】上記キャッシュ制御情報は、コンパイラが
プログラムをコンパイルし、または、アセンブラがプロ
グラムをアセンブルしてオブジェクトコードを出力する
際に作成してもよいし、他のプログラムがこのオブジェ
クトコードに基づいて、例えばロード時などに作成する
こともできる。キャッシュ制御情報を事前に作成する場
合には、メインメモリ2へのロードの際のオブジェクト
コードの再配置を考慮する。なお、このキャッシュ制御
情報は、メインメモリ2にロードした後のプログラムの
実行中に、動的に内容を書き換えることもできる。
【0052】上記キャッシュ制御情報を先読アドレスの
絶対アドレスとした場合におけるメインメモリ2のメモ
リマップの図9に示す。ここでは、先読アドレスが次の
アドレスとなる例を示すので、メインメモリ2の各アド
レスには、データD(D0,D1,D2,…)と共に、そ
のアドレスに1を加算した絶対アドレスのキャッシュ制
御情報が格納される。また、先読アドレスが次の次のア
ドレスとなる場合は、図10に示すように、メインメモ
リ2の各アドレスに、データDと共にそのアドレスに2
を加算した絶対アドレスのキャッシュ制御情報が格納さ
れる。さらに、キャッシュ制御情報を相対アドレスと
し、先読アドレスが次のアドレスとなる場合には、図1
1に示すように、メインメモリ2の各アドレスに、デー
タDと共に+1の相対アドレスを示すキャッシュ制御情
報が格納される。
【0053】以上説明したように、本実施形態のキャッ
シュメモリ装置は、プロセッサ1からメインメモリ2へ
のデータの読み出し要求があると、キャッシュ制御装置
4が本来のキャッシュ処理を行うと共に、キャッシュ制
御情報に基づいて決定した先読アドレスのデータをキャ
ッシュメモリ3に先読みすることができる。しかも、こ
の先読アドレスは、各データに応じて適応的に定められ
るので、近い将来にアクセスされる可能性がより高いア
ドレスのデータを先読みすることができ、キャッシュメ
モリ3のヒット率を格段に向上させることができる。
【0054】なお、上記実施形態のキャッシュメモリ3
とキャッシュ制御装置4は、プロセッサ1に内蔵するこ
ともできる。また、このキャッシュメモリ3とキャッシ
ュ制御装置4のプロセッサ1側またはメインメモリ2側
には、他のキャッシュメモリ装置を接続することもで
き、メモリ管理ユニットを接続することもできる。
【0055】
【発明の効果】以上のように本発明のキャッシュメモリ
装置によれば、プロセッサ側から読み出し要求があった
場合に、本来のキャッシュ処理を行うと共に、読み出さ
れたデータに付随するキャッシュ制御情報に基づいて決
定した先読アドレスのデータをメインメモリ側から事前
に読み出してキャッシュメモリに記憶させておく。した
がって、このキャッシュ制御情報が付随するデータに応
じて適応的に決定した先読アドレスに基づいて近い将来
にアクセスされる可能性の高いデータを先読みすること
ができるので、キャッシュメモリのヒット率を確実に向
上させることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すものであって、キャ
ッシュメモリ装置におけるキャッシュ制御装置の具体的
構成を示すブロック図である。
【図2】本発明の一実施形態を示すものであって、キャ
ッシュメモリ装置の構成を示すブロック図である。
【図3】本発明の一実施形態を示すものであって、メイ
ンメモリに記憶したデータとキャッシュ制御情報を示す
図である。
【図4】本発明の一実施形態を示すものであって、キャ
ッシュメモリに記憶したアドレスタグとデータとキャッ
シュ制御情報を示す図である。
【図5】本発明の一実施形態を示すものであって、キャ
ッシュ制御装置の制御回路の動作を示すフローチャート
である。
【図6】本発明の一実施形態を示すものであって、アド
レス計算回路の構成を示すブロック図である。
【図7】本発明の一実施形態を示すものであって、キャ
ッシュ制御情報のビット構成を示す図である。
【図8】本発明の一実施形態を示すものであって、アド
レス計算回路の他の構成を示すブロック図である。
【図9】本発明の一実施形態を示すものであって、キャ
ッシュ制御情報を次のアドレスの絶対アドレスとした場
合のメインメモリのメモリマップである。
【図10】本発明の一実施形態を示すものであって、キ
ャッシュ制御情報を次の次のアドレスの絶対アドレスと
した場合のメインメモリのメモリマップである。
【図11】本発明の一実施形態を示すものであって、キ
ャッシュ制御情報を次のアドレスを示す相対アドレスと
した場合のメインメモリのメモリマップである。
【図12】従来例を示すものであって、キャッシュメモ
リ装置の構成を示すブロック図である。
【図13】従来例を示すものであって、キャッシュメモ
リの構成を示すメモリマップである。
【図14】従来例を示すものであって、キャッシュメモ
リの他の構成を示すメモリマップである。
【図15】従来例を示すものであって、キャッシュメモ
リのさらに他の構成を示すメモリマップである。
【図16】他の従来例を示すものであって、キャッシュ
メモリの構成を示すメモリマップである。
【符号の説明】
1 プロセッサ 2 メインメモリ 3 キャッシュメモリ 4 キャッシュ制御装置 4a 制御回路 4b アドレス計算回路

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ側とメインメモリ側との間に
    キャッシュメモリを配置するキャッシュメモリ装置にお
    いて、 メインメモリの各アドレスにデータの他に、キャッシュ
    制御情報を記憶する領域が設けられると共に、 該キャッシュメモリのアドレスタグとデータを記憶する
    各領域に、キャッシュ制御情報を記憶する領域が設けら
    れ、 該プロセッサ側から読み出し要求があった場合に、読み
    出し要求されたアドレスが該キャッシュメモリでヒット
    すると、該キャッシュメモリからヒットしたデータを読
    み出して該プロセッサ側に送り、また、読み出し要求さ
    れたアドレスが該キャッシュメモリでミスすると、該メ
    インメモリ側から該アドレスのデータと該キャッシュ制
    御情報を読み出して、データを該プロセッサ側に送ると
    共に、該データと該キャッシュ制御情報をアドレスに対
    応するアドレスタグを伴って該キャッシュメモリの適宜
    領域に記憶させるキャッシュ読出制御手段と、 該プロセッサ側から読み出し要求があった場合に、該キ
    ャッシュ読出制御手段が該キャッシュメモリまたは該メ
    インメモリ側から読み出したデータの該キャッシュ制御
    情報に基づく先読アドレスを決定すると共に、該先読ア
    ドレスが該キャッシュメモリでヒットするかどうかを検
    査し、結果がミスになると、該メインメモリ側から該先
    読アドレスのデータと該キャッシュ制御情報を読み出し
    て該先読アドレスに対応するアドレスタグを伴い該キャ
    ッシュメモリの適宜領域に記憶させるキャッシュ先読手
    段とを備えたキャッシュメモリ装置。
  2. 【請求項2】 前記キャッシュ制御情報が、所定の演算
    のパラメータを示すコード、または、所定の複数の演算
    制御処理のいずれかを指定するコードであり、 前記キャッシュ先読手段が、キャッシュ制御情報によっ
    て示されたパラメータを用いて所定の演算を実行し、ま
    たは、キャッシュ制御情報によって指定された所定の演
    算制御処理を実行することにより、キャッシュ制御情報
    に基づく先読アドレスを決定するものである請求項1記
    載のキャッシュメモリ装置。
  3. 【請求項3】 前記キャッシュ制御情報が、該キャッシ
    ュ制御情報を記憶するアドレスと先読アドレスとの変位
    を示す相対アドレスであり、 前記キャッシュ先読手段が、キャッシュ制御情報のアド
    レスに、該キャッシュ制御情報によって示された相対ア
    ドレスを加算して、該キャッシュ制御情報に基づく先読
    アドレスを決定するものである請求項2記載のキャッシ
    ュメモリ装置。
  4. 【請求項4】 前記キャッシュ制御情報に基づく先読ア
    ドレスが、該キャッシュ制御情報のアドレスよりも、キ
    ャッシュメモリの1ブロック分だけ先のアドレスに定め
    られる請求項1〜3のいずれか記載のキャッシュメモリ
    装置。
  5. 【請求項5】 前記キャッシュ制御情報に基づく先読ア
    ドレスが、原則として、このキャッシュ制御情報のアド
    レスよりも、キャッシュメモリの2ブロック分だけ先の
    アドレスに定められる請求項1〜3のいずれか記載のキ
    ャッシュメモリ装置。
JP8068836A 1996-03-25 1996-03-25 キャッシュメモリ装置 Pending JPH09259040A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8068836A JPH09259040A (ja) 1996-03-25 1996-03-25 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8068836A JPH09259040A (ja) 1996-03-25 1996-03-25 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH09259040A true JPH09259040A (ja) 1997-10-03

Family

ID=13385190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8068836A Pending JPH09259040A (ja) 1996-03-25 1996-03-25 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JPH09259040A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332568B2 (en) 2009-02-25 2012-12-11 Fujitsu Semiconductor Limited Memory access determination circuit, memory access determination method and electronic device
US8850118B2 (en) 2010-10-01 2014-09-30 Fujitsu Semiconductor Limited Circuit and method for dynamically changing reference value for address counter based on cache determination
US9257123B2 (en) 2012-08-08 2016-02-09 Renesas Electronics Corporation Vocoder processing method, semiconductor device, and electronic device
US10503661B2 (en) 2014-05-21 2019-12-10 Qualcomm Incorporated Providing memory bandwidth compression using compressed memory controllers (CMCs) in a central processing unit (CPU)-based system
US10838862B2 (en) 2014-05-21 2020-11-17 Qualcomm Incorporated Memory controllers employing memory capacity compression, and related processor-based systems and methods

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332568B2 (en) 2009-02-25 2012-12-11 Fujitsu Semiconductor Limited Memory access determination circuit, memory access determination method and electronic device
US8850118B2 (en) 2010-10-01 2014-09-30 Fujitsu Semiconductor Limited Circuit and method for dynamically changing reference value for address counter based on cache determination
US9257123B2 (en) 2012-08-08 2016-02-09 Renesas Electronics Corporation Vocoder processing method, semiconductor device, and electronic device
US10503661B2 (en) 2014-05-21 2019-12-10 Qualcomm Incorporated Providing memory bandwidth compression using compressed memory controllers (CMCs) in a central processing unit (CPU)-based system
US10838862B2 (en) 2014-05-21 2020-11-17 Qualcomm Incorporated Memory controllers employing memory capacity compression, and related processor-based systems and methods

Similar Documents

Publication Publication Date Title
US6128703A (en) Method and apparatus for memory prefetch operation of volatile non-coherent data
US6810466B2 (en) Microprocessor and method for performing selective prefetch based on bus activity level
US6240488B1 (en) Prefetching hints
JP3577331B2 (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US5829025A (en) Computer system and method of allocating cache memories in a multilevel cache hierarchy utilizing a locality hint within an instruction
KR101402560B1 (ko) 연산 처리 장치
US8225070B2 (en) Information processing apparatus and cache memory control method
US7966457B2 (en) Configurable cache for a microprocessor
US7877537B2 (en) Configurable cache for a microprocessor
JP2906315B2 (ja) キャッシュメモリ中でインストラクションを保管する方法及び回路
JPH09120372A (ja) プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御
KR20070086246A (ko) 처리 시스템, 캐시 시스템 및 프리페치 데이터 전송 방법
EP2095242B1 (en) Configurable cache for a microprocessor
CN117421259A (zh) 用飞行中预取服务于cpu需求请求
JP3812258B2 (ja) キャッシュ記憶装置
JP3590427B2 (ja) 先行読出機能付命令キャッシュメモリ
US5926841A (en) Segment descriptor cache for a processor
WO1997034229A9 (en) Segment descriptor cache for a processor
JPH09259040A (ja) キャッシュメモリ装置
JPH1055276A (ja) 多重レベル分岐予測方法および装置
US6516388B1 (en) Method and apparatus for reducing cache pollution
US20150193348A1 (en) High-performance data cache system and method
US7085916B1 (en) Efficient instruction prefetch mechanism employing selective validity of cached instructions for digital signal processor and method of operation thereof
JPH0477344B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040109