JP2000305844A - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JP2000305844A
JP2000305844A JP11118589A JP11858999A JP2000305844A JP 2000305844 A JP2000305844 A JP 2000305844A JP 11118589 A JP11118589 A JP 11118589A JP 11858999 A JP11858999 A JP 11858999A JP 2000305844 A JP2000305844 A JP 2000305844A
Authority
JP
Japan
Prior art keywords
cache
update
execution
data
entry
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
JP11118589A
Other languages
English (en)
Inventor
Koichi Sato
浩一 佐藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11118589A priority Critical patent/JP2000305844A/ja
Publication of JP2000305844A publication Critical patent/JP2000305844A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュメモリを効率よく動作させること
である。 【解決手段】 エントリ領域について、保持ビット、タ
グ情報、データの更新を可能にするかしないかを設定す
る固定モード指定ビットを有し、該固定モード指定ビッ
トによる前記設定と、読み出そうとするデータの上位側
アドレスと、前記データの下位側アドレスに対応するエ
ントリ領域のタグ情報および前記保持ビットとをもと
に、キャッシュミスしたときの前記エントリ領域の更新
についての実行、非実行を制御可能にする構成を備え
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロプロセ
ッサに搭載されるキャッシュメモリ制御装置に関するも
のである。
【0002】
【従来の技術】図5は、マイクロプロセッサ(以下、C
PUという)を利用したシステム構成の概略を示すブロ
ック図である。図において、1はCPUコア、5はキャ
ッシュエントリテーブル、50はCPU、51は外部メ
モリ、52はキャッシュ制御回路、53は内部バス、5
4は外部バス、55、56、57は信号線、58は入出力
装置、59はバス制御回路である。
【0003】一般にCPUを利用したシステムは、CP
U50、外部メモリ51、および入出力装置58から構
成される。さらにCPU50は通常一つの半導体チップ
として使われているが、演算処理をするCPUコア1、
一時的に外部メモリのデータを貯えるキャッシュエント
リテーブル5、キャッシュ動作を制御するキャッシュ制
御回路52、外部バス54を介したデータ転送を制御す
るバス制御回路59から構成される。
【0004】CPUコア1は、内部バス53を介してキ
ャッシュエントリテーブル5との間でデータ転送を行
う。一般にCPU50と外部メモリ51間のデータ転送
は比較的低速で行われる。これは外部バス54を介した
データ転送のオーバーヘッドが大きいからである。この
オーバーヘッドによる影響を軽減するため、CPU50
内に一時的に外部メモリのデータを貯えておくキャッシ
ュメモリの手法が使われる。これは、CPUコア1とキ
ャッシュエントリテーブル5との間のデータ転送が高速
に行えることを利用し、外部メモリ51内のデータをキ
ャッシュエントリテーブル5に置いて使用する手法であ
る。
【0005】図5に示すシステムにおいては、キャッシ
ュメモリは、キャッシュエントリテーブル5およびキャ
ッシュ制御回路52で機能が実現される。通常、外部メ
モリ51のサイズに比べてキャッシュエントリテーブル
5に貯えられるデータのサイズは小さいので、キャッシ
ュエントリテーブル5に貯えるデータをうまく選択し、
なるべくCPUコア1が外部メモリ51にデータを入出
力する回数を減らすことで、システム全体の処理をより
高速化できることになる。
【0006】図6は、従来のキャッシュ制御装置を示す
ブロック図である。図6において図5と同一または相当
の部分については同一の符号を付し説明を省略する。図
において、2はキャッシュ制御レジスタ、61はキャッ
シュ更新実行回路、62は比較回路、71はNANDゲ
ート、72はANDゲート、81はアドレスバス、82
はアドレスバス81の下位側、83はアドレスバス81
の上位側、84はタグ部26のデータが出力される信号
線、91はキャッシュ制御レジスタ2のオン/オフビッ
ト3が出力される信号線、92はANDゲート72の出
力信号の信号線、93,94,95はキャッシュ更新実
行回路61の各出力信号の信号線、96は保持ビット2
5が出力される信号線である。
【0007】キャッシュエントリテーブル5は、保持ビ
ット25、タグ部26、データ保持部27の組み合わせ
で構成される各エントリを複数個持つテーブルである。
保持ビット25は、現在データが貯えられているかどう
かを示す1ビットフィールドである。タグ部26は、現
在保持しているデータが外部メモリ51のどのアドレス
にあったものかを示すフィールドである。データ保持部
27は、外部メモリ51にあったデータを保持しておく
フィールドである。
【0008】CPUコア1は、メモリ内のデータを指定
するのにアドレスバス81にアドレスを出力する。この
アドレスは、図7に示すように上位アドレス99と下位
アドレス98に分けて考える。そしてキャッシュエント
リテーブル5に用意されるエントリの数は、下位アドレ
ス98のビット数で表現される数となる。例えば、下位
アドレス98が8ビットなら、エントリ数は256個と
なる。そしてキャッシュエントリテーブル5内のタグ部
26には、その時点でデータ保持部27に保持されてい
るデータが元あったアドレスの上位アドレス99が保持
される。
【0009】すなわち、キャッシュエントリテーブル5
の何番目のエントリにあるかによって下位アドレスが示
され、そのタグ部26に保持された値によって上位アド
レスが示され、両者を組み合わせて、データ保持部27
にあるデータが、元は外部メモリ51のどの番地にあっ
たのかが明らかになるようになっている。そして、保持
ビット25は、現在そのエントリにデータが保持されて
いるかどうかを示すビットである。
【0010】次に、動作について説明する。今、CPU
コア1が、あるアドレスからデータを読み出そうとした
とする。そのアドレスはアドレスバス81に出力され
る。そして、その下位アドレスは、前記アドレスバス8
1の下位側82を介してキャッシュエントリテーブル5
に入力され、その下位アドレスに対応するエントリが選
択される。
【0011】もし、そのエントリに未だデータが登録さ
れていない場合、保持ビット25がセットされていない
ので、信号線96にLowレベルの信号が出力され、そ
の結果、NANDゲート71はHighレベルを出力す
る。この時、キャッシュ制御レジスタ2内のオン/オフ
ビット3がオンになっていれば、ANDゲート72はH
ighレベルを出力することになる。
【0012】ここでキャッシュ更新実行回路61へ信号
線92からHighレベルの信号が入力された場合に、
キャッシュ更新実行回路61がキャッシュを更新するよ
うに構成されていれば、すなわち、信号線93を介し
て、選択されているエントリの保持ビット25が“1”
にセットされ、信号線94を介してアドレスバス81の
上位側83の値をタグ部26に保持し、さらに信号線9
5を介して外部メモリ51から読み出したデータをデー
タ保持部27に保持するように構成されていれば、キャ
ッシュエントリテーブル5にそのデータが保持されるこ
とになる。なお、図6では、外部メモリ51からデータ
を読み出す部分については特に示していない。
【0013】次に、もしそのエントリに既にデータが保
持されており、CPUコア1から出力された上位アドレ
スがタグ部26に保持されていた値と同じ場合、アドレ
スバス81の上位側83の値と信号線84に出力される
タグ部26の値が一致するので比較回路62の出力値が
Highレベルになる。また、保持ビット25がセット
されているので信号線96はHighレベルとなり、そ
の結果、NANDゲート71の出力はLowレベルとな
る。そのためANDゲート72の出力はLowレベルと
なり、キャッシュ更新実行回路61は動作せず、キャッ
シュエントリテーブル5の内容は更新されずに、前の値
を保持しつづけることになる。
【0014】逆に、CPUコア1から出力されたアドレ
スバス81の上位側83がタグ部26に保持されていた
値と一致しない場合、比較回路62の出力はLowレベ
ルとなるので、結果としてANDゲート72はHigh
レベルを出力し、その結果、キャッシュ更新実行回路6
1が動作し、キャッシュの更新が行われる。
【0015】アドレスが一致したためにキャッシュ更新
せずに済む場合を“キャッシュヒット”したという。こ
の場合、外部メモリ51からデータを取り出す必要がな
く、キャッシュエントリテーブル5に保持された値を参
照すればよいので、CPUコア1のデータ読み出しは短
時間で終わる。
【0016】一方、キャッシュ更新する場合を“キャッ
シュミス”したという。この場合、外部メモリ51から
データを読み出すので、キャッシュヒットした場合に比
べて読み出すのに時間がかかる。
【0017】
【発明が解決しようとする課題】従来のキャッシュ制御
装置は以上のように構成されていたので、“キャッシュ
ミス”した場合は必ず更新動作が行われることになる。
従って、例えば、同じ下位アドレスであって上位アドレ
スが異なるアドレスからデータを交互に読み出すような
プログラムでは、毎回キャッシュミスすることになり、
そのたびに更新動作が行われることになり、キャッシュ
メモリのメリットが得られない課題があった。
【0018】この発明は、上記のような課題を解決する
ためになされたもので、キャッシュミスが発生した場合
のキャッシュの更新動作の実行、非実行をモード設定に
より制御できるようにして、キャッシュメモリを効率よ
く動作させることのできるキャッシュ制御装置を得るこ
とを目的とする。
【0019】
【課題を解決するための手段】この発明に係るキャッシ
ュ制御装置は、外部メモリから読み出されたデータが保
持されているかどうかについての情報である保持ビッ
ト、前記データの前記外部メモリにおける上位側アドレ
スであるタグ情報、および前記データを、データの前記
外部メモリにおける下位側アドレスに応じたエントリ領
域へ格納するキャッシュエントリテーブルと、前記エン
トリ領域についての前記保持ビット、前記タグ情報、前
記データの更新を実行するキャッシュ更新実行回路と、
前記エントリ領域について、前記保持ビット、前記タグ
情報、前記データの更新を可能にするかしないかを設定
するモード設定手段と、該モード設定手段による設定
と、読み出そうとするデータの上位側アドレスと、前記
データの下位側アドレスに対応するエントリ領域のタグ
情報および前記保持ビットとをもとに、キャッシュミス
したときの前記エントリ領域の、前記キャッシュ更新実
行回路による更新についての実行、非実行を制御するキ
ャッシュ更新制御回路とを備えるようにしたものであ
る。
【0020】この発明に係るキャッシュ制御装置は、キ
ャッシュ更新制御回路によるキャッシュ更新実行回路に
対する制御を許可するかしないかを決める更新実行許可
手段を備えるようにしたものである。
【0021】この発明に係るキャッシュ制御装置は、読
み出そうとするデータの下位側アドレスに応じたエント
リ領域のタグ情報と、前記読み出そうとするデータの上
位側アドレスとを比較する比較回路と、モード設定手段
により更新不可が設定され、前記エントリ領域の保持ビ
ットがデータの保持を示していると、前記比較回路の比
較結果に関わらずキャッシュ更新実行回路による前記エ
ントリ領域の更新を非実行に制御し、前記保持ビットが
データの非保持を示していると前記キャッシュ更新実行
回路による前記エントリ領域の更新を実行可能に制御
し、前記モード設定手段により更新可が設定され、前記
保持ビットがデータの保持を示していると、前記比較回
路の比較結果を有効にし、前記比較回路の比較結果に応
じて前記キャッシュ更新実行回路による前記エントリ領
域の更新の実行、非実行を制御し、前記保持ビットがデ
ータの非保持を示していると前記キャッシュ更新実行回
路による前記エントリ領域の更新を実行可能に制御する
モード実行回路とをキャッシュ更新制御回路が備えるよ
うにしたものである。
【0022】この発明に係るキャッシュ制御装置は、C
PUによる割り込み処理実行中、キャッシュ更新実行回
路によるエントリ領域についての更新の実行を禁止する
更新禁止手段を備えるようにしたものである。
【0023】この発明に係るキャッシュ制御装置は、C
PUの割り込み処理実行中に使用される割り込み処理用
エントリテーブルと、前記CPUの通常動作実行中に使
用される通常動作用エントリテーブルとを有し、前記割
り込み処理用エントリテーブルと通常動作用エントリテ
ーブルとを、前記CPUの割り込み処理実行中および通
常動作実行中に応じて切り替えるエントリテーブル切替
手段を備えるようにしたものである。
【0024】この発明に係るキャッシュ制御装置は、モ
ード設定手段による設定を所定の時間ごとに切り替える
タイマを備えるようにしたものである。
【0025】この発明に係るキャッシュ制御装置は、モ
ード設定手段による設定を、実行される命令数をもとに
切り替えるモード切替手段を備えるようにしたものであ
る。
【0026】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1は、この実施の形態1のキャッシュ
制御装置の構成を示すブロック図である。なお、このキ
ャッシュ制御装置が適用されるシステムの構成は図5に
示されるものと同様である。図1において、1はCPU
コア(モード設定手段,更新実行許可手段,エントリテ
ーブル切替手段,モード切替手段)、2はキャッシュ制
御レジスタ、5はキャッシュエントリテーブル(通常動
作用エントリテーブル)、6はキャッシュ更新実行回
路、7は比較回路(キャッシュ更新制御回路)、8はA
NDゲート(キャッシュ更新制御回路,モード実行回
路)、10はANDゲート(更新実行許可手段,更新禁
止手段)、9はORゲート(キャッシュ更新制御回路,
モード実行回路)、11はアドレスバス、12はアドレ
スバス11の下位側、13はアドレスバス11の上位
側、14はタグ部26のデータが出力される信号線、1
6はキャッシュ制御レジスタ2の固定モード指定ビット
(モード設定手段)4が出力される信号線、17は比較
回路7の比較結果が出力される信号線、18はANDゲ
ート8の出力信号の信号線、19はORゲート9の出力
信号の信号線、20はキャッシュ制御レジスタ2のオン
/オフビット(更新実行許可手段)3が出力される信号
線、21はAND回路10の出力信号の信号線、22,
23,24はキャッシュ更新実行回路6の各出力の信号
線、15および30は保持ビット25が出力される信号
線である。28はCPUコア1からキャッシュ制御レジ
スタ2へオン/オフビット3や固定モード指定ビット4
を設定するための信号線、29はNANDゲート(キャ
ッシュ更新制御回路,モード実行回路)である。
【0027】キャッシュ制御レジスタ2にはオン/オフ
ビット3と固定モード指定ビット4が設定される。キャ
ッシュエントリテーブル5は、保持ビット25、タグ部
26、データ保持部27の組み合わせで構成される各エ
ントリを複数個持つテーブルである。保持ビット25
は、現在データが貯えられているかどうかを示す1ビッ
トフィールドである。タグ部26は、現在保持している
データが外部メモリ51のどのアドレスにあったものか
を示すフィールドである。データ保持部27は、外部メ
モリ51にあったデータを保持しておくフィールドであ
る。
【0028】CPUコア1は、メモリ内のデータを指定
するのにアドレスバス11にアドレスを出力する。アド
レスは、図7に示すように、上位アドレス99と下位ア
ドレス98に分けて考える。そしてキャッシュエントリ
テーブル5に用意されるエントリの数は、下位アドレス
98のビット数で表現される数となる。例えば、下位ア
ドレス98が8ビットなら、エントリ数は256個とな
る。そしてキャッシュエントリテーブル5内のタグ部2
6には、その時点でデータ保持部27に保持されている
データが元あったアドレスの、上位アドレス99が保持
される。すなわち、キャッシュエントリテーブル5の何
番目のエントリにあるかによって下位アドレスが示さ
れ、そのタグ部26に保持された値によって上位アドレ
スが示され、両者を組み合わせて、データ保持部27に
あるデータが、元は外部メモリ51のどの番地にあった
のかが明らかになるようになっている。そして、保持ビ
ット25は、現在そのエントリにデータが保持されてい
るかどうか示すビットである。
【0029】次に、動作について説明する。キャッシュ
制御レジスタ2にはキャッシュ固定モードか否かを示す
固定モード指定ビット4が設定され、キャッシュ制御レ
ジスタ2の前記固定モード指定ビット4やオン/オフビ
ット3は書き換え可能である。すなわち実行されるプロ
グラムによって、そのモードをオンにしたりオフにした
りできる。以下の説明では、キャッシュ制御レジスタ2
のオン/オフビット3がセットされているものとする。
【0030】今、キャッシュ固定モードがオン(固定モ
ード指定ビット4、オン)に設定されていた場合に、C
PUコア1が、あるアドレスからデータを読み出そうと
したとする。この場合、信号線16はHighレベルに
なる。そして、そのアドレスの下位アドレス98に対応
するエントリの保持ビット25がセットされていた場
合、すなわち既にそのエントリにデータが保持されてい
た場合は、信号線15はHighレベルになり、その結
果、ANDゲート8の出力はHighレベルになる。
【0031】すると、信号線17の値にかかわらずOR
ゲート9の出力はHighレベル、NANDゲート29
の出力はLowレベルとなり、この結果、ANDゲート
10の出力はLowレベルとなるのでキャッシュ更新は
実行されない。
【0032】また、キャッシュ固定モードがオンに設定
されていた場合に、該当するエントリの保持ビット25
がセットされていない場合、すなわちそのエントリにデ
ータが未だ保持されていない場合は、信号線30はLo
wレベルとなるので、NANDゲート29の出力はHi
ghレベルとなり、この結果、ANDゲート10の出力
はHighレベルとなるので、キャッシュ更新が実行さ
れる。すなわちデータが保持されていないエントリにつ
いては、キャッシュ更新が実行される。
【0033】反対にキャッシュ固定モードがオフになっ
ていた場合(固定モード指定ビット4、オフ)は、信号
線16がLowレベルとなり、ANDゲート8の出力は
Lowレベルとなる。この結果、ORゲート9は比較回
路7の出力をそのまま出力する。よって、もしアドレス
が一致しなかった場合、ORゲート9の出力はLowレ
ベルとなり、続いてNANDゲート29の出力はHig
hレベル、ANDゲート10の出力はHighレベルと
なり、この結果、キャッシュ更新が実行される。
【0034】またアドレスが一致した場合は、保持ビッ
ト25がセットされていれば、NANDゲート29の出
力はLowレベル、ANDゲート10の出力はLowレ
ベルとなり、キャッシュ更新は実行されない。よって、
キャッシュ固定モードがオフになっていた場合は、従来
のキャッシュ装置と同等の動作をする。
【0035】以上のように、この実施の形態1によれ
ば、キャッシュ制御レジスタ2の固定モード指定ビット
4をセットした時点から、一度、キャッシュエントリテ
ーブル5に保持されたデータは更新されることがなくな
る。この結果、例えば、同じ下位アドレスであって上位
アドレスが異なるアドレスからデータを交互に読み出す
場合、最初に読み出されたデータがキャッシュに保持さ
れ続けるので、従来のように毎回キャッシュミスするこ
とにはならず、キャッシュミスにより更新動作が行われ
る頻度を低減できることになり、非効率な動作を防ぐこ
とが可能になる。特に、プログラム中において、よく利
用される部分を実行する直前に固定モード指定ビット4
をセットするようにすれば、より高い効果が得られるよ
うになる。
【0036】また、固定モード指定ビット4をクリアし
た時点で全てのエントリの保持ビット25をクリアする
ように構成すれば、プログラム実行の過程でよく実行さ
れる部分が変化したときに、一旦、固定モード指定ビッ
ト4をクリアし、再度、セットすることにより、より効
果が高まる。
【0037】実施の形態2.図2は、この実施の形態2
のキャッシュ制御装置の構成を示すブロック図である。
図2において図1と同一または相当の部分については同
一の符号を付し説明を省略する。図2において、31は
ANDゲート(更新禁止手段)、34はCPUの実行状
態が割り込み処理ルーチン実行状態にあることを示す実
行モードビット(更新禁止手段,エントリテーブル切替
手段)である。一般に、CPUの実行状態には、通常の
実行状態と、割り込み処理ルーチン実行状態がある。そ
してCPUコア1内の実行モードビット34は、その実
行状態を示すものであり、通常の実行状態の場合は
“1”であり、割り込み処理中は“0”になるものとす
る。割り込み処理ルーチンは、通常実行状態中に割り込
みが発生した場合に実行される。
【0038】前記実施の形態1の場合、固定モード指定
ビット4をセットした直後に割り込みが発生すると、割
り込みプログラムに関するデータが先にキャッシュに保
持されてしまい、期待していたデータが保持されない場
合が起こりうる。
【0039】この実施の形態2では、ANDゲート31
を設けたことで、割り込み処理実行中は信号線20がL
owレベルになるので、信号線21もLowレベルとな
り、キャッシュ更新が行われなくなる。これにより固定
モード指定ビット4をセットした直後に発生した割り込
みにより、割り込みプログラムに関するデータがキャッ
シュに先に保持されることがなくなるため、固定モード
指定ビット4をセットした直後に発生した割り込みによ
り期待していたデータが保持されないという状態を回避
できるキャッシュ制御装置が得られる効果がある。
【0040】実施の形態3.この実施の形態3のキャッ
シュ制御装置では、CPUが通常の実行状態の場合と割
り込み処理状態との場合で、別々のキャッシュエントリ
テーブルを設けるものである。図3は、この実施の形態
3のキャッシュ制御装置の構成を示すブロック図であ
る。図3において図2と同一または相当の部分について
は同一の符号を付し説明を省略する。この実施の形態3
ではキャッシュエントリテーブル5はCPUが通常の実
行状態の場合に使用される。図において、44はCPU
が割り込み処理状態の場合に使用されるキャッシュエン
トリテーブル(割り込み処理用エントリテーブル)、4
5はキャッシュエントリテーブル44の保持ビット、4
6はタグ部、47はデータ保持部である。
【0041】S1はキャッシュエントリテーブル5の保
持ビット25またはキャッシュエントリテーブル44の
保持ビット45のいずれかを実行モードビット(エント
リテーブル切替手段)34に応じて選択するセレクタ
(エントリテーブル切替手段)、S2はキャッシュエン
トリテーブル(通常動作用エントリテーブル)5のタグ
部26の値またはキャッシュエントリテーブル(割り込
み処理用エントリテーブル)44のタグ部46の値のい
ずれかを実行モードビット34に応じて選択するセレク
タ(エントリテーブル切替手段)、S3とS4とS5は
キャッシュ更新実行回路6から各キャッシュエントリテ
ーブル5,44への信号線22,23,24の接続先を
実行モードビット34に応じてキャッシュエントリテー
ブル5側またはキャッシュエントリテーブル44側へ切
り替えるセレクタ(エントリテーブル切替手段)であ
る。なお、この実施の形態3では、CPUコア1はエン
トリテーブル切替手段に対応する。
【0042】この実施の形態3では、CPUの通常動作
と割り込み処理動作に応じて、使用するキャッシュエン
トリテーブルを切り替えることができるため、固定モー
ド指定ビット4をセットした直後に発生した割り込みに
より期待していたデータが保持されないという状態を回
避でき、割り込みが頻繁に発生するようなシステムでよ
り有効に前記実施の形態1の効果が発揮されるようにな
る。
【0043】実施の形態4.図4は、この実施の形態4
のキャッシュ制御装置の構成を示すブロック図である。
図4において図1と同一または相当の部分については同
一の符号を付し説明を省略する。図において、40は一
定時間毎にキャッシュ制御レジスタ2の固定モード指定
ビット4をクリアし、続いてセットするタイマである。
【0044】次に、動作について説明する。タイマ40
は、一定時間毎にキャッシュ制御レジスタ2の固定モー
ド指定ビット4をクリアし、続いてセットし、前記時間
間隔で自動的にキャッシュに保持するデータを更新す
る。
【0045】この実施の形態4によれば、時間の経過と
ともに実行頻度が高いプログラム部分が変化していくよ
うなプログラムを実行する際、前記プログラム部分が変
化する時間間隔で自動的にキャッシュに保持するデータ
を更新することが可能になるので、前記プログラム部分
の変化によるキャッシュミスで更新動作が行われる頻度
を低減できることになり、非効率な動作を防ぐことがで
き、キャッシュを効率的に利用できるキャッシュ制御装
置が得られる効果がある。
【0046】実施の形態5.なお、前記実施の形態4に
おけるタイマ40の代わりに、実行される命令数をカウ
ントし、一定命令数実行するたびにキャッシュ制御レジ
スタ2の固定モード指定ビット4をクリアし、セットす
るようにしてもよく、また、その間隔をプログラムで変
更できるようにしてもよい。このため、本実施の形態5
では、CPUコア1がモード切替手段に対応する。
【0047】この実施の形態5によれば、時間の経過と
ともに実行頻度が高いプログラム部分が変化していくよ
うなプログラムを実行する際、前記プログラム部分が変
化する状況を前記プログラムの命令数から判定し、自動
的にキャッシュに保持するデータを更新することが可能
になるので、前記プログラム部分の変化によるキャッシ
ュミスで更新動作が行われる頻度を低減できることにな
り、非効率な動作を防ぐことができ、キャッシュを効率
的に利用できるキャッシュ制御装置が得られる効果があ
る。
【0048】
【発明の効果】以上のように、この発明によれば、モー
ド設定手段による設定と、読み出そうとするデータの上
位側アドレスと、前記データの下位側アドレスに対応す
るエントリ領域のタグ情報および保持ビットとをもと
に、キャッシュミスしたときの前記エントリ領域の更新
についての実行、非実行を制御するキャッシュ更新制御
回路を備えるように構成したので、キャッシュミスが発
生した場合のキャッシュの更新動作の実行、非実行を前
記モード設定手段により制御でき、同じ下位アドレスで
あって上位アドレスが異なるアドレスからデータを交互
に読み出すような場合でも、毎回キャッシュミスするこ
とにはならず、キャッシュの効率的な利用が図れる効果
がある。
【0049】この発明によれば、キャッシュ更新制御回
路によるキャッシュ更新実行回路に対する制御を許可す
るかしないかを決める更新実行許可手段を備えるように
構成したので、キャッシュの更新動作の実行、非実行を
前記更新実行許可手段により制御でき、前記キャッシュ
更新制御回路によるキャッシュの更新が有害な場合には
キャッシュの更新を禁止できる効果がある。
【0050】この発明によれば、モード設定手段により
更新不可が設定され、読み出そうとするデータの下位側
アドレスに応じたエントリ領域の保持ビットがデータの
保持を示していると、前記読み出そうとするデータの下
位側アドレスに応じたエントリ領域のタグ情報と前記デ
ータの上位側アドレスとの比較結果に関わらず、前記エ
ントリ領域の更新を非実行に制御し、前記保持ビットが
データの非保持を示していると前記エントリ領域の更新
を実行可能に制御し、前記モード設定手段により更新可
が設定され前記保持ビットがデータの保持を示している
と、前記比較結果を有効にし、前記比較結果に応じて前
記エントリ領域の更新の実行、非実行を制御し、前記保
持ビットがデータの非保持を示していると前記エントリ
領域の更新を実行可能に制御するモード実行回路を備え
るように構成したので、キャッシュミスが発生した場合
のキャッシュの更新動作の実行、非実行と、従来機能と
を前記モード設定手段により制御でき、キャッシュミス
が発生した場合のキャッシュの更新動作を非実行に制御
することで、同じ下位アドレスであって上位アドレスが
異なるアドレスからデータを交互に読み出すような場合
でも、毎回キャッシュミスすることにはならず、キャッ
シュの効率的な利用が図れる効果がある。
【0051】この発明によれば、CPUによる割り込み
処理実行中、キャッシュ更新実行回路によるエントリ領
域についての更新の実行を禁止する更新禁止手段を備え
るように構成したので、割り込み処理実行中のキャッシ
ュの更新動作の実行を前記更新禁止手段により禁止で
き、前記割り込み処理実行中のキャッシュの更新が有害
な場合にはキャッシュの更新を禁止できる効果がある。
【0052】この発明によれば、CPUの割り込み処理
実行中に使用される割り込み処理用エントリテーブル
と、前記CPUの通常動作実行中に使用される通常動作
用エントリテーブルとを有し、前記割り込み処理用エン
トリテーブルと通常動作用エントリテーブルとを、前記
CPUの割り込み処理実行中および通常動作実行中に応
じて切り替えるエントリテーブル切替手段を備えるよう
に構成したので、CPUの通常動作と割り込み処理動作
に応じて、使用するキャッシュエントリテーブルを切り
替えることができ、モード設定手段により更新不可を設
定した直後に発生した割り込みにより期待していたデー
タが保持されないという状態を回避でき、割り込みが頻
繁に発生する場合でもキャッシュの効率的な利用が図れ
る効果がある。
【0053】この発明によれば、モード設定手段による
設定を所定の時間ごとに切り替えるタイマを備えるよう
に構成したので、時間の経過とともに実行頻度が高いプ
ログラム部分が変化していくような場合、前記プログラ
ム部分が変化する時間間隔を前記所定の時間と整合させ
ることで自動的にキャッシュに保持するデータを更新す
ることが可能になり、前記プログラム部分の変化による
キャッシュミスで更新動作が行われる頻度を低減でき、
キャッシュを効率的に利用できる効果がある。
【0054】この発明によれば、モード設定手段による
設定を、実行される命令数をもとに切り替えるモード切
替手段を備えるように構成したので、時間の経過ととも
に実行頻度が高いプログラム部分が変化していくような
場合、前記プログラム部分が変化する状況を前記プログ
ラムの命令数から判定し、自動的にキャッシュに保持す
るデータを更新でき、前記プログラム部分の変化による
キャッシュミスで更新動作が行われる頻度を低減でき、
キャッシュを効率的に利用できる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1のキャッシュ制御装
置の構成を示すブロック図である。
【図2】 この発明の実施の形態2のキャッシュ制御装
置の構成を示すブロック図である。
【図3】 この発明の実施の形態3のキャッシュ制御装
置の構成を示すブロック図である。
【図4】 この発明の実施の形態4のキャッシュ制御装
置の構成を示すブロック図である。
【図5】 従来のキャッシュ制御装置が適用されるマイ
クロプロセッサを利用したシステム構成の概略を示すブ
ロック図である。
【図6】 従来のキャッシュ制御装置の構成を示すブロ
ック図である。
【図7】 従来のキャッシュ制御装置におけるCPUコ
アがメモリ内のデータを指定するアドレスの上位アドレ
スと下位アドレスを示す説明図である。
【符号の説明】
1 CPUコア(モード設定手段,更新実行許可手段,
エントリテーブル切替手段,モード切替手段)、3 オ
ン/オフビット(更新実行許可手段)、4 固定モード
指定ビット(モード設定手段)、5 キャッシュエント
リテーブル(通常動作用エントリテーブル)、6 キャ
ッシュ更新実行回路、7 比較回路(キャッシュ更新制
御回路)、8 ANDゲート(キャッシュ更新制御回
路,モード実行回路)、9 ORゲート(キャッシュ更
新制御回路,モード実行回路)、10 ANDゲート
(更新実行許可手段,更新禁止手段)、29 NAND
ゲート(キャッシュ更新制御回路,モード実行回路)、
31 ANDゲート(更新禁止手段)、34 実行モー
ドビット(更新禁止手段,エントリテーブル切替手
段)、40 タイマ、44 キャッシュエントリテーブ
ル(割り込み処理用エントリテーブル)、S1,S2,
S3,S4,S5 セレクタ(エントリテーブル切替手
段)。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 外部メモリから読み出されたデータが保
    持されているかどうかについての情報である保持ビッ
    ト、前記データの前記外部メモリにおける上位側アドレ
    スであるタグ情報、および前記データを、データの前記
    外部メモリにおける下位側アドレスに応じたエントリ領
    域へ格納するキャッシュエントリテーブルと、 該キャッシュエントリテーブルの前記エントリ領域につ
    いての前記保持ビット、前記タグ情報、前記データの更
    新を実行するキャッシュ更新実行回路と、 前記キャッシュエントリテーブルの前記エントリ領域に
    ついて、前記保持ビット、前記タグ情報、前記データの
    更新を可能にするかしないかを設定するモード設定手段
    と、 該モード設定手段による設定と、データの上位側アドレ
    スと、前記データの下位側アドレスに対応するエントリ
    領域のタグ情報および前記保持ビットとをもとに、キャ
    ッシュミスしたときの前記キャッシュ更新実行回路によ
    る前記エントリ領域の更新についての実行、非実行を制
    御するキャッシュ更新制御回路と、 を備えたキャッシュ制御装置。
  2. 【請求項2】 キャッシュ更新制御回路によるキャッシ
    ュ更新実行回路に対する制御を許可するかしないかを決
    める更新実行許可手段を備えていることを特徴とする請
    求項1記載のキャッシュ制御装置。
  3. 【請求項3】 キャッシュ更新制御回路は、 読み出そうとするデータの下位側アドレスに応じたエン
    トリ領域のタグ情報と、前記読み出そうとする前記デー
    タの上位側アドレスとを比較する比較回路と、 モード設定手段により更新不可が設定され、保持ビット
    がデータの保持を示していると、前記比較回路の比較結
    果に関わらずキャッシュ更新実行回路による前記エント
    リ領域の更新を非実行に制御し、前記保持ビットがデー
    タの非保持を示していると前記キャッシュ更新実行回路
    による前記エントリ領域の更新を実行可能に制御し、 前記モード設定手段により更新可が設定され、前記保持
    ビットがデータの保持を示していると、前記比較回路の
    比較結果を有効にし、前記比較回路の比較結果に応じて
    前記キャッシュ更新実行回路による前記エントリ領域の
    更新の実行、非実行を制御し、前記保持ビットがデータ
    の非保持を示していると前記キャッシュ更新実行回路に
    よる前記エントリ領域の更新を実行可能に制御するモー
    ド実行回路とを備えていることを特徴とする請求項1記
    載のキャッシュ制御装置。
  4. 【請求項4】 CPUによる割り込み処理実行中、キャ
    ッシュ更新実行回路によるエントリ領域についての更新
    の実行を禁止する更新禁止手段を備えていることを特徴
    とする請求項2または請求項3記載のキャッシュ制御装
    置。
  5. 【請求項5】 キャッシュエントリテーブルは、 CPUの割り込み処理実行中に使用される割り込み処理
    用エントリテーブルと、前記CPUの通常動作実行中に
    使用される通常動作用エントリテーブルとを有し、 前記割り込み処理用エントリテーブルと通常動作用エン
    トリテーブルとを、前記CPUの割り込み処理実行中お
    よび通常動作実行中に応じて切り替えるエントリテーブ
    ル切替手段を備えていることを特徴とする請求項1また
    は請求項2記載のキャッシュ制御装置。
  6. 【請求項6】 モード設定手段による設定を所定の時間
    ごとに切り替えるタイマを備えていることを特徴とする
    請求項1または請求項2記載のキャッシュ制御装置。
  7. 【請求項7】 モード設定手段による設定を、実行され
    る命令数をもとに切り替えるモード切替手段を備えてい
    ることを特徴とする請求項1または請求項2記載のキャ
    ッシュ制御装置。
JP11118589A 1999-04-26 1999-04-26 キャッシュ制御装置 Pending JP2000305844A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11118589A JP2000305844A (ja) 1999-04-26 1999-04-26 キャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11118589A JP2000305844A (ja) 1999-04-26 1999-04-26 キャッシュ制御装置

Publications (1)

Publication Number Publication Date
JP2000305844A true JP2000305844A (ja) 2000-11-02

Family

ID=14740337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11118589A Pending JP2000305844A (ja) 1999-04-26 1999-04-26 キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JP2000305844A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158542B2 (en) 2010-06-17 2015-10-13 Nec Corporation Data processing device and method, and processor unit of same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158542B2 (en) 2010-06-17 2015-10-13 Nec Corporation Data processing device and method, and processor unit of same
US9389864B2 (en) 2010-06-17 2016-07-12 Nec Corporation Data processing device and method, and processor unit of same

Similar Documents

Publication Publication Date Title
WO2000045258A1 (en) Register transfer unit for electronic processor
WO2009157178A1 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
US6125440A (en) Storing executing instruction sequence for re-execution upon backward branch to reduce power consuming memory fetch
JP3970609B2 (ja) プロセッサシステム
JP2004516547A (ja) 中断制御装置
JP2000305844A (ja) キャッシュ制御装置
JPH05113887A (ja) コンピユータシステム
JP2723847B2 (ja) マイクロプロセッサ
JP2004086556A (ja) マイクロコントローラ
JPH044630B2 (ja)
JP2002312302A (ja) 周辺装置
JPH10340228A (ja) マイクロプロセッサ
JP2020149597A (ja) 制御装置および制御方法
JP2004062449A (ja) マイクロプロセッサおよびその処理方法
JPS59144955A (ja) 情報処理装置
JP3127737B2 (ja) ディジタル信号処理装置
JP2001075778A (ja) 演算装置および方法
JPH0876876A (ja) マイクロプロセッサのクロック供給制御回路
JPH05298119A (ja) マイクロプロセッサのコンテキストスイッチ機構
JPH0736820A (ja) I/o制御装置
JPH03182945A (ja) 主記憶内データ転送方式
JPH09160786A (ja) マイクロプロセッサ
JPH0467229A (ja) マイクロプロセッサおよびメモリシステム
JPH02141830A (ja) 情報処理装置
JPH08123725A (ja) ライトバック式キャッシュシステム