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

キャッシュメモリ装置

Info

Publication number
JPH0675853A
JPH0675853A JP4248725A JP24872592A JPH0675853A JP H0675853 A JPH0675853 A JP H0675853A JP 4248725 A JP4248725 A JP 4248725A JP 24872592 A JP24872592 A JP 24872592A JP H0675853 A JPH0675853 A JP H0675853A
Authority
JP
Japan
Prior art keywords
data
data block
cache memory
adjacent
read
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
JP4248725A
Other languages
English (en)
Inventor
Tetsuo Nakazawa
哲夫 中澤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP4248725A priority Critical patent/JPH0675853A/ja
Publication of JPH0675853A publication Critical patent/JPH0675853A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 連続したデータブロックのアクセス時のヒッ
ト率を向上させる。 【構成】 キャッシュメモリへ21のアクセスで、ミス
ヒットした場合、アクセスしたデータを含むデータブロ
ックを読込む。そして、先読み制御回路26によりこの
データブロックのアドレスに対し、設定した隣接方向の
データブロックを先読みする。また、アクセスしたデー
タがキャッシュメモリ21に存在する場合も、このデー
タを含むデータブロックのアドレスに対し、設定した隣
接方向のデータブロックがキャッシュメモリ21に存在
しない場合、その隣接データブロックを先読みする。一
方、キャッシュメモリ21へのアクセスで、先読みした
隣接方向と逆方向の隣接データブロックにアクセスした
場合、アクセスしたデータを含むデータブロックを読込
み、先読み隣接方向の設定の変更を行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画像情報などのように
メインメモリの多くの領域に、連続してデータが存在す
ることが多く、且つ、これらのデータを連続してアクセ
スすることが多い場合、これらのデータをキャッシュメ
モリ上で扱うとき、キャッシュメモリアクセスのミスヒ
ットの発生を低減させるためのキャッシュメモリ装置に
関するものである。
【0002】
【従来の技術】キャッシュメモリは、高速なCPUとメ
インメモリ間の速度差を小さくするために、メインメモ
リの一部を高速なメモリにコピーしておくことで、CP
Uからのメモリアクセスを高速化しようとするものであ
る(参考文献:John P.Hayes“Computer Architecture
and Organization”McGrow-Hill 1988 pp.442-449 ,Ha
rold S.Stone“High-Performance Computer Architectu
re”Addison-Wesley Publishing 1987[日本訳:“高性
能コンピュータアーキテクキャ”斎藤忠夫、発田弘 監
訳 pp.31-75])。図2は、従来のキャッシュメモリ装
置の一例のブロック図である。図示のように、キャッシ
ュメモリ装置2は、CPU1とメインメモリ3との間に
備えられている。
【0003】キャッシュメモリ装置2の中に示すaは、
CPUから出されたアドレスA1のフィールドを模式的
に示したものである。a1は、アドレスA1の下位アド
レス、a3は、アドレスA1の上位アドレス、a2は、
a1とa3の間のアドレス部分を示す。CPUからのキ
ャッシュメモリ装置2へのアクセス(キャッシュからの
読み出しの場合)により、アドレスA1がCPUからキ
ャッシュメモリ装置2へ出され、アドレスA1のa2に
よりタグ22とキャッシュメモリ21をアクセスする。
タグ22には、キャッシュメモリ21に格納されている
データの上位アドレス(a3のフィールドに対応するア
ドレス部分)が格納されている。a2によりタグ22
は、上位アドレスをA2に出力し、キャッシュメモリ2
1は、その上位アドレスに対応したデータ(キャッシュ
ライン)をD1出力する。多くの場合、タグ22やキャ
ッシュメモリ21は、複数セットあり、a2により複数
の上位アドレスと複数のデータが読み出される。読み出
されたすべての上位アドレスA2は、タグ比較回路24
でa3と比較される。
【0004】タグ比較回路24で、一致するものがあれ
ば(ヒット)、その一致したタグに対応したデータ(キ
ャッシュライン)を選択するためのヒット信号S1が、
タグ比較回路24からデータ選択回路25に送られ、ア
ドレスA1からのa1ともにデータ選択回路25で、キ
ャッシュメモリ21より読み出されたデータ(キャッシ
ュライン)からCPUが必要とするデータを選択する。
タグ比較回路24で、一致するものがなければ、ミスヒ
ットの信号S2をデータ転送制御回路に送る。データ転
送制御回路23は、キャッシュの入れ替えアルゴリズム
により、CPUからのアドレスA1を用い、タグ22の
更新と、キャッシュメモリ21とメインメモリ3の間で
データの入れ替えを行なう。このように、CPUの要求
するデータがキャッシュメモリに存在する場合(ヒッ
ト)、データアクセスを高速に行なうことができるが、
CPUの要求するデータがキャッシュメモリに存在しな
い場合(ミスヒット)は、キャッシュメモリとメインメ
モリ間でデータの入れ替えが必要となり、CPUとキャ
ッシュメモリ間のアクセス時間の数倍から数十倍程度を
要する。
【0005】そのため、ミスヒットの影響ができるだけ
小さくなるように、キャッシュメモリの容量を大きくし
たり、メインメモリとキャッシュメモリの間で一度に扱
うデータの大きさ(キャッシュライン)を大きくした
り、キャッシュの入れ替えアルゴリズムを工夫するなど
が行なわれている。この入れ替えアルゴリズムとして
は、LRU(Least Recently Use)法などがある。LRU
法は、最も過去に使われたキャッシュラインをミスヒッ
ト時の入れ替えの対象にするものである。その他、ミス
ヒットの低減の方法として、分岐命令によるミスヒット
を低減させるために、キャッシュメモリをバンク化し、
分岐予測テーブルなどを用いる方法が提案されている。
また、連続して実行される複数の命令がキャッシュライ
ンにまたがる場合、複数サイクル必要な命令の実行の間
にミスヒットの処理を行なわせるよう、コンパイラによ
る命令配置の最適化を行なう方法が提案されている。し
かし、上記の方法では、メインメモリ上に連続したデー
タのアクセスに対するミスヒットを低減させることはで
きない。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、キ
ャッシュメモリの容量を大きくする方法は、ハードウェ
アの増大を招くことになり、キャッシュラインを大きく
する方法は、ミスヒットが生じた場合、キャッシュメモ
リとメインメモリの間で不要なデータのアクセスが増加
するおそれがある。LRU法は、キャッシングされたデ
ータの過去の利用状況からミスヒット時の入れ替え対象
のキャッシュラインを求めるもので、ここで扱いたいデ
ータに対するミスヒットの低減の効果は期待できない。
また、分岐命令の履歴を利用する方法や、複数サイクル
必要な命令配置の最適化による方法は、命令の動作を考
慮し、命令に対するキャッシングを対象としたものであ
るため、データのアクセスに対するミスヒットの低減の
効果は、期待できない。
【0007】このように、これらの方法では、メインメ
モリ上で連続するデータをキャッシュで扱う場合のミス
ヒットの低減の効果は、期待できない。本発明は、以上
の点に着目してなされたもので、画像情報などのように
メインメモリの多くの領域に、連続してデータが存在す
ることが多く、且つ、これらのデータを連続してアクセ
スすることが多い場合、これらのデータをキャッシュメ
モリで扱うとき、アクセスしているキャッシュラインの
大きさのデータに隣接するデータを、キャッシュに先読
みすることにより、このようなデータに対するキャッシ
ュのミスヒットを低減させるキャッシュメモリ装置を提
供することを目的とするものである。
【0008】
【課題を解決するための手段】本発明のキャッシュメモ
リ装置の第1の発明は、メインメモリ内のデータをキャ
ッシュメモリ上に転送し、当該キャッシュメモリ上のデ
ータをCPUによりアクセスするようにしたキャッシュ
メモリ装置において、前記CPUから前記キャッシュメ
モリへのデータのアクセスで、アクセス対象であるデー
タが当該キャッシュメモリ上に存在しない場合、アクセ
ス対象であるデータを含むデータブロックを当該キャッ
シュメモリ上に転送するとともに、当該データブロック
に隣接するデータブロックのうち、設定された方向の隣
接データブロックを当該キャッシュメモリ上に転送する
先読み制御回路を備えたことを特徴とするものである。
【0009】本発明のキャッシュメモリ装置の第2の発
明は、メインメモリ内のデータをキャッシュメモリ上に
転送し、当該キャッシュメモリ上のデータをCPUによ
りアクセスするようにしたキャッシュメモリ装置におい
て、前記CPUから前記キャッシュメモリへのデータの
アクセスで、アクセス対象であるデータが当該キャッシ
ュメモリ上に存在する場合、アクセス対象であるデータ
を含む当該キャッシュメモリ上のアクセスラインのアク
セス履歴を更新し、当該アクセス履歴が設定された条件
と一致すると、当該キャッシュラインに転送されている
データブロックに隣接するデータブロックのうち、設定
された方向の隣接データブロックを当該キャッシュメモ
リ上に転送する先読み制御回路を備えたことを特徴とす
るものである。
【0010】
【作用】本発明のキャッシュメモリ装置の第1の発明に
おいては、メインメモリからキャッシュメモリへのデー
タ転送時又はキャッシュメモリ上でのデータヒット時
に、予め設定された方向の連続したデータブロックを先
読みとしてキャッシュメモリへ転送する。先読みするデ
ータブロックを前側にするか後側にするかはフラグによ
り選択する。逆方向のアクセスを検知した時は、このフ
ラグを書き換えて逆方向の先読みを行なう。一方、本発
明のキャッシュメモリ装置の第2の発明においては、同
一キャッシュラインへのアクセス回数等のアクセス履歴
を記録する。そして、例えば、アクセス回数が所定回以
上となった時に、予め設定された方向の連続したデータ
ブロックを先読みとしてキャッシュメモリへ転送する。
先読みするデータブロックを前側にするか後側にするか
はフラグにより選択する。逆方向のアクセスを検知した
時は、このフラグを書き換えて逆方向の先読みを行な
う。
【0011】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。まず、図3を用いて、概要を説明する。図
3は、本発明の一実施例でのメインメモリとキャッシュ
メモリとの間のデータ転送の説明図である。ここでは、
メインメモリ3に示すメインメモリ上のブロックが、キ
ャッシュメモリで扱うキャッシュラインの大きさと対応
しているものとし、このメインメモリ上のブロックを、
データブロックと呼ぶことにする。このデータブロック
には複数のデータが存在するものとする。
【0012】ここでの説明で、データブロックM(h) の
データをキャッシュライン(i) がコピーしているとき、
データブロックM(h) に含まれるデータをアクセスする
ことは、キャッシュライン(i) に存在するデータをアク
セスすることとなる。つまり、データブロックM(h) の
データのアクセスは、キャッシュライン(i) のデータの
アクセスと同じとなる。データブロックM(h) に存在す
る1つのデータへのアクセスで、キャッシングが行なわ
れると、このデータブロックM(h) の上位アドレスに対
応していて、このデータブロックM(h) をコピーするこ
とができるいくつかのキャッシュラインのうち、1つの
キャッシュラインに、データブロックM(h) のすべての
データが読み込まれる。
【0013】通常のキャッシュメモリでは、データブロ
ックM(h) のデータのアクセスによりミスヒットした
時、ミスヒットの処理としてデータブロックM(h) のデ
ータをキャッシュメモリ21に読み込む。そして、次
に、データブロックM(h+1) のデータのアクセスにより
ミスヒットした時、データブロックM(h+1) のデータを
キャッシュメモリ21に読み込む。同様に、データブロ
ックM(h+2) のデータのアクセスによりミスヒットした
時、データブロックM(h+2) のデータをキャッシュメモ
リ21に読み込む。このように、従来のキャッシュメモ
リ装置では、ミスヒットが発生する毎にミスヒットした
データを含むデータブロックのデータをメインメモリか
らキャッシュメモリに読み込むことになる。
【0014】本発明では、データブロックM(h) のデー
タのアクセスでミスヒットした時、連続するデータブロ
ックM(h) とM(h+1) のデータをキャッシュメモリへ読
み込む。その後、初めてデータブロックM(h+1) のデー
タのアクセスがあったときも、ミスヒットは生じない。
そして、この時にデータブロックM(h+2) のデータをキ
ャッシュメモリ21に先読みする。先読みされる隣接デ
ータブロックの方向は、ここでは最初に設定してあり、
データブロックM(h+1) のデータのアクセスにより先読
みされる隣接データブロックは、データブロックM(h+
2) になっているものとする。もし、データのアクセス
が先読みした隣接データブロックと逆方向の隣接データ
ブロックに対して行なわれた時、例えば、データブロッ
クM(h) のデータのアクセスの後、データブロックM(h
-1) のデータをアクセスすると、ミスヒットする。この
時、上記で設定された先読みの方向と逆方向の隣接デー
タブロックへのアクセスであることを検知し、データブ
ロックM(h-1) とデータブロックM(h-2) のデータをキ
ャッシュメモリ21に読込み、データブロックM(h-2)
のアクセスにより先読みされる隣接データブロックの方
向の設定を上記の方向と逆方向に設定する。
【0015】また、もし、データアクセスが連続したデ
ータブロックに対して行なわれなかった時、例えば、デ
ータブロックM(h) のデータのアクセスの後、データブ
ロックM(l) のデータをアクセスすると、データブロッ
クM(l) とデータブロックM(l+1) のデータがキャッシ
ュメモリ21に読み込まれる。この時、先読みされる隣
接データブロックの方向は変わらない。このように、ミ
スヒットが生じた場合、ミスヒットが生じたデータブロ
ックとこのデータブロックに隣接するデータブロックを
キャッシュメモリに読み込む。そして、アクセスしたデ
ータがキャッシュメモリに存在し、このデータが含まれ
るデータブロックに隣接したデータブロックがキャッシ
ュメモリに存在していない場合、この隣接データブロッ
クをキャッシュメモリに読み込む。
【0016】これにより、メインメモリ上に、M(h) 、
M(h+1) 、M(h+2) …とデータが並んでいて、これらの
データを一方向に隣接したデータブロックに沿ってアク
セスする場合、キャッシュメモリのミスヒットは生じな
い。また、アクセスの方向が変わっても、それに追随し
た先読みができる。図1は、本発明のキャッシュメモリ
装置の一実施例のブロック図である。また、図4は、先
読み制御回路の詳細の一例を示す回路図である。図1に
おいて、キャッシュメモリ装置2は、CPU1とメイン
メモリ3との間に備えられている。CPU1は、メイン
メモリ3に格納されたデータをキャッシュメモリ装置2
を介してアクセスする。
【0017】メインメモリ3には、CPU1で用いるプ
ログラムやデータが格納されている。キャッシュメモリ
装置2は、キャッシュメモリ21と、タグ22と、デー
タ転送制御回路23と、タグ比較回路24と、データ選
択回路25と、先読み制御回路26等から成る。キャッ
シュメモリ21は、CPU1とメインメモリ3との間の
データアクセスを高速化させるためにメインメモリ3の
一部をコピーしている。先読み制御回路26は、先読み
キャッシュラインフラグ61と、先読み隣接方向フラグ
62と、逆隣接データブロックタグ63と、逆隣接デー
タブロックタグ比較回路64と、隣接データブロックア
ドレス演算回路65と、フラグ変更回路26とから成
る。
【0018】先読み制御回路26は、キャッシュメモリ
21へのアクセスで、ミスヒットした場合、アクセスし
たデータを含むデータブロック(キャッシュがキャッシ
ュラインとして扱うメモリ上の連続したデータの大き
さ)を読込む。即ち、アクセス対象であるデータブロッ
クのアドレスに対し、設定した隣接方向のデータブロッ
クを先読みする。また、キャッシュメモリ21へのアク
セスで、アクセスしたデータはキャッシュメモリ21に
存在するが、このデータを含むデータブロックのアドレ
スに対し、設定した隣接方向のデータブロックがキャッ
シュメモリ21に存在しない場合にも、その隣接したデ
ータブロックを先読みする。
【0019】更に、キャッシュメモリ21へのアクセス
で、上記の先読みした隣接方向と逆方向の隣接データブ
ロックにアクセスした場合、アクセスしたデータを含む
データブロックを読込み、上記の先読みした隣接方向と
逆方向の隣接データブロックにアクセスしたことを検知
し、先読み隣接方向の設定の変更を行ない、この変更さ
れた隣接方向のデータブロックを先読みする。図5は、
本発明の一実施例での1つのキャッシュラインに対応す
る情報を示す図である。図5は、CPU1からのアドレ
スA1のフィールドa2により、先読みキャッシュライ
ンフラグ61、先読み隣接方向フラグ62、逆隣接デー
タブロックタグ63、タグ22、キャッシュメモリ21
から読み出される情報を示す。逆隣接データブロックタ
グ63以外は、読み出されたキャッシュライン(ここ
で、このキャッシュラインにはデータブロックM(i) の
データがコピーされているとする)に対する情報であ
る。
【0020】図5において、タグは、このキャッシュラ
インが持つデータブロックM(i) の上位アドレスを示
し、アドレスA1のアドレスフィールドa3に対応して
いる。先読みキャッシュラインフラグ61は、このキャ
ッシュラインが先読み隣接データブロックとして読み込
まれている否かを示すフラグである。データブロックM
(i) は、データブロックM(i-1) に隣接するデータブロ
ックとして先読みされている場合とデータブロックM(i
+1) に隣接するデータブロックとして先読みされている
場合がある。先読み隣接方向フラグ62は、このキャッ
シュラインがアクセスされた時に先読みする隣接データ
ブロックの方向を示す。データブロックM(i) に対する
隣接データブロックは、M(i+1) とM(i-1) とがあり、
このうちのどちらを先読み隣接データブロックとして先
読みするかを示すフラグである。
【0021】逆隣接データブロックタグ63は、このキ
ャッシュライン(このキャッシュラインをここではキャ
ッシュライン(k) とする)のデータに関する情報ではな
い。つまり、例えば、データブロックM(j) が読み込ま
れた時、このデータブロックM(j) に対する先読み隣接
データブロックがデータブロックM(j+1) であり、この
先読み隣接方向と逆方向の隣接データブロックのデータ
ブロックM(j-1) を扱うことができるキャッシュライン
がキャッシュライン(k) であるとする。この時、このキ
ャッシュライン(k) に対応する逆隣接データブロックタ
グに、このデータブロックM(j-1) の上位アドレスを入
れる。これは、先読み隣接方向フラグと逆方向の隣接デ
ータブロックのアクセスが生じた場合に、それを検知す
るためのものである。
【0022】次に、図1、図3、図4及び図5を用い、
内部動作を説明する。ここでは、M(h) に対する先読み
隣接データブロック方向を、M(h+1) の方向に初期設定
してあるものとする。まず、データブロックM(h) のデ
ータのアクセスでミスヒットしたとする。この時、CP
Uから出されたアドレスA1(データブロックM(h) の
データのアドレス)のa2により、図4で示すキャッシ
ュラインと、このキャッシュラインに対応した情報が複
数読み出される。そして、タグ22から読み出された複
数のタグは、タグ比較回路24でCPUからのアドレス
A1のa3と比較され、ミスヒットとなる。このミスヒ
ット信号S2とCPUからのアドレスA1がデータ転送
制御回路23に送られ、データブロックM(h) とM(h+
1) のデータのキャッシュメモリ21への読込みが行な
われる。(ここでは、逆隣接データブロックタグ比較回
路64がヒットしないものとする。)
【0023】この時、データブロックM(h) のデータを
コピーしているキャッシュラインに対応するタグに、こ
のデータブロックM(h) の上位アドレスを入れ、先読み
キャッシュラインフラグをオフにし、先読み隣接方向フ
ラグを初期設定の方向に設定する。そして、先読み隣接
方向と逆方向の隣接データブロックM(h-1) を読み込む
ことができるキャッシュラインに対応する逆隣接データ
ブロックタグに、データブロックM(h-1) の上位アドレ
スを入れる。また、データブロックM(h+1) のデータを
コピーしているキャッシュラインに対応するタグに、デ
ータブロックM(h+1) の上位アドレスを入れ、先読みキ
ャッシュラインフラグをオンにし、先読み隣接方向フラ
グを初期設定の方向に設定する。
【0024】この後、データブロックM(h) のデータを
アクセスすると、CPUからのアドレスA1のa2によ
り、複数のキャッシュラインと、各キャッシュラインに
対応した情報が読み出される。タグ22から読み出され
た複数のタグは、タグ比較回路24で、CPUからのア
ドレスA1のa3と比較され、ヒットする。そして、ヒ
ットしたタグに対応したキャッシュラインを選択するた
めのヒット信号S1が、タグ比較回路24からデータ選
択回路25に送られ、アドレスA1からのa1とともに
データ選択回路25で、キャッシュラインの選択と、選
択されたキャッシュラインから目的のデータの選択が行
なわれる。この時、タグ比較回路24からのヒット信号
S1により選択された先読みキャッシュラインフラグは
オフなので、ゲート67がオフとなるため、隣接データ
ブロックアドレス演算回路65の出力は、データ転送制
御回路23に送られない。
【0025】そして、タグ比較回路24の結果がヒット
であるため、フラグ変更信号S4がフラグ変更回路66
に送られないため、フラグの変更は行なわれない。ま
た、タグ比較回路24がヒットであることにより、デー
タ転送制御回路23は、キャッシュブロックの先読みを
行なわない。この後、初めてデータブロックM(h+1) の
データをアクセスすると、上記と同様に、CPUからの
アドレスA1のa2により、複数のキャッシュライン
と、各キャッシュラインに対応した情報が読み出され
る。タグ22から読み出された複数のタグは、タグ比較
回路24で、CPUからのアドレスA1のa3と比較さ
れ、ヒットする。そして、ヒットしたタグに対応したキ
ャッシュラインを選択するためのヒット信号S1が、タ
グ比較回路24からデータ選択回路25に送られ、アド
レスA1からのa1とともにデータ選択回路25で、キ
ャッシュラインの選択と、選択されたキャッシュライン
から目的のデータの選択が行なわれる。
【0026】この時、タグ比較回路24からのヒット信
号S1により選択された先読みキャッシュラインフラグ
はオンであり、この信号がデータ転送制御回路23に送
られる。かつ、ヒット信号S1によって選択された先読
み隣接方向フラグより、隣接データブロックアドレス演
算回路65でデータブロックM(h+2) のアドレス計算が
行なわれ、その結果がデータ転送制御回路23に送られ
る。このため、データブロックM(h+2) のデータ読込み
が行なわれる。この時、データブロックM(h+2) のデー
タをコピーしているキャッシュラインに対応するタグ
に、このデータブロックM(h+2) の上位アドレスを入
れ、先読みキャッシュラインフラグをオンにする。そし
て、先読み隣接方向フラグは、データブロックM(h+1)
のデータをコピーしているキャッシュラインに対応する
先読み隣接方向フラグと同じに設定する。
【0027】また、データブロックM(h+1) のデータを
コピーしているキャッシュラインに対応する先読みキャ
ッシュラインフラグは、ヒット信号S1により選択され
たキャッシュラインフラグがフラグ変更回路66に送ら
れることによりオフにされ、先読み隣接方向フラグは、
変化しない。この後、データブロックM(l) のデータを
アクセスし、ミスヒット(データブロックM(l) )がキ
ャッシングされていないとする)すると、上記で説明し
たデータブロックM(h) のデータのアクセスでミスヒッ
トした時と同様に、データブロックM(l) とM(l+1) の
データを読み込む。この時、データブロックM(l) のデ
ータをコピーしているキャッシュラインに対応するタグ
に、このデータブロックM(l) の上位アドレスを入れ、
先読みキャッシュラインフラグをオフにする。そして、
先読み隣接方向フラグは、データブロックM(l+1) のデ
ータをコピーしているキャッシュラインに対応した先読
み隣接方向フラグと同じに設定する。そして、データブ
ロックM(l-1) を読み込むことができるキャッシュライ
ンに対応する逆隣接データブロックタグに、データブロ
ックM(l-1) の上位アドレスを入れる。
【0028】また、データブロックM(l+1) のデータを
コピーしているキャッシュラインに対応するタグに、こ
のデータブロックM(l+1) の上位アドレスを入れ、先読
みキャッシュラインフラグをオンにする。そして、先読
み隣接方向フラグは、データブロックM(l+1) のデータ
をコピーしているキャッシュラインに対応する先読み隣
接方向フラグと同じに設定する。そして、この後、デー
タブロックM(l-1) のデータをアクセスすると、ミスヒ
ット(データブロックM(l-1) がキャッシングされてい
ないとする)する。これは、上記の先読み隣接方向フラ
グで設定された先読み方向と逆方向の隣接データブロッ
クへのアクセスを行なった場合である。この時、上記の
データブロックM(h) のデータアクセスでミスヒットし
た場合と同様に、CPUから出されたアドレスのa2に
より、複数のキャッシュラインと、各キャッシュライン
に対応した情報が読み出される。タグ22から読み出さ
れた複数のタグは、タグ比較回路24で、CPUからの
アドレスA1のa3と比較され、ミスヒットとなる。
【0029】また、この場合は、逆隣接データブロック
タグが、逆隣接データブロックタグ比較回路64でアド
レスのa3と比較され、ヒットし、このヒット信号S3
と、タグ比較回路24からミスヒット信号S2により、
フラグ変更信号S4がフラグ変更回路66とデータ転送
制御回路23に送られる。これにより、データブロック
M(l-1) とM(l-2) のデータのキャッシュメモリ21へ
の読込みが行なわれる。この時、データブロックM(l-
1) のデータをコピーしているキャッシュラインに対応
するタグに、このデータブロックM(l-1) の上位アドレ
スを入れ、先読みキャッシュラインをオフにし、先読み
隣接方向フラグに、データブロックM(h+2) のデータを
コピーしているキャッシュラインに対応する先読み隣接
方向フラグと逆方向を設定する。
【0030】また、データブロックM(l-1) のデータを
コピーしているキャッシュラインに対応するタグに、こ
のデータブロックM(l-2) の上位アドレスを入れ、先読
みキャッシュラインフラグをオンにし、先読み隣接方向
フラグに、データブロックM(h+2) のデータをコピーし
ているキャッシュラインに対応する先読み隣接方向フラ
グと逆方向を設定する。尚、これらの先読み制御回路を
動作させるか否かの切替えは可能であり、処理内容によ
りキャッシングの方法を変えることで、よりヒット率の
高いキャッシュメモリを構成することができる。
【0031】次に、本発明のキャッシュメモリ装置の他
の実施例を説明する。まず、図6を用いて概要を説明す
る。図6は、本発明の他の実施例でのメインメモリとキ
ャッシュメモリとの間のデータ転送の説明図である。こ
こでは、メインメモリ3に示すメインメモリ上のブロッ
クが、キャッシュメモリで扱うキャッシュラインの大き
さと対応しているものとし、このメインメモリ上のブロ
ックを、データブロックと呼ぶことにする。このデータ
ブロックには複数のデータが存在するものとする。(こ
こでの説明で、データブロックM(h) のデータをキャッ
シュライン(i) がコピーしているとき、データブロック
M(h) に含まれるデータへのアクセスとは、キャッシュ
ライン(i) に存在するデータのアクセスとなる。つま
り、データブロックM(h) のデータのアクセスは、キャ
ッシュライン(i) のデータのアクセスと同じである。
【0032】データブロックM(h) に存在する1つのデ
ータへのアクセスで、キャッシングが行なわれると、こ
のデータブロックM(h) の上位アドレスに対応してい
て、このデータブロックM(h) をコピーすることができ
るいくつかのキャッシュラインのうち、1つのキャッシ
ュラインに、データブロックM(h) のすべてのデータが
読み込まれる。通常のキャッシュメモリでは、データブ
ロックM(h) のデータのアクセスによりミスヒットした
時、ミスヒットの処理としてデータブロックM(h) のデ
ータをキャッシュメモリに読み込む。そして、次に、デ
ータブロックM(h+1) のデータのアクセスによりミスヒ
ットした時、データブロックM(h+1) のデータをキャッ
シュメモリに読み込む。同様に、データブロックM(h+
2) のデータのアクセスによりミスヒットした時、デー
タブロックM(h+2) のデータをキャッシュメモリに読み
込む。
【0033】このように、従来のキャッシュメモリ装置
では、ミスヒットが発生する毎にミスヒットしたデータ
を含むデータブロックのデータをメインメモリからキャ
ッシュメモリに読み込むことになる。本発明では、デー
タブロックM(h) のデータのアクセスでヒットした時、
データブロックM(h) に対する、アクセス履歴(アクセ
ス回数やアクセスパターン)の値がアクセス毎に更新さ
れ、この値が設定された値と一致すると、設定された隣
接方向のデータブロックM(h+1) のデータをキャッシュ
メモリに先読みする。先読みされる隣接データブロック
の方向は、ここでは最初に設定してあり、データブロッ
クM(h) のデータのアクセスにより先読みされる隣接デ
ータブロックは、データブロックM(h+1) になっている
ものとする。
【0034】ここで、アクセス履歴としては、アクセス
回数やアクセスパターンが考えられる。アクセス回数と
は、例えば、データブロックM(h) のデータをキャッシ
ュライン(i) がコピーしている間に、隣接データブロッ
クのデータが先読みされるまでのキャッシュライン(i)
にアクセスした回数である。また、アクセスパターンと
は、例えば、キャッシュラインの大きさ(データブロッ
クの大きさと同じ)が、8個(ワード)である時、デー
タブロックM(h) のデータをキャッシュライン(i) がコ
ピーしている間に、キャッシュライン(i) の8個のデー
タのうち、いくつのデータ(種類)にアクセスしたかを
示す値で、同じデータに複数回アクセスしてもこの値は
変わらない。これ以外にも、キャッシュラインの特定の
位置のデータへのアクセスをアクセスパターンとするこ
ともでき、このようなキャッシュラインへのアクセス履
歴の持たせ方は、多くのバリエーションがある。
【0035】そして、上記のアクセス履歴を示すカウン
タは、各キャッシュライン毎に持ち、例えば、データブ
ロックM(h) のデータがキャッシュライン(i) にコピー
された時、アクセス履歴のカウンタは初期値に設定され
る。そして、データブロックM(h) のデータをキャッシ
ュライン(i) がコピーしている間に、このキャッシュラ
イン(i) のデータにアクセスすると、このアクセス履歴
のカウンタの値が必要に応じ更新される。また、上述の
ように、隣接データブロックM(h+1) を先読みした場
合、キャッシュライン(i) に対応するアクセス履歴のカ
ウンタは、リセットされ、これ以降(新たなデータブロ
ックのデータをキャッシュライン(i) にコピーするま
で)、このキャッシュライン(i) へのアクセスで、アク
セス履歴のカウンタは更新されない。そして、先読みさ
れたデータブロックM(h+1) のデータをコピーしたキャ
ッシュラインに対応するアクセス履歴のカウンタは、初
期設定される。
【0036】もし、データのアクセスが、設定された先
読みの方向と逆方向の隣接データブロックに対して行な
われた時、例えば、データブロックM(h) のデータのア
クセスの後、データブロックM(h-1) のデータをアクセ
スし、ミスヒットしたとする。この時、上記で設定され
た先読みの方向と逆方向の隣接データブロックへのアク
セスであることを検知し、データブロックM(h-1) のデ
ータをキャッシュメモリに読込む。そして、データブロ
ックM(h-1) のアクセスにより先読みされる隣接データ
ブロックの方向の設定を上記の方向と逆方向に設定す
る。このように、現在アクセスしているデータブロック
のアクセス履歴により、隣接データブロックを先読みす
ることで、メインメモリ上に、M(h) 、M(h+1) 、M(h
+2) …とデータが並んでいて、これらのデータを一方向
に隣接したデータブロックに沿ってアクセスする場合、
キャッシュメモリのミスヒットが激減する。そして、ア
クセス履歴の設定を最適化することで、キャッシュメモ
リの効率化を図ることも期待できる。
【0037】また、アクセスの方向が変わっても、それ
に追随した先読みができる。図7は、本発明のキャッシ
ュメモリ装置の他の実施例のブロック図である。また、
図8は、先読み制御回路の詳細の他の例を示す回路図で
ある。図7において、キャッシュメモリ装置2は、CP
U1とメインメモリ3との間に備えられている。CPU
1は、メインメモリ3に格納されたデータをキャッシュ
メモリ装置2を介してアクセスする。メインメモリ3に
は、CPU1で用いるプログラムやデータが格納されて
いる。キャッシュメモリ装置2は、キャッシュメモリ2
1と、タグ22、データ転送制御回路23と、タグ比較
回路24と、データ選択回路25と、先読み制御回路2
6とから成る。
【0038】キャッシュメモリ21は、CPU1とメイ
ンメモリ3との間のデータアクセスを高速化させるため
にメインメモリ3の一部をコピーしている。先読み制御
回路26は、キャッシュアクセスラインカウンタ70
と、先読み隣接方向フラグ62と、逆隣接データブロッ
クタグ63と、逆隣接データブロックタグ比較回路64
と、隣接データブロックアドレス演算回路65と、フラ
グ変更回路66と、キャッシュアクセスラインカウンタ
更新回路67とから成る。先読み制御回路26は、キャ
ッシュメモリ21へのアクセスがヒットした場合、アク
セスしたデータを含むデータブロック(キャッシュがキ
ャッシュラインとして扱うメモリ上の連続したデータの
大きさ)に対応するキャッシュラインに対する、アクセ
ス履歴の値がアクセス毎により更新される。アクセス履
歴とは、アクセス回数やアクセスパターンをいう。図示
の例では、1つのキャッシュラインの中でアクセスされ
たデータの種類で、例えば、1つのキャッシュラインに
8個のデータがあり、このうち6個のデータに対するア
クセスが行なわれたなどで、同じデータに複数回アクセ
スしても1個のデータに対するアクセスとするなどを示
す値とする。この値が設定された値と一致すると、この
データブロックのアドレスに対し、設定された隣接方向
のデータブロックを先読みする。
【0039】また、先読み制御回路26は、キャッシュ
メモリ21へのアクセスで、上記の先読みした隣接方向
と逆方向の隣接データブロックにアクセスした場合、ア
クセスしたデータを含むデータブロックを読込む。そし
て、上記の先読みした隣接方向と逆方向の隣接データブ
ロックにアクセスしたことを検知し、この後このデータ
ブロックのアクセスで先読みが生じた場合の先読み隣接
方向の設定の変更を行なう。尚、キャッシュメモリ21
へのアクセスで、ミスヒットした場合は、通常のキャッ
シュと同様に、ミスヒットしたデータを含むデータブロ
ックを読み込む。図9は、本発明の他の実施例での1つ
のキャッシュラインに対応する情報を示す図である。
【0040】CPUからのアドレスA1のフィールドa
2により、キャッシュアクセスラインカウンタ70、先
読み隣接方向フラグ62、逆隣接データブロックタグ6
3、タグ22、キャッシュメモリ21から読み出される
情報を示す。逆隣接データブロックタグ63以外は、読
み出されたキャッシュライン(ここで、このキャッシュ
ラインにはデータブロックM(j) のデータがコピーされ
ているとする)に対する情報である。図9において、タ
グは、このキャッシュラインが持つデータブロックM
(j) の上位アドレスを示し、アドレスA1のアドレスフ
ィールドa3に対応している。キャッシュアクセスライ
ンカウンタ70は、各キャッシュライン毎のアクセス履
歴の値が入れられる。この値は、キャッシュラインのア
クセスにより更新され、この値が設定された値となる
と、設定された隣接方向のデータブロックの先読みが開
始される。
【0041】先読み隣接方向フラグは、このキャッシュ
ラインのアクセスにより先読みする隣接データブロック
の方向を示す。データブロックM(i) に対する隣接デー
タブロックは、M(i+1) とM(i-1) があり、このうちの
どちらを先読み隣接データブロックとして先読みするか
を示すフラグである。逆隣接データブロックタグは、こ
のキャッシュライン(このキャッシュラインをここでは
キャッシュライン(k) とする)のデータに関する情報で
はなく、例えば、データブロックM(k) が読み込まれた
時、このデータブロックM(k) に対する先読み隣接デー
タブロックがデータブロックM(k+1) であり、この先読
み隣接方向と逆方向の隣接データブロックM(k-1) のデ
ータブロックを扱うことができるキャッシュラインがキ
ャッシュライン(m) である時、このキャッシュライン
(m) に対応する逆隣接データブロックタグに、このデー
タブロックM(k-1) の上位アドレスを入れる。これは、
先読み隣接方向フラグと逆方向の隣接データブロックの
アクセスが生じた場合に、それを検知するためのもので
ある。
【0042】図6、図7、図8、図9を用い、内部動作
を説明する。ここでは、M(h) に対する先読み隣接デー
タブロック方向を、M(h+1) の方向に初期設定してある
ものとする。まず、データブロックM(h) のデータのア
クセスでミスヒットしたとする。この時、CPUから出
されたアドレスA1(データブロックM(h) のデータの
アドレス)のa2により、図9で示すキャッシュライン
と、このキャッシュラインに対応した情報が複数読み出
される。そして、タグ22から読み出された複数のタグ
は、タグ比較回路24でCPUからのアドレスA1のa
3と比較され、ミスヒットとなる。このミスヒット信号
S2とCPUからのアドレスA1がデータ転送制御回路
23に送られ、データブロックM(h) のデータのキャッ
シュメモリ21への読込みが行なわれる。(ここでは、
逆隣接データブロックタグ比較回路64がヒットしない
ものとする。)
【0043】この時、データブロックM(h) のデータを
コピーしたキャッシュラインに対応するタグに、このデ
ータブロックM(h) の上位アドレスを入れ、キャッシュ
アクセスラインカウンタを初期値に設定し、先読み隣接
方向フラグを初期設定の方向を示す値に設定する。そし
て、先読み隣接方向と逆方向の隣接データブロックM(h
-1) を読み込むことができるキャッシュラインに対応す
る逆隣接データブロックタグに、データブロックM(h-
1) の上位アドレスを入れる。この後、データブロック
M(h) のデータをアクセスすると、CPUからのアドレ
スA1のa2により、複数のキャッシュラインと、各キ
ャッシュラインに対応した情報が読み出される。タグ2
2から読み出された複数のタグは、タグ比較回路24
で、CPUからのアドレスA1のa3と比較され、ヒッ
トする。そして、ヒットしたタグに対応したキャッシュ
ラインを選択するためのヒット信号S1が、タグ比較回
路24からデータ選択回路25に送られ、アドレスA1
からのa1とともにデータ選択回路25で、キャッシュ
ラインの選択と、選択されたキャッシュラインから目的
のデータの選択が行なわれる。
【0044】この時、タグ比較回路24からのヒット信
号S1により選択されたキャッシュアクセスラインカウ
ンタの値は、キャッシュアクセスラインカウンタ比較回
路69により設定値と比較される。ここで、設定値と一
致しない場合、このキャッシュアクセスラインカウンタ
の値は、キャッシュアクセスラインカウンタ更新回路6
8により更新される。また、設定値と一致しないこと
で、ゲート67がオフとなるため隣接データブロックア
ドレス演算回路65の出力は、データ転送制御回路23
に送られない。そして、逆隣接データブロックタグは、
逆隣接データブロックタグ比較回路64でアドレスA1
のa3と比較されるが、タグ比較回路24の結果がヒッ
トすることによりフラグ変更信号S4がフラグ変更回路
66に送られないため、フラグの変更は行なわれない。
また、タグ比較回路24がヒットすることにより、デー
タ転送制御回路23は、キャッシュブロックの先読みを
行なわない。
【0045】ここで、設定値と一致する場合、キャッシ
ュアクセスラインカウンタ比較回路69からの一致信号
S5がデータ転送制御回路23に送られる。そして、ヒ
ット信号S1によって選択された先読み隣接方向フラグ
より、隣接データブロックアドレス演算回路65でデー
タブロックM(h+1) のアドレス計算が行なわれ、その結
果が、データ転送制御回路23に送られ、データブロッ
クM(h+1) のデータの読込みが行なわれる。この時、デ
ータブロックM(h+1) のデータをコピーしたキャッシュ
ラインに対応するタグに、このデータブロックM(h+1)
の上位アドレスを入れ、キャッシュアクセスラインカウ
ンタを初期値に設定し、先読み隣接方向フラグを、デー
タブロックM(h) のデータをコピーしているキャッシュ
ラインに対応する先読み隣接方向フラグと同じに設定す
る。また、データブロックM(h) のデータをコピーして
いるキャッシュラインに対応するキャッシュアクセスラ
インカウンタは、リセットされる。
【0046】この後、データブロックM(h-1) のデータ
をアクセスすると、ミスヒット(データブロックM(h-
1) がキャッシングされていないとする)する。これ
は、上記の先読み隣接方向フラグで設定された先読み方
向と逆方向の隣接データブロックへのアクセスを行なっ
た場合である。この場合、上記のデータブロックM(h)
のデータアクセスでミスヒットした場合と同様に、CP
Uから出されたアドレスA1のa2により、複数のキャ
ッシュラインと、各キャッシュラインに対応した情報が
読み出される。タグ22から読み出された複数のタグ
は、タグ比較回路24で、CPUからのアドレスA1の
a3と比較され、ミスヒットとなる。このミスヒット信
号S2とCPUからのアドレスA1がデータ転送制御回
路23に送られる。これにより、データブロックM(h-
1) のデータのキャッシュメモリ21への読込みが行な
われる。
【0047】そして、この場合は、逆隣接データブロッ
クタグが、逆隣接データブロックタグ比較回路64でア
ドレスA1のa3と比較され、ヒットし、このヒット信
号S3と、タグ比較回路24からのミスヒット信号によ
りフラグ変更信号S4がフラグ変更回路66に送られ
る。この時、データブロックM(l-1) のデータをコピー
したキャッシュラインに対応するタグに、このデータブ
ロックM(l-1) の上位アドレスを入れ、キャッシュアク
セスラインカウンタを初期値に設定する。そして、先読
み隣接方向フラグを、データブロックM(h+1) のデータ
をコピーしているキャッシュラインに対応する先読み隣
接方向フラグと逆方向に設定する。尚、これらの先読み
機構を動作させるか否かの切替えや、アクセス履歴に対
する条件の設定(値やパターン)の変更は可能であり、
処理内容によりキャッシングの方法を変えることで、よ
りヒット率の高いキャッシュメモリを構成することがで
きる。
【0048】
【発明の効果】以上説明したように、本発明のキャッシ
ュメモリ装置によれば、連続したアクセスが予測される
データブロックを予めキャッシュメモリ上に転送するよ
うにしたので、画像情報などのようにメインメモリの多
くの領域に、連続してデータが存在することが多く、か
つ、これらのデータを連続してアクセスすることが多い
場合に、キャッシュメモリのヒット率を向上させること
ができる。即ち、これらのデータをキャッシュメモリ上
で扱うとき、アクセスしたキャッシュラインに隣接した
データを予めキャッシングすることができる。これによ
り、このようなデータに対するキャッシュメモリのミス
ヒットを低減させることができ、アクセス性能の向上に
寄与する効果は、極めて大きい。また、データブロック
の先読みの開始を、現在アクセスしているデータブロッ
クのアクセス履歴により変更できるようにしたので、キ
ャッシュメモリを効率的に利用することができる。
【図面の簡単な説明】
【図1】本発明のキャッシュメモリ装置の一実施例のブ
ロック図である。
【図2】従来のキャッシュメモリ装置の一例のブロック
図である。
【図3】本発明の一実施例でのメインメモリとキャッシ
ュメモリとの間のデータ転送の説明図である。
【図4】先読み制御回路の詳細の一例を示す回路図であ
る。
【図5】本発明の一実施例での1つのキャッシュライン
に対応する情報を示す図である。
【図6】本発明の他の実施例でのメインメモリとキャッ
シュメモリとの間のデータ転送の説明図である。
【図7】本発明のキャッシュメモリ装置の他の実施例の
ブロック図である。
【図8】先読み制御回路の詳細の他の例を示す回路図で
ある。
【図9】本発明の他の実施例での1つのキャッシュライ
ンに対応する情報を示す図である。
【符号の説明】
1 CPU 2 キャッシュメモリ装置 3 メインメモリ 21 キャッシュメモリ 22 タグ 23 データ転送制御回路 24 タグ比較回路 25 データ選択回路 26 先読み制御回路 61 先読みキャッシュラインフラグ 62 先読み隣接方向フラグ 63 逆隣接データブロックタグ 64 逆隣接データブロックタグ比較回路 65 隣接データブロックアドレス演算回路 66 フラグ変更回路 67 ゲート 68 キャッシュアクセスラインカウンタ更新回路 69 キャッシュアクセスラインカウンタ比較回路 70 キャッシュアクセスラインカウンタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 メインメモリ内のデータをキャッシュメ
    モリ上に転送し、当該キャッシュメモリ上のデータをC
    PUによりアクセスするようにしたキャッシュメモリ装
    置において、 前記CPUから前記キャッシュメモリへのデータのアク
    セスで、アクセス対象であるデータが当該キャッシュメ
    モリ上に存在しない場合、アクセス対象であるデータを
    含むデータブロックを当該キャッシュメモリ上に転送す
    るとともに、当該データブロックに隣接するデータブロ
    ックのうち、設定された方向の隣接データブロックを当
    該キャッシュメモリ上に転送する先読み制御回路を備え
    たことを特徴とするキャッシュメモリ装置。
  2. 【請求項2】 前記先読み制御回路は、前記キャッシュ
    メモリへのアクセスで、アクセス対象であるデータが当
    該キャッシュメモリ上に存在する場合にも、当該データ
    を含むデータブロックに対し、設定した隣接方向のデー
    タブロックが当該キャッシュメモリ上に存在しない場合
    には、当該隣接データブロックを当該キャッシュメモリ
    上に転送することを特徴とする請求項1記載のキャッシ
    ュメモリ装置。
  3. 【請求項3】 前記先読み制御回路は、前記キャッシュ
    メモリへのアクセスで、前記設定された先読み隣接方向
    と逆方向の隣接データブロックにアクセスした場合、前
    記設定された先読み隣接方向と逆方向の隣接データブロ
    ックにアクセスしたことを検知し、当該データブロック
    のアクセスで生じる隣接データブロックの先読み方向を
    変更し、前記アクセス対象であるデータを含むデータブ
    ロックの読込みと、当該データブロックに対し変更され
    た隣接方向のデータブロックを前記キャッシュメモリ上
    に転送することを特徴とする請求項1又は2記載のキャ
    ッシュメモリ装置。
  4. 【請求項4】 メインメモリ内のデータをキャッシュメ
    モリ上に転送し、当該キャッシュメモリ上のデータをC
    PUによりアクセスするようにしたキャッシュメモリ装
    置において、 前記CPUから前記キャッシュメモリへのデータのアク
    セスで、アクセス対象であるデータが当該キャッシュメ
    モリ上に存在する場合、アクセス対象であるデータを含
    む当該キャッシュメモリ上のアクセスラインのアクセス
    履歴を更新し、当該アクセス履歴が設定された条件と一
    致すると、当該キャッシュラインに転送されているデー
    タブロックに隣接するデータブロックのうち、設定され
    た方向の隣接データブロックを当該キャッシュメモリ上
    に転送する先読み制御回路を備えたことを特徴とするキ
    ャッシュメモリ装置。
  5. 【請求項5】 前記先読み制御回路は、前記キャッシュ
    メモリへのアクセスで、前記設定された先読み隣接方向
    と逆方向の隣接データブロックにアクセスした場合、前
    記設定された先読み隣接方向と逆方向の隣接データブロ
    ックにアクセスしたことを検知し、当該アクセス対象で
    あるデータを含むデータブロックを前記キャッシュメモ
    リ上に転送し、当該データブロックのアクセスで生じる
    隣接データブロックの先読み方向を変更することを特徴
    とする請求項4記載のキャッシュメモリ装置。
  6. 【請求項6】 前記先読み制御回路は、先読みを開始す
    るための前記アクセス履歴の条件の設定を変更可能とす
    ることを特徴とする請求項4又は5記載のキャッシュメ
    モリ装置。
JP4248725A 1992-08-25 1992-08-25 キャッシュメモリ装置 Pending JPH0675853A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4248725A JPH0675853A (ja) 1992-08-25 1992-08-25 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4248725A JPH0675853A (ja) 1992-08-25 1992-08-25 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH0675853A true JPH0675853A (ja) 1994-03-18

Family

ID=17182424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4248725A Pending JPH0675853A (ja) 1992-08-25 1992-08-25 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JPH0675853A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246204B2 (en) 2002-06-28 2007-07-17 Fujitsu Limited Pre-fetch control device, data processing apparatus and pre-fetch control method
JP2017503266A (ja) * 2014-01-07 2017-01-26 アップル インコーポレイテッド フラッシュメモリ内に記憶されたデータの推測的プリフェッチ
US9892049B2 (en) 2012-10-31 2018-02-13 Renesas Electronics Corporation Semiconductor device and method for prefetching to cache memory
CN114780031A (zh) * 2022-04-15 2022-07-22 北京志凌海纳科技有限公司 一种基于单机存储引擎的数据处理方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246204B2 (en) 2002-06-28 2007-07-17 Fujitsu Limited Pre-fetch control device, data processing apparatus and pre-fetch control method
US9892049B2 (en) 2012-10-31 2018-02-13 Renesas Electronics Corporation Semiconductor device and method for prefetching to cache memory
JP2017503266A (ja) * 2014-01-07 2017-01-26 アップル インコーポレイテッド フラッシュメモリ内に記憶されたデータの推測的プリフェッチ
CN114780031A (zh) * 2022-04-15 2022-07-22 北京志凌海纳科技有限公司 一种基于单机存储引擎的数据处理方法和装置
CN114780031B (zh) * 2022-04-15 2022-11-11 北京志凌海纳科技有限公司 一种基于单机存储引擎的数据处理方法和装置

Similar Documents

Publication Publication Date Title
EP0996891B1 (en) Data processing circuit with cache memory
US4774654A (en) Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
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
JP3969009B2 (ja) ハードウェアプリフェッチシステム
US5623627A (en) Computer memory architecture including a replacement cache
US7099999B2 (en) Apparatus and method for pre-fetching data to cached memory using persistent historical page table data
US8909871B2 (en) Data processing system and method for reducing cache pollution by write stream memory access patterns
JP4692678B2 (ja) 情報処理装置
US20020087802A1 (en) System and method for maintaining prefetch stride continuity through the use of prefetch bits
US6560693B1 (en) Branch history guided instruction/data prefetching
US5897655A (en) System and method for cache replacement within a cache set based on valid, modified or least recently used status in order of preference
JP2906315B2 (ja) キャッシュメモリ中でインストラクションを保管する方法及び回路
US5809566A (en) Automatic cache prefetch timing with dynamic trigger migration
US5233702A (en) Cache miss facility with stored sequences for data fetching
JP3640355B2 (ja) キャッシュ制御の命令プリフェッチ方法及びシステム
US20100217937A1 (en) Data processing apparatus and method
JP2004038345A (ja) プリフェッチ制御装置、情報処理装置及びプリフェッチ制御方法
JPH0659976A (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
JPH0721085A (ja) メモリとi/o装置の間で転送されるデータをキャッシュするためのストリーミングキャッシュおよびその方法
JPH0675853A (ja) キャッシュメモリ装置
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
JP2002108705A (ja) キャッシュ汚染減少方法および装置
JP2008009857A (ja) キャッシュ制御回路およびプロセッサシステム
JPH08328959A (ja) ディスクキャッシュ制御装置
JP2000347941A (ja) キャッシュメモリ装置