JPS63282861A - キャッシュメモリ制御方式 - Google Patents

キャッシュメモリ制御方式

Info

Publication number
JPS63282861A
JPS63282861A JP62118533A JP11853387A JPS63282861A JP S63282861 A JPS63282861 A JP S63282861A JP 62118533 A JP62118533 A JP 62118533A JP 11853387 A JP11853387 A JP 11853387A JP S63282861 A JPS63282861 A JP S63282861A
Authority
JP
Japan
Prior art keywords
replacement
block
address
information
array
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
JP62118533A
Other languages
English (en)
Inventor
Tetsuya Fujita
哲也 藤田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP62118533A priority Critical patent/JPS63282861A/ja
Publication of JPS63282861A publication Critical patent/JPS63282861A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャッシュメモリ制御方式に関し、特にキャッ
シュメモリのミスヒツト時の置換ブロックを決定するキ
ャッシュメモリ制御方式に関する。
〔従来の技術〕
従来のキャッシュメモリは、命令とオペランドとで別々
のキャッシュメモリを設けており、ある一定の時間内で
アクセスするメモリのアドレスはある狭い範囲に限られ
ているという局所性が命令とオペランドとでは別のとこ
ろにあるというプログラムの性質を利用して効率のよい
キャッシュのヒント率を提供してきた。
このような従来のキャンシュメモリは、命令とオペラン
ドという2つの局所性のみを区別してヒツト率の向上を
図っていた。
しかし、最近のオブジェクト指向のプログラミング言語
(例えば、Smalltalk)やリスト処理に適した
言語(例えば、LISP)では、間接アドレッシングを
使ったポインタをデータ構造として多用していて、実行
時のアドレスリードの頻度は従来の手続き型言語に較べ
て非常に高(なっている。そして、ポインタの配列等の
データ構造を用いたプログラムの実行時にはアドレスリ
ードの対象であるポインタが狭いアドレスの範囲に集中
する傾向があり、オペランドとしてデータそのものとポ
インタとは別々の局所性を有している。
〔発明が解決しようとする問題点〕
上述した従来のキャッシュメモリでは、オペランドの中
では局所性を区別していないので、データリードとアド
レスリードとが入り混じって顧発するプログラム実行時
にはキャッシュのヒント率が低下するという欠点がある
本発明の目的は、上述の点に鑑み、ポインタの局所性お
よびデータの局所性の両方に対応してキャッシュのヒツ
ト率を高く維持することができるキャッシュメモリ制御
方式を提供することにある。
〔問題点を解決するための手段〕
本発明のキャッシュメモリ制御方式は、k(正整数)ビ
ットのブロックアドレスとl (正整数)ビットのカラ
ムアドレスとm(正整数)ビットのブロック内アドレス
とからなる (k+1++m)ビットの物理アドレスを
用いN(正整数)ローX 21カラムのキャッシュメモ
リを採用する中央処理装置において、メモリアクセス時
の物理アドレスを保持する物理アドレスレジスタと、カ
ラムアドレスのアドレス値O〜(2l−1)のそれぞれ
に対応して2mバイトのブロックをN個ずつ記憶できる
NローX Z jカラムのデータアレイと、このデータ
アレイの各ブロックに対応するブロックアドレスを保持
するNロース2′カラムのアドレスアレイと、前記物理
アドレスレジスタのブロックアドレスと前記物理アドレ
スレジスタのカラムアドレスに対応した前記アドレスア
レイのN個のローのブロックアドレスとの一致比較を行
うN個のアドレス比較器と、前記データアレイの各ブロ
ックに対応して間接アドレスのアドレスリードのミスヒ
ツトの場合に置換対象とされるブロックであることを示
すアドレスリードフラグ、ブロックが空きブロックであ
ることを示す空きフラグおよびブロックのアクセス履歴
情報からなる置換情報を保持するNローX 2 jカラ
ムの置換プレイと、前記N個のアドレス比較器での比較
結果がすべて不一致であるミスヒツト時に置換制御回路
手段にミスヒツトを通知するミスヒット通知手段と、前
記中央処理装置からメモリアクセスごとにアドレスリー
ドか否かを置換ブロック決定手段および前記置換制御回
路手段に通知するアドレスリード通知手段と、前記物理
アドレスレジスタのカラムアドレスに対応する前記置換
アレイのN個のローのN換情報を入力し空きフラグがオ
ンである置換情報がある場合にはそのうちの1つの置換
情報のブロック番号を選択して出力するとともに第1の
選択成功信号をオンにし空きフラグがオンである置換情
報がない場合にはアドレスリードフラグがオフである置
換情報があればそのアクセス履歴情報に基づいて置換す
べきブロックのブロック番号を選択して出力するととも
に前記第1の選択成功信号をオンとしアドレスリードフ
ラグがオフである置換情報がなルナれば前記第1の選択
成功信号をオフとする第1の置換ブロック決定副手段、
前記物理アドレスレジスタのカラムアドレスに対応する
前記置換アレイのN個のローの置換情報を入力し空きフ
ラグがオンである置換情報がある場合にはそのうちの1
つの置換情報のブロック番号を選択して出力するととも
に第2の選択成功信号をオンにし空きフラグがオンであ
る置換情報がない場合にはアドレスリードフラグがオン
である置換情報があればそのアクセス履歴情![こ基づ
いて置換すべきブロックのブロック番号を選択して出力
するとともに前記第2の選択成功信号をオンとしアドレ
スリードフラグがオンである置換情報がなければ前記第
2の選択成功信号をオフとする第2の置換ブロック決定
副手段、および前記アドレスリード通知手段がオフの場
合には前記第1の選択成功信号がオンならば前記第1の
置換ブロック決定副手段からのブロック番号を選択し前
記第1の選択成功信号がオフならば前記第2の置換ブロ
ック決定副手段からのブロック番号を選択し前記アドレ
スリード通知手段がオンの場合には前記第2の選択成功
信号がオンならば前記第2の置換ブロック決定副手段か
らのブロック番号を選択し前記第2の選択成功信号がオ
フならば前記第1の置換ブロック決定01手段からのブ
ロック番号を選択して置換ブロック番号通知手段を介し
て前記置換制御回路手段に置換すべきブロック番号を出
力する置換ブロック選択副手段からなる置換ブロック決
定手段と、この置換ブロック決定手段から出力されたブ
ロック番号を前記置換制御回路手段に通知する前記置換
ブロック番号通知手段と、前記ミスヒツト通知手段がオ
ンのときに前記置換ブロック決定手段からのブロック番
号に対応する前記アドレスアレイ。
前記データアレイおよび前記置換アレイのエントリの内
容をメモリアクセスされている新しいブロックのアドレ
ス、データおよび置換情報に置き換え置換情報のアドレ
スリードフラグを前記アドレスリード通知手段に応じて
設定する前記置換制御回路手段とを有する。
〔作用〕
本発明のキャッシュメモリ制御方式では、物理アドレス
レジスタがメモリアクセス時の物理アドレスを保持し、
Nロー×2lカラムのデータアレイがカラムアドレスの
アドレス値0〜(2l−1)のそれぞれに対応して21
バイトのブロックをN個ずつ記憶でき、Nロース2jカ
ラムのアドレスアレイがデータアレイの各ブロックに対
応するブロックアドレスを保持し、N個のアドレス比較
器が物理アドレスレジスタのブロックアドレスと物理ア
ドレスレジスタのカラムアドレスに対応したアドレスア
レイのN個のローのブロックアドレスとの一致比較を行
い、NローX 2 jカラムの置換アレイがデータアレ
イの各ブロックに対応して間接アドレスのアドレスリー
ドのミスヒットの場合に置換対象とされるブロックであ
ることを示すアドレスリードフラグ、ブロックが空きブ
ロックであることを示す空きフラグおよびブロックのア
クセス履歴情報からなる置換情報を保持し、ミスヒット
通知手段がN個のアドレス比較器での比較結果がすべて
不一致であるミスヒット時に置換制御回路手段にミスヒ
ットを通知し、アドレスリード通知手段が中央処理装置
からメモリアクセスごとにアドレスリードか否かを置換
ブロック決定手段および置換制御回路手段に通知し、置
換ブロック決定手段の第1の置換ブロック決定副手段が
物理アドレスレジスタのカラムアドレスに対応する置換
アレイのN個のローの置換情報を入力し空きフラグがオ
ンである置換情報がある場合にはそのうちの1つの置換
情報のブロック番号を選択して出力するとともに第1の
選択成功信号をオンにし空きフラグがオンである置換情
報がない場合にはアドレスリードフラグがオフである置
換情報があればそのアクセス履歴情報に基づいて置換す
べきブロックのブロック番号を選択して出力するととも
に第1の選択成功信号をオンとしアドレスリードフラグ
がオフである置換情報がなければ第1の選択成功信号を
オフとし、置換ブロック決定手段の第2の置換ブロック
決定副手段が物理アドレスレジスタのカラムアドレスに
対応する置換アレイのN個のローの置換情報を入力し空
きフラグがオンである置換情報がある場合にはそのうち
の1つの置換情報のブロック番号を選択して出力すると
ともに第2の選択成功信号をオンにし空きフラグがオン
である置換情報がない場合にはアドレスリードフラグが
オンである1換情報があればそのアクセス履歴情報に基
づいて置換すべきブロックのブロック番号を選択して出
力するとともに第2の選択成功信号をオンとしアドレス
リードフラグがオンである置換情報がなければ第2の選
択成功信号をオフとし、置換ブロック決定手段の置換ブ
ロック選択副手段がアドレスリード通知手段がオフの場
合には第1の選択成功信号がオンならば第1の置換ブロ
ック決定副手段からのブロック番号を選択し第1の選択
成功信号がオフならば第2の置換ブロック決定副手段か
らのブロック番号を選択しアドレスリード通知手段がオ
ンの場合には第2の選択成功信号がオンならば第2の置
換ブロック決定副手段からのブロック番号を選択し第2
の選択成功信号がオフならば第1の置換ブロック決定副
手段からのブロック番号を選択して置換ブロック番号通
知手段を介して置換制御回路手段に置換すべきブロック
番号を出力し、置換ブロック番号通知手段が置換ブロッ
ク決定手段から出力されたブロック番号を置換制御回路
手段に通知し、置換制御回路手段がミスヒツト通知手段
がオンのときに置換ブロック決定手段からのブロック番
号に対応するアドレスアレイ、データアレイおよび置換
アレイのエントリの内容をメモリアクセスされている新
しいブロックのアドレス、データおよび置換情報に置き
換え置換情報のアドレスリードフラグをアドレスリード
通知手段に応じて設定する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の構成を示す回路図である
。本実施例のキャッシュメモリ制御方式は、中央処理装
置(以下、CPUと略記する)1と、物理アドレスレジ
スタ2と、アドレスアレイ3と、N個のアドレス比較器
4と、データアレイ5と、置換アレイ6と、置換ブロッ
ク決定手段7と、置換ブロック番号通知手段13と、置
換制御回路手段14と、ミスヒツト通知手段15と、ア
ドレスリード通知手段16と、置換制御信号手段17と
から構成されている。
物理アドレスレジスタ2は、k(正整数)ビットのブロ
ックアドレ×2lと、1 (正整数)ビットのカラムア
ドレス22と、m(正整数)ビットのブロック内アドレ
ス23とからなる(k+j!+m)ビットの物理アドレ
スを格納するレジスタである。
物理アドレスレジスタ2には、CPUIからメモリアク
セス時の物理アドレスが格納されるようになっている。
アドレスアレイ3は、物理アドレスレジスタ2からカラ
ムアドレス線19を介して与えられるカラムアドレス2
2に対してN個のブロックアドレスを保持するNローX
 21カラムの配列でなる記憶手段である。
N個のアドレス比較器4は、物理アドレスレジスタ2か
らブロックアドレス線18を介して一方の入力に与えら
れたブロックアドレ×2lと、物理アドレスレジスタ2
からカラムアドレス線19を介して与えられるカラムア
ドレス22に対するアドレスアレイ3のN個のローから
他方の入力に与えられたN個のブロックアドレスとを比
較する。
データアレイ5は、物理アドレスレジスタ2からカラム
アドレス線19を介して与えられるカラムアドレス22
に対してN個の211バイトのデータブロック(以下、
単にブロックと称する)を保持するNローX Ll l
カラムの配列でなる記憶手段である。
置換アレイ6は、物理アドレスレジスタ2からカラムア
ドレス線19を介して与えられるカラムアドレス22に
対してN個の置換情報を保持するNロース2′カラムの
配列でなる記憶手段である。物理アドレスレジスタ2か
らカラムアドレス線19を介して与えられるカラムアド
レス22に対する置換アレイ6のN個のローに保持され
た置換情報は、置換ブロック決定手段7の入力となって
いる。
置換ブロック決定手段7は、第1の置換ブロック決定副
手段8と、第2の置換ブロック決定副手段9と、置換ブ
ロック選択副手段12とを含んで構成されている。
第1の置換ブロック決定副手段8は、置換アレイ6から
出力されるN個のローの置換情報のうちに空きフラグ6
2(第2図参照)が“1゛ (オン)である置換情報が
ある場合に、は、それらの置換情報のうちから置換すべ
きブロックを決定してそのブロック番号(カラムの何番
目のブロックであるかを示す番号)を出力するとともに
第1の選択成功信号10を“1゛ とする。空きフラグ
62が°1゛である置換情報がない場合には、アドレス
リードフラグ61’(第2図参照)が°0” (オフ)
である置換情報があればそのアクセス履歴フィールド6
3(第2図参照)の値(アクセス履歴情報)に基づいて
置換すべきブロックを決定してそのブロック番号を出力
するとともに第1の選択成功信号10を°1゛ とする
、アドレスリードフラグ62が0′である置換情報もな
ければ、第1の選択成功信号10をO゛ とする。
第2の置換ブロック決定副手段9は、置換アレイ6から
出力されるN個のローの置換情報のうちの空きフラグ6
2(第2図参照)が“1°である置換情報がある場合に
は、それらの置換情報のうちから置換すべきブロックを
決定してそのブロック番号を出力するとともに第2の選
択成功信号11を1″とする。空きフラグ62が1′で
ある置換情報がない場合には、アドレスリードフラグ6
1(第2図参照)が“1゛である置換情報があればその
アクセス履歴フィールド63の値に基づいて置換すべき
ブロックを決定してそのブロック番号を出力するととも
に第2の選択成功信号11を“1゛とする。アドレスリ
ードフラグ62が“1“である置換情報もなければ、第
2の選択成功信号11を“0゛とする。
置換ブロック選択副手段12は、例えばインバータ31
と、ナントゲート32と、アンドゲート33と、オアゲ
ート34と、セレクタ35とが図示のように接続されて
構成されており、第1の置換ブロック決定副手段8から
のブロック番号がセレクタ35のワード0に、第2の置
換ブロック決定副手段9からのブロック番号がセレクタ
35のワード1に供給されている。また、アドレスリー
ド通知手段16が接続されている。置換ブロック選択副
手段12は、アドレスリード通知手段16が“O”の場
合には、第1の置換ブロック決定副手段8からの第1の
選択成功信号10が“1゛ならば第1の置換ブロック決
定11手段8からのブロック番号を選択し、第1の置換
ブロック決定副手段8からの第1の選択成功信号10が
0°ならば第2の置換ブロック決定副手段9からのブロ
ック番号を選択する。また、アドレスリード通知手段1
6が1°の場合には、第2の置換ブロック決定副手段9
からの第2の選択成功信号11が1° ならば第2の置
換ブロック決定副手段9からのブロック番号を選択し、
第2の置換ブロック決定副手段9からの第2の選択成功
信号11が“0°ならば第1の置換ブロック決定副手段
8からのブロック番号を選択する。選択されたブロック
番号は、置換ブロック決定手段7の出力として置換ブロ
ック番号通知手段13を介して置換制御回路手段14に
供給される。
置換制御回路手段14は、N個のアドレス比較器4での
比較結果がすべて不一致のミスヒツト時にミスヒット通
知手段15を介してミスヒツトを通知され、置換ブロッ
ク決定手段7から置換ブロック。
番号通知手段13を介して通知された置換ブロック番号
に対応するアドレスアレイ3.データアレイ5および置
換アレイ6のエントリの内容を物理アドレスレジスタ2
のブロックアドレ×2lに対応するいまアクセスしよう
としている新しいブロックの内容と置き換える制御を行
う、また、これと同時に、置換制御回路手段14は、置
き換える置換情報のアドレスリードフラグ61をアドレ
スリード通知手段16に従って“1゛または“O゛に設
定する。
これらの制御は、置換制御回路手段14から置換制御信
号手段17を介してアドレスアレイ3.データアレイ5
および置換アレイ6にそれぞれ指示される。
第2図を参照すると、置換アレイ6に保持される置換情
報は、先頭1ビツトのアドレスリードフラグ61と、次
の1ビツトの空きフラグ62と、残りのアクセス履歴フ
ィールド63とからなる。
アドレスリードフラグ61は、 “1°のときにブロッ
クが間接アドレスのアドレスリード時のみにミスヒット
の置換対象となることを示すフラグである。
空きフラグ62は、1°のときにブロックが空いている
ことを示すフラグである。
アクセス履歴フィールド63は、ブロックがアクセスさ
れると“0°にクリアされて、ある周期のブロックでカ
ウントアツプされるフィールドである。アクセス履歴フ
ィールド63の値が大きいと、ブロックが最近アクセス
されていないブロックであるとみなされる。ミスヒツト
時に最近量もアクセスされていないブロックをキャッシ
ュから追い出すというLRLJ (Least  Re
cently Used )アルゴリズムを使うとすれ
ば、ミスヒット時にアクセス履歴フィールド63の値の
最も大きいブロックが置換対象となる。
次に、このように構成された本実施例のキャノシェメモ
リ制御方式の動作について説明する。なお、ここでは、
k=8.ff=2およびm=4の14ビツトの物理アド
レスでN=40−および21=22−4カラムのキャッ
シュメモリを採用した場合を想定し具体例を用いて説明
を行う。
まず、第3図(alに示すような置換情報を保持する置
換アレイ6の状態で第4図に示すような物理アドレスの
メモリアクセスが起きたとする。カラムアドレス22は
01゛で対応するカラム番号は2であるが、このときア
ドレスアレイ3のカラム2の4個のローの状態は、第5
図に示すようにいずれも物理アドレスのブロックアドレ
ス32#(#は16進数であることを示す)と一致して
いなかったとする。この結果、4個のアドレス比較器4
の出力はいずれも不一致となり、ミスヒツト通知手段1
5はミスヒットを示す“1゛ となる。
置換アレイ6のカラム2に保持されている4個の置換情
報は、置換ブロック決定手段〉の入力となり、第1の置
換ブロック決定副手段8は空きフラグ62が1′である
ロー1のブロック番号を出力して、第1の選択成功信号
IOを1゛とする。
第2の置換ブロック決定副手段9は、同様に空きフラグ
62が“1“のロー1のブロック番号を出力して第2の
選択成功信号11を°l゛とする。
今回のメモリアクセスがアドレスリードであれば、アド
レスリード通知手段16は“1゛ となり、第2の選択
成功信号11がl゛なので、結局置換ブロック選択副手
段12ではセレクタ35のワード1に供給されている第
2の置換ブロック決定副手段9からのブロック番号が選
択される0選択されたブロック番号は、置換ブロック番
号として置換ブロック番号通知手段13を介して置換制
御回路手段14に通知される。したがって、置換制御回
路手段14により置換制御信号手段17を介して置換プ
ロマク番号に対応するアドレスアレイ3.データアレイ
5および置換アレイ6のエントリの内容がメモリアクセ
スされている新しいブロックのアドレス。
データおよび置換情報に置き換えられる。また、置き換
えられた置換情報のアドレスリードフラグ61は、アド
レスリード通知手段16に応じて“1゛に設定される。
また、今回のメモリアクセスがデータリードであれば、
アドレスリード通知手段16は“Oo となり、第1の
選択成功信号10はl゛なので、結局置換ブロック選択
副手段12ではセレクタ35のワード0に供給されてい
る第1の置換ブロック決定副手段8からのブロック番号
が選択される0選択されたブロック番号は、置換ブロッ
ク番号として置換ブロック番号通知手段13を介して置
換制御回路手段14に通知される。したがって、置換制
御回路手段14により置換制御信号手段17を介して置
換ブロック番号に対応するアドレスアレイ3.データア
レイ5および置換アレイ6のエントリの内容がメモリア
クセスされている新しいブロックのアト。
レス、データおよび置換情報に置き換えられる。
また、置き換えられた置換情報のアドレスリードフラグ
61は、アドレスリード通知手段16に応じて′O゛に
設定される。
次に、第3図(blに示す置換アレイ6について見ると
、このときにはカラム2のすべてのローの空きフラグ6
2は“Ooなので、第1の置換ブロック決定副手段8は
アドレスリードフラグ61が“0゛であるローを置換対
象とし、第2の置換ブロック決定副手段9はアドレスリ
ードフラグ61が“1゛であるローを置換対象として、
アクセス履歴フィールド63の値に従ってその中から置
換すべきブロック番号を選択して置換ブロック選択副手
段12にそれぞれ出力する。第1の置換ブロック決定副
手段8はロー3を選択し、第2の置換ブロック決定副手
段9はロー4を選択する。また、第1の選択成功信号1
0および第2の選択成功信号11がそれぞれi゛ とな
る。
今回のメモリアクセスがアドレスリードであれば、アド
レスリード通知手段16は1゛ となり、第2の選択成
功信号11が“1゛なので、結局置換ブロック選択副手
段12ではセレクタ35のワード1に供給されている第
2の置換ブロック決定副手段9からのブロック番号が選
択される。したがって、置換制御回路手段14により置
換制御信号手段17を介して置換ブロック番号に対応す
るアドレスアレイ3.データアレイ5および置換アレイ
6のエントリの内容がメモリアクセスされている新しい
ブロックのアドレス、データおよび置換情報に置き換え
られ、置き換えられた置換情報のアドレスリードフラグ
61がアドレスリード通知手段16に応じて“1”に設
定される。
また、今回のメモリアクセスがデータリードであれば、
アドレスリード通知手段16は0゛となり、第1の選択
成功信号lOはl゛ なので、結局置換ブロック選択副
手段12ではセレクタ35のワード0に供給されている
第1の置換ブロック決定副手段8からのブロック番号が
選択される。したがって、置換制御回路手段14により
置換制御信号手段17を介して置換ブロック番号に対応
するアドレスアレイ3.データアレイ5および置換アレ
イ6のエントリの内容がメモリアクセスされている新し
いブロックのアドレス、データおよび置換情報に置き換
えられ、置き換えられた置換情報のアドレスリードフラ
グ61がアドレスリード通知手段16に応じて 0゛に
設定される。
さらに、第3図FC+に示す置換アレイ6について見る
と、カラム2の空きフラグ62はすべて0゛でアドレス
リードフラグ61はすべて“1゛であるので、第1の置
換ブロック決定副手段8は第1の選択成功信号10を“
0゛にする。第2の置換ブロック決定副手段9は、アク
セス履歴フィールド63の値が最も大きいロー3を選択
して第2の選択成功信号11を“1° とする。
今回のメモリアクセスがデータリードであれば、。
アドレスリード通知手段16は“0“となり、第1の選
択成功信号10が“0゛であるので、結局置換ブロック
選択副手段12ではセレクタ35のワード1に供給され
ている第2の置換ブロック決定副手段9からのブロック
番号が選択される。このように、データリードで空きフ
ラグ62が“l゛であるブロックもアドレスリードフラ
グ61が“0°であるブロックも存在しない場合には、
アドレスリードフラグ61が“1゛であるブロックのう
ちから最近最もアクセスされていないブロックが選ばれ
てデータリードのための置換ブロックとなる。そして、
このブロックに対応するロー3の置換情報のアドレスリ
ードフラグ61は、置換制御回路手段14の制御のもと
で更新されるときに、今回のメモリアクセスがデータリ
ードなので”0゛に設定され、以降はデータリード時の
ミスヒットでの置換対象となる。
なお、逆に、アドレスリードで空きフラグ62が“1“
であるブロックもアドレスリードフラグ61が1”であ
るブロックも存在しない場合には、アドレスリードフラ
グ61が0゛であるブロックのうちから最近最もアクセ
スされていないブロックが選ばれてアドレスリードのた
めの置換ブロックとなる。そして、このブロックに対応
する置換情報のアドレスリードフラグ61は、置換制御
回路手段14の制御のもとで更新されるときに“1゛に
設定され、以降はアドレスリード時のミスヒットでの置
換対象となる。
〔発明の効果〕
以上説明したように本発明は、置換アレイの置換情報に
アドレスリードフラグを設けてアドレスリード時のミス
ヒットで空きブロックがない場合にアドレスリードフラ
グがオンのブロックを優先的に置換対象とし、データリ
ード時のミスヒットで空きブロックがない場合にアドレ
スリードフラグがオフのブロックを優先的に置換対象と
することにより、ポインタの局所性およびデータの局所
性の両方に対応してキャッシュのヒツト率を高く維持す
ることができる効果がある。
また、ポインタの局所性とデータの局所性とが別という
ことはポインタのアクセス領域が変わってもデータのア
クセス領域は必ずしも変わらないことを意味しており、
ポインタの局所性とデータの局所性とが独立しているプ
ログラムの実行中にアクセスしているポインタのアクセ
ス領域またはデータのアクセス領域が変わったときには
同じポインタ用のブロックまたはデータ用のブロックが
置換されてもデータ用のブロックまたはポインタ用のブ
ロックはそのまま残っているので、キャッシュメモリで
は後続のデータアクセスまたはポインタアクセスでミス
ヒットする確率が小さくなるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のキャッシュメモリ制御方式
の構成を示す回路図、 第2図は第1図中の置換アレイに保持される置換情報の
一例を示す図、 第3図tal〜(C1は第1図中の置換アレイの内容を
それぞれ例示する図、 第4図は第1図中の物理アドレスレジスタの内容を例示
する図、 第5図は第1図中のアドレスアレイの内容を例示する図
である。 図において、 1・・・cpu。 2・・・物理アドレスレジスタ、 3・・・アドレスアレイ、 4・・・アドレス比較器、 5・・・データアレイ、 6・・・置換アレイ、 7・・・置換ブロック決定手段、 8・・・第1の置換ブロック決定副手段、9・・・第2
の置換ブロック決定副手段、10・・・第1の選択成功
信号、 11・・・第2の選択成功信号、 12・・・置換ブロック選択副手段、 13・・・置換ブロック番号通知手段、14・・・置換
制御回路手段、 15・・・ミスヒット通知手段、 16・・・アドレスリード通知手段、 17・・・置換制御信号手段、 18・・・ブロックアドレス線、 19・・・カラムアドレス線、 21・・・ブロックアドレス、 22・・・カラムアドレス、 23・・・ブロック内アドレス、 61・・・アドレスリードフラグ、 62・・・空きフラグ、 63・・・アクセス履歴フィールドである。

Claims (1)

  1. 【特許請求の範囲】 k(正整数)ビットのブロックアドレスとl(正整数)
    ビットのカラムアドレスとm(正整数)ビットのブロッ
    ク内アドレスとからなる(k+l+m)ビットの物理ア
    ドレスを用いN(正整数)ロー×2^lカラムのキャッ
    シュメモリを採用する中央処理装置において、 メモリアクセス時の物理アドレスを保持する物理アドレ
    スレジスタと、 カラムアドレスのアドレス値0〜(2^l−1)のそれ
    ぞれに対応して2^mバイトのブロックをN個ずつ記憶
    できるNロー×2^lカラムのデータアレイと、 このデータアレイの各ブロックに対応するブロックアド
    レスを保持するNロー×2^lカラムのアドレスアレイ
    と、 前記物理アドレスレジスタのブロックアドレスと前記物
    理アドレスレジスタのカラムアドレスに対応した前記ア
    ドレスアレイのN個のローのブロックアドレスとの一致
    比較を行うN個のアドレス比較器と、 前記データアレイの各ブロックに対応して間接アドレス
    のアドレスリードのミスヒットの場合に置換対象とされ
    るブロックであることを示すアドレスリードフラグ、ブ
    ロックが空きブロックであることを示す空きフラグおよ
    びブロックのアクセス履歴情報からなる置換情報を保持
    するNロー×2^lカラムの置換アレイと、 前記N個のアドレス比較器での比較結果がすべて不一致
    であるミスヒット時に置換制御回路手段にミスヒットを
    通知するミスヒット通知手段と、前記中央処理装置から
    メモリアクセスごとにアドレスリードか否かを置換ブロ
    ック決定手段および前記置換制御回路手段に通知するア
    ドレスリード通知手段と、 前記物理アドレスレジスタのカラムアドレスに対応する
    前記置換アレイのN個のローの置換情報を入力し空きフ
    ラグがオンである置換情報がある場合にはそのうちの1
    つの置換情報のブロック番号を選択して出力するととも
    に第1の選択成功信号をオンにし空きフラグがオンであ
    る置換情報がない場合にはアドレスリードフラグがオフ
    である置換情報があればそのアクセス履歴情報に基づい
    て置換すべきブロックのブロック番号を選択して出力す
    るとともに前記第1の選択成功信号をオンとしアドレス
    リードフラグがオフである置換情報がなければ前記第1
    の選択成功信号をオフとする第1の置換ブロック決定副
    手段、前記物理アドレスレジスタのカラムアドレスに対
    応する前記置換アレイのN個のローの置換情報を入力し
    空きフラグがオンである置換情報がある場合にはそのう
    ちの1つの置換情報のブロック番号を選択して出力する
    とともに第2の選択成功信号をオンにし空きフラグがオ
    ンである置換情報がない場合にはアドレスリードフラグ
    がオンである置換情報があればそのアクセス履歴情報に
    基づいて置換すべきブロックのブロック番号を選択して
    出力するとともに前記第2の選択成功信号をオンとしア
    ドレスリードフラグがオンである置換情報がなければ前
    記第2の選択成功信号をオフとする第2の置換ブロック
    決定副手段、および前記アドレスリード通知手段がオフ
    の場合には前記第1の選択成功信号がオンならば前記第
    1の置換ブロック決定副手段からのブロック番号を選択
    し前記第1の選択成功信号がオフならば前記第2の置換
    ブロック決定副手段からのブロック番号を選択し前記ア
    ドレスリード通知手段がオンの場合には前記第2の選択
    成功信号がオンならば前記第2の置換ブロック決定副手
    段からのブロック番号を選択し前記第2の選択成功信号
    がオフならば前記第1の置換ブロック決定副手段からの
    ブロック番号を選択して置換ブロック番号通知手段を介
    して前記置換制御回路手段に置換すべきブロック番号を
    出力する置換ブロック選択副手段からなる置換ブロック
    決定手段と、この置換ブロック決定手段から出力された
    ブロック番号を前記置換制御回路手段に通知する前記置
    換ブロック番号通知手段と、 前記ミスヒット通知手段がオンのときに前記置換ブロッ
    ク決定手段からのブロック番号に対応する前記アドレス
    アレイ、前記データアレイおよび前記置換アレイのエン
    トリの内容をメモリアクセスされている新しいブロック
    のアドレス、データおよび置換情報に置き換え置換情報
    のアドレスリードフラグを前記アドレスリード通知手段
    に応じて設定する前記置換制御回路手段と、 を有することを特徴とするキャッシュメモリ制御方式。
JP62118533A 1987-05-15 1987-05-15 キャッシュメモリ制御方式 Pending JPS63282861A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62118533A JPS63282861A (ja) 1987-05-15 1987-05-15 キャッシュメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62118533A JPS63282861A (ja) 1987-05-15 1987-05-15 キャッシュメモリ制御方式

Publications (1)

Publication Number Publication Date
JPS63282861A true JPS63282861A (ja) 1988-11-18

Family

ID=14738949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62118533A Pending JPS63282861A (ja) 1987-05-15 1987-05-15 キャッシュメモリ制御方式

Country Status (1)

Country Link
JP (1) JPS63282861A (ja)

Similar Documents

Publication Publication Date Title
US5274790A (en) Cache memory apparatus having a plurality of accessibility ports
JP4098347B2 (ja) キャッシュメモリおよびその制御方法
US4910668A (en) Address conversion apparatus
JP2681398B2 (ja) 記憶装置
JP2004030000A (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
JP4009304B2 (ja) キャッシュメモリおよびキャッシュメモリ制御方法
JPH05210593A (ja) マイクロプロセッサのためのメモリ区分化装置およびセグメント記述子をセグメント・レジスタへロードする方法
JPS63282861A (ja) キャッシュメモリ制御方式
JPH08195089A (ja) 複数の条件を同時に検出するための装置、およびその方法
JPS63127348A (ja) キヤツシユメモリ制御方式
KR960015231A (ko) 향상된 어드레스 지정 방법 및 시스템
US20040003176A1 (en) Storage device and cache memory device in set associative system
JPH01173241A (ja) キャッシュメモリ装置
US20090106497A1 (en) Apparatus, processor and method of controlling cache memory
JPS63201850A (ja) オンチツプキヤツシユメモリ
JPH05120133A (ja) キヤツシユ装置
JPS61214039A (ja) キヤツシユメモリ
JPH04288647A (ja) キャッシュメモリにおける置き換え制御装置
EP0377971A2 (en) I/O bus caching
JP2004152292A (ja) 予測アドレス値を生成するための計算回路、および計算回路で次アドレスを予測する方法
JPH01251145A (ja) キャッシュメモリ制御方式
KR20010026920A (ko) 캐시 시스템
JPH0480824A (ja) データ処理装置
JPS6180440A (ja) バツフアメモリ制御方式
JPS629944B2 (ja)