JP3262182B2 - キャッシュメモリ方式及びマイクロプロセッサ装置 - Google Patents
キャッシュメモリ方式及びマイクロプロセッサ装置Info
- Publication number
- JP3262182B2 JP3262182B2 JP15746792A JP15746792A JP3262182B2 JP 3262182 B2 JP3262182 B2 JP 3262182B2 JP 15746792 A JP15746792 A JP 15746792A JP 15746792 A JP15746792 A JP 15746792A JP 3262182 B2 JP3262182 B2 JP 3262182B2
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- memory
- address
- 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.)
- Expired - Fee Related
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明は、キャッシュメモリ方
式、特に、複数のダイレクトマップ方式のキャッシュメ
モリを階層的に接続したキャッシュメモリ方式及びマイ
クロプロセッサ装置に関する。
式、特に、複数のダイレクトマップ方式のキャッシュメ
モリを階層的に接続したキャッシュメモリ方式及びマイ
クロプロセッサ装置に関する。
【0002】
【従来の技術】近年の半導体装置の進歩をみると、マイ
クロプロセッサのクロック周波数が年々向上するのに対
し、メインメモリとなるDRAMやROMのアクセス時
間はそれほど短くならない。このスピードギャップを埋
めるために、高速・小容量のメモリで構成するキャッシ
ュメモリ装置をプロセッサとメインメモリの間に設ける
方策が、よく採用されている。
クロプロセッサのクロック周波数が年々向上するのに対
し、メインメモリとなるDRAMやROMのアクセス時
間はそれほど短くならない。このスピードギャップを埋
めるために、高速・小容量のメモリで構成するキャッシ
ュメモリ装置をプロセッサとメインメモリの間に設ける
方策が、よく採用されている。
【0003】キャッシュメモリの基本方式は後述の参考
1で詳しく説明されている。メインメモリをあらかじめ
一定の容量(普通16Byte程度)にブロック分け
し、これらの一部のブロックをキャッシュメモリに格納
する。キャッシュメモリ内のブロックをエントリと呼
ぶ。
1で詳しく説明されている。メインメモリをあらかじめ
一定の容量(普通16Byte程度)にブロック分け
し、これらの一部のブロックをキャッシュメモリに格納
する。キャッシュメモリ内のブロックをエントリと呼
ぶ。
【0004】キャッシュメモリの各エントリは、3つの
部分から構成される。(1)データを格納するデータ
部、(2)どのアドレスにあるブロックが書込まれてい
るかを示す情報(タグと呼ぶ)を格納するタグ部、
(3)そのエントリに有効なデータが格納されているか
否かを示すステータスフラグ、である。方式によっては
ステータスに別の意味を持たせることもある。
部分から構成される。(1)データを格納するデータ
部、(2)どのアドレスにあるブロックが書込まれてい
るかを示す情報(タグと呼ぶ)を格納するタグ部、
(3)そのエントリに有効なデータが格納されているか
否かを示すステータスフラグ、である。方式によっては
ステータスに別の意味を持たせることもある。
【0005】キャッシュメモリの構成には、ダイレクト
マップ方式、セット・アソシアティブ方式、フル・アソ
シアティブ方式の3通りがある。
マップ方式、セット・アソシアティブ方式、フル・アソ
シアティブ方式の3通りがある。
【0006】ダイレクトマップ方式 RAMで構成するタグ部,ステータスフラグ,データ部
を1組づつ持つ。アドレスの下位ビット(インデクス)
をアドレスにしてRAM(タグ部とデータ部)をアクセ
スする。タグ部からの出力とアドレスの上位ビット(タ
グ)が等しく、ステータスフラグの内容が「有効」であ
れば、そのエントリのデータ部は有効(ヒット)であ
る。
を1組づつ持つ。アドレスの下位ビット(インデクス)
をアドレスにしてRAM(タグ部とデータ部)をアクセ
スする。タグ部からの出力とアドレスの上位ビット(タ
グ)が等しく、ステータスフラグの内容が「有効」であ
れば、そのエントリのデータ部は有効(ヒット)であ
る。
【0007】セット・アソシアティブ方式 ダイレクトマップ方式のRAMをN組(普通2または4
組)持ち、並列にアクセスする。ヒットした組がひとつ
でもあれば、ヒットした組のデータ部の出力が選択され
る。
組)持ち、並列にアクセスする。ヒットした組がひとつ
でもあれば、ヒットした組のデータ部の出力が選択され
る。
【0008】フル・アソシアティブ方式 各エントリのタグ部に比較器を持ち、アドレスとタグ部
の内容を直接比較する。普通、CAM(Content
Addressable Ram)で構成する。
の内容を直接比較する。普通、CAM(Content
Addressable Ram)で構成する。
【0009】上記3方式のヒット率(ヒット回数/アク
セス回数)は、<<の順で高い。しかし、キャッ
シュメモリのアクセス時間も、<<の順で長くな
る。LSI化したときの面積は、<<の順で大き
くなる。特に、方式は、面積の増加が大きく、ヒット
しなかったとき(ミスしたとき)の処理が複雑など、欠
点が多い。
セス回数)は、<<の順で高い。しかし、キャッ
シュメモリのアクセス時間も、<<の順で長くな
る。LSI化したときの面積は、<<の順で大き
くなる。特に、方式は、面積の増加が大きく、ヒット
しなかったとき(ミスしたとき)の処理が複雑など、欠
点が多い。
【0010】最近のRISC(Reduced Ins
truction Set Computer)CPU
では、キャッシュメモリのアクセス時間がクロック周波
数に直接影響するため、(ダイレクトマップ方式)を
採用するものが多い。
truction Set Computer)CPU
では、キャッシュメモリのアクセス時間がクロック周波
数に直接影響するため、(ダイレクトマップ方式)を
採用するものが多い。
【0011】方式のミス率(1−ヒット率)の違い
を図8(参考文献1の図8,12のデータに基づく)に
示す。上記方式またはでは、異なるアドレスが同一
のエントリを使うよう強制されるためのミス(コンフリ
クト・ミスと呼ぶ)が発生するため、方式よりもミス
率が増加する。
を図8(参考文献1の図8,12のデータに基づく)に
示す。上記方式またはでは、異なるアドレスが同一
のエントリを使うよう強制されるためのミス(コンフリ
クト・ミスと呼ぶ)が発生するため、方式よりもミス
率が増加する。
【0012】もうひとつ図8から読取れるのは、キャッ
シュメモリの容量が大きくなるにしたがってコスト/パ
フォーマンスが低下していることである。キャッシュ容
量が2倍になるにしたがって、ミス率は一定の割合で減
少(0.7〜0.8倍)している。一方、キャッシュメ
モリをLSI化したときの面積は、容量にほぼ比例して
いる。
シュメモリの容量が大きくなるにしたがってコスト/パ
フォーマンスが低下していることである。キャッシュ容
量が2倍になるにしたがって、ミス率は一定の割合で減
少(0.7〜0.8倍)している。一方、キャッシュメ
モリをLSI化したときの面積は、容量にほぼ比例して
いる。
【0013】そのため、キャッシュメモリとCPUを1
チップLSI化するには、省面積でかつミス率の低いキ
ャッシュメモリ方式が望まれている。
チップLSI化するには、省面積でかつミス率の低いキ
ャッシュメモリ方式が望まれている。
【0014】もうひとつの従来例を挙げる。ダイレクト
マップ方式(方式:高速だがミス率が高い)のキャッ
シュメモリに、小規模なフルアソシアティブ方式(方式
:低速だがミスが低い)のキャッシュメモリを付加し
た、効率の良いキャッシュメモリ方式が後述の参考文献
2で提案されている。
マップ方式(方式:高速だがミス率が高い)のキャッ
シュメモリに、小規模なフルアソシアティブ方式(方式
:低速だがミスが低い)のキャッシュメモリを付加し
た、効率の良いキャッシュメモリ方式が後述の参考文献
2で提案されている。
【0015】ダイレクトマップ方式キャッシュ(1次キ
ャッシュ)がミスした場合、2次キャッシュとしてフル
アソシアティブ方式キャッシュ(彼等はヴィクティムキ
ャッシュと呼んでいる)をアクセスする。
ャッシュ)がミスした場合、2次キャッシュとしてフル
アソシアティブ方式キャッシュ(彼等はヴィクティムキ
ャッシュと呼んでいる)をアクセスする。
【0016】2次キャッシュがミスした場合はメインメ
モリをアクセスする。どちらのキャッシュメモリもCP
Uと同一のLSIチップに組込まれているので、1次キ
ャッシュと2次キャッシュの間の転送は高速(1クロッ
クサイクル)で行なわれる。
モリをアクセスする。どちらのキャッシュメモリもCP
Uと同一のLSIチップに組込まれているので、1次キ
ャッシュと2次キャッシュの間の転送は高速(1クロッ
クサイクル)で行なわれる。
【0017】ダイレクトマップ方式キャッシュメモリの
コンフリクト・ミスの大半が2次キャッシュにヒットす
るので、1次キャッシュを2倍の容量にするのと同程度
のミス率低減効果が、4〜8エントリの2次キャッシュ
で得られる。
コンフリクト・ミスの大半が2次キャッシュにヒットす
るので、1次キャッシュを2倍の容量にするのと同程度
のミス率低減効果が、4〜8エントリの2次キャッシュ
で得られる。
【0018】参考文献2では1次キャッシュと2次キャ
ッシュの内容に重複が無いように制御することで、少な
いエントリ数の2次キャッシュで効果を上げている。
ッシュの内容に重複が無いように制御することで、少な
いエントリ数の2次キャッシュで効果を上げている。
【0019】この方式の欠点は、2次キャッシュにフル
アソシアティブ方式を用いていることである。フルアソ
シアティブ方式は、各エントリに比較器を持つため面積
の増加が著しい。また、ミスした場合にどのエントリを
入替えるかを決める制御論理(通常はLRU:Leas
t Recent Used)が複雑であり、テストも
難しい。ただし、速度が遅いという欠点だけは、1次キ
ャッシュがミスしたときだけ使用されるため、あまり問
題ではない。
アソシアティブ方式を用いていることである。フルアソ
シアティブ方式は、各エントリに比較器を持つため面積
の増加が著しい。また、ミスした場合にどのエントリを
入替えるかを決める制御論理(通常は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.
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.
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化するときに、占有面積が小さく、か
つ性能の良いキャッシュメモリ方式を提供するととも
に、このキャッシュメモリ方式を使用したマイクロプロ
セッサ装置を提供することにある。
リを一体にLSI化するときに、占有面積が小さく、か
つ性能の良いキャッシュメモリ方式を提供するととも
に、このキャッシュメモリ方式を使用したマイクロプロ
セッサ装置を提供することにある。
【0025】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係わるキャッシュメモリ方式は、第1のキ
ャッシュメモリと第2のキャッシュメモリとを有するキ
ャッシュメモリ方式であって、第1のキャッシュメモリ
手段をアクセスするアドレスで指定される該当ブロック
を保持する保持手段を有し、各キャッシュメモリは、デ
ータ用メモリと、タグ用メモリと、比較器と、ヒット発
生回路とを含み、データ用メモリは、ブロック単位にデ
ータを記憶するものであり、タグ用メモリは、前記デー
タ用メモリの各ブロックに記憶したデータがアドレス空
間のどこに位置しているものかを示す情報(タグ)を記
憶したものであり、比較器は、アドレス中のアドレスタ
グと前記タグ用メモリの出力を照合するものであり、ヒ
ット発生回路は、前記比較器の内容に基づいてヒット信
号を発生するものであり、内部からの読み出しアクセス
に対して前記第1のキャッシュメモリ手段をアクセス
し、前記第1のキャッシュメモリ手段でヒット信号が発
生しなければ前記読み出しでアドレス指定される該当ブ
ロックの内容を前記保持手段に保持すると共に前記第2
のキャッシュメモリ手段をアクセスし、前記第2のキャ
ッシュメモリ手段でヒット信号が発生すれば前記第2の
キャッシュメモリ手段の該当ブロックの内容を前記第1
のキャッシュメモリ手段の該当ブロックへ書き込み、前
記保持手段に保持した内容を前記第2のキャッシュメモ
リ手段の該当ブロックへ書き込むことで両該当ブロック
の内容を交換し、前記第2のキャッシュメモリ手段でヒ
ット信号が発生しなければ外部メモリをアクセスするも
のである。
め、本発明に係わるキャッシュメモリ方式は、第1のキ
ャッシュメモリと第2のキャッシュメモリとを有するキ
ャッシュメモリ方式であって、第1のキャッシュメモリ
手段をアクセスするアドレスで指定される該当ブロック
を保持する保持手段を有し、各キャッシュメモリは、デ
ータ用メモリと、タグ用メモリと、比較器と、ヒット発
生回路とを含み、データ用メモリは、ブロック単位にデ
ータを記憶するものであり、タグ用メモリは、前記デー
タ用メモリの各ブロックに記憶したデータがアドレス空
間のどこに位置しているものかを示す情報(タグ)を記
憶したものであり、比較器は、アドレス中のアドレスタ
グと前記タグ用メモリの出力を照合するものであり、ヒ
ット発生回路は、前記比較器の内容に基づいてヒット信
号を発生するものであり、内部からの読み出しアクセス
に対して前記第1のキャッシュメモリ手段をアクセス
し、前記第1のキャッシュメモリ手段でヒット信号が発
生しなければ前記読み出しでアドレス指定される該当ブ
ロックの内容を前記保持手段に保持すると共に前記第2
のキャッシュメモリ手段をアクセスし、前記第2のキャ
ッシュメモリ手段でヒット信号が発生すれば前記第2の
キャッシュメモリ手段の該当ブロックの内容を前記第1
のキャッシュメモリ手段の該当ブロックへ書き込み、前
記保持手段に保持した内容を前記第2のキャッシュメモ
リ手段の該当ブロックへ書き込むことで両該当ブロック
の内容を交換し、前記第2のキャッシュメモリ手段でヒ
ット信号が発生しなければ外部メモリをアクセスするも
のである。
【0026】また、前記第1のキャッシュメモリ手段の
ミスによるアクセスにおいて、アドレスの一部の排他的
論理和をとって前記第2のキャッシュメモリ手段のタグ
用メモリとデータ用メモリのアドレスとしたものであ
る。
ミスによるアクセスにおいて、アドレスの一部の排他的
論理和をとって前記第2のキャッシュメモリ手段のタグ
用メモリとデータ用メモリのアドレスとしたものであ
る。
【0027】また、前記第2のキャッシュメモリ手段の
メモリ容量が前記第1のキャッシュメモリ手段のメモリ
容量以下としたものである。
メモリ容量が前記第1のキャッシュメモリ手段のメモリ
容量以下としたものである。
【0028】また、本発明に係るマイクロプロセッサ装
置は、第1のキャッシュメモリ手段のミスによるアクセ
スにおいて、アドレスの一部の排他的論理和をとって第
2のキャッシュメモリ手段のタグ用メモリとデータ用メ
モリのアドレスとしたキャッシュメモリ方式をもつ第1
及び第2のキャッシュメモリ手段と中央処理装置とを同
一のLSIチップに集積し、前記第1のキャッシュメモ
リ手段と前記第2のキャッシュメモリ手段の間の転送を
クロックサイクル毎に行うものである。
置は、第1のキャッシュメモリ手段のミスによるアクセ
スにおいて、アドレスの一部の排他的論理和をとって第
2のキャッシュメモリ手段のタグ用メモリとデータ用メ
モリのアドレスとしたキャッシュメモリ方式をもつ第1
及び第2のキャッシュメモリ手段と中央処理装置とを同
一のLSIチップに集積し、前記第1のキャッシュメモ
リ手段と前記第2のキャッシュメモリ手段の間の転送を
クロックサイクル毎に行うものである。
【0029】また、本発明に係るマイクロプロセッサ装
置は、第2のキャッシュメモリ手段が第1のキャッシュ
メモリ手段のメモリ容量以下としたキャッシュメモリ方
式をもつ第1及び第2のキャッシュメモリ手段と中央処
理装置とを同一のLSIチップに集積し、前記第1のキ
ャッシュメモリ手段と前記第2のキャッシュメモリ手段
の間の転送をクロックサイクル毎に行うものである。
置は、第2のキャッシュメモリ手段が第1のキャッシュ
メモリ手段のメモリ容量以下としたキャッシュメモリ方
式をもつ第1及び第2のキャッシュメモリ手段と中央処
理装置とを同一のLSIチップに集積し、前記第1のキ
ャッシュメモリ手段と前記第2のキャッシュメモリ手段
の間の転送をクロックサイクル毎に行うものである。
【0030】
【作用】上述した従来のヴィクティム・キャッシュメモ
リ方式は、ダイレクトマップ方式の1次キャッシュメモ
リと小規模なフルアソシアティブ方式の2次キャッシュ
メモリを用いて、高速かつ低ミス率のキャッシュシステ
ムを構成する。
リ方式は、ダイレクトマップ方式の1次キャッシュメモ
リと小規模なフルアソシアティブ方式の2次キャッシュ
メモリを用いて、高速かつ低ミス率のキャッシュシステ
ムを構成する。
【0031】これに対し、本発明は、ダイレクトマップ
方式の1次キャッシュメモリと小規模なダイレクトマッ
プ方式の2次キャッシュメモリを用いて、高速かつ低ミ
ス率かつ制御が容易なキャッシュシステムを構成すると
いう独創的内容を有する。
方式の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に集積し、マイクロプロセッサ装置を構成す
る。
サ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が出力するアドレスバスである。
クセスするデータの大きさを指定可能で、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が出力するバス待合わせ信号である。
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ビッ
トのステータスフラグ用メモリである。
の下位ビット(インデクス)をアドレスとしてアドレス
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の出力が一致しているか検出する比較器であ
る。
の下位ビット(インデクスとオフセット)をアドレスと
してデータバス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を制御する制御回路である。
ステータスフラグ用メモリ122,142の出力とアド
レス111,131からキャッシュメモリ120,14
0を制御する制御回路である。
【0040】126,146はキャッシュメモリ12
0,140がミスしたときにメモリアドレスを生成する
アドレスバッファ、134はタグ用メモリ121のタグ
情報を一時保持してタグ用メモリ141に伝えるタグバ
ッファである。
0,140がミスしたときにメモリアドレスを生成する
アドレスバッファ、134はタグ用メモリ121のタグ
情報を一時保持してタグ用メモリ141に伝えるタグバ
ッファである。
【0041】135はデータ用メモリ123のデータを
一時保持してデータ用メモリ143に伝えるタグバッフ
ァである。
一時保持してデータ用メモリ143に伝えるタグバッフ
ァである。
【0042】アドレスバス111,131のアドレス値
がどのようにキャッシュメモリ120,140で使われ
るかを図2に示す。ブロックサイズが2b バイトとする
と、ブロック内オフセットはbビット幅、キャッシュの
エントリ数が2i エントリとすると、インデクスはiビ
ット幅、タグはアドレスのビット幅からインデクスとオ
フセットを引いた幅をもつ。
がどのようにキャッシュメモリ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)となる。
ッシュの容量が8Kバイト、ブロックサイズが16バイ
トの場合、ブロック内オフセットは4ビット(24 =1
6)、エントリ数は512(=8K/16)であるの
で、インデクスは9ビット(29 =512)、タグは1
9ビット(=32−9−4)となる。
【0044】ブロックサイズbは、1次キャッシュメモ
リ120と2次キャッシュメモリ140で同じ大きさと
する。
リ120と2次キャッシュメモリ140で同じ大きさと
する。
【0045】次に、図1のキャッシュメモリ方式の動作
について、図3,図4を用いて説明する。
について、図3,図4を用いて説明する。
【0046】制御回路125によって制御される、1次
キャッシュメモリ120の動作を図3に示す。ステータ
スフラグ122の内容は「無効」に初期化されているも
のとする。
キャッシュメモリ120の動作を図3に示す。ステータ
スフラグ122の内容は「無効」に初期化されているも
のとする。
【0047】CPU110によるメモリアクセスが発生
すると、アドレス111のインデクスをアドレスとして
メモリ121,122を読み出し(ステップ301)、
タグ用メモリ121の出力とアドレス110のタグを比
較器124で比較する(ステップ302)。比較が等し
く、かつ、ステータスフラグ122が「有効」または
「書込」を示す場合はヒット、それ以外はミスである。
すると、アドレス111のインデクスをアドレスとして
メモリ121,122を読み出し(ステップ301)、
タグ用メモリ121の出力とアドレス110のタグを比
較器124で比較する(ステップ302)。比較が等し
く、かつ、ステータスフラグ122が「有効」または
「書込」を示す場合はヒット、それ以外はミスである。
【0048】ヒットした場合、アドレス111のインデ
クスおよびブロック内オフセットをアドレスとして、デ
ータバス112を介して、データ用メモリ123の内容
を読み書きする(ステップ304,305)。
クスおよびブロック内オフセットをアドレスとして、デ
ータバス112を介して、データ用メモリ123の内容
を読み書きする(ステップ304,305)。
【0049】CPU110からのアクセスが書込みであ
る場合は、データ用メモリ123の内容を、エントリ中
の指定されたアドレスに指定されたサイズ(バイト幅,
ワード幅など)の部分だけ書換え、ステータスフラグに
「書込」を書込む(ステップ305,306)。
る場合は、データ用メモリ123の内容を、エントリ中
の指定されたアドレスに指定されたサイズ(バイト幅,
ワード幅など)の部分だけ書換え、ステータスフラグに
「書込」を書込む(ステップ305,306)。
【0050】ミスした場合、まず、ステータスフラグ1
22が「書込」か「有効」か「無効」かを判定し(ステ
ップ307)、「書込」ならばインデクスで指定されて
いるエントリを2次キャッシュメモリ140に書込む
(ステップ308)。このとき、タグメモリ122から
読み出した値をアドレスとし、データはデータ用メモリ
123の内容である。ステータスフラグ122が「有
効」ならば該当するエントリのタグとデータをバッファ
134,135に保存する(ステップ309)。
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)。
場合は、次に、外からアドレス111で指定されたエン
トリを読み込む。読み込んだエントリに対して、アドレ
ス111で指定されたサイズ分だけ、データ用メモリ1
23の内容をデータバス112を介してCPU110に
転送する(ステップ311)。同時に、タグ用メモリ1
21にアドレス111のタグを、ステータスフラグ12
2に「有効」を書込む(ステップ312,313)。
【0052】CPU110からのアクセスが書込みの場
合は、次にタグ用メモリにアドレス111のタグを書込
む(ステップ314)。同時に、データ用メモリ123
の内容を、エントリ中の指定されたアドレスに指定され
たサイズ(バイト幅,ワード幅など)の部分だけが書換
え、ステータスフラグに「書込」を書込む(ステップ3
05,306)。
合は、次にタグ用メモリにアドレス111のタグを書込
む(ステップ314)。同時に、データ用メモリ123
の内容を、エントリ中の指定されたアドレスに指定され
たサイズ(バイト幅,ワード幅など)の部分だけが書換
え、ステータスフラグに「書込」を書込む(ステップ3
05,306)。
【0053】制御回路145によって制御される、2次
キャッシュメモリ140の動作を図4に示す。動作は、
1次キャッシュメモリ120と似ているが一部異なる。
キャッシュメモリ140の動作を図4に示す。動作は、
1次キャッシュメモリ120と似ているが一部異なる。
【0054】1次キャッシュメモリ120によるメモリ
アクセスが発生すると、アドレス131のインデクスを
アドレスとしてメモリ141,142を読み出し(ステ
ップ401)、タグ用メモリ141の出力とアドレス1
31のタグを比較器144で比較する(ステップ40
2)。比較が等しく、かつ、ステータスフラグ142が
「有効」または「書込」を示す場合はヒット、それ以外
はミスである。
アクセスが発生すると、アドレス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)。
クスおよびブロック内オフセットをアドレスとして、デ
ータバス132を介して、データ用メモリ143の内容
を読み書きする(ステップ404,408)。1次キャ
ッシュメモリ120からのアクセスが読み出しである場
合は、バッファ134,135に保存してある1次キャ
ッシュメモリの該当エントリの内容をメモリ141,1
43に転送する(ステップ405,406)。
【0056】それから、ステータスフラグ142に、読
出しアクセスなら1次キャッシュメモリの該当エントリ
のステータス値を、書込アクセスなら「書込」を書込む
(ステップ407,409)。
出しアクセスなら1次キャッシュメモリの該当エントリ
のステータス値を、書込アクセスなら「書込」を書込む
(ステップ407,409)。
【0057】ミスした場合、まず、ステータスフラグ1
42が「書込」か「有効」か「無効」かを判定し(ステ
ップ407)、「書込」ならばインデクスで指定されて
いるエントリをメインメモリ160に書込む(ステップ
411)。
42が「書込」か「有効」か「無効」かを判定し(ステ
ップ407)、「書込」ならばインデクスで指定されて
いるエントリをメインメモリ160に書込む(ステップ
411)。
【0058】このとき、タグメモリ142から読み出し
た値をアドレスとし、データはデータ用メモリ143の
内容である。外へのアクセスは1エントリ分であり、ブ
ロックサイズがバス幅より大きいときは複数のバスサイ
クルとなる。
た値をアドレスとし、データはデータ用メモリ143の
内容である。外へのアクセスは1エントリ分であり、ブ
ロックサイズがバス幅より大きいときは複数のバスサイ
クルとなる。
【0059】1次キャッシュメモリ120からのアクセ
スが読み出しの場合は、次に、メインメモリからアドレ
ス131で指定されたエントリを読み込み、2次キャッ
シュメモリの中を素通り(152,136,132)さ
せて1次キャッシュメモリ120にデータを転送する。
スが読み出しの場合は、次に、メインメモリからアドレ
ス131で指定されたエントリを読み込み、2次キャッ
シュメモリの中を素通り(152,136,132)さ
せて1次キャッシュメモリ120にデータを転送する。
【0060】1次キャッシュメモリ120からのアクセ
スが書込みの場合は、次に、タグ用メモリ141にアド
レス131のタグを書込む(ステップ414)。同時
に、データ用メモリ143の内容を、エントリ中の指定
されたアドレスに指定されたサイズ(バイト幅,ワード
幅など)の部分だけが書換え、ステータスフラグに「書
込」を書込む(ステップ408,409)。
スが書込みの場合は、次に、タグ用メモリ141にアド
レス131のタグを書込む(ステップ414)。同時
に、データ用メモリ143の内容を、エントリ中の指定
されたアドレスに指定されたサイズ(バイト幅,ワード
幅など)の部分だけが書換え、ステータスフラグに「書
込」を書込む(ステップ408,409)。
【0061】1次キャッシュメモリ120がミスした場
合の処理が終了するまで、制御回路125は信号113
によってCPU110を待たせておく。同様に、2次キ
ャッシュメモリ140へのアクセス(ステップ408,
410)は、制御信号133によって待たされる場合が
ある。
合の処理が終了するまで、制御回路125は信号113
によってCPU110を待たせておく。同様に、2次キ
ャッシュメモリ140へのアクセス(ステップ408,
410)は、制御信号133によって待たされる場合が
ある。
【0062】キャッシュメモリ単体の制御方式自体は公
知のものである。
知のものである。
【0063】ここで述べたキャッシュメモリ単体の制御
方式は、一般にはライトバック(コピーバック,ストア
インとも呼ぶ)という方式である。ステータスフラグ1
22,142は、3状態(「無効」,「有効」,「書
込」)を持つ。上位からの書込みアクセスは、直接には
下位に伝えられない。
方式は、一般にはライトバック(コピーバック,ストア
インとも呼ぶ)という方式である。ステータスフラグ1
22,142は、3状態(「無効」,「有効」,「書
込」)を持つ。上位からの書込みアクセスは、直接には
下位に伝えられない。
【0064】上位からの書込みアクセスがあると、直
接、下位のメモリを書込む方式(ライトスルーと呼ぶ)
もある。ステータスフラグ122,142は、2状態
(「無効」,「有効」)しかなく、制御は単純である。
しかし、ライトバック方式よりミス率は高い。
接、下位のメモリを書込む方式(ライトスルーと呼ぶ)
もある。ステータスフラグ122,142は、2状態
(「無効」,「有効」)しかなく、制御は単純である。
しかし、ライトバック方式よりミス率は高い。
【0065】マイクロプロセッサに対応するために、ス
テータスフラグの状態を更に増やしたライトバック方式
もある。
テータスフラグの状態を更に増やしたライトバック方式
もある。
【0066】通常のライトバック方式と異なるのは、1
次キャッシュメモリと2次キャッシュメモリの間にデー
タの重複がないようにしていることである。
次キャッシュメモリと2次キャッシュメモリの間にデー
タの重複がないようにしていることである。
【0067】読み出しアクセスにおいて、1次,2次キ
ャッシュメモリ共にミスのときは、メインメモリから1
次キャッシュメモリにデータが転送され、1次キャッシ
ュメモリがミスし2次キャッシュメモリがヒットしたと
きは、1次キャッシュメモリと2次キャッシュメモリの
データを入替える。このように制御することで、1次キ
ャッシュメモリと2次キャッシュメモリに同一アドレス
のデータは重複しない。よって、2次キャッシュメモリ
の効率を上げている。
ャッシュメモリ共にミスのときは、メインメモリから1
次キャッシュメモリにデータが転送され、1次キャッシ
ュメモリがミスし2次キャッシュメモリがヒットしたと
きは、1次キャッシュメモリと2次キャッシュメモリの
データを入替える。このように制御することで、1次キ
ャッシュメモリと2次キャッシュメモリに同一アドレス
のデータは重複しない。よって、2次キャッシュメモリ
の効率を上げている。
【0068】本発明の要旨は、キャッシュメモリ単体の
制御方式でなく、階層構造と、1次/2次キャッシュメ
モリを同等のアクセス時間でアクセスできること、1次
と2次のキャッシュメモリ間での転送が高速にできるこ
とである。
制御方式でなく、階層構造と、1次/2次キャッシュメ
モリを同等のアクセス時間でアクセスできること、1次
と2次のキャッシュメモリ間での転送が高速にできるこ
とである。
【0069】これらのキャッシュメモリ単体の制御方式
が、キャッシュメモリ120,140にどのような組合
せで実現されていても、本発明の主旨に見合うことは言
うまでもない。
が、キャッシュメモリ120,140にどのような組合
せで実現されていても、本発明の主旨に見合うことは言
うまでもない。
【0070】(実施例2)次に本発明の実施例2を説明
する。図5に本発明の実施例2を示す。実施例1(図
1)と異なるのは、2ヵ所ある。ひとつは、2次キャッ
シュメモリ140において、メモリ141,142,1
43のアドレスとなるインデクスを、インデクス生成回
路146を用いて生成していることである。もうひとつ
は、タグ用メモリの幅(tビット)が、実施例1より広
いことである。
する。図5に本発明の実施例2を示す。実施例1(図
1)と異なるのは、2ヵ所ある。ひとつは、2次キャッ
シュメモリ140において、メモリ141,142,1
43のアドレスとなるインデクスを、インデクス生成回
路146を用いて生成していることである。もうひとつ
は、タグ用メモリの幅(tビット)が、実施例1より広
いことである。
【0071】アドレスバス131のアドレス値がどのよ
うにキャッシュメモリ140で使われるかを図6,図7
に示す。図2と違って、アドレスからブロック内オフセ
ットを抜いた分が、タグとなっている。インデクスは、
タグの一部をインデクス生成回路146によってハッシ
ュして得る。ハッシュ関数としては、図6,図7のよう
に、階層的に排他的論理和をとったものを用いる。
うにキャッシュメモリ140で使われるかを図6,図7
に示す。図2と違って、アドレスからブロック内オフセ
ットを抜いた分が、タグとなっている。インデクスは、
タグの一部をインデクス生成回路146によってハッシ
ュして得る。ハッシュ関数としては、図6,図7のよう
に、階層的に排他的論理和をとったものを用いる。
【0072】アドレスのハッシュされる部分は、1次キ
ャッシュメモリのインデクスとタグの一部(アドレスの
ビット位置で)を含むようにすると良い。コンフリクト
ミスが解消されミス率が減るためである。
ャッシュメモリのインデクスとタグの一部(アドレスの
ビット位置で)を含むようにすると良い。コンフリクト
ミスが解消されミス率が減るためである。
【0073】図6の例ではハッシュするビットを下位か
ら詰めて取っているが、図7のようにタグ全体から取っ
てきてもよい。
ら詰めて取っているが、図7のようにタグ全体から取っ
てきてもよい。
【0074】また、図6,図7では排他的論理和を2段
階のツリー構造にしているが、1段だけにしても、3段
階以上のツリーにしてもよいことは言うまでもない。
階のツリー構造にしているが、1段だけにしても、3段
階以上のツリーにしてもよいことは言うまでもない。
【0075】インデクス生成回路146によって2次キ
ャッシュメモリ140のアクセス時間は長くなる。しか
し、CPU110から1次キャッシュメモリ120への
アクセスと並行して、インデクス生成回路146を動作
させることによって、アクセス時間を長くしないことが
できる。
ャッシュメモリ140のアクセス時間は長くなる。しか
し、CPU110から1次キャッシュメモリ120への
アクセスと並行して、インデクス生成回路146を動作
させることによって、アクセス時間を長くしないことが
できる。
【0076】ここで、従来例,実施例の性能とハードウ
ェアコストを計算してみる。
ェアコストを計算してみる。
【0077】ノーウェイトのメモリを毎クロックアクセ
スできるときの性能を1.0とした、CPUの相対性能
は以下のように表わせる。CPUからは毎クロックでメ
モリアクセスが発生するものとする。
スできるときの性能を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) とすると、
k) B2 2次キャッシュメモリのアクセス時間(cloc
k) B3 メインメモリのアクセス時間(clock) b ブロックサイズ(Byte) a バス幅(Byte) とすると、
【0079】キャッシュメモリが1階層(従来方式)の
場合、 相対性能=1/{(1−M1)×B1 +(M1×b/a×B3)} …(2)
場合、 相対性能=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)
キャッシュまたは本発明)の場合、 相対性能=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)から求めた。
B程度のデータ)において、ダイレクトマップ方式のキ
ャッシュメモリの容量とミス率を測定した結果を表1に
示す。相対性能は式(2),(4)から求めた。
【0083】
【表1】
【0084】同じアプリケーションで、ヴィクティムキ
ャッシュ方式、実施例1,2について測定した結果を表
2に示す。相対性能は、式(3),(4)から求めた。
1次キャッシュメモリは全て、8Kバイトのダイレクト
マップ方式(表1の例1と同じ)である。
ャッシュ方式、実施例1,2について測定した結果を表
2に示す。相対性能は、式(3),(4)から求めた。
1次キャッシュメモリは全て、8Kバイトのダイレクト
マップ方式(表1の例1と同じ)である。
【0085】例3はヴィクティムキャッシュの一例、例
4,例5は本発明の実施例1の例、例6,例7は本発明
の実施例2の例である。
4,例5は本発明の実施例1の例、例6,例7は本発明
の実施例2の例である。
【0086】上記6例の性能を、図8にまとめる。さら
に、図8には、各例をLSI化したときの相対面積(例
2を1とした)と、効率(相対性能/相対面積)を示し
た。
に、図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)は複雑であり、通常
は比較器を介してデータメモリをアクセスするが、入替
え時にはランダムアクセスできなければならない。それ
ゆえ、テストも難しい。
ッシュメモリ方式は、以下の効果を有する。 性能が高い。図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次キャッ
シュメモリが同じ方式であるため、制御回路の設計が容
易(使い回しができる)である。
モリはダイレクトマップ方式であり、非常にシンプルで
ある。ハードウェアは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 インデクス生成回路
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 12/08 509 G06F 12/08 509D 597 597 (56)参考文献 特開 平4−49445(JP,A) 特開 昭58−91573(JP,A) 特開 昭61−241853(JP,A) 特開 昭53−33023(JP,A) 特開 昭61−15247(JP,A) 特開 昭54−89531(JP,A)
Claims (5)
- 【請求項1】 第1のキャッシュメモリと第2のキャッ
シュメモリとを有するキャッシュメモリ方式であって、
第1のキャッシュメモリ手段をアクセスするアドレスで
指定される該当ブロックを保持する保持手段を有し、各
キャッシュメモリは、データ用メモリと、タグ用メモリ
と、比較器と、ヒット発生回路とを含み、データ用メモ
リは、ブロック単位にデータを記憶するものであり、タ
グ用メモリは、前記データ用メモリの各ブロックに記憶
したデータがアドレス空間のどこに位置しているものか
を示す情報(タグ)を記憶したものであり、比較器は、
アドレス中のアドレスタグと前記タグ用メモリの出力を
照合するものであり、ヒット発生回路は、前記比較器の
内容に基づいてヒット信号を発生するものであり、内部
からの読み出しアクセスに対して前記第1のキャッシュ
メモリ手段をアクセスし、前記第1のキャッシュメモリ
手段でヒット信号が発生しなければ前記読み出しでアド
レス指定される該当ブロックの内容を前記保持手段に保
持すると共に前記第2のキャッシュメモリ手段をアクセ
スし、前記第2のキャッシュメモリ手段でヒット信号が
発生すれば前記第2のキャッシュメモリ手段の該当ブロ
ックの内容を前記第1のキャッシュメモリ手段の該当ブ
ロックへ書き込み、前記保持手段に保持した内容を前記
第2のキャッシュメモリ手段の該当ブロックへ書き込む
ことで両該当ブロックの内容を交換し、前記第2のキャ
ッシュメモリ手段でヒット信号が発生しなければ外部メ
モリをアクセスすることを特徴とするキャッシュメモリ
方式。 - 【請求項2】 前記第1のキャッシュメモリ手段のミス
によるアクセスにおいて、アドレスの一部の排他的論理
和をとって前記第2のキャッシュメモリ手段のタグ用メ
モリとデータ用メモリのアドレスとしたことを特徴とす
る請求項1に記載のキャッシュメモリ方式。 - 【請求項3】 前記第2のキャッシュメモリ手段のメモ
リ容量が前記第1のキャッシュメモリ手段のメモリ容量
以下としたことを特徴とする請求項2に記載のキャッシ
ュメモリ方式。 - 【請求項4】 請求項2に記載のキャッシュメモリ方式
をもつ第1及び第2のキャッシュメモリ手段と中央処理
装置とを同一のLSIチップに集積し、前記第1のキャ
ッシュメモリ手段と前記第2のキャッシュメモリ手段の
間の転送をクロックサイクル毎に行うことを特徴とする
マイクロプロセッサ装置。 - 【請求項5】 請求項3に記載のキャッシュメモリ方式
をもつ第1及び第2のキャッシュメモリ手段と中央処理
装置とを同一のLSIチップに集積し、前記第1のキャ
ッシュメモリ手段と前記第2のキャッシュメモリ手段の
間の転送をクロックサイクル毎に行うことを特徴とする
マイクロプロセッサ装置。
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 JPH05324473A (ja) | 1993-12-07 |
JP3262182B2 true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5319049B2 (ja) | 2005-08-22 | 2013-10-16 | 富士通セミコンダクター株式会社 | キャッシュシステム |
JP2014186397A (ja) | 2013-03-21 | 2014-10-02 | Fujitsu Ltd | キャッシュメモリ装置、情報処理装置及びキャッシュメモリ制御方法 |
US9690710B2 (en) * | 2015-01-15 | 2017-06-27 | Qualcomm Incorporated | System and method for improving a victim cache mode in a portable computing device |
-
1992
- 1992-05-25 JP JP15746792A patent/JP3262182B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05324473A (ja) | 1993-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5581725A (en) | Cache memory system having first and second direct-mapped cache memories organized in hierarchical structure | |
US9064330B2 (en) | Shared virtual memory between a host and discrete graphics device in a computing system | |
US6772315B1 (en) | Translation lookaside buffer extended to provide physical and main-memory addresses | |
JP3821644B2 (ja) | 旧キャッシュラインを無効化および除去する装置 | |
JP2833062B2 (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
JP4447580B2 (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
US6014732A (en) | Cache memory with reduced access time | |
EP0470734A1 (en) | Cache memory management system | |
JPH10504124A (ja) | 2方向セットアソシエーテイブ・キャッシュ・メモリ | |
JP2001195303A (ja) | 機能が並列に分散された変換索引バッファ | |
JP3262182B2 (ja) | キャッシュメモリ方式及びマイクロプロセッサ装置 | |
JPH0830568A (ja) | 分散メモリ型並列計算機のキャッシュ制御方式 | |
JPS5922315B2 (ja) | バツフア記憶制御方式 | |
JP3158761B2 (ja) | キャッシュメモリ装置および制御方法 | |
JP2001282616A (ja) | メモリ管理方式 | |
JPH06124237A (ja) | アドレス変換バッファ装置 | |
JPH06250926A (ja) | 複数階層のキャッシュメモリを備えたデータ処理システム | |
JPH086857A (ja) | キャッシュメモリ | |
CN115794681A (zh) | 适用于risc-v的多级可扩展tlb结构 | |
JPH08272687A (ja) | 入出力キャッシュメモリ | |
JPS6280742A (ja) | バツフア記憶制御方式 | |
JPH10124389A (ja) | キャッシュ装置 | |
JPH02171944A (ja) | バッファ記憶装置 | |
JPH03105537A (ja) | データ処理装置 | |
JPH04328655A (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 |