JPH05250264A - キャッシュメモリ - Google Patents
キャッシュメモリInfo
- Publication number
- JPH05250264A JPH05250264A JP4086066A JP8606692A JPH05250264A JP H05250264 A JPH05250264 A JP H05250264A JP 4086066 A JP4086066 A JP 4086066A JP 8606692 A JP8606692 A JP 8606692A JP H05250264 A JPH05250264 A JP H05250264A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- memory
- signal
- hit
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 キャッシュヒット率の測定が容易にできるよ
うにする。 【構成】 制御部8の信号生成手段8aで、キャッシュ
ヒット,キャッシュミスに対応するキャッシュヒット信
号8−1とキャッシュミス信号8−2とを生成し、第1
及び第2のカウント手段12,14でカウントさせ、そ
れらのカウント値を第1及び第2の記憶手段13,15
に記憶する。この第1及び第2の記憶手段に記憶したカ
ウント値にもとづき、キャッシュヒット率を算出する。 【効果】 キャッシュヒット率が容易に測定できる。
うにする。 【構成】 制御部8の信号生成手段8aで、キャッシュ
ヒット,キャッシュミスに対応するキャッシュヒット信
号8−1とキャッシュミス信号8−2とを生成し、第1
及び第2のカウント手段12,14でカウントさせ、そ
れらのカウント値を第1及び第2の記憶手段13,15
に記憶する。この第1及び第2の記憶手段に記憶したカ
ウント値にもとづき、キャッシュヒット率を算出する。 【効果】 キャッシュヒット率が容易に測定できる。
Description
【0001】
【産業上の利用分野】この発明は、キャッシュヒット率
の測定が容易なキャッシュメモリに関する。
の測定が容易なキャッシュメモリに関する。
【0002】
【従来の技術】図7は従来のダイレクトマッピング方式
のキャッシュメモリの構成を示すブロック図である。図
7において、1はキャッシュメモリ、2は信号線、3は
バスインターフェース部、4はTAGメモリ、5はエン
トリデコーダ、6はデータメモリ、7は比較器、8は制
御部、9はリプレース制御部、10,11は各々メモリ
アドレスの中のTAG部とエントリ部である。
のキャッシュメモリの構成を示すブロック図である。図
7において、1はキャッシュメモリ、2は信号線、3は
バスインターフェース部、4はTAGメモリ、5はエン
トリデコーダ、6はデータメモリ、7は比較器、8は制
御部、9はリプレース制御部、10,11は各々メモリ
アドレスの中のTAG部とエントリ部である。
【0003】次に動作について説明する。キャッシュメ
モリ1は、TAGメモリ4、エントリデコーダ5、デー
タメモリ6によって、主メモリ(図示せず)のデータを
その主メモリのアドレスとともに記憶する。CPU(図
示せず)がバス動作を開始するとキャッシュメモリ1は
バスインターフェース部3を介してCPUの出力するア
ドレスを取り込み、このアドレスのエントリ部11に対
応するデータをエントリデコーダ5によってデータメモ
リ6の中から選択する。一方、そのアドレスのTAG部
10とTAGメモリ4内に記憶しているTAGを比較器
7によって比較し、同一のものがあれば制御部8によっ
て上記選択されているデータをデータメモリ6からバス
インターフェース部3を介して出力する。CPUはこの
データを取り込み、また主メモリへのアクセスは行わな
い。この一連の動作を一般にキャッシュヒットしたと言
う。また比較器7によって比較した結果、同一のものが
なければ、制御部8はデータを出力せず、この場合CP
Uは主メモリからデータをリードする。この一連の動作
を一般にキャッシュミスしたと言う。この時、キャッシ
ュメモリ1は、CPUの次のバス動作を停止させ、リプ
レース制御部9によってCPUがリードしたデータとこ
れにアドレスの連続したデータをある決まった量(リプ
レース量)だけアドレスとともにリードし、すでにある
ものとの入れ替えを行い次のアクセスに備える。すなわ
ち、この動作は一般にアクセスされた近傍のデータが再
びアクセスされる可能性が高いからである。このことか
ら、キャッシュメモリにおけるキャッシュヒットの確率
がキャッシュヒット率と言い、通常高いことが望まれ
る。
モリ1は、TAGメモリ4、エントリデコーダ5、デー
タメモリ6によって、主メモリ(図示せず)のデータを
その主メモリのアドレスとともに記憶する。CPU(図
示せず)がバス動作を開始するとキャッシュメモリ1は
バスインターフェース部3を介してCPUの出力するア
ドレスを取り込み、このアドレスのエントリ部11に対
応するデータをエントリデコーダ5によってデータメモ
リ6の中から選択する。一方、そのアドレスのTAG部
10とTAGメモリ4内に記憶しているTAGを比較器
7によって比較し、同一のものがあれば制御部8によっ
て上記選択されているデータをデータメモリ6からバス
インターフェース部3を介して出力する。CPUはこの
データを取り込み、また主メモリへのアクセスは行わな
い。この一連の動作を一般にキャッシュヒットしたと言
う。また比較器7によって比較した結果、同一のものが
なければ、制御部8はデータを出力せず、この場合CP
Uは主メモリからデータをリードする。この一連の動作
を一般にキャッシュミスしたと言う。この時、キャッシ
ュメモリ1は、CPUの次のバス動作を停止させ、リプ
レース制御部9によってCPUがリードしたデータとこ
れにアドレスの連続したデータをある決まった量(リプ
レース量)だけアドレスとともにリードし、すでにある
ものとの入れ替えを行い次のアクセスに備える。すなわ
ち、この動作は一般にアクセスされた近傍のデータが再
びアクセスされる可能性が高いからである。このことか
ら、キャッシュメモリにおけるキャッシュヒットの確率
がキャッシュヒット率と言い、通常高いことが望まれ
る。
【0004】
【発明が解決しようとする課題】上記のように構成され
ている従来のキャッシュメモリは、キャッシュヒット率
が重要な性能指標であるにもかかわらず、その測定手段
を何等備えておらず、外部に測定用回路を追加するなど
して対処する必要があった。また、キャッシュヒット率
が容易に測定できないため、リプレース量調整手段を備
えているにもかかわらず有効に活用されていなかった。
ている従来のキャッシュメモリは、キャッシュヒット率
が重要な性能指標であるにもかかわらず、その測定手段
を何等備えておらず、外部に測定用回路を追加するなど
して対処する必要があった。また、キャッシュヒット率
が容易に測定できないため、リプレース量調整手段を備
えているにもかかわらず有効に活用されていなかった。
【0005】この発明は、この様な問題を解決するため
になされたものであり、キャッシュヒット率の測定が容
易なキャッシュメモリを提供することを目的としてい
る。
になされたものであり、キャッシュヒット率の測定が容
易なキャッシュメモリを提供することを目的としてい
る。
【0006】
【課題を解決するための手段】この第1の発明に係るキ
ャッシュメモリは、図1で示すように、主メモリのデー
タを記憶するデータメモリ6と、制御部8とを備え、上
記制御部によって、外部から要求されるデータが上記デ
ータメモリに存在すれば、キャッシュヒットとして上記
データを上記データメモリより読出して出力し、存在し
なければ、キャッシュミスとして主メモリよりこのデー
タを出力するようにしたキャッシュメモリにおいて、上
記キャッシュヒット及びキャッシュミスに対応したキャ
ッシュヒット信号及びキャッシュミス信号を生成する信
号生成手段8Aと、上記キャッシュヒット信号及びキャ
ッシュミス信号にもとづいてキャッシュヒット数及びキ
ャッシュミス数を計数手段(第1,第2のカウント手段
12,14)と、上記計算値を記憶する記憶手段(第
1,第2の記憶手段13,15)とを備えた。
ャッシュメモリは、図1で示すように、主メモリのデー
タを記憶するデータメモリ6と、制御部8とを備え、上
記制御部によって、外部から要求されるデータが上記デ
ータメモリに存在すれば、キャッシュヒットとして上記
データを上記データメモリより読出して出力し、存在し
なければ、キャッシュミスとして主メモリよりこのデー
タを出力するようにしたキャッシュメモリにおいて、上
記キャッシュヒット及びキャッシュミスに対応したキャ
ッシュヒット信号及びキャッシュミス信号を生成する信
号生成手段8Aと、上記キャッシュヒット信号及びキャ
ッシュミス信号にもとづいてキャッシュヒット数及びキ
ャッシュミス数を計数手段(第1,第2のカウント手段
12,14)と、上記計算値を記憶する記憶手段(第
1,第2の記憶手段13,15)とを備えた。
【0007】この第2の発明に係るキャッシュメモリ
は、図4で示すように、上記カウンタ手段によるキャッ
シュヒット数及びキャッシュミス数の計数を許可又は禁
止させるカウント許可・禁止手段17とを備えた。
は、図4で示すように、上記カウンタ手段によるキャッ
シュヒット数及びキャッシュミス数の計数を許可又は禁
止させるカウント許可・禁止手段17とを備えた。
【0008】この第3の発明に係るキャッシュメモリ
は、図5で示すように、上記カウンタ手段によるキャッ
シュヒット数及びキャッシュミス数の計数が許可された
アドレス領域に入っているか否かを判断するアドレス領
域判定手段(アドレス比較器19)と、このアドレス領
域判定手段に上記アドレス領域を設定するアドレス領域
設定手段18とを備えた。
は、図5で示すように、上記カウンタ手段によるキャッ
シュヒット数及びキャッシュミス数の計数が許可された
アドレス領域に入っているか否かを判断するアドレス領
域判定手段(アドレス比較器19)と、このアドレス領
域判定手段に上記アドレス領域を設定するアドレス領域
設定手段18とを備えた。
【0009】この第4の発明に係るキャッシュメモリは
図4,図5,図6で示すように、データのリプレース量
を制御するリプレース制御手段16を備え、このリプレ
ース制御手段16によって、上記記憶手段に記憶された
上記計数値にもとづいて、キャッシュヒットとキャッシ
ュミスにもとづくキャッシュヒット率を設定するように
した。
図4,図5,図6で示すように、データのリプレース量
を制御するリプレース制御手段16を備え、このリプレ
ース制御手段16によって、上記記憶手段に記憶された
上記計数値にもとづいて、キャッシュヒットとキャッシ
ュミスにもとづくキャッシュヒット率を設定するように
した。
【0010】
【作用】この第1の発明によるキャッシュメモリでは、
制御部8の信号生成手段8Aにより、キャッシュヒット
及びキャッシュミスに対応したキャッシュヒット信号及
びキャッシュミス信号を出力する。計数手段(第1,第
2のカウント手段12,14)は、上記キャッシュヒッ
ト信号及びキャッシュミス信号にもとづいて、キャッシ
ュヒット数及びキャッシュミス数を計数し、これらの計
数値を記憶手段(第1,第2の記憶手段13,15)に
記憶する。記憶されたキャッシュヒット数及びキャッシ
ュミス数の計数値は、ヒット率の算出等に使用される。
制御部8の信号生成手段8Aにより、キャッシュヒット
及びキャッシュミスに対応したキャッシュヒット信号及
びキャッシュミス信号を出力する。計数手段(第1,第
2のカウント手段12,14)は、上記キャッシュヒッ
ト信号及びキャッシュミス信号にもとづいて、キャッシ
ュヒット数及びキャッシュミス数を計数し、これらの計
数値を記憶手段(第1,第2の記憶手段13,15)に
記憶する。記憶されたキャッシュヒット数及びキャッシ
ュミス数の計数値は、ヒット率の算出等に使用される。
【0011】この第2の発明によるキャッシュメモリ
は、カウント許可・禁止手段17によって上記計数手段
の計数を、一定の時間禁止したり、許可したりすること
によって、ある時間(期間)におけるキャッシュヒット
数やキャッシュミス数を計数手段に計数させる。
は、カウント許可・禁止手段17によって上記計数手段
の計数を、一定の時間禁止したり、許可したりすること
によって、ある時間(期間)におけるキャッシュヒット
数やキャッシュミス数を計数手段に計数させる。
【0012】この第3の発明によるキャッシュメモリ
は、アドレス領域判定手段(アドレス比較器19)とア
ドレス領域判定手段(アドレス領域設定手段18)によ
って、所定のアドレス領域内のデータにおけるキャッシ
ュヒット数やキャッシュミス数を上記計数手段に計数さ
せる。
は、アドレス領域判定手段(アドレス比較器19)とア
ドレス領域判定手段(アドレス領域設定手段18)によ
って、所定のアドレス領域内のデータにおけるキャッシ
ュヒット数やキャッシュミス数を上記計数手段に計数さ
せる。
【0013】この第4の発明によるキャッシュメモリ
は、上記計数手段の計数値にもとづいて、リプレース制
御手段16により、最もヒット率が高くなるようにリプ
レース量を決めて、そのリプレース量をリプレース制御
部9に設定する。
は、上記計数手段の計数値にもとづいて、リプレース制
御手段16により、最もヒット率が高くなるようにリプ
レース量を決めて、そのリプレース量をリプレース制御
部9に設定する。
【0014】
【実施例】次に、この発明の実施例を図について説明す
る。図1はこの第1の発明の実施例(第1の実施例)に
おけるキャッシュメモリの構成を示すブロック図であ
る。なお、従来例の図7と同じ機能のものには同一符号
を用い、その構成の説明を省略する。図1において、8
Aは信号生成手段、12はキャッシュヒット数の計数手
段としての第1のカウント手段、13はキャッシュヒッ
ト数のカウント値(計数値)の記憶手段としての第1の
記憶手段、14はキャッシュミス数の計数手段としての
第2のカウント手段、15はキャッシュミス数のカウン
ト値の記憶手段としての第2の記憶手段である。
る。図1はこの第1の発明の実施例(第1の実施例)に
おけるキャッシュメモリの構成を示すブロック図であ
る。なお、従来例の図7と同じ機能のものには同一符号
を用い、その構成の説明を省略する。図1において、8
Aは信号生成手段、12はキャッシュヒット数の計数手
段としての第1のカウント手段、13はキャッシュヒッ
ト数のカウント値(計数値)の記憶手段としての第1の
記憶手段、14はキャッシュミス数の計数手段としての
第2のカウント手段、15はキャッシュミス数のカウン
ト値の記憶手段としての第2の記憶手段である。
【0015】信号生成手段8Aは、制御部8内に設けら
れており、外部から要求されるデータがデータメモリ6
に存在すればキャッシュヒットとして上記データをデー
タメモリ6より読出して出力し、またデータがデータメ
モリ6内に存在しなければ、キャッシュミスとして主メ
モリよりこのデータを出力するようにした。そしてキャ
ッシュヒットに対応したキャッシュヒット信号と、キャ
ッシュミスに対応したキャッシュミス信号とを第1のカ
ウント手段12と第2のカウント手段14とに出力す
る。第1及び第2のカウント手段12,14は、それぞ
れキャッシュヒット数及びキャッシュミス数をカウント
(計数)し、それぞれのカウント値を第1及び第2の記
憶手段に記憶する。第1及び第2のカウント手段13,
15は、それぞれのカウント値を記憶する。これらのカ
ウント値は、キャッシュヒット数やキャッシュミス数の
そのままのデータとして利用するか、それらのカウント
値をキャッシュヒット率の算出に利用する。
れており、外部から要求されるデータがデータメモリ6
に存在すればキャッシュヒットとして上記データをデー
タメモリ6より読出して出力し、またデータがデータメ
モリ6内に存在しなければ、キャッシュミスとして主メ
モリよりこのデータを出力するようにした。そしてキャ
ッシュヒットに対応したキャッシュヒット信号と、キャ
ッシュミスに対応したキャッシュミス信号とを第1のカ
ウント手段12と第2のカウント手段14とに出力す
る。第1及び第2のカウント手段12,14は、それぞ
れキャッシュヒット数及びキャッシュミス数をカウント
(計数)し、それぞれのカウント値を第1及び第2の記
憶手段に記憶する。第1及び第2のカウント手段13,
15は、それぞれのカウント値を記憶する。これらのカ
ウント値は、キャッシュヒット数やキャッシュミス数の
そのままのデータとして利用するか、それらのカウント
値をキャッシュヒット率の算出に利用する。
【0016】図2は図1の比較器7と制御部8内のヒッ
ト信号、ミス信号生成部分(信号生成手段8A)の詳細
な回路図であり、図3はそのタイミング図である。図2
において、7−1,7−2は入力の信号、7−3は出力
の信号、7a,8a〜8cは論理積ゲート、7bは排他
的論理和ゲート、8−1はキャッシュヒット信号、8−
2はキャッシュミス信号、8−3,8−4はこれらの信
号のもととなる信号である。また、図3において、
(A)はバスサイクルのキャッシュヒット,I/Oアク
セス,キャッシュミス等のサイクルを示す波形図、
(B)は図2の比較器7内の信号7−3の波形図、
(C)〜(F)は信号8−1〜8−4の波形図である。
図2において、比較器7はTAGのビット数分の排他的
論理和ゲート7bと論理積ゲート7aで構成され、また
制御部8内のヒット信号、ミス信号生成部分は論理積ゲ
ート8a〜8cで構成されている。アクセスアドレスの
TAG部10からのビットごとの信号7−1によって対
応する排他的論理和ゲート7bの一方に入力され、ま
た、アクセスアドレスのエントリ部11とエントリデコ
ーダ5によって選択されたTAGメモリ4内のTAGは
信号7−2によって対応する排他的論理和ゲート7bの
もう一方に入力される。排他的論理和ゲート7bでは各
ビットで比較を行い同一であれば0を同一でなければ1
を論理積ゲート7aに出力する。論理積ゲート7aはす
べての入力が0であれば1を出力する。つまりTAGの
すべてのビットが一致すれば比較器7は1を出力する。
この信号は信号線7−3によって制御部8に出力され
る。制御部8内のヒット信号、ミス信号生成部分では制
御部8内で生成される、CPUがキャッシュメモリ1を
アクセスしていることを示す信号8−3とCPUバスサ
イクルごとのタイミング信号8−4によって、ヒットパ
ルス8−1またはミスパルス8−2を出力する。
ト信号、ミス信号生成部分(信号生成手段8A)の詳細
な回路図であり、図3はそのタイミング図である。図2
において、7−1,7−2は入力の信号、7−3は出力
の信号、7a,8a〜8cは論理積ゲート、7bは排他
的論理和ゲート、8−1はキャッシュヒット信号、8−
2はキャッシュミス信号、8−3,8−4はこれらの信
号のもととなる信号である。また、図3において、
(A)はバスサイクルのキャッシュヒット,I/Oアク
セス,キャッシュミス等のサイクルを示す波形図、
(B)は図2の比較器7内の信号7−3の波形図、
(C)〜(F)は信号8−1〜8−4の波形図である。
図2において、比較器7はTAGのビット数分の排他的
論理和ゲート7bと論理積ゲート7aで構成され、また
制御部8内のヒット信号、ミス信号生成部分は論理積ゲ
ート8a〜8cで構成されている。アクセスアドレスの
TAG部10からのビットごとの信号7−1によって対
応する排他的論理和ゲート7bの一方に入力され、ま
た、アクセスアドレスのエントリ部11とエントリデコ
ーダ5によって選択されたTAGメモリ4内のTAGは
信号7−2によって対応する排他的論理和ゲート7bの
もう一方に入力される。排他的論理和ゲート7bでは各
ビットで比較を行い同一であれば0を同一でなければ1
を論理積ゲート7aに出力する。論理積ゲート7aはす
べての入力が0であれば1を出力する。つまりTAGの
すべてのビットが一致すれば比較器7は1を出力する。
この信号は信号線7−3によって制御部8に出力され
る。制御部8内のヒット信号、ミス信号生成部分では制
御部8内で生成される、CPUがキャッシュメモリ1を
アクセスしていることを示す信号8−3とCPUバスサ
イクルごとのタイミング信号8−4によって、ヒットパ
ルス8−1またはミスパルス8−2を出力する。
【0017】次にこの第1実施例の動作について説明す
る。アプリケーションプログラムの実行が開始され、キ
ャッシュメモリ1に起動がかかると、制御部8は信号生
成手段8Aから従来例と同様にキャッシュヒット,キャ
ッシュミスに応じてそれぞれデータの出力あるいはリプ
レース動作を行っていくが、この時、同時にキャッシュ
ヒット時には第1のカウント手段12に、キャッシュミ
ス時には第2のカウント手段14にそれぞれキャッシュ
ヒット信号8−1、キャッシュミス信号8−2を送る。
この後、第1及び第2のカウント手段12,14はこれ
らのキャッシュヒット信号8−1、キャッシュミス信号
8−2をそれぞれカウントする。そして第1及び第2の
記憶手段13,15は第1及び第2のカウント手段1
2,14でカウントされたカウント値を記憶する。ここ
で第1及び第2の記憶手段13,15の情報(キャッシ
ュヒット数,キャッシュミス数)を単に読出すか、読出
した後に除算を行いキャッシュヒット率を算出するかは
プログラマーの自由である。
る。アプリケーションプログラムの実行が開始され、キ
ャッシュメモリ1に起動がかかると、制御部8は信号生
成手段8Aから従来例と同様にキャッシュヒット,キャ
ッシュミスに応じてそれぞれデータの出力あるいはリプ
レース動作を行っていくが、この時、同時にキャッシュ
ヒット時には第1のカウント手段12に、キャッシュミ
ス時には第2のカウント手段14にそれぞれキャッシュ
ヒット信号8−1、キャッシュミス信号8−2を送る。
この後、第1及び第2のカウント手段12,14はこれ
らのキャッシュヒット信号8−1、キャッシュミス信号
8−2をそれぞれカウントする。そして第1及び第2の
記憶手段13,15は第1及び第2のカウント手段1
2,14でカウントされたカウント値を記憶する。ここ
で第1及び第2の記憶手段13,15の情報(キャッシ
ュヒット数,キャッシュミス数)を単に読出すか、読出
した後に除算を行いキャッシュヒット率を算出するかは
プログラマーの自由である。
【0018】図4は、この第2の発明の実施例(第2の
実施例)におけるキャッシュメモリの構成を示すブロッ
ク図である。図4において、17はカウント許可・禁止
手段であり、他の部分は(ただし、後述のリプレース制
御手段6を除く。)は第1の実施例と同じであるので省
略する。上記の第1の実施例では、第1及び第2のカウ
ント手段12,14によるカウントはキャッシュメモリ
1の起動で開始しプログラムの終了まで続くが、この第
2の実施例ではカウント許可・禁止手段17を設け、こ
れを制御することによって必要とする時間のキャッシュ
ヒット率を測定する。例えば、このカウント許可・禁止
手段17を制御レジスタで構成することによって、プロ
グラムの中の特定部分のキャッシュヒット率を求める。
実施例)におけるキャッシュメモリの構成を示すブロッ
ク図である。図4において、17はカウント許可・禁止
手段であり、他の部分は(ただし、後述のリプレース制
御手段6を除く。)は第1の実施例と同じであるので省
略する。上記の第1の実施例では、第1及び第2のカウ
ント手段12,14によるカウントはキャッシュメモリ
1の起動で開始しプログラムの終了まで続くが、この第
2の実施例ではカウント許可・禁止手段17を設け、こ
れを制御することによって必要とする時間のキャッシュ
ヒット率を測定する。例えば、このカウント許可・禁止
手段17を制御レジスタで構成することによって、プロ
グラムの中の特定部分のキャッシュヒット率を求める。
【0019】図5はこの第3の発明の実施例(第3の実
施例)におけるキャッシュメモリの構成を示すブロック
図である。図5において、18はアドレス領域設定手
段、19はこのアドレス領域設定手段18に設定された
アドレス領域内にアクセスされたアドレスのデータが入
っているかどうかを判定し、入っていれば第1及び第2
のカウンタ12,14のカウントを許可し、そうでなけ
れば禁止するためのアドレス比較器である。他の部分
(ただし、後述のリプレース制御手段6を除く。)につ
いては第1の実施例と同じであるので省略する。アドレ
ス領域設定手段18は例えばレジスタ等で構成する。プ
ログラマはあらかじめヒット率の測定領域を、アドレス
領域設定手段18に設定した後、プログラムを開始す
る。
施例)におけるキャッシュメモリの構成を示すブロック
図である。図5において、18はアドレス領域設定手
段、19はこのアドレス領域設定手段18に設定された
アドレス領域内にアクセスされたアドレスのデータが入
っているかどうかを判定し、入っていれば第1及び第2
のカウンタ12,14のカウントを許可し、そうでなけ
れば禁止するためのアドレス比較器である。他の部分
(ただし、後述のリプレース制御手段6を除く。)につ
いては第1の実施例と同じであるので省略する。アドレ
ス領域設定手段18は例えばレジスタ等で構成する。プ
ログラマはあらかじめヒット率の測定領域を、アドレス
領域設定手段18に設定した後、プログラムを開始す
る。
【0020】図6はこの第4の発明の実施例(第4の実
施例)におけるキャッシュメモリの構成を示すブロック
図である。図6において、16はミス時のリプレース量
のリプレース制御手段であり、他の部分は第1の実施例
と同じであるので省略する。またヒット率向上に対する
リプレース量の効果は、アプリケーションにより異な
る。データのアドレス連続性が高いアプリケーションプ
ログラムでは、そのリプレース量を増やすと高いキャッ
シュヒット率を得ることができるが、データのアドレス
が離散的であればそのリプレース量を増やしてもヒット
率は向上しない。したがってアプリケーションプログラ
ムごとに最適なリプレース量の設定が必要である。この
第4の実施例では第1及び第2の記憶手段13,15の
情報からヒット率を測定し、そのリプレース制御手段1
6によって最もキャッシュヒット率の高くなるようなリ
プレース量を求める。リプレース制御手段16における
リプレース量の設定は、例えば、制御レジスタを用い
る。
施例)におけるキャッシュメモリの構成を示すブロック
図である。図6において、16はミス時のリプレース量
のリプレース制御手段であり、他の部分は第1の実施例
と同じであるので省略する。またヒット率向上に対する
リプレース量の効果は、アプリケーションにより異な
る。データのアドレス連続性が高いアプリケーションプ
ログラムでは、そのリプレース量を増やすと高いキャッ
シュヒット率を得ることができるが、データのアドレス
が離散的であればそのリプレース量を増やしてもヒット
率は向上しない。したがってアプリケーションプログラ
ムごとに最適なリプレース量の設定が必要である。この
第4の実施例では第1及び第2の記憶手段13,15の
情報からヒット率を測定し、そのリプレース制御手段1
6によって最もキャッシュヒット率の高くなるようなリ
プレース量を求める。リプレース制御手段16における
リプレース量の設定は、例えば、制御レジスタを用い
る。
【0021】なお、図示していないが、キャッシュヒッ
ト数とキャッシュミス数のカウントを第1〜第4の実施
例のように各々独立したカウンタ及び記憶手段で構成せ
ず、カウンタをアップダウンカウンタで構成し、キャッ
シュヒット時にはアップカウント、キャッシュミス時に
はダウンカウントさせることにより、カウンタ及び記憶
手段は各々一つで実現できる。
ト数とキャッシュミス数のカウントを第1〜第4の実施
例のように各々独立したカウンタ及び記憶手段で構成せ
ず、カウンタをアップダウンカウンタで構成し、キャッ
シュヒット時にはアップカウント、キャッシュミス時に
はダウンカウントさせることにより、カウンタ及び記憶
手段は各々一つで実現できる。
【0022】ところで上記説明では、カウント値の記憶
手段は各々一つであるが、これを複数設けて、例えばア
ドレス領域ごとに別々にキャッシュヒット数やキャッシ
ュミス数をカウントし記憶することも可能である。
手段は各々一つであるが、これを複数設けて、例えばア
ドレス領域ごとに別々にキャッシュヒット数やキャッシ
ュミス数をカウントし記憶することも可能である。
【0023】
【発明の効果】この第1〜第4の発明は、以上説明した
ように構成されているので、以下に記載されるような効
果がある。
ように構成されているので、以下に記載されるような効
果がある。
【0024】1)この第1の発明では、キャッシュヒッ
ト数、キャッシュミス数の第1及び第2のカウント手
段、第1及び第2の記憶手段を内蔵することによって、
ヒット率測定用の外部回路を不要とし、キャッシュヒッ
ト率の測定が容易である。
ト数、キャッシュミス数の第1及び第2のカウント手
段、第1及び第2の記憶手段を内蔵することによって、
ヒット率測定用の外部回路を不要とし、キャッシュヒッ
ト率の測定が容易である。
【0025】2)この第2,第3の発明では、第1の発
明の効果に加えて、アプリケーション上キャッシュヒッ
ト率を高くする必要のあるプログラム中の任意の期間あ
るいは任意の箇所のキャッシュヒット率が容易に観測で
きる。
明の効果に加えて、アプリケーション上キャッシュヒッ
ト率を高くする必要のあるプログラム中の任意の期間あ
るいは任意の箇所のキャッシュヒット率が容易に観測で
きる。
【0026】3)この第4の発明では、第1の発明の効
果に加えて、キャッシュヒット率の測定が容易なため、
アプリケーションプログラムごとに最適なレプレース量
の設定を短時間で行うことができる。
果に加えて、キャッシュヒット率の測定が容易なため、
アプリケーションプログラムごとに最適なレプレース量
の設定を短時間で行うことができる。
【図1】この第1の発明の実施例を示すブロック図であ
る。
る。
【図2】図1のキャッシュメモリ内の比較器及び制御部
内の信号生成部分を省細に示す回路図である。
内の信号生成部分を省細に示す回路図である。
【図3】図2の各部の動作を示す波形図である。
【図4】この第2の発明の実施例を示すブロック図であ
る。
る。
【図5】この第3の発明の実施例を示すブロック図であ
る。
る。
【図6】この第4の発明の実施例を示すブロック図であ
る。
る。
【図7】従来例を示すブロック図である。
1 キャッシュメモリ 2 信号線 3 バスインターフェース部 4 TAGメモリ 5 エントリデコーダ 6 データメモリ 7 比較器 8 制御部 8A 信号生成手段 9 リプレース制御部 10 (アドレスの)TAG部 11 (アドレスの)エントリ部 12 第1のカウンタ 13 第1の記憶手段 14 第2のカウンタ 15 第2の記憶手段 16 リプレース制御手段 17 カウント許可・禁止手段 18 アドレス領域設定手段 19 アドレス比較器
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年9月18日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 キャッシュメモリ
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、キャッシュヒット率
の測定が容易なキャッシュメモリに関する。
の測定が容易なキャッシュメモリに関する。
【0002】
【従来の技術】図7は従来のダイレクトマッピング方式
のキャッシュメモリの構成を示すブロック図である。図
7において、1はキャッシュメモリ、2は信号線、3は
バスインターフェース部、4はTAGメモリ、5はエン
トリデコーダ、6はデータメモリ、7は比較器、8は制
御部、9はリプレース制御部、10,11は各々メモリ
アドレスの中のTAG部とエントリ部である。
のキャッシュメモリの構成を示すブロック図である。図
7において、1はキャッシュメモリ、2は信号線、3は
バスインターフェース部、4はTAGメモリ、5はエン
トリデコーダ、6はデータメモリ、7は比較器、8は制
御部、9はリプレース制御部、10,11は各々メモリ
アドレスの中のTAG部とエントリ部である。
【0003】次に動作について説明する。キャッシュメ
モリ1は、TAGメモリ4、エントリデコーダ5、デー
タメモリ6によって、主メモリ(図示せず)のデータを
その主メモリのアドレスとともに記憶する。CPU(図
示せず)がバス動作を開始するとキャッシュメモリ1は
バスインターフェース部3を介してCPUの出力するア
ドレスを取り込み、このアドレスのエントリ部11に対
応するデータをエントリデコーダ5によってデータメモ
リ6の中から選択する。一方、そのアドレスのTAG部
10とTAGメモリ4内に記憶しているTAGを比較器
7によって比較し、同一のものがあれば制御部8によっ
て上記選択されているデータをデータメモリ6からバス
インターフェース部3を介して出力する。CPUはこの
データを取り込み、また主メモリへのアクセスは行わな
い。この一連の動作を一般にキャッシュヒットしたと言
う。また比較器7によって比較した結果、同一のものが
なければ、制御部8はデータを出力せず、この場合CP
Uは主メモリからデータをリードする。この一連の動作
を一般にキャッシュミスしたと言う。この時、キャッシ
ュメモリ1は、CPUの次のバス動作を停止させ、リプ
レース制御部9によってCPUがリードしたデータとこ
れにアドレスの連続したデータをある決まった量(リプ
レース量)だけアドレスとともにリードし、すでにある
ものとの入れ替えを行い次のアクセスに備える。すなわ
ち、この動作は一般にアクセスされた近傍のデータが再
びアクセスされる可能性が高いからである。このことか
ら、キャッシュメモリにおけるキャッシュヒットの確率
がキャッシュヒット率と言い、通常高いことが望まれ
る。
モリ1は、TAGメモリ4、エントリデコーダ5、デー
タメモリ6によって、主メモリ(図示せず)のデータを
その主メモリのアドレスとともに記憶する。CPU(図
示せず)がバス動作を開始するとキャッシュメモリ1は
バスインターフェース部3を介してCPUの出力するア
ドレスを取り込み、このアドレスのエントリ部11に対
応するデータをエントリデコーダ5によってデータメモ
リ6の中から選択する。一方、そのアドレスのTAG部
10とTAGメモリ4内に記憶しているTAGを比較器
7によって比較し、同一のものがあれば制御部8によっ
て上記選択されているデータをデータメモリ6からバス
インターフェース部3を介して出力する。CPUはこの
データを取り込み、また主メモリへのアクセスは行わな
い。この一連の動作を一般にキャッシュヒットしたと言
う。また比較器7によって比較した結果、同一のものが
なければ、制御部8はデータを出力せず、この場合CP
Uは主メモリからデータをリードする。この一連の動作
を一般にキャッシュミスしたと言う。この時、キャッシ
ュメモリ1は、CPUの次のバス動作を停止させ、リプ
レース制御部9によってCPUがリードしたデータとこ
れにアドレスの連続したデータをある決まった量(リプ
レース量)だけアドレスとともにリードし、すでにある
ものとの入れ替えを行い次のアクセスに備える。すなわ
ち、この動作は一般にアクセスされた近傍のデータが再
びアクセスされる可能性が高いからである。このことか
ら、キャッシュメモリにおけるキャッシュヒットの確率
がキャッシュヒット率と言い、通常高いことが望まれ
る。
【0004】
【発明が解決しようとする課題】上記のように構成され
ている従来のキャッシュメモリは、キャッシュヒット率
が重要な性能指標であるにもかかわらず、その測定手段
を何等備えておらず、外部に測定用回路を追加するなど
して対処する必要があった。また、キャッシュヒット率
が容易に測定できないため、リプレース量調整手段を備
えているにもかかわらず有効に活用されていなかった。
ている従来のキャッシュメモリは、キャッシュヒット率
が重要な性能指標であるにもかかわらず、その測定手段
を何等備えておらず、外部に測定用回路を追加するなど
して対処する必要があった。また、キャッシュヒット率
が容易に測定できないため、リプレース量調整手段を備
えているにもかかわらず有効に活用されていなかった。
【0005】この発明は、この様な問題を解決するため
になされたものであり、キャッシュヒット率の測定が容
易なキャッシュメモリを提供することを目的としてい
る。
になされたものであり、キャッシュヒット率の測定が容
易なキャッシュメモリを提供することを目的としてい
る。
【0006】
【課題を解決するための手段】この第1の発明に係るキ
ャッシュメモリは、図1で示すように、主メモリのデー
タを記憶するデータメモリ6と、制御部8とを備え、上
記制御部によって、外部から要求されるデータが上記デ
ータメモリに存在すれば、キャッシュヒットとして上記
データを上記データメモリより読出して出力し、存在し
なければ、キャッシュミスとして主メモリよりこのデー
タを出力するようにしたキャッシュメモリにおいて、上
記キャッシュヒット及びキャッシュミスに対応したキャ
ッシュヒット信号及びキャッシュミス信号を生成する信
号生成手段8Aと、上記キャッシュヒット信号及びキャ
ッシュミス信号にもとづいてキャッシュヒット数及びキ
ャッシュミス数をカウント手段(第1,第2のカウント
手段12,14)と、上記計算値を記憶する記憶手段
(第1,第2の記憶手段13,15)とを備えた。
ャッシュメモリは、図1で示すように、主メモリのデー
タを記憶するデータメモリ6と、制御部8とを備え、上
記制御部によって、外部から要求されるデータが上記デ
ータメモリに存在すれば、キャッシュヒットとして上記
データを上記データメモリより読出して出力し、存在し
なければ、キャッシュミスとして主メモリよりこのデー
タを出力するようにしたキャッシュメモリにおいて、上
記キャッシュヒット及びキャッシュミスに対応したキャ
ッシュヒット信号及びキャッシュミス信号を生成する信
号生成手段8Aと、上記キャッシュヒット信号及びキャ
ッシュミス信号にもとづいてキャッシュヒット数及びキ
ャッシュミス数をカウント手段(第1,第2のカウント
手段12,14)と、上記計算値を記憶する記憶手段
(第1,第2の記憶手段13,15)とを備えた。
【0007】この第2の発明に係るキャッシュメモリ
は、図4で示すように、上記カウント手段によるキャッ
シュヒット数及びキャッシュミス数の計数を許可又は禁
止させるカウント許可・禁止手段17とを備えた。
は、図4で示すように、上記カウント手段によるキャッ
シュヒット数及びキャッシュミス数の計数を許可又は禁
止させるカウント許可・禁止手段17とを備えた。
【0008】この第3の発明に係るキャッシュメモリ
は、図5で示すように、上記カウント手段によるキャッ
シュヒット数及びキャッシュミス数の計数が許可された
アドレス領域に入っているか否かを判断するアドレス領
域判定手段(アドレス比較器19)と、このアドレス領
域判定手段に上記アドレス領域を設定するアドレス領域
設定手段18とを備えた。
は、図5で示すように、上記カウント手段によるキャッ
シュヒット数及びキャッシュミス数の計数が許可された
アドレス領域に入っているか否かを判断するアドレス領
域判定手段(アドレス比較器19)と、このアドレス領
域判定手段に上記アドレス領域を設定するアドレス領域
設定手段18とを備えた。
【0009】この第4の発明に係るキャッシュメモリは
図6で示すように、データのリプレース量を制御するリ
プレース制御手段16を備え、このリプレース制御手段
16によって、上記記憶手段に記憶された上記計数値に
もとづいて、キャッシュヒットとキャッシュミスにもと
づくキャッシュヒット率を設定するようにした。
図6で示すように、データのリプレース量を制御するリ
プレース制御手段16を備え、このリプレース制御手段
16によって、上記記憶手段に記憶された上記計数値に
もとづいて、キャッシュヒットとキャッシュミスにもと
づくキャッシュヒット率を設定するようにした。
【0010】
【作用】この第1の発明によるキャッシュメモリでは、
制御部8の信号生成手段8Aにより、キャッシュヒット
及びキャッシュミスに対応したキャッシュヒット信号及
びキャッシュミス信号を出力する。カウント手段(第
1,第2のカウント手段12,14)は、上記キャッシ
ュヒット信号及びキャッシュミス信号にもとづいて、キ
ャッシュヒット数及びキャッシュミス数を計数し、これ
らの計数値を記憶手段(第1,第2の記憶手段13,1
5)に記憶する。記憶されたキャッシュヒット数及びキ
ャッシュミス数の計数値は、ヒット率の算出等に使用さ
れる。
制御部8の信号生成手段8Aにより、キャッシュヒット
及びキャッシュミスに対応したキャッシュヒット信号及
びキャッシュミス信号を出力する。カウント手段(第
1,第2のカウント手段12,14)は、上記キャッシ
ュヒット信号及びキャッシュミス信号にもとづいて、キ
ャッシュヒット数及びキャッシュミス数を計数し、これ
らの計数値を記憶手段(第1,第2の記憶手段13,1
5)に記憶する。記憶されたキャッシュヒット数及びキ
ャッシュミス数の計数値は、ヒット率の算出等に使用さ
れる。
【0011】この第2の発明によるキャッシュメモリ
は、カウント許可・禁止手段17によって上記カウント
手段の計数を、一定の時間禁止したり、許可したりする
ことによって、ある時間(期間)におけるキャッシュヒ
ット数やキャッシュミス数をカウント手段に計数させ
る。
は、カウント許可・禁止手段17によって上記カウント
手段の計数を、一定の時間禁止したり、許可したりする
ことによって、ある時間(期間)におけるキャッシュヒ
ット数やキャッシュミス数をカウント手段に計数させ
る。
【0012】この第3の発明によるキャッシュメモリ
は、アドレス領域判定手段(アドレス比較器19)とア
ドレス領域判定手段(アドレス領域設定手段18)によ
って、所定のアドレス領域内のデータにおけるキャッシ
ュヒット数やキャッシュミス数を上記カウント手段に計
数させる。
は、アドレス領域判定手段(アドレス比較器19)とア
ドレス領域判定手段(アドレス領域設定手段18)によ
って、所定のアドレス領域内のデータにおけるキャッシ
ュヒット数やキャッシュミス数を上記カウント手段に計
数させる。
【0013】この第4の発明によるキャッシュメモリ
は、上記カウント手段の計数値にもとづいて、リプレー
ス制御手段16により、最もヒット率が高くなるように
リプレース量を決めて、そのリプレース量をリプレース
制御部9に設定する。
は、上記カウント手段の計数値にもとづいて、リプレー
ス制御手段16により、最もヒット率が高くなるように
リプレース量を決めて、そのリプレース量をリプレース
制御部9に設定する。
【0014】
【実施例】次に、この発明の実施例を図について説明す
る。図1はこの第1の発明の実施例(第1の実施例)に
おけるキャッシュメモリの構成を示すブロック図であ
る。なお、従来例の図7と同じ機能のものには同一符号
を用い、その構成の説明を省略する。図1において、8
Aは信号生成手段、12はキャッシュヒット数のカウン
ト手段としての第1のカウント手段、13はキャッシュ
ヒット数のカウント値(計数値)の記憶手段としての第
1の記憶手段、14はキャッシュミス数のカウント手段
としての第2のカウント手段、15はキャッシュミス数
のカウント値の記憶手段としての第2の記憶手段であ
る。
る。図1はこの第1の発明の実施例(第1の実施例)に
おけるキャッシュメモリの構成を示すブロック図であ
る。なお、従来例の図7と同じ機能のものには同一符号
を用い、その構成の説明を省略する。図1において、8
Aは信号生成手段、12はキャッシュヒット数のカウン
ト手段としての第1のカウント手段、13はキャッシュ
ヒット数のカウント値(計数値)の記憶手段としての第
1の記憶手段、14はキャッシュミス数のカウント手段
としての第2のカウント手段、15はキャッシュミス数
のカウント値の記憶手段としての第2の記憶手段であ
る。
【0015】信号生成手段8Aは、制御部8内に設けら
れており、外部から要求されるデータがデータメモリ6
に存在すればキャッシュヒットとして上記データをデー
タメモリ6より読出して出力し、またデータがデータメ
モリ6内に存在しなければ、キャッシュミスとして主メ
モリよりこのデータを出力するようにした。そしてキャ
ッシュヒットに対応したキャッシュヒット信号と、キャ
ッシュミスに対応したキャッシュミス信号とを第1のカ
ウント手段12と第2のカウント手段14とに出力す
る。第1及び第2のカウント手段12,14は、それぞ
れキャッシュヒット数及びキャッシュミス数をカウント
(計数)し、それぞれのカウント値を第1及び第2の記
憶手段に記憶する。第1及び第2のカウント手段13,
15は、それぞれのカウント値を記憶する。これらのカ
ウント値は、キャッシュヒット数やキャッシュミス数の
そのままのデータとして利用するか、それらのカウント
値をキャッシュヒット率の算出に利用する。
れており、外部から要求されるデータがデータメモリ6
に存在すればキャッシュヒットとして上記データをデー
タメモリ6より読出して出力し、またデータがデータメ
モリ6内に存在しなければ、キャッシュミスとして主メ
モリよりこのデータを出力するようにした。そしてキャ
ッシュヒットに対応したキャッシュヒット信号と、キャ
ッシュミスに対応したキャッシュミス信号とを第1のカ
ウント手段12と第2のカウント手段14とに出力す
る。第1及び第2のカウント手段12,14は、それぞ
れキャッシュヒット数及びキャッシュミス数をカウント
(計数)し、それぞれのカウント値を第1及び第2の記
憶手段に記憶する。第1及び第2のカウント手段13,
15は、それぞれのカウント値を記憶する。これらのカ
ウント値は、キャッシュヒット数やキャッシュミス数の
そのままのデータとして利用するか、それらのカウント
値をキャッシュヒット率の算出に利用する。
【0016】図2は図1の比較器7と制御部8内のヒッ
ト信号、ミス信号生成部分(信号生成手段8A)の詳細
な回路図であり、図3はそのタイミング図である。図2
において、7−1,7−2は入力の信号、7−3は出力
の信号、7a,8a〜8cは論理積ゲート、7bは排他
的論理和ゲート、8−1はキャッシュヒット信号、8−
2はキャッシュミス信号、8−3,8−4はこれらの信
号のもととなる信号である。また、図3において、
(A)はバスサイクルのキャッシュヒット,I/Oアク
セス,キャッシュミス等のサイクルを示す波形図、
(B)は図2の比較器7内の信号7−3の波形図、
(C)〜(F)は信号8−1〜8−4の波形図である。
図2において、比較器7はTAGのビット数分の排他的
論理和ゲート7bと論理積ゲート7aで構成され、また
制御部8内のヒット信号、ミス信号生成部分は論理積ゲ
ート8a〜8cで構成されている。アクセスアドレスの
TAG部10からのビットごとの信号7−1によって対
応する排他的論理和ゲート7bの一方に入力され、ま
た、アクセスアドレスのエントリ部11とエントリデコ
ーダ5によって選択されたTAGメモリ4内のTAGは
信号7−2によって対応する排他的論理和ゲート7bの
もう一方に入力される。排他的論理和ゲート7bでは各
ビットで比較を行い同一であれば0を同一でなければ1
を論理積ゲート7aに出力する。論理積ゲート7aはす
べての入力が0であれば1を出力する。つまりTAGの
すべてのビットが一致すれば比較器7は1を出力する。
この信号は信号線7−3によって制御部8に出力され
る。制御部8内のヒット信号、ミス信号生成部分では制
御部8内で生成される、CPUがキャッシュメモリ1を
アクセスしていることを示す信号8−3とCPUバスサ
イクルごとのタイミング信号8−4によって、ヒットパ
ルス8−1またはミスパルス8−2を出力する。
ト信号、ミス信号生成部分(信号生成手段8A)の詳細
な回路図であり、図3はそのタイミング図である。図2
において、7−1,7−2は入力の信号、7−3は出力
の信号、7a,8a〜8cは論理積ゲート、7bは排他
的論理和ゲート、8−1はキャッシュヒット信号、8−
2はキャッシュミス信号、8−3,8−4はこれらの信
号のもととなる信号である。また、図3において、
(A)はバスサイクルのキャッシュヒット,I/Oアク
セス,キャッシュミス等のサイクルを示す波形図、
(B)は図2の比較器7内の信号7−3の波形図、
(C)〜(F)は信号8−1〜8−4の波形図である。
図2において、比較器7はTAGのビット数分の排他的
論理和ゲート7bと論理積ゲート7aで構成され、また
制御部8内のヒット信号、ミス信号生成部分は論理積ゲ
ート8a〜8cで構成されている。アクセスアドレスの
TAG部10からのビットごとの信号7−1によって対
応する排他的論理和ゲート7bの一方に入力され、ま
た、アクセスアドレスのエントリ部11とエントリデコ
ーダ5によって選択されたTAGメモリ4内のTAGは
信号7−2によって対応する排他的論理和ゲート7bの
もう一方に入力される。排他的論理和ゲート7bでは各
ビットで比較を行い同一であれば0を同一でなければ1
を論理積ゲート7aに出力する。論理積ゲート7aはす
べての入力が0であれば1を出力する。つまりTAGの
すべてのビットが一致すれば比較器7は1を出力する。
この信号は信号線7−3によって制御部8に出力され
る。制御部8内のヒット信号、ミス信号生成部分では制
御部8内で生成される、CPUがキャッシュメモリ1を
アクセスしていることを示す信号8−3とCPUバスサ
イクルごとのタイミング信号8−4によって、ヒットパ
ルス8−1またはミスパルス8−2を出力する。
【0017】次にこの第1実施例の動作について説明す
る。アプリケーションプログラムの実行が開始され、キ
ャッシュメモリ1に起動がかかると、制御部8は信号生
成手段8Aから従来例と同様にキャッシュヒット,キャ
ッシュミスに応じてそれぞれデータの出力あるいはリプ
レース動作を行っていくが、この時、同時にキャッシュ
ヒット時には第1のカウント手段12に、キャッシュミ
ス時には第2のカウント手段14にそれぞれキャッシュ
ヒット信号8−1、キャッシュミス信号8−2を送る。
この後、第1及び第2のカウント手段12,14はこれ
らのキャッシュヒット信号8−1、キャッシュミス信号
8−2をそれぞれカウントする。そして第1及び第2の
記憶手段13,15は第1及び第2のカウント手段1
2,14でカウントされたカウント値を記憶する。ここ
で第1及び第2の記憶手段13,15の情報(キャッシ
ュヒット数,キャッシュミス数)を単に読出すか、読出
した後に除算を行いキャッシュヒット率を算出するかは
プログラマーの自由である。
る。アプリケーションプログラムの実行が開始され、キ
ャッシュメモリ1に起動がかかると、制御部8は信号生
成手段8Aから従来例と同様にキャッシュヒット,キャ
ッシュミスに応じてそれぞれデータの出力あるいはリプ
レース動作を行っていくが、この時、同時にキャッシュ
ヒット時には第1のカウント手段12に、キャッシュミ
ス時には第2のカウント手段14にそれぞれキャッシュ
ヒット信号8−1、キャッシュミス信号8−2を送る。
この後、第1及び第2のカウント手段12,14はこれ
らのキャッシュヒット信号8−1、キャッシュミス信号
8−2をそれぞれカウントする。そして第1及び第2の
記憶手段13,15は第1及び第2のカウント手段1
2,14でカウントされたカウント値を記憶する。ここ
で第1及び第2の記憶手段13,15の情報(キャッシ
ュヒット数,キャッシュミス数)を単に読出すか、読出
した後に除算を行いキャッシュヒット率を算出するかは
プログラマーの自由である。
【0018】図4は、この第2の発明の実施例(第2の
実施例)におけるキャッシュメモリの構成を示すブロッ
ク図である。図4において、17はカウント許可・禁止
手段であり、他の部分は(ただし、後述のリプレース制
御手段6を除く。)は第1の実施例と同じであるので省
略する。上記の第1の実施例では、第1及び第2のカウ
ント手段12,14によるカウントはキャッシュメモリ
1の起動で開始しプログラムの終了まで続くが、この第
2の実施例ではカウント許可・禁止手段17を設け、こ
れを制御することによって必要とする時間のキャッシュ
ヒット率を測定する。例えば、このカウント許可・禁止
手段17を制御レジスタで構成することによって、プロ
グラムの中の特定部分のキャッシュヒット率を求める。
実施例)におけるキャッシュメモリの構成を示すブロッ
ク図である。図4において、17はカウント許可・禁止
手段であり、他の部分は(ただし、後述のリプレース制
御手段6を除く。)は第1の実施例と同じであるので省
略する。上記の第1の実施例では、第1及び第2のカウ
ント手段12,14によるカウントはキャッシュメモリ
1の起動で開始しプログラムの終了まで続くが、この第
2の実施例ではカウント許可・禁止手段17を設け、こ
れを制御することによって必要とする時間のキャッシュ
ヒット率を測定する。例えば、このカウント許可・禁止
手段17を制御レジスタで構成することによって、プロ
グラムの中の特定部分のキャッシュヒット率を求める。
【0019】図5はこの第3の発明の実施例(第3の実
施例)におけるキャッシュメモリの構成を示すブロック
図である。図5において、18はアドレス領域設定手
段、19はこのアドレス領域設定手段18に設定された
アドレス領域内にアクセスされたアドレスのデータが入
っているかどうかを判定し、入っていれば第1及び第2
のカウンタ12,14のカウントを許可し、そうでなけ
れば禁止するためのアドレス比較器である。他の部分
(ただし、後述のリプレース制御手段6を除く。)につ
いては第1の実施例と同じであるので省略する。アドレ
ス領域設定手段18は例えばレジスタ等で構成する。プ
ログラマはあらかじめヒット率の測定領域を、アドレス
領域設定手段18に設定した後、プログラムを開始す
る。
施例)におけるキャッシュメモリの構成を示すブロック
図である。図5において、18はアドレス領域設定手
段、19はこのアドレス領域設定手段18に設定された
アドレス領域内にアクセスされたアドレスのデータが入
っているかどうかを判定し、入っていれば第1及び第2
のカウンタ12,14のカウントを許可し、そうでなけ
れば禁止するためのアドレス比較器である。他の部分
(ただし、後述のリプレース制御手段6を除く。)につ
いては第1の実施例と同じであるので省略する。アドレ
ス領域設定手段18は例えばレジスタ等で構成する。プ
ログラマはあらかじめヒット率の測定領域を、アドレス
領域設定手段18に設定した後、プログラムを開始す
る。
【0020】図6はこの第4の発明の実施例(第4の実
施例)におけるキャッシュメモリの構成を示すブロック
図であり、実施例1に適用した場合を示している。図6
において、16はミス時のリプレース量のリプレース制
御手段であり、他の部分は第1の実施例と同じであるの
で省略する。またヒット率向上に対するリプレース量の
効果は、アプリケーションにより異なる。データのアド
レス連続性が高いアプリケーションプログラムでは、そ
のリプレース量を増やすと高いキャッシュヒット率を得
ることができるが、データのアドレスが離散的であれば
そのリプレース量を増やしてもヒット率は向上しない。
したがってアプリケーションプログラムごとに最適なリ
プレース量の設定が必要である。この第4の実施例では
第1及び第2の記憶手段13,15の情報からヒット率
を測定し、そのリプレース制御手段16によって最もキ
ャッシュヒット率の高くなるようなリプレース量を求め
る。リプレース制御手段16におけるリプレース量の設
定は、例えば、制御レジスタを用いる。当実施例は実施
例2および3に適用しても基本的に同じである。
施例)におけるキャッシュメモリの構成を示すブロック
図であり、実施例1に適用した場合を示している。図6
において、16はミス時のリプレース量のリプレース制
御手段であり、他の部分は第1の実施例と同じであるの
で省略する。またヒット率向上に対するリプレース量の
効果は、アプリケーションにより異なる。データのアド
レス連続性が高いアプリケーションプログラムでは、そ
のリプレース量を増やすと高いキャッシュヒット率を得
ることができるが、データのアドレスが離散的であれば
そのリプレース量を増やしてもヒット率は向上しない。
したがってアプリケーションプログラムごとに最適なリ
プレース量の設定が必要である。この第4の実施例では
第1及び第2の記憶手段13,15の情報からヒット率
を測定し、そのリプレース制御手段16によって最もキ
ャッシュヒット率の高くなるようなリプレース量を求め
る。リプレース制御手段16におけるリプレース量の設
定は、例えば、制御レジスタを用いる。当実施例は実施
例2および3に適用しても基本的に同じである。
【0021】なお、図示していないが、キャッシュヒッ
ト数とキャッシュミス数のカウントを第1〜第4の実施
例のように各々独立したカウンタ及び記憶手段で構成せ
ず、カウンタをアップダウンカウンタで構成し、キャッ
シュヒット時にはアップカウント、キャッシュミス時に
はダウンカウントさせることにより、カウンタ及び記憶
手段は各々一つで実現できる。
ト数とキャッシュミス数のカウントを第1〜第4の実施
例のように各々独立したカウンタ及び記憶手段で構成せ
ず、カウンタをアップダウンカウンタで構成し、キャッ
シュヒット時にはアップカウント、キャッシュミス時に
はダウンカウントさせることにより、カウンタ及び記憶
手段は各々一つで実現できる。
【0022】ところで上記説明では、カウント値の記憶
手段は各々一つであるが、これを複数設けて、例えばア
ドレス領域ごとに別々にキャッシュヒット数やキャッシ
ュミス数をカウントし記憶することも可能である。
手段は各々一つであるが、これを複数設けて、例えばア
ドレス領域ごとに別々にキャッシュヒット数やキャッシ
ュミス数をカウントし記憶することも可能である。
【0023】
【発明の効果】この第1〜第4の発明は、以上説明した
ように構成されているので、以下に記載されるような効
果がある。
ように構成されているので、以下に記載されるような効
果がある。
【0024】1)この第1の発明では、キャッシュヒッ
ト数、キャッシュミス数の第1及び第2のカウント手
段、第1及び第2の記憶手段を内蔵することによって、
ヒット率測定用の外部回路を不要とし、キャッシュヒッ
ト率の測定が容易である。
ト数、キャッシュミス数の第1及び第2のカウント手
段、第1及び第2の記憶手段を内蔵することによって、
ヒット率測定用の外部回路を不要とし、キャッシュヒッ
ト率の測定が容易である。
【0025】2)この第2,第3の発明では、第1の発
明の効果に加えて、アプリケーション上キャッシュヒッ
ト率を高くする必要のあるプログラム中の任意の期間あ
るいは任意の箇所のキャッシュヒット率が容易に観測で
きる。
明の効果に加えて、アプリケーション上キャッシュヒッ
ト率を高くする必要のあるプログラム中の任意の期間あ
るいは任意の箇所のキャッシュヒット率が容易に観測で
きる。
【0026】3)この第4の発明では、第1の発明の効
果に加えて、キャッシュヒット率の測定が容易なため、
アプリケーションプログラムごとに最適なレプレース量
の設定を短時間で行うことができる。
果に加えて、キャッシュヒット率の測定が容易なため、
アプリケーションプログラムごとに最適なレプレース量
の設定を短時間で行うことができる。
【図面の簡単な説明】
【図1】この第1の発明の実施例を示すブロック図であ
る。
る。
【図2】図1のキャッシュメモリ内の比較器及び制御部
内の信号生成部分を省細に示す回路図である。
内の信号生成部分を省細に示す回路図である。
【図3】図2の各部の動作を示す波形図である。
【図4】この第2の発明の実施例を示すブロック図であ
る。
る。
【図5】この第3の発明の実施例を示すブロック図であ
る。
る。
【図6】この第4の発明の実施例を示すブロック図であ
る。
る。
【図7】従来例を示すブロック図である。
【符号の説明】 1 キャッシュメモリ 2 信号線 3 バスインターフェース部 4 TAGメモリ 5 エントリデコーダ 6 データメモリ 7 比較器 8 制御部 8A 信号生成手段 9 リプレース制御部 10 (アドレスの)TAG部 11 (アドレスの)エントリ部 12 第1のカウンタ 13 第1の記憶手段 14 第2のカウンタ 15 第2の記憶手段 16 リプレース制御手段 17 カウント許可・禁止手段 18 アドレス領域設定手段 19 アドレス比較器
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図5
【補正方法】変更
【補正内容】
【図5】
Claims (4)
- 【請求項1】 主メモリのデータを記憶するデータメモ
リと、制御部とを備え、上記制御部によって、外部から
要求されるデータが上記データメモリに存在すれば、キ
ャッシュヒットとして上記データを上記データメモリよ
り読出して出力し、存在しなければ、キャッシュミスと
して主メモリよりこのデータを出力するようにしたキャ
ッシュメモリにおいて、上記キャッシュヒット及びキャ
ッシュミスに対応したキャッシュヒット信号およびキャ
ッシュミス信号を生成する信号生成手段と、上記キャッ
シュヒット信号及びキャッシュミス信号にもとづいてキ
ャッシュヒット数及びキャッシュミス数を計数する計数
手段と、上記計数値を記憶する記憶手段とを備えたこと
を特徴とするキャッシュメモリ。 - 【請求項2】 上記カウンタ手段によるキャッシュヒッ
ト数及びキャッシュミス数の計数を許可又は禁止させる
カウント許可・禁止手段とを備えたことを特徴とする請
求項第1項記載のキャッシュメモリ。 - 【請求項3】 上記カウンタ手段によるキャッシュヒッ
ト数及びキャッシュミス数の計数が許可されたアドレス
領域に入っているか否かを判断するアドレス領域判定手
段と、このアドレス領域判定手段に上記アドレス領域に
上記アドレス領域を設定するアドレス領域設定手段とを
備えることを特徴とする請求項第1項記載のキャッシュ
メモリ。 - 【請求項4】 データのリプレース量を制御するリプレ
ース制御手段を備え、このリプレース制御手段によっ
て、上記記憶手段に記憶された上記計数値にもとづい
て、キャッシュヒットとキャッシュミスにもとづくキャ
ッシュヒット率を設定するようにした請求項第1項,第
2項又は第3項記載のキャッシュメモリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4086066A JPH05250264A (ja) | 1992-03-09 | 1992-03-09 | キャッシュメモリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4086066A JPH05250264A (ja) | 1992-03-09 | 1992-03-09 | キャッシュメモリ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05250264A true JPH05250264A (ja) | 1993-09-28 |
Family
ID=13876332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4086066A Pending JPH05250264A (ja) | 1992-03-09 | 1992-03-09 | キャッシュメモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05250264A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206806A (ja) * | 2006-01-31 | 2007-08-16 | Matsushita Electric Ind Co Ltd | キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ |
JP2011048413A (ja) * | 2009-08-25 | 2011-03-10 | Fujitsu Ltd | 記録装置、記録方法、及び記録プログラム |
-
1992
- 1992-03-09 JP JP4086066A patent/JPH05250264A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206806A (ja) * | 2006-01-31 | 2007-08-16 | Matsushita Electric Ind Co Ltd | キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ |
JP2011048413A (ja) * | 2009-08-25 | 2011-03-10 | Fujitsu Ltd | 記録装置、記録方法、及び記録プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4937738A (en) | Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction | |
EP3964967B1 (en) | Cache memory and method of using same | |
US7577791B2 (en) | Virtualized load buffers | |
JP4339914B2 (ja) | エラー訂正コード生成方法及びメモリ管理装置 | |
US6701484B1 (en) | Register file with delayed parity check | |
JPH05250264A (ja) | キャッシュメモリ | |
JP2014186579A (ja) | キャッシュメモリ、キャッシュメモリ制御装置、および、そのキャッシュメモリ制御方法 | |
JPH11316695A (ja) | ス―パ―スカラ―マイクロプロセッサ―の停止点インタ―ラプト発生装置 | |
JP3733604B2 (ja) | キャッシュメモリ | |
CN111742304A (zh) | 当调试要在处理电路上执行的程序时访问元数据的方法 | |
JPH05225060A (ja) | 情報処理装置 | |
JPH024016B2 (ja) | ||
JP2008176731A (ja) | マルチプロセッサシステム | |
JP2001134471A (ja) | デバッグ装置及びデバッグ方法 | |
JPH024017B2 (ja) | ||
JP2703255B2 (ja) | キャッシュメモリ書込み装置 | |
JP3729832B2 (ja) | キャッシュメモリ装置 | |
JP3260466B2 (ja) | メモリ更新方式 | |
JP2004522227A (ja) | 推定アドレスを発生するインクリメンタを備えたメモリ制御システム | |
JP2002169724A (ja) | キャッシュメモリにおける部分無効化装置 | |
JPH11242637A (ja) | Lsi記憶素子監視装置 | |
JPH11272551A (ja) | キャッシュメモリのフラッシュ制御方式およびキャッシュメモリ | |
JP2000181793A (ja) | キャッシュメモリ | |
JPH06243045A (ja) | キャッシュメモリ | |
JPH09293019A (ja) | キャッシュ・メモリのリプレース方式 |