JPH05324473A - キャッシュメモリ方式及びマイクロプロセッサ装置 - Google Patents

キャッシュメモリ方式及びマイクロプロセッサ装置

Info

Publication number
JPH05324473A
JPH05324473A JP4157467A JP15746792A JPH05324473A JP H05324473 A JPH05324473 A JP H05324473A JP 4157467 A JP4157467 A JP 4157467A JP 15746792 A JP15746792 A JP 15746792A JP H05324473 A JPH05324473 A JP H05324473A
Authority
JP
Japan
Prior art keywords
cache memory
memory
memory means
tag
cache
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.)
Granted
Application number
JP4157467A
Other languages
English (en)
Other versions
JP3262182B2 (ja
Inventor
Takashi Nakayama
貴司 中山
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 JP15746792A priority Critical patent/JP3262182B2/ja
Publication of JPH05324473A publication Critical patent/JPH05324473A/ja
Application granted granted Critical
Publication of JP3262182B2 publication Critical patent/JP3262182B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 CPUとキャッシュメモリをひとつのLSI
化するときに、占有面積が小さく、かつ性能の良いキャ
ッシュメモリを提供する。 【構成】 CPU110とダイレクトマップ方式の1次
キャッシュメモリ120とダイレクトマップ方式の2次
キャッシュメモリ140とメインメモリ160から構成
される。キャッシュメモリ120,140は、CPU1
10と同一LSIに集積され、高速に動作する。1次キ
ャッシュメモリ120と2次キャッシュメモリ140の
内容に重複がないように制御する。2次キャッシュメモ
リのインデクスは階層的な排他的論理和回路146によ
ってハッシュされている。 【効果】 1次キャッシュメモリの容量を倍にするより
も、小規模かつ高速な2次キャッシュメモリを付加した
方が、小面積で高性能なマイクロプロセッサが構築でき
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュメモリ方
式、特に、複数のダイレクトマップ方式のキャッシュメ
モリを階層的に接続したキャッシュメモリ方式及びマイ
クロプロセッサ装置に関する。
【0002】
【従来の技術】近年の半導体装置の進歩をみると、マイ
クロプロセッサのクロック周波数が年々向上するのに対
し、メインメモリとなるDRAMやROMのアクセス時
間はそれほど短くならない。このスピードギャップを埋
めるために、高速・小容量のメモリで構成するキャッシ
ュメモリ装置をプロセッサとメインメモリの間に設ける
方策が、よく採用されている。
【0003】キャッシュメモリの基本方式は後述の参考
1で詳しく説明されている。メインメモリをあらかじめ
一定の容量(普通16Byte程度)にブロック分け
し、これらの一部のブロックをキャッシュメモリに格納
する。キャッシュメモリ内のブロックをエントリと呼
ぶ。
【0004】キャッシュメモリの各エントリは、3つの
部分から構成される。(1)データを格納するデータ
部、(2)どのアドレスにあるブロックが書込まれてい
るかを示す情報(タグと呼ぶ)を格納するタグ部、
(3)そのエントリに有効なデータが格納されているか
否かを示すステータスフラグ、である。方式によっては
ステータスに別の意味を持たせることもある。
【0005】キャッシュメモリの構成には、ダイレクト
マップ方式、セット・アソシアティブ方式、フル・アソ
シアティブ方式の3通りがある。
【0006】ダイレクトマップ方式 RAMで構成するタグ部,ステータスフラグ,データ部
を1組づつ持つ。アドレスの下位ビット(インデクス)
をアドレスにしてRAM(タグ部とデータ部)をアクセ
スする。タグ部からの出力とアドレスの上位ビット(タ
グ)が等しく、ステータスフラグの内容が「有効」であ
れば、そのエントリのデータ部は有効(ヒット)であ
る。
【0007】セット・アソシアティブ方式 ダイレクトマップ方式のRAMをN組(普通2または4
組)持ち、並列にアクセスする。ヒットした組がひとつ
でもあれば、ヒットした組のデータ部の出力が選択され
る。
【0008】フル・アソシアティブ方式 各エントリのタグ部に比較器を持ち、アドレスとタグ部
の内容を直接比較する。普通、CAM(Content
Addressable Ram)で構成する。
【0009】上記3方式のヒット率(ヒット回数/アク
セス回数)は、<<の順で高い。しかし、キャッ
シュメモリのアクセス時間も、<<の順で長くな
る。LSI化したときの面積は、<<の順で大き
くなる。特に、方式は、面積の増加が大きく、ヒット
しなかったとき(ミスしたとき)の処理が複雑など、欠
点が多い。
【0010】最近のRISC(Reduced Ins
truction Set Computer)CPU
では、キャッシュメモリのアクセス時間がクロック周波
数に直接影響するため、(ダイレクトマップ方式)を
採用するものが多い。
【0011】方式のミス率(1−ヒット率)の違い
を図8(参考文献1の図8,12のデータに基づく)に
示す。上記方式またはでは、異なるアドレスが同一
のエントリを使うよう強制されるためのミス(コンフリ
クト・ミスと呼ぶ)が発生するため、方式よりもミス
率が増加する。
【0012】もうひとつ図8から読取れるのは、キャッ
シュメモリの容量が大きくなるにしたがってコスト/パ
フォーマンスが低下していることである。キャッシュ容
量が2倍になるにしたがって、ミス率は一定の割合で減
少(0.7〜0.8倍)している。一方、キャッシュメ
モリをLSI化したときの面積は、容量にほぼ比例して
いる。
【0013】そのため、キャッシュメモリとCPUを1
チップLSI化するには、省面積でかつミス率の低いキ
ャッシュメモリ方式が望まれている。
【0014】もうひとつの従来例を挙げる。ダイレクト
マップ方式(方式:高速だがミス率が高い)のキャッ
シュメモリに、小規模なフルアソシアティブ方式(方式
:低速だがミスが低い)のキャッシュメモリを付加し
た、効率の良いキャッシュメモリ方式が後述の参考文献
2で提案されている。
【0015】ダイレクトマップ方式キャッシュ(1次キ
ャッシュ)がミスした場合、2次キャッシュとしてフル
アソシアティブ方式キャッシュ(彼等はヴィクティムキ
ャッシュと呼んでいる)をアクセスする。
【0016】2次キャッシュがミスした場合はメインメ
モリをアクセスする。どちらのキャッシュメモリもCP
Uと同一のLSIチップに組込まれているので、1次キ
ャッシュと2次キャッシュの間の転送は高速(1クロッ
クサイクル)で行なわれる。
【0017】ダイレクトマップ方式キャッシュメモリの
コンフリクト・ミスの大半が2次キャッシュにヒットす
るので、1次キャッシュを2倍の容量にするのと同程度
のミス率低減効果が、4〜8エントリの2次キャッシュ
で得られる。
【0018】参考文献2では1次キャッシュと2次キャ
ッシュの内容に重複が無いように制御することで、少な
いエントリ数の2次キャッシュで効果を上げている。
【0019】この方式の欠点は、2次キャッシュにフル
アソシアティブ方式を用いていることである。フルアソ
シアティブ方式は、各エントリに比較器を持つため面積
の増加が著しい。また、ミスした場合にどのエントリを
入替えるかを決める制御論理(通常はLRU:Leas
t Recent Used)が複雑であり、テストも
難しい。ただし、速度が遅いという欠点だけは、1次キ
ャッシュがミスしたときだけ使用されるため、あまり問
題ではない。
【0020】参考文献1:「Computer Arc
htecture: A Quantitative
Approach」 John L. Henness
y & David A. Patterson, 1
990, Morgan Kaufmann Publ
ishers Inc.
【0021】参考文献2:「Improving Di
rect−Mapped Cache Perform
ance by the Addition of a
Small Fully−Associative
Cache and PrefetchBuffer
s」Norman P. Jouppi, 1990,
IEEEInternational Sympos
ium on ComputerArchtectur
e.
【0022】
【発明が解決しようとする課題】上述した従来の3種類
のキャッシュメモリ方式の欠点をまとめる。 ダイレクトマップ方式では、高速であるが、ミス率が
高い。面積も小さい。 セットアソシアティブ方式では、速度,面積ではに
劣り、ミス率ではに劣る。 フルアソシアティブ方式では、ミス率は一番低い。し
かし、速度は遅く、面積が著しく大きい。制御論理も複
雑であり、テストも難しい。
【0023】もうひとつのヴィクティムキャッシュ方式
は、ダイレクトマップ方式の高速性を活かしたまま、
フルアソシアティブ方式の低ミス率を実現する優れた
方式である。ただ、方式の面積,複雑といった欠点は
有しているため、改良の余地がある。
【0024】本発明の目的は、CPUとキャッシュメモ
リを一体にLSI化するときに、占有面積が小さく、か
つ性能の良いキャッシュメモリ方式を提供するととも
に、このキャッシュメモリ方式を使用したマイクロプロ
セッサ装置を提供することにある。
【0025】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るキャッシュメモリ方式は、第1のキャ
ッシュメモリと第2のキャッシュメモリとを有するキャ
ッシュメモリ方式であって、各キャッシュメモリは、デ
ータ用メモリと、タグ用メモリと、比較器と、ヒット発
生回路とを含み、データ用メモリは、ブロック単位にデ
ータを記憶するものであり、タグ用メモリは、前記デー
タ用メモリの各ブロックに記憶したデータがアドレス空
間のどこに位置しているものかを示す情報(タグ)を記
憶したものであり、比較器は、アドレス中のアドレスタ
グと前記タグ用メモリの出力を照合するものであり、ヒ
ット発生回路は、前記比較器の内容に基づいてヒット信
号を発生するものであり、内部からの読み出しアクセス
に対して前記第1のキャッシュメモリ手段をアクセス
し、前記第1のキャッシュメモリ手段でヒット信号が発
生しなければ前記第2のキャッシュメモリ手段をアクセ
スし、前記第2のキャッシュメモリ手段でヒット信号が
発生すれば前記第1のキャッシュメモリ手段の該当ブロ
ックと前記第2のキャッシュメモリ手段の該当ブロック
の内容を交換し、前記第2のキャッシュメモリ手段でヒ
ット信号が発生しなければ外部メモリをアクセスするも
のである。
【0026】また、前記第1のキャッシュメモリ手段の
ミスによるアクセスにおいて、アドレスの一部の排他的
論理和をとって前記第2のキャッシュメモリ手段のタグ
用メモリとデータ用メモリのアドレスとしたものであ
る。
【0027】また、前記第2のキャッシュメモリ手段の
メモリ容量が前記第1のキャッシュメモリ手段のメモリ
容量以下としたものである。
【0028】また、本発明に係るマイクロプロセッサ装
置は、第1のキャッシュメモリ手段のミスによるアクセ
スにおいて、アドレスの一部の排他的論理和をとって第
2のキャッシュメモリ手段のタグ用メモリとデータ用メ
モリのアドレスとしたキャッシュメモリ方式をもつ第1
及び第2のキャッシュメモリ手段と中央処理装置とを同
一のLSIチップに集積し、前記第1のキャッシュメモ
リ手段と前記第2のキャッシュメモリ手段の間の転送を
クロックサイクル毎に行うものである。
【0029】また、本発明に係るマイクロプロセッサ装
置は、第2のキャッシュメモリ手段が第1のキャッシュ
メモリ手段のメモリ容量以下としたキャッシュメモリ方
式をもつ第1及び第2のキャッシュメモリ手段と中央処
理装置とを同一のLSIチップに集積し、前記第1のキ
ャッシュメモリ手段と前記第2のキャッシュメモリ手段
の間の転送をクロックサイクル毎に行うものである。
【0030】
【作用】上述した従来のヴィクティム・キャッシュメモ
リ方式は、ダイレクトマップ方式の1次キャッシュメモ
リと小規模なフルアソシアティブ方式の2次キャッシュ
メモリを用いて、高速かつ低ミス率のキャッシュシステ
ムを構成する。
【0031】これに対し、本発明は、ダイレクトマップ
方式の1次キャッシュメモリと小規模なダイレクトマッ
プ方式の2次キャッシュメモリを用いて、高速かつ低ミ
ス率かつ制御が容易なキャッシュシステムを構成すると
いう独創的内容を有する。
【0032】
【実施例】次に図面を用いて、本発明の実施例を説明す
る。
【0033】(実施例1)図1は、本発明の実施例1を
示すブロック図である。
【0034】図1において、100はマイクロプロセッ
サLSI、110はCPU(中央処理装置)、120は
1次キャッシュメモリ、140は2次キャッシュメモ
リ、160はメインメモリ(主記憶装置)である。ここ
に、CPU110、1次キャッシュメモリ120、2次
キャッシュメモリ140を同一のマイクロプロセッサL
SI100に集積し、マイクロプロセッサ装置を構成す
る。
【0035】111はバイト単位のメモリアドレスとア
クセスするデータの大きさを指定可能で、CPU110
が出力するアドレスバス、112はCPU110が入出
力するデータバス、113は1次キャッシュメモリ12
0が出力するバス待合わせ信号、131は1次キャッシ
ュメモリ120が出力するアドレスバスである。
【0036】また、132は1次キャッシュメモリ12
0が入出力するデータバス、136はメインメモリ16
0のデータを1次キャッシュメモリ120に伝えるバイ
パス、133は2次キャッシュメモリ140が出力する
バス待合わせ信号、151は2次キャッシュメモリ14
0が出力するアドレスバス、152は2次キャッシュメ
モリ140が入出力するデータバス、153はメインメ
モリ160が出力するバス待合わせ信号である。
【0037】121,141はアドレス111,131
の下位ビット(インデクス)をアドレスとしてアドレス
111,131の上位ビット(タグ)を格納する2i
×tビットのタグ用メモリ、122,142はアドレス
111,131の下位ビット(インデクス)をアドレス
として各エントリが有効かどうかを示す2i 語×2ビッ
トのステータスフラグ用メモリである。
【0038】123,143はアドレス111,131
の下位ビット(インデクスとオフセット)をアドレスと
してデータバス112,132またはデータバス13
2,152の値を読み書きする2(1+b-2) 語×32ビッ
トのデータ用メモリ、124,144はアドレス11
1,131の上位ビット(タグ)とタグ用メモリ12
1,141の出力が一致しているか検出する比較器であ
る。
【0039】125,145は比較器124,144、
ステータスフラグ用メモリ122,142の出力とアド
レス111,131からキャッシュメモリ120,14
0を制御する制御回路である。
【0040】126,146はキャッシュメモリ12
0,140がミスしたときにメモリアドレスを生成する
アドレスバッファ、134はタグ用メモリ121のタグ
情報を一時保持してタグ用メモリ141に伝えるタグバ
ッファである。
【0041】135はデータ用メモリ123のデータを
一時保持してデータ用メモリ143に伝えるタグバッフ
ァである。
【0042】アドレスバス111,131のアドレス値
がどのようにキャッシュメモリ120,140で使われ
るかを図2に示す。ブロックサイズが2b バイトとする
と、ブロック内オフセットはbビット幅、キャッシュの
エントリ数が2i エントリとすると、インデクスはiビ
ット幅、タグはアドレスのビット幅からインデクスとオ
フセットを引いた幅をもつ。
【0043】例えば、32ビットアドレスで、1次キャ
ッシュの容量が8Kバイト、ブロックサイズが16バイ
トの場合、ブロック内オフセットは4ビット(24 =1
6)、エントリ数は512(=8K/16)であるの
で、インデクスは9ビット(29 =512)、タグは1
9ビット(=32−9−4)となる。
【0044】ブロックサイズbは、1次キャッシュメモ
リ120と2次キャッシュメモリ140で同じ大きさと
する。
【0045】次に、図1のキャッシュメモリ方式の動作
について、図3,図4を用いて説明する。
【0046】制御回路125によって制御される、1次
キャッシュメモリ120の動作を図3に示す。ステータ
スフラグ122の内容は「無効」に初期化されているも
のとする。
【0047】CPU110によるメモリアクセスが発生
すると、アドレス111のインデクスをアドレスとして
メモリ121,122を読み出し(ステップ301)、
タグ用メモリ121の出力とアドレス110のタグを比
較器124で比較する(ステップ302)。比較が等し
く、かつ、ステータスフラグ122が「有効」または
「書込」を示す場合はヒット、それ以外はミスである。
【0048】ヒットした場合、アドレス111のインデ
クスおよびブロック内オフセットをアドレスとして、デ
ータバス112を介して、データ用メモリ123の内容
を読み書きする(ステップ304,305)。
【0049】CPU110からのアクセスが書込みであ
る場合は、データ用メモリ123の内容を、エントリ中
の指定されたアドレスに指定されたサイズ(バイト幅,
ワード幅など)の部分だけ書換え、ステータスフラグに
「書込」を書込む(ステップ305,306)。
【0050】ミスした場合、まず、ステータスフラグ1
22が「書込」か「有効」か「無効」かを判定し(ステ
ップ307)、「書込」ならばインデクスで指定されて
いるエントリを2次キャッシュメモリ140に書込む
(ステップ308)。このとき、タグメモリ122から
読み出した値をアドレスとし、データはデータ用メモリ
123の内容である。ステータスフラグ122が「有
効」ならば該当するエントリのタグとデータをバッファ
134,135に保存する(ステップ309)。
【0051】CPU110からのアクセスが読み出しの
場合は、次に、外からアドレス111で指定されたエン
トリを読み込む。読み込んだエントリに対して、アドレ
ス111で指定されたサイズ分だけ、データ用メモリ1
23の内容をデータバス112を介してCPU110に
転送する(ステップ311)。同時に、タグ用メモリ1
21にアドレス111のタグを、ステータスフラグ12
2に「有効」を書込む(ステップ312,313)。
【0052】CPU110からのアクセスが書込みの場
合は、次にタグ用メモリにアドレス111のタグを書込
む(ステップ314)。同時に、データ用メモリ123
の内容を、エントリ中の指定されたアドレスに指定され
たサイズ(バイト幅,ワード幅など)の部分だけが書換
え、ステータスフラグに「書込」を書込む(ステップ3
05,306)。
【0053】制御回路145によって制御される、2次
キャッシュメモリ140の動作を図4に示す。動作は、
1次キャッシュメモリ120と似ているが一部異なる。
【0054】1次キャッシュメモリ120によるメモリ
アクセスが発生すると、アドレス131のインデクスを
アドレスとしてメモリ141,142を読み出し(ステ
ップ401)、タグ用メモリ141の出力とアドレス1
31のタグを比較器144で比較する(ステップ40
2)。比較が等しく、かつ、ステータスフラグ142が
「有効」または「書込」を示す場合はヒット、それ以外
はミスである。
【0055】ヒットした場合、アドレス131のインデ
クスおよびブロック内オフセットをアドレスとして、デ
ータバス132を介して、データ用メモリ143の内容
を読み書きする(ステップ404,408)。1次キャ
ッシュメモリ120からのアクセスが読み出しである場
合は、バッファ134,135に保存してある1次キャ
ッシュメモリの該当エントリの内容をメモリ141,1
43に転送する(ステップ405,406)。
【0056】それから、ステータスフラグ142に、読
出しアクセスなら1次キャッシュメモリの該当エントリ
のステータス値を、書込アクセスなら「書込」を書込む
(ステップ407,409)。
【0057】ミスした場合、まず、ステータスフラグ1
42が「書込」か「有効」か「無効」かを判定し(ステ
ップ407)、「書込」ならばインデクスで指定されて
いるエントリをメインメモリ160に書込む(ステップ
411)。
【0058】このとき、タグメモリ142から読み出し
た値をアドレスとし、データはデータ用メモリ143の
内容である。外へのアクセスは1エントリ分であり、ブ
ロックサイズがバス幅より大きいときは複数のバスサイ
クルとなる。
【0059】1次キャッシュメモリ120からのアクセ
スが読み出しの場合は、次に、メインメモリからアドレ
ス131で指定されたエントリを読み込み、2次キャッ
シュメモリの中を素通り(152,136,132)さ
せて1次キャッシュメモリ120にデータを転送する。
【0060】1次キャッシュメモリ120からのアクセ
スが書込みの場合は、次に、タグ用メモリ141にアド
レス131のタグを書込む(ステップ414)。同時
に、データ用メモリ143の内容を、エントリ中の指定
されたアドレスに指定されたサイズ(バイト幅,ワード
幅など)の部分だけが書換え、ステータスフラグに「書
込」を書込む(ステップ408,409)。
【0061】1次キャッシュメモリ120がミスした場
合の処理が終了するまで、制御回路125は信号113
によってCPU110を待たせておく。同様に、2次キ
ャッシュメモリ140へのアクセス(ステップ408,
410)は、制御信号133によって待たされる場合が
ある。
【0062】キャッシュメモリ単体の制御方式自体は公
知のものである。
【0063】ここで述べたキャッシュメモリ単体の制御
方式は、一般にはライトバック(コピーバック,ストア
インとも呼ぶ)という方式である。ステータスフラグ1
22,142は、3状態(「無効」,「有効」,「書
込」)を持つ。上位からの書込みアクセスは、直接には
下位に伝えられない。
【0064】上位からの書込みアクセスがあると、直
接、下位のメモリを書込む方式(ライトスルーと呼ぶ)
もある。ステータスフラグ122,142は、2状態
(「無効」,「有効」)しかなく、制御は単純である。
しかし、ライトバック方式よりミス率は高い。
【0065】マイクロプロセッサに対応するために、ス
テータスフラグの状態を更に増やしたライトバック方式
もある。
【0066】通常のライトバック方式と異なるのは、1
次キャッシュメモリと2次キャッシュメモリの間にデー
タの重複がないようにしていることである。
【0067】読み出しアクセスにおいて、1次,2次キ
ャッシュメモリ共にミスのときは、メインメモリから1
次キャッシュメモリにデータが転送され、1次キャッシ
ュメモリがミスし2次キャッシュメモリがヒットしたと
きは、1次キャッシュメモリと2次キャッシュメモリの
データを入替える。このように制御することで、1次キ
ャッシュメモリと2次キャッシュメモリに同一アドレス
のデータは重複しない。よって、2次キャッシュメモリ
の効率を上げている。
【0068】本発明の要旨は、キャッシュメモリ単体の
制御方式でなく、階層構造と、1次/2次キャッシュメ
モリを同等のアクセス時間でアクセスできること、1次
と2次のキャッシュメモリ間での転送が高速にできるこ
とである。
【0069】これらのキャッシュメモリ単体の制御方式
が、キャッシュメモリ120,140にどのような組合
せで実現されていても、本発明の主旨に見合うことは言
うまでもない。
【0070】(実施例2)次に本発明の実施例2を説明
する。図5に本発明の実施例2を示す。実施例1(図
1)と異なるのは、2ヵ所ある。ひとつは、2次キャッ
シュメモリ140において、メモリ141,142,1
43のアドレスとなるインデクスを、インデクス生成回
路146を用いて生成していることである。もうひとつ
は、タグ用メモリの幅(tビット)が、実施例1より広
いことである。
【0071】アドレスバス131のアドレス値がどのよ
うにキャッシュメモリ140で使われるかを図6,図7
に示す。図2と違って、アドレスからブロック内オフセ
ットを抜いた分が、タグとなっている。インデクスは、
タグの一部をインデクス生成回路146によってハッシ
ュして得る。ハッシュ関数としては、図6,図7のよう
に、階層的に排他的論理和をとったものを用いる。
【0072】アドレスのハッシュされる部分は、1次キ
ャッシュメモリのインデクスとタグの一部(アドレスの
ビット位置で)を含むようにすると良い。コンフリクト
ミスが解消されミス率が減るためである。
【0073】図6の例ではハッシュするビットを下位か
ら詰めて取っているが、図7のようにタグ全体から取っ
てきてもよい。
【0074】また、図6,図7では排他的論理和を2段
階のツリー構造にしているが、1段だけにしても、3段
階以上のツリーにしてもよいことは言うまでもない。
【0075】インデクス生成回路146によって2次キ
ャッシュメモリ140のアクセス時間は長くなる。しか
し、CPU110から1次キャッシュメモリ120への
アクセスと並行して、インデクス生成回路146を動作
させることによって、アクセス時間を長くしないことが
できる。
【0076】ここで、従来例,実施例の性能とハードウ
ェアコストを計算してみる。
【0077】ノーウェイトのメモリを毎クロックアクセ
スできるときの性能を1.0とした、CPUの相対性能
は以下のように表わせる。CPUからは毎クロックでメ
モリアクセスが発生するものとする。
【0078】 相対性能=1/平均アクセス時間 …(1) ここで、 M1 1次キャッシュメモリのミス率 M2 2次キャッシュメモリのミス率 B1 1次キャッシュメモリのアクセス時間(cloc
k) B2 2次キャッシュメモリのアクセス時間(cloc
k) B3 メインメモリのアクセス時間(clock) b ブロックサイズ(Byte) a バス幅(Byte) とすると、
【0079】キャッシュメモリが1階層(従来方式)の
場合、 相対性能=1/{(1−M1)×B1 +(M1×b/a×B3)} …(2)
【0080】キャッシュメモリが2階層(ヴィクティム
キャッシュまたは本発明)の場合、 相対性能=1/{(1−M1) +(M1×(1−M2)×b/a×B2) +(M1×M2×b/a×B3)} …(3)
【0081】ここで、例を挙げる。 B1=1clock,B2=1clock,B3=8clock b=16Byte,a=4Byte …(4) とする。
【0082】あるアプリケーション(diff:16K
B程度のデータ)において、ダイレクトマップ方式のキ
ャッシュメモリの容量とミス率を測定した結果を表1に
示す。相対性能は式(2),(4)から求めた。
【0083】
【表1】
【0084】同じアプリケーションで、ヴィクティムキ
ャッシュ方式、実施例1,2について測定した結果を表
2に示す。相対性能は、式(3),(4)から求めた。
1次キャッシュメモリは全て、8Kバイトのダイレクト
マップ方式(表1の例1と同じ)である。
【0085】例3はヴィクティムキャッシュの一例、例
4,例5は本発明の実施例1の例、例6,例7は本発明
の実施例2の例である。
【0086】上記6例の性能を、図8にまとめる。さら
に、図8には、各例をLSI化したときの相対面積(例
2を1とした)と、効率(相対性能/相対面積)を示し
た。
【0087】
【表2】
【0088】
【発明の効果】以上説明したように、本発明によるキャ
ッシュメモリ方式は、以下の効果を有する。 性能が高い。図8から分かるように、本発明の性能は
高い。実施例(例7)2では、例2(1次キャッシュメ
モリの容量を倍にしたもの)よりも性能が高い。 ハードウェア効率が良い。図8から分かるように、本
発明によるハードウェア量(LSI化したときの面積)
は、いずれも例2(1次キャッシュメモリの容量を倍に
したもの)よりも小さい。例6(実施例2)では、ヴィ
クティムキャッシュ(例3)より小面積で、同等の効率
を実現している。例3ではフルアソシアティブ方式を用
いるため、面積効率が非常に悪い。例7では、8Kバイ
トの1次キャッシュメモリに2Kバイトの2次キャッシ
ュメモリを付加しただけで、例2(16Kバイトの1次
キャッシュメモリ)よりも高い性能を実現している。 ハードウェアが簡単である。従来例で示したように、
ヴィクティムキャッシュ方式の2次キャッシュメモリで
用いられるフルアソシアティブ方式には、制御論理が複
雑であるという欠点がある。ミスした場合にどのエント
リを入替えるかを決める制御論理(通常はLRU:Le
ast Recent Used)は複雑であり、通常
は比較器を介してデータメモリをアクセスするが、入替
え時にはランダムアクセスできなければならない。それ
ゆえ、テストも難しい。
【0089】ところが、本発明による2次キャッシュメ
モリはダイレクトマップ方式であり、非常にシンプルで
ある。ハードウェアはSRAM+比較器ひとつという単
純さである。また、1次キャッシュメモリと2次キャッ
シュメモリが同じ方式であるため、制御回路の設計が容
易(使い回しができる)である。
【図面の簡単な説明】
【図1】本発明の実施例1のハードウェア構成を示す図
である。
【図2】ダイレクトマップ方式のアドレスの構成を示す
図である。
【図3】本発明の動作を説明する図である。
【図4】本発明の動作を説明する図である。
【図5】本発明の実施例2のハードウェア構成を示す図
である。
【図6】実施例2のアドレスの構成を示す図である。
【図7】実施例2のアドレスの構成を示す図である。
【図8】従来のキャッシュメモリ方式のミス率を示す図
である。
【図9】本発明の効果を示す図である。
【符号の説明】
100 マイクロプロセッサLSI 110 CPU 120 1次キャッシュメモリ 140 2次キャッシュメモリ 160 メインメモリ 121,141 タグ用メモリ 122,142 ステータスフラグ用メモリ 123,143 データ用メモリ 124,144 比較器 125,145 制御回路 146 インデクス生成回路

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 第1のキャッシュメモリと第2のキャッ
    シュメモリとを有するキャッシュメモリ方式であって、 各キャッシュメモリは、データ用メモリと、タグ用メモ
    リと、比較器と、ヒット発生回路とを含み、 データ用メモリは、ブロック単位にデータを記憶するも
    のであり、 タグ用メモリは、前記データ用メモリの各ブロックに記
    憶したデータがアドレス空間のどこに位置しているもの
    かを示す情報(タグ)を記憶したものであり、 比較器は、アドレス中のアドレスタグと前記タグ用メモ
    リの出力を照合するものであり、 ヒット発生回路は、前記比較器の内容に基づいてヒット
    信号を発生するものであり、 内部からの読み出しアクセスに対して前記第1のキャッ
    シュメモリ手段をアクセスし、 前記第1のキャッシュメモリ手段でヒット信号が発生し
    なければ前記第2のキャッシュメモリ手段をアクセス
    し、 前記第2のキャッシュメモリ手段でヒット信号が発生す
    れば前記第1のキャッシュメモリ手段の該当ブロックと
    前記第2のキャッシュメモリ手段の該当ブロックの内容
    を交換し、 前記第2のキャッシュメモリ手段でヒット信号が発生し
    なければ外部メモリをアクセスすることを特徴とするキ
    ャッシュメモリ方式。
  2. 【請求項2】 前記第1のキャッシュメモリ手段のミス
    によるアクセスにおいて、 アドレスの一部の排他的論理和をとって前記第2のキャ
    ッシュメモリ手段のタグ用メモリとデータ用メモリのア
    ドレスとしたことを特徴とする請求項1に記載のキャッ
    シュメモリ方式。
  3. 【請求項3】 前記第2のキャッシュメモリ手段のメモ
    リ容量が前記第1のキャッシュメモリ手段のメモリ容量
    以下としたことを特徴とする請求項2に記載のキャッシ
    ュメモリ方式。
  4. 【請求項4】 請求項2に記載のキャッシュメモリ方式
    をもつ第1及び第2のキャッシュメモリ手段と中央処理
    装置とを同一のLSIチップに集積し、 前記第1のキャッシュメモリ手段と前記第2のキャッシ
    ュメモリ手段の間の転送をクロックサイクル毎に行うこ
    とを特徴とするマイクロプロセッサ装置。
  5. 【請求項5】 請求項3に記載のキャッシュメモリ方式
    をもつ第1及び第2のキャッシュメモリ手段と中央処理
    装置とを同一のLSIチップに集積し、 前記第1のキャッシュメモリ手段と前記第2のキャッシ
    ュメモリ手段の間の転送をクロックサイクル毎に行うこ
    とを特徴とするマイクロプロセッサ装置。
JP15746792A 1992-05-25 1992-05-25 キャッシュメモリ方式及びマイクロプロセッサ装置 Expired - Fee Related JP3262182B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15746792A JP3262182B2 (ja) 1992-05-25 1992-05-25 キャッシュメモリ方式及びマイクロプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15746792A JP3262182B2 (ja) 1992-05-25 1992-05-25 キャッシュメモリ方式及びマイクロプロセッサ装置

Publications (2)

Publication Number Publication Date
JPH05324473A true JPH05324473A (ja) 1993-12-07
JP3262182B2 JP3262182B2 (ja) 2002-03-04

Family

ID=15650313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15746792A Expired - Fee Related JP3262182B2 (ja) 1992-05-25 1992-05-25 キャッシュメモリ方式及びマイクロプロセッサ装置

Country Status (1)

Country Link
JP (1) JP3262182B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461212B2 (en) 2005-08-22 2008-12-02 Fujitsu Limited Non-inclusive cache system with simple control operation
EP2782016A1 (en) 2013-03-21 2014-09-24 Fujitsu Limited Cache memory device, information processing device, and cache memory control method
JP6266850B1 (ja) * 2015-01-15 2018-01-24 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスにおけるビクティムキャッシュモードを改善するためのシステムおよび方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461212B2 (en) 2005-08-22 2008-12-02 Fujitsu Limited Non-inclusive cache system with simple control operation
EP2782016A1 (en) 2013-03-21 2014-09-24 Fujitsu Limited Cache memory device, information processing device, and cache memory control method
JP6266850B1 (ja) * 2015-01-15 2018-01-24 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスにおけるビクティムキャッシュモードを改善するためのシステムおよび方法

Also Published As

Publication number Publication date
JP3262182B2 (ja) 2002-03-04

Similar Documents

Publication Publication Date Title
US5581725A (en) Cache memory system having first and second direct-mapped cache memories organized in hierarchical structure
JP3821644B2 (ja) 旧キャッシュラインを無効化および除去する装置
US6014732A (en) Cache memory with reduced access time
JP3802061B2 (ja) アドレス変換速度アップのための並列アクセスマイクロ−tlb
JP3666689B2 (ja) 仮想アドレス変換方法
US7493445B2 (en) Cache memory system and control method of the cache memory system
KR20010101694A (ko) 가상 메모리 시스템에서의 메모리 접근 개선 기술
JP2001195303A (ja) 機能が並列に分散された変換索引バッファ
JP3439167B2 (ja) コンピュータ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置
JP3262182B2 (ja) キャッシュメモリ方式及びマイクロプロセッサ装置
KR960008320B1 (ko) 어드레스 변환장치 및 어드레스 변환방법
JPH02308349A (ja) バッファ記憶制御装置
JPH035851A (ja) バッファ記憶装置
JPH0830568A (ja) 分散メモリ型並列計算機のキャッシュ制御方式
JP3564343B2 (ja) キャッシュバイパス時のデータ転送装置と方法
JPH05216767A (ja) エントリ置き換え制御方式
US6581139B1 (en) Set-associative cache memory having asymmetric latency among sets
JP3158761B2 (ja) キャッシュメモリ装置および制御方法
JPH01106149A (ja) 情報処理装置
JPH0652056A (ja) キャシュメモリシステム
JPS6280742A (ja) バツフア記憶制御方式
JPH11296431A (ja) 情報処理装置及びキャッシュメモリのマッピング方法
JPH02176839A (ja) 情報処理装置
JPH02171944A (ja) バッファ記憶装置
JPH10124389A (ja) キャッシュ装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980721

LAPS Cancellation because of no payment of annual fees