JPH0511335B2 - - Google Patents
Info
- Publication number
- JPH0511335B2 JPH0511335B2 JP62119809A JP11980987A JPH0511335B2 JP H0511335 B2 JPH0511335 B2 JP H0511335B2 JP 62119809 A JP62119809 A JP 62119809A JP 11980987 A JP11980987 A JP 11980987A JP H0511335 B2 JPH0511335 B2 JP H0511335B2
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 31
- 238000010586 diagram Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
〔目次〕
概 要
産業上の利用分野
従来の技術と発明が解決しようとする問題点
問題点を解決するための手段
作 用
実施例
発明の効果
〔概要〕
セツト・アソシアテイブ方式のデイレクトリを
持つキヤツシユシステムにおいて、特に、ブロツ
クサイズが大きい場合のヒツト率を効率的に向上
させる為に、該キヤツシユシステムのキヤツシユ
メモリを、各セツトに共通なブロツクに分割し、
各デイレキトリのエントリの総数をキヤツシユメ
モリの上記ブロツクの総数より大きい任意の値と
し、デイレクトリの各エントリに、キヤツシユメ
モリに写像されたデータのキヤツシユメモリのブ
ロツクアドレスを設定するフイールドを設けて、
記憶装置の各セツトに対応する任意のブロツク
を、キヤツシユメモリの任意のブロツクに写像す
るようにすると共に、ミスヒツトの場合の追い出
し制御をデイレクトリの各セツト間と、キヤツシ
ユブロツクのそれぞれにおいて行うようにしたも
のである。
持つキヤツシユシステムにおいて、特に、ブロツ
クサイズが大きい場合のヒツト率を効率的に向上
させる為に、該キヤツシユシステムのキヤツシユ
メモリを、各セツトに共通なブロツクに分割し、
各デイレキトリのエントリの総数をキヤツシユメ
モリの上記ブロツクの総数より大きい任意の値と
し、デイレクトリの各エントリに、キヤツシユメ
モリに写像されたデータのキヤツシユメモリのブ
ロツクアドレスを設定するフイールドを設けて、
記憶装置の各セツトに対応する任意のブロツク
を、キヤツシユメモリの任意のブロツクに写像す
るようにすると共に、ミスヒツトの場合の追い出
し制御をデイレクトリの各セツト間と、キヤツシ
ユブロツクのそれぞれにおいて行うようにしたも
のである。
本発明は、キヤツシユメモリ制御方法に係り、
特に、磁気デイスク装置等に利用されるブロツク
サイズの大きいキヤツシユメモリの制御方法に関
する。
特に、磁気デイスク装置等に利用されるブロツク
サイズの大きいキヤツシユメモリの制御方法に関
する。
キヤツシユメモリの概念は、プログラムのアド
レス分布に局所性があることを利用して、大容量
ではあるが、比較的低速の主記憶装置MSに対す
るアクセスタイムを短縮させる為に考え出された
もので、該低速大容量の主記憶装置MSと、中央
処理装置CPUとの間に、小容量ではあるが高速
のキヤツシユメモリを設け、上記プログラムのア
ドレス分布の局所性が見られる1ブロツクを、該
キヤツシユメモリに転送しておいて、大部分のア
クセスを該キヤツシユメモリとの間で行つて、主
記憶装置MSに対する見掛け上のアクセスタイム
の短縮化を図ろうとするものである。
レス分布に局所性があることを利用して、大容量
ではあるが、比較的低速の主記憶装置MSに対す
るアクセスタイムを短縮させる為に考え出された
もので、該低速大容量の主記憶装置MSと、中央
処理装置CPUとの間に、小容量ではあるが高速
のキヤツシユメモリを設け、上記プログラムのア
ドレス分布の局所性が見られる1ブロツクを、該
キヤツシユメモリに転送しておいて、大部分のア
クセスを該キヤツシユメモリとの間で行つて、主
記憶装置MSに対する見掛け上のアクセスタイム
の短縮化を図ろうとするものである。
一方、最近の半導体技術の進歩による中央処理
装置CPUの高速化と、媒体技術の進歩によるフ
アイル記憶装置、例えば、磁気デイスク装置の大
容量化に伴つて、該中央処理装置CPUと磁気デ
イスク装置の速度差が開き、該中央処理装置
CPUと磁気デイスク装置との間にデイスクキヤ
ツシユを設ける必要性が益々高まつてきている。
装置CPUの高速化と、媒体技術の進歩によるフ
アイル記憶装置、例えば、磁気デイスク装置の大
容量化に伴つて、該中央処理装置CPUと磁気デ
イスク装置の速度差が開き、該中央処理装置
CPUと磁気デイスク装置との間にデイスクキヤ
ツシユを設ける必要性が益々高まつてきている。
然して、該磁気デイスク装置における1ブロツ
クのサイズが、例えば、4KB〜8KBと大きい為、
該大容量のブロツクに適したデイスクキヤツユ制
御方法が必要とされる。
クのサイズが、例えば、4KB〜8KBと大きい為、
該大容量のブロツクに適したデイスクキヤツユ制
御方法が必要とされる。
第3図は、従来のキヤツシユメモリ制御方式を
説明する図である。
説明する図である。
従来から、大容量の記憶装置からのデータを効
果的にキヤツシユメモリに写像する技術は、各種
考案されており、例えば、フル・アソシアテイブ
方式、セツト・アソシアテイブ方式、ダイレク
ト・マツピング方式等が良く知られている。
果的にキヤツシユメモリに写像する技術は、各種
考案されており、例えば、フル・アソシアテイブ
方式、セツト・アソシアテイブ方式、ダイレク
ト・マツピング方式等が良く知られている。
第3図aはフル・アソシアテイブ方式の原理図
を示し、bはセツト・アソシアテイブ方式の原理
図を示している。
を示し、bはセツト・アソシアテイブ方式の原理
図を示している。
a図に示したフル・アソシアテイブ方式では、
記憶装置1上のデータブロツク(S0〜Cz)11
を、キヤツシユメモリ22上の任意のデータブロ
ツク(C0〜Co)に写像する。
記憶装置1上のデータブロツク(S0〜Cz)11
を、キヤツシユメモリ22上の任意のデータブロ
ツク(C0〜Co)に写像する。
従つて、キヤツシユメモリ22を最も効率的に
使用できるが、ヒツト判定に、全データブロツク
のタグを比較しなければならないので、ブロツク
の数が多くなると、比較回路(CMP)216が
膨大となり実現が困難となる問題がある。
使用できるが、ヒツト判定に、全データブロツク
のタグを比較しなければならないので、ブロツク
の数が多くなると、比較回路(CMP)216が
膨大となり実現が困難となる問題がある。
b図に示したセツト・アソシアテイブ方式で
は、キヤツシユメモリ22、及びデイレクトリ2
1が複数個(本例では、M+1個)のセツトに分
割される。
は、キヤツシユメモリ22、及びデイレクトリ2
1が複数個(本例では、M+1個)のセツトに分
割される。
そして、アドレスの一部は、該デイレクトリ2
1の索引タグとして使用されるので、例えば、キ
ヤツシユメモリ22の各セツト(0〜M)がn+
1個のブロツクからなるとき、記憶装置1のn+
1番目毎のブロツクは、索引タグの等しいキヤツ
シユメモリ22のデータブロツク(例えば、C00
〜CM0、C01〜CM1、…)に写像される。
1の索引タグとして使用されるので、例えば、キ
ヤツシユメモリ22の各セツト(0〜M)がn+
1個のブロツクからなるとき、記憶装置1のn+
1番目毎のブロツクは、索引タグの等しいキヤツ
シユメモリ22のデータブロツク(例えば、C00
〜CM0、C01〜CM1、…)に写像される。
このとき、該キヤツシユメモリ21のどのセツ
トに写像されるかは任意であるので、ヒツト判定
はセツト数分のタグを比較回路(CMP)216
a〜216mで比較する必要がある。
トに写像されるかは任意であるので、ヒツト判定
はセツト数分のタグを比較回路(CMP)216
a〜216mで比較する必要がある。
ダイレクト・マツピング方式については、セツ
ト数が1個のセツト・アソシアテイブ方式と考え
ることができる。
ト数が1個のセツト・アソシアテイブ方式と考え
ることができる。
上記のように、セツト・アソシアテイブ方式で
は、ヒツト判定が簡単で、キヤツシユメモリ22
の使用効率もダイレクト・マツピングと比べると
効率的に使用できるので、良く使われる方式であ
る。
は、ヒツト判定が簡単で、キヤツシユメモリ22
の使用効率もダイレクト・マツピングと比べると
効率的に使用できるので、良く使われる方式であ
る。
然し、アクセスアドレスによつて写像されキヤ
ツシユメモリ22のブロツクが制限される(具体
的には、デイレクトリのエントリ数と同じ)の
で、索引タグの等しいアクセスが集中すると、必
要なデータがキヤツシユメモリ22に留まる可能
性が低くなる。即ち、ヒツト率が低下する。
ツシユメモリ22のブロツクが制限される(具体
的には、デイレクトリのエントリ数と同じ)の
で、索引タグの等しいアクセスが集中すると、必
要なデータがキヤツシユメモリ22に留まる可能
性が低くなる。即ち、ヒツト率が低下する。
これを緩和する為には、セツト数を増やせば良
いが、索引タグに対してアクセスが平均化しない
と、使われないキヤツシユブロツクや、キヤツシ
ユメモリ22に留まる必要のないデータが長く残
つたりして、該キヤツシユメモリ22の使用効率
が低下することになる。
いが、索引タグに対してアクセスが平均化しない
と、使われないキヤツシユブロツクや、キヤツシ
ユメモリ22に留まる必要のないデータが長く残
つたりして、該キヤツシユメモリ22の使用効率
が低下することになる。
特に、デイスクキヤツシユメモリのように、ブ
ロツクサイズの大きいもの(例えば、デイスクキ
ヤツシユでは、1ブロツクが4KB、8KB等)で
は、キヤツシユメモリの全体の大きさを、ブロツ
クサイズに比例させて大きくするのは現実的でな
いことから、各デイレクトリ当たりのエントリ
数、及びセツト数が少なくなりヒツト率が低下す
る問題がある。
ロツクサイズの大きいもの(例えば、デイスクキ
ヤツシユでは、1ブロツクが4KB、8KB等)で
は、キヤツシユメモリの全体の大きさを、ブロツ
クサイズに比例させて大きくするのは現実的でな
いことから、各デイレクトリ当たりのエントリ
数、及びセツト数が少なくなりヒツト率が低下す
る問題がある。
本発明は上記従来の欠点に鑑み、デイスクキヤ
ツシユのように、ブロツクサイズの大きいキヤツ
シユメモリに対して、必要なデータがキヤツシユ
メモリ上に存在するかどうかを簡単に判定でき、
且つキヤツシユメモリを効率的に使用できる方法
を提供することを目的とするものである。
ツシユのように、ブロツクサイズの大きいキヤツ
シユメモリに対して、必要なデータがキヤツシユ
メモリ上に存在するかどうかを簡単に判定でき、
且つキヤツシユメモリを効率的に使用できる方法
を提供することを目的とするものである。
〔問題点を解決するための手段)
第1図は、本発明のキヤツシユメモリ制御方法
の原理構成図である。
の原理構成図である。
本発明においては、
デイレクトリ(0〜P)21は、キヤツシユメ
モリ22に写像されているブロツクのキヤツシユ
メモリのブロツクアドレスを保持する手段がある
こと、及び、キヤツシユメモリを、各セツトに共
通なブロツクに分割しておくことを除くと、セツ
ト・アソシアテイブ方式と同じ構成である。
モリ22に写像されているブロツクのキヤツシユ
メモリのブロツクアドレスを保持する手段がある
こと、及び、キヤツシユメモリを、各セツトに共
通なブロツクに分割しておくことを除くと、セツ
ト・アソシアテイブ方式と同じ構成である。
即ち、セツト・アソシアテイブ方式でヒツト判
定を行い、ヒツトした時、データがキヤツシユメ
モリ22のどのブロツクにあるかを、ヒツトした
デイレクトリ21のキヤツシユブロツクアドレス
設定フイールド21aによつて指定する。
定を行い、ヒツトした時、データがキヤツシユメ
モリ22のどのブロツクにあるかを、ヒツトした
デイレクトリ21のキヤツシユブロツクアドレス
設定フイールド21aによつて指定する。
ミスヒツトの場合には、デイレクトリの割り当
てはデイレクトリ21と、キヤツシユメモリ22
の2段階で行う。
てはデイレクトリ21と、キヤツシユメモリ22
の2段階で行う。
即ち、デイレクトリ21は、各セツトの中の索
引タグの等しいエントリ内の1つを選択して割り
当てる。
引タグの等しいエントリ内の1つを選択して割り
当てる。
キヤツシユメモリ22は、全ブロツクC0〜CL
の中から1つを選択して割り当て、このブロツク
アドレスを割り当てられたデイレクトリの上記キ
ヤツシユブロツクアドレス設定フイールド21a
に書き込むようにする。
の中から1つを選択して割り当て、このブロツク
アドレスを割り当てられたデイレクトリの上記キ
ヤツシユブロツクアドレス設定フイールド21a
に書き込むようにする。
同時に、該割り当てられたデイレクトリをキヤ
ツシユメモリのブロツクアドレスから検索できる
ように、キヤツシユ−デイレクトリ対応表23
に、ミスヒツト時の上記割り当てセツト番号と、
エントリ番号(索引タグアドレス)とを“対”に
して登録する。
ツシユメモリのブロツクアドレスから検索できる
ように、キヤツシユ−デイレクトリ対応表23
に、ミスヒツト時の上記割り当てセツト番号と、
エントリ番号(索引タグアドレス)とを“対”に
して登録する。
ここで、デイレクトリのエントリの総数(即
ち、セツト数の1セツト当たりのエントリ数の算
術積)は、セツト数、又は1セツト当たりのエン
トリ数を任意に増加させて、キヤツシユメモリ2
2のブロツク数(L+1)以上の値とする。
ち、セツト数の1セツト当たりのエントリ数の算
術積)は、セツト数、又は1セツト当たりのエン
トリ数を任意に増加させて、キヤツシユメモリ2
2のブロツク数(L+1)以上の値とする。
従つて、デイレクトリ21に空きがあつても、
キヤツシユメモリ22は、全ブロツク使用中と云
う状態が起こり得る。
キヤツシユメモリ22は、全ブロツク使用中と云
う状態が起こり得る。
そのような場合には、キヤツシユメモリ22の
ブロツクの1つを、例えば、公知のLRU方式に
よつて解放し、そこに新たなデータを取り込むよ
うにする。
ブロツクの1つを、例えば、公知のLRU方式に
よつて解放し、そこに新たなデータを取り込むよ
うにする。
上記のキヤツシユ−デイレクトリ対応表23
は、追い出し対象となつたブロツクを無効化する
際に、それまで、当該追い出し対象のブロツクを
管理していたデイレクトリ(セツト番号、索引タ
グアドレス)を索引する為に使用する。
は、追い出し対象となつたブロツクを無効化する
際に、それまで、当該追い出し対象のブロツクを
管理していたデイレクトリ(セツト番号、索引タ
グアドレス)を索引する為に使用する。
即ち、本発明によれば、セツト・アソシアテイ
ブ方式のデイレクトリを持つキヤツシユシツテム
において、特に、ブロツクサイズが大きい場合の
ヒツト率を効率的に向上させる為に、該キヤツシ
ユシステムのキヤツシユメモリを、各セツトに共
通なブロツクに分割し、各デイレキトリのエント
リの総数をキヤツシユメモリの上記ブロツクの総
数より大きい任意の値とし、デイレクトリの各エ
ントリに、キヤツシユメモリに写像されたデータ
のキヤツシユメモリのブロツクアドレスを設定す
るフイールドを設けて、記憶装置の各セツトに対
応する任意のブロツクを、キヤツシユメモリの任
意のブロツクに写像するようにすると共に、ミス
ヒツトの場合に追い出し制御をデイレクトリの各
セツト間と、キヤツシユブロツクのそれぞれにお
いて行うようにしたものであるので、例えば、キ
ヤツシユメモリは従来の容量の儘で、デイレクト
リのセツト数を数倍にすることができ、結果とし
て、一部の索引タグへのアクセスの集中を数倍迄
許容できる。又、各索引タグへのアスセスがキヤ
ツシユメモリの全ブロツクにマツピングされる構
成となつているので、ある索引タグへのアクセス
の集中度に応じて、キヤツシユメモリの全ブロツ
クへの取り込みが平均化され、キヤツシユメモリ
を効率的に使用できる効果が得られる。又、キヤ
ツシユメモリ内での追い出しをデイレクトリのセ
ツト間の追い出しと併用することで、キヤツシユ
内に不必要なデータが留まる可能性を抑えること
ができる効果もある。
ブ方式のデイレクトリを持つキヤツシユシツテム
において、特に、ブロツクサイズが大きい場合の
ヒツト率を効率的に向上させる為に、該キヤツシ
ユシステムのキヤツシユメモリを、各セツトに共
通なブロツクに分割し、各デイレキトリのエント
リの総数をキヤツシユメモリの上記ブロツクの総
数より大きい任意の値とし、デイレクトリの各エ
ントリに、キヤツシユメモリに写像されたデータ
のキヤツシユメモリのブロツクアドレスを設定す
るフイールドを設けて、記憶装置の各セツトに対
応する任意のブロツクを、キヤツシユメモリの任
意のブロツクに写像するようにすると共に、ミス
ヒツトの場合に追い出し制御をデイレクトリの各
セツト間と、キヤツシユブロツクのそれぞれにお
いて行うようにしたものであるので、例えば、キ
ヤツシユメモリは従来の容量の儘で、デイレクト
リのセツト数を数倍にすることができ、結果とし
て、一部の索引タグへのアクセスの集中を数倍迄
許容できる。又、各索引タグへのアスセスがキヤ
ツシユメモリの全ブロツクにマツピングされる構
成となつているので、ある索引タグへのアクセス
の集中度に応じて、キヤツシユメモリの全ブロツ
クへの取り込みが平均化され、キヤツシユメモリ
を効率的に使用できる効果が得られる。又、キヤ
ツシユメモリ内での追い出しをデイレクトリのセ
ツト間の追い出しと併用することで、キヤツシユ
内に不必要なデータが留まる可能性を抑えること
ができる効果もある。
以下本発明の実施例を図面によつて詳述する。
前述の第1図が本発明のキヤツシユメモリ制御
方法の原理構成図であり、第2図は本発明の一実
施例をブロツク図を示した図であつて、キヤツシ
ユシステムのキヤツシユメモリ22を、各セツト
に共通な、複数のブロツクに分割する手段と、第
1図、第2図における各デイレクトリ21のキヤ
ツシユブロツクアドレス設定フイールド21a、
及びデイレクトルLRU213、キヤツシユLRU
&更新回路24とその関連回路が本発明を実施す
るのに必要な手段である。尚、全図を通して、同
じ符号は同じ対象物を示している。
方法の原理構成図であり、第2図は本発明の一実
施例をブロツク図を示した図であつて、キヤツシ
ユシステムのキヤツシユメモリ22を、各セツト
に共通な、複数のブロツクに分割する手段と、第
1図、第2図における各デイレクトリ21のキヤ
ツシユブロツクアドレス設定フイールド21a、
及びデイレクトルLRU213、キヤツシユLRU
&更新回路24とその関連回路が本発明を実施す
るのに必要な手段である。尚、全図を通して、同
じ符号は同じ対象物を示している。
以下、第1図を参照しながら、第2図によつ
て、本発明のキヤツシユメモリ制御方式を、(1)ヒ
ツト時、(2)ミスヒツトでデイレクトリ21、キヤ
ツシユメモリ22共に空きがある場合、(3)ミスヒ
ツトでデイレクトル21にのみ空きがある場合、
(4)ミスヒツトでデイレクトリ21に空きがない場
合の各動作について説明する。
て、本発明のキヤツシユメモリ制御方式を、(1)ヒ
ツト時、(2)ミスヒツトでデイレクトリ21、キヤ
ツシユメモリ22共に空きがある場合、(3)ミスヒ
ツトでデイレクトル21にのみ空きがある場合、
(4)ミスヒツトでデイレクトリ21に空きがない場
合の各動作について説明する。
本図において、実線はヒツト時の動作を示し、
破線はミスヒツト時の動作を示し、一点鎖線はミ
スヒツト時において、デイレクトリ21、及びキ
ヤツシユメモリ22での、あるブロツクの追い出
し動作を示している。先ず、 (1) ヒツト時: 選択(回路)214はアクセスアドレスの一
部を索引タグとして、デイレクトリ21を選択
する。
破線はミスヒツト時の動作を示し、一点鎖線はミ
スヒツト時において、デイレクトリ21、及びキ
ヤツシユメモリ22での、あるブロツクの追い出
し動作を示している。先ず、 (1) ヒツト時: 選択(回路)214はアクセスアドレスの一
部を索引タグとして、デイレクトリ21を選択
する。
デイレクトリ21の各セツトから選択された
エントリが読み出され、216a〜216mの
比較回路(CMP)で、上記アドレスの他の一
部と、該デイレクトリ21内のタグが比較さ
れ、どれか1つが一致するとヒツトとなる。
エントリが読み出され、216a〜216mの
比較回路(CMP)で、上記アドレスの他の一
部と、該デイレクトリ21内のタグが比較さ
れ、どれか1つが一致するとヒツトとなる。
212は該デイレクトリ21の有効フラグだ
けを抽出したもので、各セツトの当該エントリ
が有効かどうかを指定する。
けを抽出したもので、各セツトの当該エントリ
が有効かどうかを指定する。
従つて、タグが一致しても、該有効フラグが
セツトされていなければ無効である。
セツトされていなければ無効である。
デイレクトリLRU213では、索引タグ毎
に、アスセスされたセツトの順番を記憶してい
るが、ヒツトの場合には、該ヒツトしたセツト
が最新となるように、LRU更新回路283で
並べ換えを行つて、その結果が該デイレクトリ
LRU213に設定される。
に、アスセスされたセツトの順番を記憶してい
るが、ヒツトの場合には、該ヒツトしたセツト
が最新となるように、LRU更新回路283で
並べ換えを行つて、その結果が該デイレクトリ
LRU213に設定される。
ヒツトセツト指示部27は、上記比較回路
(CMP)216a〜216mの結果を受けて、
ヒツトしたセツトの番号、又はミスヒツトを判
定する。
(CMP)216a〜216mの結果を受けて、
ヒツトしたセツトの番号、又はミスヒツトを判
定する。
キヤツシユブロツク選択部26においては、
ヒツトしたデイレクトリ21から、キヤツシユ
メモリ22のブロツクアドレスを選択する。
ヒツトしたデイレクトリ21から、キヤツシユ
メモリ22のブロツクアドレスを選択する。
キヤツシユメモリ22においては、該選択さ
れたブロツクアドレスと、アクセスアドレスの
一部のブロツク内アドレスによつて選択された
データ22aが、ドライバ回路29を通してア
クセス要求元に送出される。(但し、該アクセ
スがリードの場合) キヤツシユLRU&更新回路24では、キヤ
ツシユメモリ22のブロツクの所謂LRU管理
を行い、アクセスされたブロツクが最新となる
ように並べ換えを行う。
れたブロツクアドレスと、アクセスアドレスの
一部のブロツク内アドレスによつて選択された
データ22aが、ドライバ回路29を通してア
クセス要求元に送出される。(但し、該アクセ
スがリードの場合) キヤツシユLRU&更新回路24では、キヤ
ツシユメモリ22のブロツクの所謂LRU管理
を行い、アクセスされたブロツクが最新となる
ように並べ換えを行う。
(2) ミスヒツトで、デイレクトリ、キヤツシユメ
モリとも、空きがある場合: (1)と同様にして、タグの比較が行つた結果、
比較気(CMP)216a〜216mの全出力
が不一致であるならば、ミスヒツトである。
モリとも、空きがある場合: (1)と同様にして、タグの比較が行つた結果、
比較気(CMP)216a〜216mの全出力
が不一致であるならば、ミスヒツトである。
この場合、空きセツト部280、及び選択回
路282において、上記索引タグで選択される
各セツトのエントリの内から、空きセツト、即
ち、デイレクトリ有効フラグ212の該当出力
が‘オア’のものを1つ選択する。
路282において、上記索引タグで選択される
各セツトのエントリの内から、空きセツト、即
ち、デイレクトリ有効フラグ212の該当出力
が‘オア’のものを1つ選択する。
又、ブロツク使用フラグテーブル250から
空きブロツク検出部251が、キヤツシユメモ
リ22の空きブロツクを選択する。
空きブロツク検出部251が、キヤツシユメモ
リ22の空きブロツクを選択する。
こうして、デイレクトリ21、及びキヤツシ
ユメモリ22の割り当てが決まると、該割り当
てられたデイレクトリ21には、比較タグアド
レスと、キヤツシユブロツクアドレスとを、
上記空きセツトのミスヒツトを生起して索引タ
グアドレスに対応するエントリに書き込んで、
有効フラグをセツトする。
ユメモリ22の割り当てが決まると、該割り当
てられたデイレクトリ21には、比較タグアド
レスと、キヤツシユブロツクアドレスとを、
上記空きセツトのミスヒツトを生起して索引タ
グアドレスに対応するエントリに書き込んで、
有効フラグをセツトする。
又、ブロツク使用フラグテーブル250をセ
ツトすると共に、キヤツシユ−デイレクトリ
対応表23に、当該セツト番号と、索引タグア
ドレスを登録し、更に、デイレクトリ21、
キヤツシユメモリ22に対応するデイレクトリ
LRU213、キヤツシユLRU&更新回路24
内のLRUテーブルを更新する。
ツトすると共に、キヤツシユ−デイレクトリ
対応表23に、当該セツト番号と、索引タグア
ドレスを登録し、更に、デイレクトリ21、
キヤツシユメモリ22に対応するデイレクトリ
LRU213、キヤツシユLRU&更新回路24
内のLRUテーブルを更新する。
該ミスヒツト時は、記憶装置アクセス機構3
0が動作して、記憶装置3から上記割り当てら
れたキヤツシユメモリ22のブロツクにデータ
を、レシーバ29を介して補充すると共に、必
要なデータをアクセス要求元に転送する。
0が動作して、記憶装置3から上記割り当てら
れたキヤツシユメモリ22のブロツクにデータ
を、レシーバ29を介して補充すると共に、必
要なデータをアクセス要求元に転送する。
(3) ミスヒツトで、デイレクトリのみに空きがあ
る場合: 上記の(2)と同様にして、デイレクトリの該空
きセツトを選択して割り当てる。
る場合: 上記の(2)と同様にして、デイレクトリの該空
きセツトを選択して割り当てる。
空きブロツク検出部251で、キヤツシユメ
モリ22に空きブロツクが検出できないとき
は、キヤツシユLRU&更新回路24で決定さ
れる最も古いブロツクが、キヤツシユブロツク
選択回路26で選択′される。
モリ22に空きブロツクが検出できないとき
は、キヤツシユLRU&更新回路24で決定さ
れる最も古いブロツクが、キヤツシユブロツク
選択回路26で選択′される。
キヤツシユメモリ22での該ブロツクの追い
出し操作の為、選択(回路)214,215
は、前述のキヤツシユ−デイレクトリ対応表2
3を用いて、上記最も古いブロツクに対する索
引タグアドレスと、セツト番号とを抽出し、そ
のデイレクトリ21の該エントリの有効フラグ
をリセツトすると共に、デイレクトリLRU2
13から該当セツトを削除する。
出し操作の為、選択(回路)214,215
は、前述のキヤツシユ−デイレクトリ対応表2
3を用いて、上記最も古いブロツクに対する索
引タグアドレスと、セツト番号とを抽出し、そ
のデイレクトリ21の該エントリの有効フラグ
をリセツトすると共に、デイレクトリLRU2
13から該当セツトを削除する。
その後の動作、即ち、割り当てられたデイレ
クトリ21に対する比較タグアドレス、キヤツ
シユブロツクアドレスの書き込み等の動作、
及び、該追い出されたブロツクへのデータ転送
動作等は、(2)の場合と同様に機能する。
クトリ21に対する比較タグアドレス、キヤツ
シユブロツクアドレスの書き込み等の動作、
及び、該追い出されたブロツクへのデータ転送
動作等は、(2)の場合と同様に機能する。
(4) ミスヒツトで、デイレクトリに空きがない場
合: 空きセツト部280で、デイレクトリ21に
空きセツトが検出できないときは、LRUセツ
ト部281で決定されたデイレクトリ21の最
も古いセツトが、割り当てセツトとして選択回
路282で選択′され、選択(回路)215
に送出される。
合: 空きセツト部280で、デイレクトリ21に
空きセツトが検出できないときは、LRUセツ
ト部281で決定されたデイレクトリ21の最
も古いセツトが、割り当てセツトとして選択回
路282で選択′され、選択(回路)215
に送出される。
こえして、該割り当てられたデイレクトリ2
1のエントリ(ミスヒツトを生起した索引タグ
に対応し、且つ上記選択されたセツトに対応す
るエントリ)では、比較タグアドレスのみが
書き替えられ、キヤツシユメモリ22に対する
ブロツクは、上記エントリの持つキヤツシユブ
ロツクアドレス設定フイールド21aが指定す
るブロツクをその儘使用する。
1のエントリ(ミスヒツトを生起した索引タグ
に対応し、且つ上記選択されたセツトに対応す
るエントリ)では、比較タグアドレスのみが
書き替えられ、キヤツシユメモリ22に対する
ブロツクは、上記エントリの持つキヤツシユブ
ロツクアドレス設定フイールド21aが指定す
るブロツクをその儘使用する。
即ち、キヤツシユ−デイレクトリ対応表23
はその儘で、キヤツシユメモリ22の上記ブロ
ツクに新たなデータを補充する。
はその儘で、キヤツシユメモリ22の上記ブロ
ツクに新たなデータを補充する。
このように、本発明は、セツト・アソシアテイ
ブ方式のキヤツシユシステムにおいて、デイレク
トリのエントリ数と、キヤツシユメモリでの、記
憶装置の各セツトに共通に分割されたブロツク数
を任意の比率とし、例えば、セツト数を増加させ
ることにより、索引タグアドレスの等しいアステ
スの集中によつて必要なデータがキヤツシユメモ
リから追い出されるのを緩和すると共に、キヤツ
シユメモリ内での追い出し制御に、デイレクトリ
のセツト間での追い出し制御を並用することで、
キヤツシユメモリに不必要なデータが留まる可能
性を少なくした所に特徴がある。
ブ方式のキヤツシユシステムにおいて、デイレク
トリのエントリ数と、キヤツシユメモリでの、記
憶装置の各セツトに共通に分割されたブロツク数
を任意の比率とし、例えば、セツト数を増加させ
ることにより、索引タグアドレスの等しいアステ
スの集中によつて必要なデータがキヤツシユメモ
リから追い出されるのを緩和すると共に、キヤツ
シユメモリ内での追い出し制御に、デイレクトリ
のセツト間での追い出し制御を並用することで、
キヤツシユメモリに不必要なデータが留まる可能
性を少なくした所に特徴がある。
尚、本発明によるキヤツシユメモリ制御方法で
は、デイレクトリに要するメモリ容量が大きくな
るが、デイスクキヤツシユメモリのように、ブロ
ツクサイズが大きなものでは、キヤツシユメモリ
の総容量に比較して、デイレクトリの総容量がは
るかに小さいので、メモリの有効利用、及びヒツ
ト率向上の効果が大きく、コストパーフオマンス
の良いキヤツシユシステムが構築できることにな
る。
は、デイレクトリに要するメモリ容量が大きくな
るが、デイスクキヤツシユメモリのように、ブロ
ツクサイズが大きなものでは、キヤツシユメモリ
の総容量に比較して、デイレクトリの総容量がは
るかに小さいので、メモリの有効利用、及びヒツ
ト率向上の効果が大きく、コストパーフオマンス
の良いキヤツシユシステムが構築できることにな
る。
以上、詳細に説明したように、本発明のキヤツ
シユメモリ制御方法は、セツト・アソシアテイブ
方式のデイレクトリを持つキヤツシユシステムに
おいて、特に、ブロツクサイズが大きい場合のヒ
ツト率を効率的に向上させる為に、該キヤツシユ
システムのキヤツシユメモリを、各セツトに共通
なブロツクに分割し、各デイレクトリのエントリ
の総数をキヤツシユメモリの上記ブロツクの総数
より大きい任意の値とし、デイレクトリの各エン
トリに、キヤツシユメモリに写像されたデータの
キヤツシユメモリのブロツクアドレスを設定する
フイールドを設けて、記憶装置の各セツトに対応
する任意のブロツクを、キヤツシユメモリの任意
のブロツクに写像するようにすると共に、ミスヒ
ツトの場合に追い出し制御をデイレクトリの各セ
ツト間と、キヤツシユブロツクのそれぞれにおい
て行うようにしたものであるので、例えば、キヤ
ツシユメモリは従来の容量の儘で、デイレクトリ
のセツト数を数倍にすることができ、結果とし
て、一部の索引タグへのアクセスの集中を数倍迄
許容できる。又、各索引タグへのアクセスがキヤ
ツシユメモリの全ブロツクにマツピングされる構
成となつているので、ある索引タグへのアクセス
の集中度に応じて、キヤツシユメモリの全ブロツ
クへの取り込みが平均化され、キヤツシユメモリ
を効率的に使用できる効果が得られる。又、キヤ
ツシユメモリ内での追い出しをデイレクトリのセ
ツト間に追い出しと併用することで、キヤツシユ
内に不必要なデータが留まる可能性を抑えること
ができる効果もある。
シユメモリ制御方法は、セツト・アソシアテイブ
方式のデイレクトリを持つキヤツシユシステムに
おいて、特に、ブロツクサイズが大きい場合のヒ
ツト率を効率的に向上させる為に、該キヤツシユ
システムのキヤツシユメモリを、各セツトに共通
なブロツクに分割し、各デイレクトリのエントリ
の総数をキヤツシユメモリの上記ブロツクの総数
より大きい任意の値とし、デイレクトリの各エン
トリに、キヤツシユメモリに写像されたデータの
キヤツシユメモリのブロツクアドレスを設定する
フイールドを設けて、記憶装置の各セツトに対応
する任意のブロツクを、キヤツシユメモリの任意
のブロツクに写像するようにすると共に、ミスヒ
ツトの場合に追い出し制御をデイレクトリの各セ
ツト間と、キヤツシユブロツクのそれぞれにおい
て行うようにしたものであるので、例えば、キヤ
ツシユメモリは従来の容量の儘で、デイレクトリ
のセツト数を数倍にすることができ、結果とし
て、一部の索引タグへのアクセスの集中を数倍迄
許容できる。又、各索引タグへのアクセスがキヤ
ツシユメモリの全ブロツクにマツピングされる構
成となつているので、ある索引タグへのアクセス
の集中度に応じて、キヤツシユメモリの全ブロツ
クへの取り込みが平均化され、キヤツシユメモリ
を効率的に使用できる効果が得られる。又、キヤ
ツシユメモリ内での追い出しをデイレクトリのセ
ツト間に追い出しと併用することで、キヤツシユ
内に不必要なデータが留まる可能性を抑えること
ができる効果もある。
第1図は本発明のキヤツシユメモリ制御方法の
原理構成図、第2図は本発明の一実施例をブロツ
ク図で示した図、第3図は従来のキヤツシユメモ
リ制御方式を説明する図、である。 図面において、1は記憶装置、2はキヤツシユ
システム、11はデータブロツク、又は単にブロ
ツク(S0〜)、21はデイレクトリ、21aはキ
ヤツシユブロツクアドレス設定フイールド、21
2はデイレクトリ有効フラグ、213はデイレク
トリLRU、216,216a〜216mは比較
回路(CMP)、22はキヤツシユメモリ、23は
キヤツシユ−デイレクトリ対応表、24はキヤツ
シユLRU&更新回路、26はキヤツシユブロツ
ク選択部、27はヒツトセツト指示部、30は記
憶装置アクセス機構をそれぞれ示す。
原理構成図、第2図は本発明の一実施例をブロツ
ク図で示した図、第3図は従来のキヤツシユメモ
リ制御方式を説明する図、である。 図面において、1は記憶装置、2はキヤツシユ
システム、11はデータブロツク、又は単にブロ
ツク(S0〜)、21はデイレクトリ、21aはキ
ヤツシユブロツクアドレス設定フイールド、21
2はデイレクトリ有効フラグ、213はデイレク
トリLRU、216,216a〜216mは比較
回路(CMP)、22はキヤツシユメモリ、23は
キヤツシユ−デイレクトリ対応表、24はキヤツ
シユLRU&更新回路、26はキヤツシユブロツ
ク選択部、27はヒツトセツト指示部、30は記
憶装置アクセス機構をそれぞれ示す。
Claims (1)
- 【特許請求の範囲】 1 セツト・アソシアテイブ方式のデイレクトリ
21を持つキヤツシユシステムにおいて、 該キヤツシユシステムのキヤツシユメモリ22
を、記憶装置1の各セツトに共通なブロツクに分
割し、 該デイレクトリ21のエントリの総数を、上記
キヤツシユメモリ22のブロツク数の総数より大
きい任意の値とすると共に、 該デイレクトリ21に、該キヤツシユメモリ2
2のブロツクアドレスを設定するフイールド21
aを設けて、 該デイレクトリ21のセツト対応の空きエント
リの上記ブロツクアドレス設定フイールド21a
に、記憶装置1からのデータを写像したキヤツシ
ユメモリ22のブロツクアドレスを設定して、 該キヤツシユメモリ22を構成している任意の
ブロツクに、記憶装置1の上記セツトに対応する
任意のブロツクを写像するように制御することを
特徴とするキヤツシユメモリ制御方法。 2 上記キヤツシユシステムにおいて、ミスヒツ
トで、デイレクトリ21、又はキヤツシユメモリ
22に空きがない場合の追い出し制御を、該デイ
レクトリ21のセツト間と、キヤツシユメモリ2
2のブロツクとで行うようにしたことを特徴とす
る特許請求の範囲第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 JPS63284649A (ja) | 1988-11-21 |
JPH0511335B2 true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4456123B2 (ja) * | 2004-12-02 | 2010-04-28 | 富士通株式会社 | データバッファ装置、キャッシュ装置、データバッファ制御方法 |
JP4921938B2 (ja) * | 2006-11-27 | 2012-04-25 | 富士通株式会社 | 仮想ライブラリ装置 |
JP5348146B2 (ja) * | 2009-01-28 | 2013-11-20 | 日本電気株式会社 | キャッシュメモリおよびその制御方法 |
US20120102271A1 (en) * | 2009-02-27 | 2012-04-26 | Yasushi Kanoh | Cache memory system and cache memory control method |
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 |
Also Published As
Publication number | Publication date |
---|---|
JPS63284649A (ja) | 1988-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5802572A (en) | Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache | |
US5537573A (en) | Cache system and method for prefetching of data | |
US7284096B2 (en) | Systems and methods for data caching | |
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 | |
US5778434A (en) | System and method for processing multiple requests and out of order returns | |
US4885680A (en) | Method and apparatus for efficiently handling temporarily cacheable data | |
US11853226B2 (en) | Address translation cache with use of page size information to select an invalidation lookup mode, or use of leaf-and-intermediate exclusive range-specifying invalidation request, or use of invalidation request specifying single address and page size information | |
JP4447580B2 (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
US6782453B2 (en) | Storing data in memory | |
US6957304B2 (en) | Runahead allocation protection (RAP) | |
US6647466B2 (en) | Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy | |
KR930004430B1 (ko) | 가상 캐쉬를 이용하는 다중 처리컴퓨터 시스템의 일치성 유지장치 | |
US8176255B2 (en) | Allocating space in dedicated cache ways | |
US20070130237A1 (en) | Transient cache storage | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
JPH07253926A (ja) | キャッシュ・ミスによる時間ペナルティ減少方法 | |
JPH0962572A (ja) | ストリーム・フィルタ装置及び方法 | |
JPH06110781A (ja) | キャッシュメモリ装置 | |
JP2005528694A (ja) | スレッド識別子に基づくキャッシュ追い出しを用いたマルチスレッド化キャッシュのための方法および装置 | |
JPH11102323A (ja) | 仮想アドレス変換用の柔軟な変換記憶バッファ | |
US20100217937A1 (en) | Data processing apparatus and method | |
CN108459975B (zh) | 用于有效使用地址转换缓存的技术 | |
JP3262519B2 (ja) | 第2レベルキャッシュの古いラインの除去によるプロセッサのメモリ性能の強化方法及びシステム | |
US7356650B1 (en) | Cache apparatus and method for accesses lacking locality | |
US6202128B1 (en) | Method and system for pre-fetch cache interrogation using snoop port |