JPS63284649A - キャッシュメモリ制御方法 - Google Patents
キャッシュメモリ制御方法Info
- Publication number
- JPS63284649A JPS63284649A JP62119809A JP11980987A JPS63284649A JP S63284649 A JPS63284649 A JP S63284649A JP 62119809 A JP62119809 A JP 62119809A JP 11980987 A JP11980987 A JP 11980987A JP S63284649 A JPS63284649 A JP S63284649A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- directory
- cache
- block
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 29
- 238000013507 mapping Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000007423 decrease Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 101100511834 Arabidopsis thaliana LRL1 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目 次〕
概要 ゛
産業上の利用分野
従来の技術と発明が解決しようとする問題点問題点を解
決するための手段 作用 実施例 発明の効果 〔概要〕 セント・アソシアティブ方式のディレクトリを持つキャ
ッシュシステムにおいて、特に、ブロックサイズが大き
い場合のヒツト率を効率的に向上させる為に、ディレク
トリのエントリの総数をキャッシュメモリのブロックの
総数より大きい任意の値とし、ディレクトリの各エント
リに、キャッシュメモリに写像されたデータのキャッシ
ュメモリのブロックアドレスを設定するフィールドを設
けて、記憶装置の各セットに対応する任意のブロックを
、キャッシュメモリの任意のブロックに写像するように
すると共に、ミスヒツトの場合の追い出し制御をディレ
クトリの各セット間と、キャッシュブロックのそれぞれ
において行うようにしたものである。
決するための手段 作用 実施例 発明の効果 〔概要〕 セント・アソシアティブ方式のディレクトリを持つキャ
ッシュシステムにおいて、特に、ブロックサイズが大き
い場合のヒツト率を効率的に向上させる為に、ディレク
トリのエントリの総数をキャッシュメモリのブロックの
総数より大きい任意の値とし、ディレクトリの各エント
リに、キャッシュメモリに写像されたデータのキャッシ
ュメモリのブロックアドレスを設定するフィールドを設
けて、記憶装置の各セットに対応する任意のブロックを
、キャッシュメモリの任意のブロックに写像するように
すると共に、ミスヒツトの場合の追い出し制御をディレ
クトリの各セット間と、キャッシュブロックのそれぞれ
において行うようにしたものである。
本発明は、キャッシュメモリ制御方式に係り、特に、磁
気ディスク装置等に利用されるブロックサイズの大きい
キャッシュメモリの制御方式に関する。
気ディスク装置等に利用されるブロックサイズの大きい
キャッシュメモリの制御方式に関する。
キャッシュメモリの概念は、プログラムのアドレス分布
に局所性があることを利用して、大容量ではあるが、比
較的低速の主記憶装置(MS)に対するアクセスタイム
を短縮させる為に考え出されたもので、該低速大容量の
主記憶装置(MS)と、中央処理装置(CPU)との間
に、小容量ではあるが高速のキャッシュメモリを設け、
上記プログラムのアドレス分布の局所性が見られる1ブ
ロツクを、該キャッシュメモリに転送しておいて、大部
分のアクセスを該キャッシュメモリとの間で行って、主
記憶装置(MS)に対する見掛は上のアクセスタイムの
短縮化を図ろうとするものである。
に局所性があることを利用して、大容量ではあるが、比
較的低速の主記憶装置(MS)に対するアクセスタイム
を短縮させる為に考え出されたもので、該低速大容量の
主記憶装置(MS)と、中央処理装置(CPU)との間
に、小容量ではあるが高速のキャッシュメモリを設け、
上記プログラムのアドレス分布の局所性が見られる1ブ
ロツクを、該キャッシュメモリに転送しておいて、大部
分のアクセスを該キャッシュメモリとの間で行って、主
記憶装置(MS)に対する見掛は上のアクセスタイムの
短縮化を図ろうとするものである。
一方、最近の半導体技術の進歩による中央処理装置(C
PU)の高速化と、媒体技術の進歩によるファイル記憶
装置、例えば、磁気ディスク装置の大容量化に伴って、
該中央処理装置(CPU)と磁気ディスク装置の速度差
が開き、該中央処理袋M (cpU)と磁気ディスク装
置との間にディスクキャッシュを設ける必要性が益々高
まってきている。
PU)の高速化と、媒体技術の進歩によるファイル記憶
装置、例えば、磁気ディスク装置の大容量化に伴って、
該中央処理装置(CPU)と磁気ディスク装置の速度差
が開き、該中央処理袋M (cpU)と磁気ディスク装
置との間にディスクキャッシュを設ける必要性が益々高
まってきている。
然して、該磁気ディスク装置における1ブロツクのサイ
ズが、例えば、4KB〜8KBと大きい為、咳大容量の
ブロックに適したディスクキャッシュ制御方式が必要と
される。
ズが、例えば、4KB〜8KBと大きい為、咳大容量の
ブロックに適したディスクキャッシュ制御方式が必要と
される。
〔従来の技術と発明が解決しようとする問題点〕第3図
は、従来めキャッシュメモリ制御方式を説明する図であ
る。
は、従来めキャッシュメモリ制御方式を説明する図であ
る。
従来から、大容量の記憶装置からのデータを効果的にキ
ャッシュメモリに写像する技術は、各種考案されており
、例えば、フル・アソシアティブ方式、セット・アソシ
アティブ方式、ダイレクト・マツピング方式等が良く知
られている。
ャッシュメモリに写像する技術は、各種考案されており
、例えば、フル・アソシアティブ方式、セット・アソシ
アティブ方式、ダイレクト・マツピング方式等が良く知
られている。
第3図(a)はフル・アソシアティブ方式の原理図を示
し、 (b)はセット・アソシアティブ方式の原理図を
示している。
し、 (b)はセット・アソシアティブ方式の原理図を
示している。
(a)図に示したフル・アソシアティブ方式では、記憶
装置1上のデータブロック(so−3,) 11を、キ
ャッシュメモリ22上の任意のデータブロック(C,−
C11)に写像する。
装置1上のデータブロック(so−3,) 11を、キ
ャッシュメモリ22上の任意のデータブロック(C,−
C11)に写像する。
従って、キャッシュメモリ22を最も効率的に使用でき
るが、ヒツト判定に、全データブロックのタグを比較し
なければならないので、ブロックの数が多くなると、比
較回路(CMP) 216が膨大となり実現が困難とな
る問題がある。
るが、ヒツト判定に、全データブロックのタグを比較し
なければならないので、ブロックの数が多くなると、比
較回路(CMP) 216が膨大となり実現が困難とな
る問題がある。
(b)図に示したセット・アソシアティブ方式では、キ
ャッシュメモリ22.及びディレクトリ 21が複数個
(本例では、M+1個)のセットに分割される。
ャッシュメモリ22.及びディレクトリ 21が複数個
(本例では、M+1個)のセットに分割される。
そして、アドレスの一部は、該ディレクトリ21の索引
タグとして使用されるので、例えば、キャッシュメモリ
22の各セット (0〜M)がn+1個のブロックから
なるとき、記憶装置1のn+1番目毎のブロックは、索
引タグの等しいキャッシュメモリ22のデータブロック
(例えば、Coo−CHo+Cal〜C□、 −)
に写像される。
タグとして使用されるので、例えば、キャッシュメモリ
22の各セット (0〜M)がn+1個のブロックから
なるとき、記憶装置1のn+1番目毎のブロックは、索
引タグの等しいキャッシュメモリ22のデータブロック
(例えば、Coo−CHo+Cal〜C□、 −)
に写像される。
このとき、該キャッシュメモリ21のどのセットに写像
されるかは任意であるので、ヒツト判定はセット数分の
タグを比較回路(CMP) 216a〜216mで比較
する必要がある。
されるかは任意であるので、ヒツト判定はセット数分の
タグを比較回路(CMP) 216a〜216mで比較
する必要がある。
ダイレクト・マンピング方式については、セット数が1
個のセット・アソシアティブ方式と考えることができる
。
個のセット・アソシアティブ方式と考えることができる
。
上記のように、セット・アソシアティブ方式では、ヒツ
ト判定が簡単で、キャッシュメモリ22の使用効率もダ
イレクト・マツピングと比べると効率的に使用できるの
で、良く使われる方式である。
ト判定が簡単で、キャッシュメモリ22の使用効率もダ
イレクト・マツピングと比べると効率的に使用できるの
で、良く使われる方式である。
然し、アクセスアドレスによって写像されるキャッシュ
メモリ 22のブロックが制限される (具体的には、
ディレクトリのエントリ数と同じ)ので、索引タグの等
しいアクセスが集中すると、必要なデータがキャッシュ
メモリ22に留まる可能性が低(なる。即ち、ヒツト率
が低下する。
メモリ 22のブロックが制限される (具体的には、
ディレクトリのエントリ数と同じ)ので、索引タグの等
しいアクセスが集中すると、必要なデータがキャッシュ
メモリ22に留まる可能性が低(なる。即ち、ヒツト率
が低下する。
これを緩和する為には、セット数を増やせば良いが、索
引タグに対してアクセスが平均化しないと、使われない
キャッシュブロックや、キャッシュメモリ22に留まる
必要のないデータが長く残ったりして、該キャッシュメ
モリ22の使用効率が低下することになる。
引タグに対してアクセスが平均化しないと、使われない
キャッシュブロックや、キャッシュメモリ22に留まる
必要のないデータが長く残ったりして、該キャッシュメ
モリ22の使用効率が低下することになる。
特に、ディスクキャッシュメモリのように、ブロックサ
イズの大きいもの(例えば、ディスクキャッシュでは、
1ブロツクが4MB、8MB等)では、キャッシュメモ
リの全体の大きさを、ブロックサイズに比例させて大き
くするのは現実的でないことから、各ディレクトリ当た
りのエントリ数、及びセット数が少なくなりヒツト率が
低下する問題がある。
イズの大きいもの(例えば、ディスクキャッシュでは、
1ブロツクが4MB、8MB等)では、キャッシュメモ
リの全体の大きさを、ブロックサイズに比例させて大き
くするのは現実的でないことから、各ディレクトリ当た
りのエントリ数、及びセット数が少なくなりヒツト率が
低下する問題がある。
本発明は上記従来の欠点に鑑み、ディスクキャ・ンシュ
のように、フ゛口・ンクサイズの大きいキャッシュメモ
リに対して、必要なデータがキャッシュメモリ上に存在
するかどうかを簡単に判定でき、且つキャッシュメモリ
を効率的に使用できる方法を提供することを目的とする
ものである。
のように、フ゛口・ンクサイズの大きいキャッシュメモ
リに対して、必要なデータがキャッシュメモリ上に存在
するかどうかを簡単に判定でき、且つキャッシュメモリ
を効率的に使用できる方法を提供することを目的とする
ものである。
第1図は、本発明のキャッシュメモリ制御方式の原理構
成図である。
成図である。
本発明においては、
ディレクトリ(0〜P)21 は、キャッシュメモリ2
2に写像されているブロックのキャッシュメモリのブロ
ックアドレスを保持する手段があることを除くと、セッ
ト・アソシアティブ方式と同じ構成である。
2に写像されているブロックのキャッシュメモリのブロ
ックアドレスを保持する手段があることを除くと、セッ
ト・アソシアティブ方式と同じ構成である。
即ち、セット・アソシアティブ方式でヒツト判定を行い
、ヒントした時、データがキャッシュメモリ22のどの
ブロックにあるかを、ヒツトしたディレクトリ 21の
キャッシュブロックアドレス設定フィールド21aによ
って指定する。
、ヒントした時、データがキャッシュメモリ22のどの
ブロックにあるかを、ヒツトしたディレクトリ 21の
キャッシュブロックアドレス設定フィールド21aによ
って指定する。
ミスヒツトの場合には、ディレクトリの割り当てはディ
レクトリ 21 と、キャッシュメモリ 22の2段階
で行う。
レクトリ 21 と、キャッシュメモリ 22の2段階
で行う。
即ち、ディレクトリ 21は、各セットの中の索引タグ
の等しいエントリ内の1つを選択して割り当てる。
の等しいエントリ内の1つを選択して割り当てる。
キャッシュメモリ22は、全ブロック(co ”cL)
の中から1つを選択して割り当て、このブロックアドレ
スを割り当てられたディレクトリの上記キャッシュブロ
ックアドレス設定フィールド21aに書き込むようにす
る。
の中から1つを選択して割り当て、このブロックアドレ
スを割り当てられたディレクトリの上記キャッシュブロ
ックアドレス設定フィールド21aに書き込むようにす
る。
同時に、該割り当てられたディレクトリをキャッシュメ
モリのブロックアドレスから検索できるように、キャッ
シュ−ディレクトリ対応表23に、ミスヒツト時の上記
割り当てセット番号と、エントリ番号(索引タグアトル
ス)とを ゛対゛ にして登録する。
モリのブロックアドレスから検索できるように、キャッ
シュ−ディレクトリ対応表23に、ミスヒツト時の上記
割り当てセット番号と、エントリ番号(索引タグアトル
ス)とを ゛対゛ にして登録する。
ここで、ディレクトリのエントリの総数(即ち、セット
数と1セツト当たりのエントり数の算術積)は、セット
数、又は1セツト当たりのエントリ数を任意に増加させ
て、キャッシュメモリ22のブロック数(L+1)以上
の値とする。
数と1セツト当たりのエントり数の算術積)は、セット
数、又は1セツト当たりのエントリ数を任意に増加させ
て、キャッシュメモリ22のブロック数(L+1)以上
の値とする。
従って、ディレクトリ 21に空きがあっても、キャッ
シュメモリ 22は、全ブロック使用中と云う状態が起
こり得る。
シュメモリ 22は、全ブロック使用中と云う状態が起
こり得る。
そのような場合には、キャッシュメモリ22のブロック
の1つを、例えば、公知のLRU方式によって解放し、
そこに新たなデータを取り込むようにする。
の1つを、例えば、公知のLRU方式によって解放し、
そこに新たなデータを取り込むようにする。
上記のキャッシュ−ディレクトリ対応表23は、追い出
し対象となったブロックを無効化する際に、=10− それまで、当該追い出し対象のブロックを管理していた
ディレクトリ (セット番号、索引タグアドレス)を索
引する為に使用する。
し対象となったブロックを無効化する際に、=10− それまで、当該追い出し対象のブロックを管理していた
ディレクトリ (セット番号、索引タグアドレス)を索
引する為に使用する。
即ち、本発明によれば、セント・アソシアティブ方式の
ディレクトリを持つキャッシュシステムにおいて、特に
、ブロックサイズか大きい場合のヒツト率を効率的に向
上させる為に、ディレクトリのエントリの総数をキャッ
シュメモリのブロックの総数より大きい任意の値とし、
ディレクトリの各エントリに、キャッシュメモリに写像
されたデータのキャッシュメモリのブロックアドレスを
設定するフィールドを設けて、記憶装置の各セントに対
応する任意のブロックを、キャッシュメモリの任意のブ
ロックに写像するようにすると共に、ミスヒツトの場合
の追い出し制御をディレクトリの各セット間と、キャッ
シュブロックのそれぞれにおいて行うようにしたもので
あるので、例えば、キャッシュメモリは従来の容量の侭
で、ディレクトリのセット数を数倍にすることができ、
結果として、一部の索引タグへのアクセスの集中を数倍
迄許容できる。又、各索引タグへのアクセスがキャッシ
ュメモリの全ブロックにマツピングされる構成となって
いるので、ある索引タグへのアクセスの集中度に応じて
、キャッシュメモリの全ブロックへの取り込みが平均化
され、キャッシュメモリを効率的に使用できる効果が得
られる。又、キャッシュメモリ内での追い出しをディレ
クトリのセット間の追い出しと併用することで、キャッ
シュ内に不必要なデータが留まる可能性を抑えることが
できる効果もある。
ディレクトリを持つキャッシュシステムにおいて、特に
、ブロックサイズか大きい場合のヒツト率を効率的に向
上させる為に、ディレクトリのエントリの総数をキャッ
シュメモリのブロックの総数より大きい任意の値とし、
ディレクトリの各エントリに、キャッシュメモリに写像
されたデータのキャッシュメモリのブロックアドレスを
設定するフィールドを設けて、記憶装置の各セントに対
応する任意のブロックを、キャッシュメモリの任意のブ
ロックに写像するようにすると共に、ミスヒツトの場合
の追い出し制御をディレクトリの各セット間と、キャッ
シュブロックのそれぞれにおいて行うようにしたもので
あるので、例えば、キャッシュメモリは従来の容量の侭
で、ディレクトリのセット数を数倍にすることができ、
結果として、一部の索引タグへのアクセスの集中を数倍
迄許容できる。又、各索引タグへのアクセスがキャッシ
ュメモリの全ブロックにマツピングされる構成となって
いるので、ある索引タグへのアクセスの集中度に応じて
、キャッシュメモリの全ブロックへの取り込みが平均化
され、キャッシュメモリを効率的に使用できる効果が得
られる。又、キャッシュメモリ内での追い出しをディレ
クトリのセット間の追い出しと併用することで、キャッ
シュ内に不必要なデータが留まる可能性を抑えることが
できる効果もある。
以下本発明の実施例を図面によって詳述する。
前述の第1図が本発明のキャッシュメモリ制御方式の原
理構成図であり、第2図は本発明の一実施例をブロック
図で示した図であって、第1図。
理構成図であり、第2図は本発明の一実施例をブロック
図で示した図であって、第1図。
第2図における各ディレクトリ21のキャッシュブロッ
クアドレス設定フィールド21a、及びディレクトリ
LRU 213.キャッシュLRU &更新回路24と
その関連回路が本発明を実施するのに必要な手段である
。尚、全図を通して、同じ符号は同じ対象物を示してい
る。
クアドレス設定フィールド21a、及びディレクトリ
LRU 213.キャッシュLRU &更新回路24と
その関連回路が本発明を実施するのに必要な手段である
。尚、全図を通して、同じ符号は同じ対象物を示してい
る。
以下、第1図を参照しながら、第2図によって、本発明
のキャッシュメモリ制御方式を、(1) ヒツト時、
(2) ミスヒツトでディレクトリ 21.キャッシ
ュメモリ 22共に空きがある場合、(3) ミスヒ
ットでディレクトリ21にのみ空きがある場合。
のキャッシュメモリ制御方式を、(1) ヒツト時、
(2) ミスヒツトでディレクトリ 21.キャッシ
ュメモリ 22共に空きがある場合、(3) ミスヒ
ットでディレクトリ21にのみ空きがある場合。
(4) ミスヒットでディレクトリ 21に空きがな
い場合の各動作について説明する。
い場合の各動作について説明する。
本図において、実線はヒツト時の動作を示し、破線はミ
スヒツト時の動作を示し、一点鎖線はミスヒツト時にお
いて、ディレクトリ21.及びキャッシュメモリ 22
での、あるブロックの追い出し動作を示している。先ず
、 (1) ヒツト時: 選択(回路)214はアクセスアドレスの一部を索引タ
グとして、ディレクトリ 21を選択する。
スヒツト時の動作を示し、一点鎖線はミスヒツト時にお
いて、ディレクトリ21.及びキャッシュメモリ 22
での、あるブロックの追い出し動作を示している。先ず
、 (1) ヒツト時: 選択(回路)214はアクセスアドレスの一部を索引タ
グとして、ディレクトリ 21を選択する。
ディレクトリ 21の各セットから選択されたエントリ
が読み出され、2168〜216mの比較回路(CMP
)で、上記アドレスの他の一部と、該ディレクトリ21
内のタグが比較され、どれか1つが一致するとヒツトと
なる。
が読み出され、2168〜216mの比較回路(CMP
)で、上記アドレスの他の一部と、該ディレクトリ21
内のタグが比較され、どれか1つが一致するとヒツトと
なる。
212は該ディレクトリ 21 の有効フラグだけを抽
出したもので、各セットの当該エントリが有効かどうか
を指定する。
出したもので、各セットの当該エントリが有効かどうか
を指定する。
従って、タグが一致しても、該有効フラグがセットされ
ていなければ無効である。
ていなければ無効である。
ディレクトリ LRU 213では、索引タグ毎に、ア
クセスされたセットの順番を記憶しているが、ヒツトの
場合には、該ヒツトしたセントが最新となるように、L
RU更新回路283で並べ換えを行って、その結果が該
ディレクトリLRU 213に設定される。
クセスされたセットの順番を記憶しているが、ヒツトの
場合には、該ヒツトしたセントが最新となるように、L
RU更新回路283で並べ換えを行って、その結果が該
ディレクトリLRU 213に設定される。
ヒツトセット指示部27は、上記比較回路(CMP)
216a〜216mの結果を受けて、ヒツトしたセット
の番号、又はミスヒツトを判定する。
216a〜216mの結果を受けて、ヒツトしたセット
の番号、又はミスヒツトを判定する。
キャッシュブロック選択部26においては、ヒツトした
ディレクトリ 21から、キャッシュメモリ22のブロ
ックアドレスを選択する。
ディレクトリ 21から、キャッシュメモリ22のブロ
ックアドレスを選択する。
キャッシュメモリ22においては、該選択されたブロッ
クアドレスと、アクセスアドレスの一部のブロック内ア
ドレスによって選択されたデータ22aが、ドライバ回
路29を通してアクセス要求元に送出される。 (但し
、該アクセスがリードの場合) ギャッシュLRLl&更新回路24では、キャッシュメ
モリ22のブロックの所謂LRU管理を行い、アクセス
されたブロックが最新となるように並べ換えを行う。
クアドレスと、アクセスアドレスの一部のブロック内ア
ドレスによって選択されたデータ22aが、ドライバ回
路29を通してアクセス要求元に送出される。 (但し
、該アクセスがリードの場合) ギャッシュLRLl&更新回路24では、キャッシュメ
モリ22のブロックの所謂LRU管理を行い、アクセス
されたブロックが最新となるように並べ換えを行う。
(2) ミスヒツトで、ディレクトリ、キャッシュメ
モリとも、空きがある場合: (1)と同様にして、タグの比較が行った結果、比較器
(CMP) 216a〜216mの全出力が不一致であ
るならば、ミスヒツトである。
モリとも、空きがある場合: (1)と同様にして、タグの比較が行った結果、比較器
(CMP) 216a〜216mの全出力が不一致であ
るならば、ミスヒツトである。
この場合、空きセット部280.及び選択回路282に
おいて、上記索引タグで選択さる各セットのエントリの
内から、空きセット、即ち、ディレクトリ有効フラグ2
12の8亥当出力が“オフ゛ のものを1つ選択■する
。
おいて、上記索引タグで選択さる各セットのエントリの
内から、空きセット、即ち、ディレクトリ有効フラグ2
12の8亥当出力が“オフ゛ のものを1つ選択■する
。
又、ブロック使用フラグテーブル250がら空きブロッ
ク検出部251が、キャッシュメモリ 22の空きブロ
ックを選択■する。
ク検出部251が、キャッシュメモリ 22の空きブロ
ックを選択■する。
こうして、ディレクトリ 21.及びキャッシュメモリ
22の割り当てが決まると、該割り当てられたディレク
トリ 21には、比較タグアドレスと。
22の割り当てが決まると、該割り当てられたディレク
トリ 21には、比較タグアドレスと。
キャッシュブロックアドレス■とを、上記空きセットの
ミスヒツトを生起した索引タグアドレスに対応するエン
トりに書き込んで、有効フラグをセット■する。
ミスヒツトを生起した索引タグアドレスに対応するエン
トりに書き込んで、有効フラグをセット■する。
又、ブロック使用フラグテーブル250をセット■する
と共に、キャッシュ−ディレクトリ対応表23に、当該
セット番号と、索引フグアトレス■を登録し、更に、デ
ィレクトリ 21.キャッシュメモリ22に対応するデ
ィレクトリ LRIJ 213.キャッシュLl?tl
&更新回路24内のLRIJテーブルを更新■する。
と共に、キャッシュ−ディレクトリ対応表23に、当該
セット番号と、索引フグアトレス■を登録し、更に、デ
ィレクトリ 21.キャッシュメモリ22に対応するデ
ィレクトリ LRIJ 213.キャッシュLl?tl
&更新回路24内のLRIJテーブルを更新■する。
該ミスヒット時は、記憶装置アクセス機構30が動作し
て、記憶装置3から上記割り当てられたキャッシュメモ
リ 22のブロックにデータを、レシーバ29を介して
補充すると共に、必要なデータをアクセス要求元に転送
する。
て、記憶装置3から上記割り当てられたキャッシュメモ
リ 22のブロックにデータを、レシーバ29を介して
補充すると共に、必要なデータをアクセス要求元に転送
する。
(3) ミスヒットで、ディレクトリのみに空きがあ
る場合: 上記の(2)と同様にして、ディレクトリの該空きセッ
トを選択■して割り当てる。
る場合: 上記の(2)と同様にして、ディレクトリの該空きセッ
トを選択■して割り当てる。
空きブロック検出部251で、キャッシュメモリ22に
空きブロックが検出できないときは、キャッシュLRI
J&更新回路24で決定される最も古いブロックが、キ
ャッシュブロック選択回路26で選択■゛ される。
空きブロックが検出できないときは、キャッシュLRI
J&更新回路24で決定される最も古いブロックが、キ
ャッシュブロック選択回路26で選択■゛ される。
キャッシュメモリ 22での該ブロックの追い出し操作
の為、選択(回路) 214,215は、前述のキャッ
シュ−ディレクトリ対応表23を用いて、上記量も古い
ブロックに対する索引タグアドレスと。
の為、選択(回路) 214,215は、前述のキャッ
シュ−ディレクトリ対応表23を用いて、上記量も古い
ブロックに対する索引タグアドレスと。
セット番号とを抽出し、そのディレクトリ 21の該エ
ントリの有効フラグをリセットすると共に、ディレクト
リ LRU 213から該当セットを削除■する。
ントリの有効フラグをリセットすると共に、ディレクト
リ LRU 213から該当セットを削除■する。
その後の動作、即ち、割り当てられたブイレフ=17=
トリ 21に対する比較タグアドレス、キャッシュブロ
ックアドレスの書き込み■等の動作、及び、該追い出さ
れたブロックへのデータ転送動作等は、(2)の場合と
同様に機能する。
ックアドレスの書き込み■等の動作、及び、該追い出さ
れたブロックへのデータ転送動作等は、(2)の場合と
同様に機能する。
(4) ミスヒツトで、ディレクトリに空きがない場
合: 空きセット部280で、ディレクトリ 21 に空きセ
ットが検出できないときは、し圓セフ)部281で決定
されたディレクトリ21の最も古い七ノドが、割り当て
セットとして選択回路282で選択■″ され、選択(
回路)215に送出される。
合: 空きセット部280で、ディレクトリ 21 に空きセ
ットが検出できないときは、し圓セフ)部281で決定
されたディレクトリ21の最も古い七ノドが、割り当て
セットとして選択回路282で選択■″ され、選択(
回路)215に送出される。
こうして、該割り当てられたディレクトリ 21のエン
トリ (ミスヒツトを生起した索引タグに対応し、且つ
上記選択されたセントに対応するエントリ)では、比較
タグアドレス■のみが書き替えられ、キャッシュメモリ
22に対するブロックは、上記エントリの持つキャッシ
ュブロックアドレス設定フィールF 21aが指定する
ブロックをその侭使用する。
トリ (ミスヒツトを生起した索引タグに対応し、且つ
上記選択されたセントに対応するエントリ)では、比較
タグアドレス■のみが書き替えられ、キャッシュメモリ
22に対するブロックは、上記エントリの持つキャッシ
ュブロックアドレス設定フィールF 21aが指定する
ブロックをその侭使用する。
即ち、キャッシュ−ディレクトリ対応表23はその侭で
、キャッシュメモリ22の上記ブロックに新たなデータ
を補充する。
、キャッシュメモリ22の上記ブロックに新たなデータ
を補充する。
このように、本発明は、セット・アソシアティブ方式の
キャッシュシステムにおいて、ディレクトリのエントリ
数と、キャッシュメモリでのブロック数を任意の比率と
し、例えば、セット数を増加させることにより、索引タ
グアドレスの等しいアクセスの集中によって必要なデー
タがキャッシュメモリから追い出されるのを緩和すると
共に、キャッシュメモリ内での追い出し制御に、ディレ
クトリのセット間での追い出し制御を並用することで、
キャッシュメモリ内に不必要なデータが留まる可能性を
少なくした所に特徴がある。
キャッシュシステムにおいて、ディレクトリのエントリ
数と、キャッシュメモリでのブロック数を任意の比率と
し、例えば、セット数を増加させることにより、索引タ
グアドレスの等しいアクセスの集中によって必要なデー
タがキャッシュメモリから追い出されるのを緩和すると
共に、キャッシュメモリ内での追い出し制御に、ディレ
クトリのセット間での追い出し制御を並用することで、
キャッシュメモリ内に不必要なデータが留まる可能性を
少なくした所に特徴がある。
尚、本発明によるキャッシュメモリ制御方式では、ディ
レクトリに要するメモリ容量が大きくなるが、ディスク
キャッシュメモリのように、ブロックサイズが大きなも
のでは、キャッシュメモリの総容量に比較して、ディレ
クトリの総容量がはるかに小さいので、メモリの有効利
用、及びヒツト率向上の効果が大きく、コストパーフオ
マンスの良いキャッシュシステムが構築できることにな
る。
レクトリに要するメモリ容量が大きくなるが、ディスク
キャッシュメモリのように、ブロックサイズが大きなも
のでは、キャッシュメモリの総容量に比較して、ディレ
クトリの総容量がはるかに小さいので、メモリの有効利
用、及びヒツト率向上の効果が大きく、コストパーフオ
マンスの良いキャッシュシステムが構築できることにな
る。
以上、詳細に説明したように、本発明のキャッシュメモ
リ制御方式は、セット・アソシアティブ方式のディレク
トリを持つキャッシュシステムにおいて、特に、ブロッ
クサイズが大きい場合のヒツト率を効率的に向上させる
為に、ディレクトリのエントリの総数をキャッシュメモ
リのブロックの総数より大きい任意の値とし、ディレク
トりの各エントリに、キャッシュメモリに写像されたデ
ータのキャッシュメモリのプロックアトルスを設定する
フィールドを設けて、記憶装置の各セットに対応する任
意のブロックを、キャッシュメモリの任意のブロックに
写像するようにすると共に、ミスヒットの場合の追い出
し制御をディレクトリの各セント間と、キャッシュブロ
ックのそれぞれにおいて行うようにしたものであるので
、例えば、キャッシュメモリは従来の容量の侭で、ディ
レクトリのセット数を数(3にすることができ、結果と
して、一部の索引タグへのアクセスの集中をD倍迄許容
できる。又、各索引タグへのアクセスがキャッシュメモ
リの全ブロックにマツピングされる構成となっているの
で、ある索引タグへのアクセスの集中度に応じて、キャ
ッシュメモリの全ブロックへの取り込みが平均化され、
キャッシュメモリを効率的に使用できろ効果が得られる
。又、キャッシュメモリ内での追い出しをブイレフ1す
のセット間の追い出しと併用することで、ギャンシュ内
に不必要なデータが留まる可能性を抑えることができる
効果もある。
リ制御方式は、セット・アソシアティブ方式のディレク
トリを持つキャッシュシステムにおいて、特に、ブロッ
クサイズが大きい場合のヒツト率を効率的に向上させる
為に、ディレクトリのエントリの総数をキャッシュメモ
リのブロックの総数より大きい任意の値とし、ディレク
トりの各エントリに、キャッシュメモリに写像されたデ
ータのキャッシュメモリのプロックアトルスを設定する
フィールドを設けて、記憶装置の各セットに対応する任
意のブロックを、キャッシュメモリの任意のブロックに
写像するようにすると共に、ミスヒットの場合の追い出
し制御をディレクトリの各セント間と、キャッシュブロ
ックのそれぞれにおいて行うようにしたものであるので
、例えば、キャッシュメモリは従来の容量の侭で、ディ
レクトリのセット数を数(3にすることができ、結果と
して、一部の索引タグへのアクセスの集中をD倍迄許容
できる。又、各索引タグへのアクセスがキャッシュメモ
リの全ブロックにマツピングされる構成となっているの
で、ある索引タグへのアクセスの集中度に応じて、キャ
ッシュメモリの全ブロックへの取り込みが平均化され、
キャッシュメモリを効率的に使用できろ効果が得られる
。又、キャッシュメモリ内での追い出しをブイレフ1す
のセット間の追い出しと併用することで、ギャンシュ内
に不必要なデータが留まる可能性を抑えることができる
効果もある。
第1図は本発明のキャッシュメモリ制御方式の原理構成
図。 第2図は本発明の一実施例をブロック図で示したl。 第3図は従来のキャッシュメモリ制御方式を説明する図
。 である。 図面において、 1は記憶装置、 2はキャッシュシステム。 11はデータブロック、又は単にブロック(So〜)。 21はディレクトす。 21aはキャノンニブロックアトレス設定フィールlへ 212はディレクトリ有効フラグ。 213はディレクトリ LRU。 216、216a〜216mは比較回路(CMP)。 22はキャッシュメモリ。 23はキャッシュ−ディレクトリ対応表。 24はキャッシュLRII&更新回路。 30は記憶装置アクセス機構
図。 第2図は本発明の一実施例をブロック図で示したl。 第3図は従来のキャッシュメモリ制御方式を説明する図
。 である。 図面において、 1は記憶装置、 2はキャッシュシステム。 11はデータブロック、又は単にブロック(So〜)。 21はディレクトす。 21aはキャノンニブロックアトレス設定フィールlへ 212はディレクトリ有効フラグ。 213はディレクトリ LRU。 216、216a〜216mは比較回路(CMP)。 22はキャッシュメモリ。 23はキャッシュ−ディレクトリ対応表。 24はキャッシュLRII&更新回路。 30は記憶装置アクセス機構
Claims (2)
- (1)セット・アソシアティブ方式のディレクトリ(2
1)を持つキャッシュシステムにおいて、該ディレクト
リ(21)のエントリの総数をキャッシュメモリ(22
)のブロック数の総数より大きい任意の値とすると共に
、 該ディレクトリ(21)に、キャッシュメモリ(22)
のブロックアドレスを設定するフィールド(21a)を
設けて、 該ディレクトリ(21)のセット対応の空きエントリの
上記ブロックアドレス設定フィールド(21a)に、記
憶装置(1)からのデータを写像したキャッシュメモリ
(22)のブロックアドレスを設定して、該キャッシュ
メモリ(22)を構成している任意のブロックに、記憶
装置(1)の上記セットに対応する任意のブロックを写
像するように制御することを特徴とするキャッシュメモ
リ制御方式。 - (2)上記キャッシュメモリシステムにおいて、ミスヒ
ットで、ディレクトリ(21)、又はキャッシュメモリ
(22)に空きがない場合の追い出し制御を、該ディレ
クトリ(21)のセット間と、キャッシュメモリ(22
)のブロックとで行うようにしたことを特徴とする特許
請求の範囲第1項に記載のキャッシュメモリ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62119809A JPS63284649A (ja) | 1987-05-15 | 1987-05-15 | キャッシュメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62119809A JPS63284649A (ja) | 1987-05-15 | 1987-05-15 | キャッシュメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63284649A true JPS63284649A (ja) | 1988-11-21 |
JPH0511335B2 JPH0511335B2 (ja) | 1993-02-15 |
Family
ID=14770767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62119809A Granted JPS63284649A (ja) | 1987-05-15 | 1987-05-15 | キャッシュメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63284649A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006059384A1 (ja) * | 2004-12-02 | 2006-06-08 | Fujitsu Limited | データバッファ装置、キャッシュ装置、データバッファ制御方法 |
JP2008134682A (ja) * | 2006-11-27 | 2008-06-12 | Fujitsu Ltd | 仮想ライブラリ装置 |
WO2010087310A1 (ja) * | 2009-01-28 | 2010-08-05 | 日本電気株式会社 | キャッシュメモリおよびその制御方法 |
WO2010098152A1 (ja) * | 2009-02-27 | 2010-09-02 | 日本電気株式会社 | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5658185A (en) * | 1980-09-10 | 1981-05-21 | Hitachi Ltd | Buffer memory control device |
-
1987
- 1987-05-15 JP JP62119809A patent/JPS63284649A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5658185A (en) * | 1980-09-10 | 1981-05-21 | Hitachi Ltd | Buffer memory control device |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006059384A1 (ja) * | 2004-12-02 | 2006-06-08 | Fujitsu Limited | データバッファ装置、キャッシュ装置、データバッファ制御方法 |
JP2008134682A (ja) * | 2006-11-27 | 2008-06-12 | Fujitsu Ltd | 仮想ライブラリ装置 |
WO2010087310A1 (ja) * | 2009-01-28 | 2010-08-05 | 日本電気株式会社 | キャッシュメモリおよびその制御方法 |
JP5348146B2 (ja) * | 2009-01-28 | 2013-11-20 | 日本電気株式会社 | キャッシュメモリおよびその制御方法 |
US9053030B2 (en) | 2009-01-28 | 2015-06-09 | Nec Corporation | Cache memory and control method thereof with cache hit rate |
WO2010098152A1 (ja) * | 2009-02-27 | 2010-09-02 | 日本電気株式会社 | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH0511335B2 (ja) | 1993-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7284096B2 (en) | Systems and methods for data caching | |
JP2833062B2 (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
CN110998549B (zh) | 地址转换缓存 | |
US6647466B2 (en) | Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy | |
US6446188B1 (en) | Caching dynamically allocated objects | |
JP3924206B2 (ja) | 不均一メモリ・アクセス(numa)データ処理システム | |
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 | |
EP0695996B1 (en) | Multi-level cache system | |
US5537573A (en) | Cache system and method for prefetching of data | |
US8909871B2 (en) | Data processing system and method for reducing cache pollution by write stream memory access patterns | |
US20070094450A1 (en) | Multi-level cache architecture having a selective victim cache | |
US20070130237A1 (en) | Transient cache storage | |
JPH07253926A (ja) | キャッシュ・ミスによる時間ペナルティ減少方法 | |
JPS62260248A (ja) | データ処理システム | |
CN108459975B (zh) | 用于有效使用地址转换缓存的技术 | |
JP6478843B2 (ja) | 半導体装置及びキャッシュメモリ制御方法 | |
US20070113042A1 (en) | Sparse matrix | |
WO2015075076A1 (en) | Memory unit and method | |
JP2000067024A (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
JPH10293720A (ja) | コンピュータシステムにおけるキャッシュ・コヒーレンシー機構および主メモリに保持されている項目に関してキャッシュの内容のコヒーレンシー状態を変更する方法 | |
US20030018855A1 (en) | Method and apparatus for caching with variable size locking regions | |
US20140013054A1 (en) | Storing data structures in cache | |
JPS63284649A (ja) | キャッシュメモリ制御方法 | |
US7143239B2 (en) | Cache structure and methodology | |
US10977176B2 (en) | Prefetching data to reduce cache misses |