JPH09231136A - キャッシュメモリの置き換えブロック選択装置 - Google Patents

キャッシュメモリの置き換えブロック選択装置

Info

Publication number
JPH09231136A
JPH09231136A JP8036205A JP3620596A JPH09231136A JP H09231136 A JPH09231136 A JP H09231136A JP 8036205 A JP8036205 A JP 8036205A JP 3620596 A JP3620596 A JP 3620596A JP H09231136 A JPH09231136 A JP H09231136A
Authority
JP
Japan
Prior art keywords
block
replacement
cache memory
hit
signal
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.)
Withdrawn
Application number
JP8036205A
Other languages
English (en)
Inventor
Takashi Katsuyama
隆史 勝山
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 JP8036205A priority Critical patent/JPH09231136A/ja
Publication of JPH09231136A publication Critical patent/JPH09231136A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 キャッシュメモリをアクセスした時のミスヒ
ットを軽減してデータ処理を高速化する。 【解決手段】 キャッシュメモリの例えば2番のブロッ
クにヒットしたことを示すヒットブロック信号HBがブ
ロックアクセス履歴更新回路2に供給され、かつ置き換
えの優先を要求することを示す置き換え優先要求信号T
Rがブロックアクセス履歴更新回路2に供給されている
ので、ブロックアクセス履歴更新回路2は、次にミスヒ
ットが発生した場合に置き換えの対象となるブロックが
2番になるように、新しいブロックアクセス履歴のデー
タBbをブロックアクセス履歴記憶回路1に書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機におけるキ
ャッシュメモリをアクセスしてミスヒットが発生した
時、該キャッシュメモリ中のデータの置き換えの候補と
なる複数のブロックから置き換えの対象となるデータブ
ロックを選択するキャッシュメモリの置き換えブロック
選択装置に関するものである。
【0002】
【従来の技術】従来、このような分野の技術としては、
例えば、次のような文献に記載されるものがあった。 文献;David A Patterson 、John L Hennessy 共著、コ
ンピュータ・アーキテクチャ(1992.12.25)(日経BP
社)、「記憶階層の設計」、P.403-418 計算機におけるキャッシュメモリとは、中央演算装置
(以下、CPUという)と主記憶の間に介在し、命令や
データ参照の時間的或いは空間的局所性を利用してデー
タ処理の高速化を図るために設けられる装置である。キ
ャッシュメモリの構成がフル・アソシアティブ(完全連
想)方式やセット・アソシアティブ(セット連想)方式
である場合、該キャッシュメモリをアクセスしてミスヒ
ットが発生した際のデータの置き換えの候補となるブロ
ックが複数存在する。前記文献には、それらの複数のブ
ロックの中からどのブロックを置き換えるかを決定する
方法の一つであるLRU(Least-recently used) 法が記
載されている。これは、最も長時間使用されなかったブ
ロックを置き換えの対象とする方法であり、参照の時間
的局所性を利用する方法である。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
LRU法では、次のような課題があった。即ち、1度だ
けしか参照しないことが事前に判っているブロックで
も、1度参照されたブロックは、ミスヒットが発生した
際の置き換えの候補の中で最も優先順位の低い候補のブ
ロックになるので、置き換えの対象になることは後回し
にされ、使われることのないデータがキャッシュメモリ
に留まることがあった。又、1度だけしか参照しないこ
とが事前に判っているデータのアクセスによるミスヒッ
トが頻発すると、再び参照することが事前に判っている
データが存在するブロックが置き換えの対象になり、そ
のデータに対する参照によって再びミスヒットが発生
し、データ処理の時間が長くなるという問題があった。
【0004】
【課題を解決するための手段】第1の発明は、前記課題
を解決するために、キャッシュメモリをアクセスしてミ
スヒットが発生した時、該キャッシュメモリ中のデータ
の置き換えの候補となる複数のブロックから置き換えの
対象となるブロックを選択するキャッシュメモリの置き
換えブロック選択装置において、次のような手段を備え
ている。即ち、前記キャッシュメモリ中の前記各ブロッ
クに対するアクセスの順番の履歴を記憶するブロックア
クセス履歴記憶回路と、前記ミスヒットが発生した場合
に前記複数のブロックの中から前記置き換えの対象とな
るブロックの番号を示す置き換えブロック信号と、前記
キャッシュメモリにアクセスしてヒットしたときのブロ
ックの番号を示すヒットブロック信号と、前記キャッシ
ュメモリにアクセスしてヒットしても該ヒット以降はア
クセスする可能性が低いことが分かっている場合に前記
置き換えの対象となるブロックの選択を優先させること
を要求する置き換え優先要求信号とを入力し、該置き換
えブロック信号と該ヒットブロック信号と該置き換え優
先要求信号とに基づいて前記ブロックアクセス履歴記憶
回路に記憶されたアクセスの順番の履歴を、再びアクセ
スしないことが分かっているブロックを前記置き換えの
対象となるブロックに指定するように更新するブロック
アクセス履歴更新回路とを、備えている。
【0005】この第1の発明によれば、以上のようにキ
ャッシュメモリの置き換えブロック選択装置を構成した
ので、置き換えブロック信号と該ヒットブロック信号と
該置き換え優先要求信号とがブロックアクセス履歴更新
回路に入力され、該ブロックアクセス履歴更新回路によ
ってブロックアクセス履歴記憶回路に記憶されたアクセ
スの順番の履歴が、再びアクセスしないことが分かって
いるブロックを次の置き換えの対象に指定するように更
新される。第2の発明では、キャッシュメモリをアクセ
スしてミスヒットが発生した時、該キャッシュメモリ中
のデータの置き換えの候補となる複数のブロックから置
き換えの対象となるブロックを選択するキャッシュメモ
リの置き換えブロック選択装置において、次のような手
段を備えている。
【0006】即ち、第1の発明のブロックアクセス履歴
記憶回路と、第1の発明の置き換えブロック信号と、第
1の発明のヒットブロック信号と、第1の発明の置き換
え優先要求信号と、前記キャッシュメモリ中のブロック
内のデータが有効であるか否かを示す有効データブロッ
ク信号とを入力し、該置き換えブロック信号と該ヒット
ブロック信号と該置き換え優先要求信号と該有効データ
ブロック信号とに基づいて前記ブロックアクセス履歴記
憶回路に記憶されたアクセスの順番の履歴を、有効なデ
ータが存在しないブロックを優先して前記置き換えの対
象となるブロックに指定するように更新するブロックア
クセス履歴更新回路とを、備えている。この第2の発明
によれば、第1の発明の置き換えブロック信号とヒット
ブロック信号と置き換え優先要求信号に加えて有効デー
タブロック信号がブロックアクセス履歴更新回路に入力
され、該ブロックアクセス履歴更新回路によってブロッ
クアクセス履歴記憶回路に記憶されたアクセスの順番の
履歴が、有効なデータが存在しないブロックを優先して
置き換えの対象となるブロックに指定するように更新さ
れる。従って、前記課題を解決できるのである。
【0007】
【発明の実施の形態】第1の実施形態 図1は、本発明の第1の実施形態を示すキャッシュメモ
リの置き換えブロック選択装置の構成図である。このキ
ャッシュメモリの置き換えブロック選択装置は、ブロッ
クアクセス履歴記憶回路1を有している。ブロックアク
セス履歴記憶回路1は、インデックス(即ち、CPUが
メモリアクセスのために出力するアドレスの一部)in
dで指定されたアドレスのデータの読み出し又は書き込
みを行なう記憶回路であり、同じインデックスindに
対応するキャッシュメモリの各ブロックが過去にどのよ
うな順番でアクセスされたかという履歴を記憶する機能
を有している。図1中の0〜mは、ブロックアクセス履
歴記憶回路1の各メモリに付けられたアドレス番号であ
る。インデックスindと前記アドレス番号とが一致し
たメモリが読み出し又は書き込みの対象になる。
【0008】ブロックアクセス履歴記憶回路1から読み
出されたデータBaはブロックアクセス履歴更新回路1
に入力され、又、置き換えブロック信号Baとしてキャ
ッシュメモリの更新を行なう図示しない制御回路に入力
されるようになっている。置き換えブロック信号Ba
は、ミスヒットが発生した場合に複数のブロックの中か
ら置き換えを行なうべきブロックの番号を示す信号であ
る。この信号はインデックスindに基づいてブロック
アクセス記憶回路1から読み出されたブロックアクセス
の履歴データから決定されるものである。又、キャッシ
ュメモリには、どのブロックにヒットしたのかを判定す
る回路が存在し、そこからヒットブロック信号HBが送
られてくる。ヒットブロック信号HBは、キャッシュメ
モリへアクセスした時にヒットした場合はそのヒットし
たブロックの番号を示し、どのブロックにもヒットしな
かった場合はその旨を示す信号であり、キャッシュメモ
リからブロックアクセス履歴更新回路2に入力されるよ
うになっている。
【0009】置き換え優先要求信号TRは、キャッシュ
メモリへアクセスした時に或るブロックにヒットしたと
しても、次にミスヒットが発生した場合には前記ヒット
したブロックを優先して置き換えの対象にすることを要
求する信号であり、ブロックアクセス履歴更新回路2に
入力されるようになっている。この置き換え優先要求信
号TRは、例えば予め定められた範囲内のアドレスに一
致するキャッシュメモリへのアクセス時に、この置き換
え優先要求信号TRを生成する回路や、CPUが特定の
メモリ読み出し又は書き込み命令を実行したときに生成
されるものである。ブロックアクセス履歴更新回路2
は、インデックスindによってブロックアクセス履歴
記憶回路1から読み出されたデータBa、ヒットブロッ
ク信号HB及び置き換え優先要求信号TRを入力してブ
ロックアクセスの履歴データを更新し、該ブロックアク
セス履歴記憶回路1に該更新したブロックアクセスの履
歴データを書き込むように構成されている。尚、図1中
のブロックアクセス履歴記憶回路1の点Dは、記憶され
ているデータを示すものである。
【0010】図2(a),(b),(c)は、図1の動
作説明図である。これらの図を参照しつつ、図1の動作
を説明する。本実施形態では、キャッシュメモリは、例
えば4つのブロックを持つ構成になっているものとす
る。ブロックアクセス履歴記憶回路1には、1つのイン
デックスindに対応する4つのブロックがどのような
順番でアクセスされたかが記憶されている。このブロッ
クアクセス履歴記憶回路1から読み出されたデータBa
は、一番左側にあるブロック番号が次に置き換えを行な
うべきブロックの番号を示し、一番右側にあるブロック
番号が最も最近にアクセスが行なわれたブロックの番号
を示している。 ヒットブロック信号HBは4ビットで
構成され、“0000”は、どのブロックにもヒットしてい
ないことを示し、“1000”はブロック番号0のブロック
にヒットしたことを示している。又、“0100”はブロッ
ク番号1のブロックにヒットしたことを示し、“0010”
はブロック番号2のブロックにヒットしたことを示して
いる。更に、“0001”はブロック番号3のブロックにヒ
ットしたことを示す。尚、2つ以上のビットが同時に
“1”になることはない。置き換え優先要求信号TR
は、ヒットブロック信号HBが示す番号のブロックを、
次にミスヒットが発生した場合の置き換えの対象となる
ブロックになるように要求する信号であり、“1”なら
ば置き換え優先を要求していることを示し、“0”なら
ば要求しないことを示す。
【0011】図2(a) では、ヒットブロック信号HB
が“0000”であり、どのブロックにもヒットしなかった
ことを示す信号が供給され、かつ置き換え優先要求信号
TRが置き換えの優先を要求しないことを示す“0”で
ある場合のブロックアクセス履歴更新回路2の動作が説
明されている。即ち、ブロックアクセス履歴記憶回路2
から読み出されたデータBaは“0123”である。又、ど
のブロックにもヒットしなかったので、キャッシュメモ
リの置き換えを行なうべきブロックの番号として“0”
が選択され、キャッシュメモリのブロック0が更新され
る。このため、最も最近にアクセスが行なわれたブロッ
クが0番になるので、ブロックアクセス履歴更新回路2
は“1230”を新しいブロックアクセス履歴のデータBb
としてブロックアクセス履歴記憶回路1に書き込む。図
2(b)では、ヒットブロック信号HBが“0010”であ
り、ブロック番号2のブロックにヒットしたことを示す
信号が供給され、かつ置き換え優先要求信号TRが置き
換えの優先を要求しないことを示す“0”である場合の
ブロックアクセス履歴更新回路2の動作が説明されてい
る。即ち、ブロックアクセス履歴記憶回路1から読み出
されたデータBaは“0123”である。ブロック番号2の
ブロックにヒットしたことを示すヒットブロック信号
“0010”がブロックアクセス履歴更新回路2に供給さ
れ、かつ置き換え優先要求信号TRは置き換えの優先を
要求しないことを示す“0”がブロックアクセス履歴更
新回路2に供給されているので、該ブロックアクセス履
歴更新回路2は最も最近にアクセスが行なわれたブロッ
クが2番になるように“0132”を新しいブロックアクセ
ス履歴のデータBbとしてブロックアクセス履歴記憶回
路1に書き込む。
【0012】図2(c)では、ヒットブロック信号HB
が“0010”であり、ブロック番号2のデータブロックに
ヒットしたことを示す信号が供給され、かつ置き換え優
先要求信号TRが置き換えの優先を要求することを示す
“1”である場合のブロックアクセス履歴更新回路2の
動作が説明されている。ブロックアクセス履歴記憶回路
1から読み出されたデータBaは“0123”である。ブロ
ック番号2のブロックにヒットしたことを示すヒットブ
ロック信号HB“0010”がブロックアクセス履歴更新回
路2に供給され、かつ置き換え優先要求信号TRは置き
換えの優先を要求することを示す“1”になってブロッ
クアクセス履歴更新回路2に供給されているので、ブロ
ックアクセス履歴更新回路2は次にミスヒットが発生し
た場合に置き換えの対象となるブロックが2番になるよ
うに“2013”を新しいブロックアクセス履歴のデータB
bとしてブロックアクセス履歴記憶回路1に書き込む。
以上のように、この第1の実施形態では、ヒットブロッ
ク信号HB及び置き換え優先要求信号TRをブロックア
クセス履歴の更新のための情報として付加したことによ
り、再びアクセスしないことが分かっているブロックを
次の置き換えの対象にすることができるようになるの
で、ミスヒットが軽減されてデータ処理が高速化され
る。
【0013】第2の実施形態 図3は、本発明の第2の実施形態を示すキャッシュメモ
リの置き換えブロック選択装置の構成図であり、図1中
の要素と共通の要素には共通の符号が付されている。こ
のキャッシュメモリの置き換えブロック選択装置では、
図1中のブロックアクセス履歴更新回路2がブロックア
クセス履歴更新回路2Aに変更され、該ブロックアクセ
ス履歴更新回路2Aにキャッシュメモリの各ブロックに
有効なデータが存在するか否かを示す有効データブロッ
ク信号DBが入力されるようになっている。ここで、キ
ャッシュメモリ中には、有効なデータ(即ち、主記憶と
同じデータのコピー)が存在しているブロックの番号を
記憶している回路があるが、この有効データブロック信
号DBは、この回路から出力されるものである。他は、
図1と同様の構成である。
【0014】図4(a),(b),(c)は、図3の動
作説明図である。この図を参照しつつ、図3の動作を説
明する。有効データブロック信号DBは例えば4ビット
で構成され、左から順番にブロック0から3の各ブロッ
クに有効なデータが存在するか否かを示している。即
ち、“0”ならば有効なデータが存在していないことを
示し、“1”ならば有効なデータが存在していることを
示す。図4(a),(b)では、有効データブロック信
号DBが“1111”であり、全てのブロックに有効なデー
タが存在しているので、図2(a),(b)と同様の動
作を行う。図4(c)では、ヒットブロック信号HBが
“0010”であり、ブロック番号2のブロックにヒットし
たことを示す信号が供給され、かつ置き換え優先要求信
号TRが置き換えの優先を要求することを示す“1”で
あり、有効データブロック信号DBが“0111”であり、
ブロック0には有効なデータが存在しないことを示して
いる場合のブロックアクセス履歴更新回路2Aの動作が
説明されている。
【0015】先ず、ブロックアクセス履歴記憶回路1か
ら読み出したデータBaは“0123”である。キャッシュ
メモリのブロック2がヒットしたことをヒットブロック
信号HB(“0010”)が示しているが、“1”の置き換
え優先要求信号TRが出ているので、ブロック2のデー
タが再びアクセスされる可能性は低いことになる。しか
し、ブロック0には有効なデータが存在していないこと
を示す有効データブロック信号DBが供給されているの
で、次にミスヒットが発生したときの置き換えの対象と
なるブロックを2番よりも優先的に0番が選択されるよ
うに、ブロックアクセス履歴更新回路2Aは“0213”を
新しいブロックアクセス履歴のデータBbとしてブロッ
クアクセス履歴記憶回路1に書き込む。以上のように、
この第2の実施形態では、キャッシュメモリ中の各ブロ
ックに有効なデータが存在するか否かを示す有効データ
ブロック信号DBをブロックアクセス履歴更新回路2A
に入力し、有効なデータが存在しないブロックを優先し
て置き換えの対象となるブロックに指定することができ
るようにしたので、第1の実施形態と比較して、更にミ
スヒットが軽減され、データ処理が高速化される。
【0016】
【発明の効果】以上詳細に説明したように、第1の発明
によれば、ヒットブロック信号及び置き換え優先要求信
号をブロックアクセス履歴の更新のための情報として付
加したことにより、再びアクセスしないことが分かって
いるブロックを次の置き換えの対象にすることができる
ようになるので、ミスヒットが軽減されてデータ処理を
高速化できる。第2の発明によれば、キャッシュメモリ
中の各ブロックに有効なデータが存在するか否かを示す
有効データブロック信号をブロックアクセス履歴更新回
路に入力し、有効なデータが存在しないブロックを優先
して置き換えの対象となるブロックに指定することがで
きるようにしたので、第1の発明と比較して更にミスヒ
ットが軽減されてデータ処理を高速化できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態のブロック選択装置の
構成図である。
【図2】図1の動作説明図である。
【図3】本発明の第2の実施形態のブロック選択装置の
構成 図である。
【図4】図3の動作説明図である。
【符号の説明】
1 ブロックアクセス履歴記
憶回路 2,2A ブロックアクセス履歴更
新回路 Ba 置き換えブロック信号 DB 有効データブロック信号 HB ヒットブロック信号 TR 置き換え優先要求信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリをアクセスしてミスヒ
    ットが発生した時、該キャッシュメモリ中のデータの置
    き換えの候補となる複数のブロックから置き換えの対象
    となるブロックを選択するキャッシュメモリの置き換え
    ブロック選択装置において、 前記キャッシュメモリ中の前記各ブロックに対するアク
    セスの順番の履歴を記憶するブロックアクセス履歴記憶
    回路と、 前記ミスヒットが発生した場合に前記複数のブロックの
    中から前記置き換えの対象となるブロックの番号を示す
    置き換えブロック信号と、前記キャッシュメモリにアク
    セスしてヒットしたときのブロックの番号を示すヒット
    ブロック信号と、前記キャッシュメモリにアクセスして
    ヒットしても該ヒット以降はアクセスする可能性が低い
    ことが分かっている場合に前記置き換えの対象となるブ
    ロックの選択を優先させることを要求する置き換え優先
    要求信号とを入力し、該置き換えブロック信号と該ヒッ
    トブロック信号と該置き換え優先要求信号とに基づいて
    前記ブロックアクセス履歴記憶回路に記憶されたアクセ
    スの順番の履歴を、再びアクセスしないことが分かって
    いるブロックを前記置き換えの対象となるブロックに指
    定するように更新するブロックアクセス履歴更新回路と
    を、 備えたことを特徴とするキャッシュメモリの置き換えブ
    ロック選択装置。
  2. 【請求項2】 キャッシュメモリをアクセスしてミスヒ
    ットが発生した時、該キャッシュメモリ中のデータの置
    き換えの候補となる複数のブロックから置き換えの対象
    となるブロックを選択するキャッシュメモリの置き換え
    ブロック選択装置において、 請求項1記載のブロックアクセス履歴記憶回路と、 請求項1記載の置き換えブロック信号と、請求項1記載
    のヒットブロック信号と、請求項1記載の置き換え優先
    要求信号と、前記キャッシュメモリ中のブロック内のデ
    ータが有効であるか否かを示す有効データブロック信号
    とを入力し、該置き換えブロック信号と該ヒットブロッ
    ク信号と該置き換え優先要求信号と該有効データブロッ
    ク信号とに基づいて前記ブロックアクセス履歴記憶回路
    に記憶されたアクセスの順番の履歴を、有効なデータが
    存在しないブロックを優先して前記置き換えの対象とな
    るブロックに指定するように更新するブロックアクセス
    履歴更新回路とを、 備えたことを特徴とするキャッシュメモリの置き換えブ
    ロック選択装置。
JP8036205A 1996-02-23 1996-02-23 キャッシュメモリの置き換えブロック選択装置 Withdrawn JPH09231136A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8036205A JPH09231136A (ja) 1996-02-23 1996-02-23 キャッシュメモリの置き換えブロック選択装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8036205A JPH09231136A (ja) 1996-02-23 1996-02-23 キャッシュメモリの置き換えブロック選択装置

Publications (1)

Publication Number Publication Date
JPH09231136A true JPH09231136A (ja) 1997-09-05

Family

ID=12463249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8036205A Withdrawn JPH09231136A (ja) 1996-02-23 1996-02-23 キャッシュメモリの置き換えブロック選択装置

Country Status (1)

Country Link
JP (1) JPH09231136A (ja)

Similar Documents

Publication Publication Date Title
US6675282B2 (en) System and method for employing a global bit for page sharing in a linear-addressed cache
US6658538B2 (en) Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control
US7949834B2 (en) Method and apparatus for setting cache policies in a processor
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
JP2009020881A (ja) 可変のページサイズのメモリ編成を実装する処理システム
GB2468007A (en) Data processing apparatus and method dependent on streaming preload instruction.
US5717888A (en) Accessing cached data in a peripheral disk data storage system using a directory having track and cylinder directory entries
US20080301372A1 (en) Memory access control apparatus and memory access control method
US7356650B1 (en) Cache apparatus and method for accesses lacking locality
US8549227B2 (en) Multiprocessor system and operating method of multiprocessor system
US7246202B2 (en) Cache controller, cache control method, and computer system
US6990551B2 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
JPH07129464A (ja) 情報処理装置
GB2307319A (en) Dual-directory virtual cache
JPH09231136A (ja) キャッシュメモリの置き換えブロック選択装置
JPH0612331A (ja) キャッシュメモリ制御装置
JP2854667B2 (ja) ディスク・キャッシュ制御方式
JPH06282487A (ja) キャッシュ装置
JP2852247B2 (ja) 共有メモリ型マルチプロセッサシステム
JPH0689228A (ja) キャッシュメモリ制御装置
JPH06250926A (ja) 複数階層のキャッシュメモリを備えたデータ処理システム
JPH02156352A (ja) キャッシュメモリ
JPH01102662A (ja) 記憶装置
JPH10207773A (ja) バス接続装置
JPH0635801A (ja) 階層メモリ制御方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506