JPH06110781A - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置

Info

Publication number
JPH06110781A
JPH06110781A JP4260980A JP26098092A JPH06110781A JP H06110781 A JPH06110781 A JP H06110781A JP 4260980 A JP4260980 A JP 4260980A JP 26098092 A JP26098092 A JP 26098092A JP H06110781 A JPH06110781 A JP H06110781A
Authority
JP
Japan
Prior art keywords
cache memory
memory
cache
address
tag
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
JP4260980A
Other languages
English (en)
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 JP4260980A priority Critical patent/JPH06110781A/ja
Priority to US08/129,409 priority patent/US5581725A/en
Publication of JPH06110781A publication Critical patent/JPH06110781A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュメモリ装置、
特に複数のダイレクトマップ方式のキャッシュメモリを
階層的に接続したキャッシュメモリ装置に関する。
【0002】
【従来の技術】近年の半導体の進歩をみると、マイクロ
プロセッサのクロック周波数が年々向上するのに対し、
メインメモリとなるDRAMやROMのアクセス時間は
それほど短くならない。このスピードギャップを埋める
ために、高速・小容量のメモリで構成するキャッシュメ
モリ装置をプロセッサとメインメモリの間に設ける方策
がよく採用されている。
【0003】キャッシュメモリの基本方式は、1990
年 Morgan Kaufmann Publish
ers Inc.発行のJohn L Henness
y& David A Patterson.著の図書
“Computer Archtecture: A
Quantitative Approach”(以下
参考文献1という)で詳しく説明されている。
【0004】これは、メインメモリを予め一定の容量
(普通16バイト程度)にブロック分けし、これらの一
部のブロックをキャッシュメモリに格納する。キャッシ
ュメモリ内のブロックをエントリと呼び、キャッシュメ
モリの各エントリは、3つの部分から構成される。すな
わち、(1)データを格納するデータ部、(2)どのア
ドレスにあるブロックが書込まれているかを示す情報
(タグと呼ぶ)を格納するタグ部、(3)そのエントリ
に有効なデータが格納されているか否かを示すステータ
スフラグ、である。方式によってはステータスに別の意
味を持たせることもある。このキャッシュメモリの構成
には次の3通りがある。
【0005】ダイレクトマップ方式 RAMで構成するタグ部,ステータスフラグ,データ部
を1組づつ持つ。アドレスの下位ビット(インデクス)
をアドレスにしてRAM(タグ部とデータ部)をアクセ
スする。タグ部からの出力とアドレスの上位ビット(タ
グ)が等しく、ステータスフラグの内容が「有効」であ
れば、そのエントリのデータ部は有効(ヒット)であ
る。
【0006】セット・アソシアティブ方式 ダイレクトマップ方式のRAMをN組(普通2または4
組)持ち、並列にアクセスする。ヒットした組がひとつ
でもあれば、ヒットした組のデータ部の出力が選択され
る。
【0007】フル・アソシアティブ方式 各エントリのタグ部に比較器を持ち、アドレスとタグ部
の内容を直接比較する。普通、CAM(Content
Addressable Ram)で構成する。
【0008】これら3方式のヒット率(ヒット回数/ア
クセス回数)はが最も高く、次に、次にの順とな
っている。しかし、キャッシュメモリのアクセス時間も
が最も長く、次に、次にとの順で長くなる。LS
I化したときの面積は、〈〈の純で大きくなる。
特に、方式は、面積の増加が大きく、ヒットしなかっ
たとき(ミスしたとき)の処理が複雑など、欠点が多
い。
【0009】最近のRISC型CPUでは、キャッシュ
メモリのアクセス時間がクロック周波数に直接影響する
ため、のダイレクトマップ方式を採用するものが多
い。
【0010】これら,方式のミス率(1−ヒット
率)の違いを図7に示す。これは参考文献1の図8.1
2のデータに基づいている。この方式またはでは、
異なるアドレスが同一のエントリを使うよう強制される
ためのミス(コンフリクト・ミスと呼ぶ)が発生するた
め、方式よりもミス率が増加する。
【0011】また、図7からキャッシュメモリの容量が
大きくなるに従ってコスト/パフォーマンスが低下して
いる点である。キャッシュ容量が2倍になるに従って、
ミス率は一定の割合で減少(0.7〜0.8倍)してい
る。一方、キャッシュメモリをLSI化したときの面積
は、容量にほぼ比例している。そのためキャッシュメモ
リとCPUを1チップLSI化するには、省面積でかつ
ミス率の低いキャッシュメモリ方式が望まれている。
【0012】また、他の従来例として、ダイレクトマッ
プ方式(方式:高速だがミス率が高い)のキャッシュ
メモリに、小規模なフルアソシアティブ方式(方式:
低速だがミスは低い)のキャッシュメモリを付加した効
率の良いキャッシュメモリ方式が“1990,IEEE
InternationaISymposiumon
Computer Archtecture”に揚載
のNorman PJouppiによる論文“Impr
oving Direct−MappedCache
Performance by the Additi
onof a Small Fully−Associ
ative Cache and Piefetch
Buffers”(以下参考文献2という)で提案され
ている。
【0013】ダイレクトマップ方式キャッシュ(1次キ
ャッシュ)がミスした場合、2次キャッシュとしてフル
アソシアティブ方式キャッシュ(これはヴィクティムキ
ャッシュと呼ばれている)をアクセスする。2次キャッ
シュがミスした場合はメインメモリをアクセスする。ど
ちらのキャッシュメモリもCPUと同一のLSIチップ
に組込まれているので、1次キャッシュと2次キャッシ
ュの間の転送は高速(1クロックサイクル)で行なわれ
る。ダイレクトマップ方式キャッシュメモリのコンフリ
クト・ミスの大半が2次キャッシュにヒットするので、
1次キャッシュを2倍の容量にするのと同程度のミス率
低減効果が、4〜8エントリの2次キャッシュで得られ
る。
【0014】この方式の欠点は、2次キャッシュにフル
アソシアティブ方式を用いていることである。フルアソ
シアティブ方式は、各エントリに比較器を持つため面積
の増加が著しい。また、ミスした場合にどのエントリを
入替えるかを決める制御論理(通常はLRU; Lea
st Recent Used)が複雑であり、テスト
も難しい。ただし、速度が遅いという欠点だけは、1次
キャッシュがミスしたときだけ使用されるため余り問題
ではない。
【0015】
【発明が解決しようとする課題】上述した従来の3種類
のキャッシュメモリ装置の問題点は次のようにまとめら
れる。
【0016】ダイレクトマップ方式では、高速である
が、ミス率が高い。面積も小さい。
【0017】セットアソシアティブ方式では、速度,
面積ではに劣り、ミス率ではに劣る。
【0018】フルアソシアティブ方式では、ミス率は
一番低い。しかし、速度は遅く、面積が著しく大きい。
制御論理も複雑であり、テストも難しい。
【0019】もうひとつのヴィクティムキャッシュ方式
は、ダイレクトマップ方式の高速性を活かしたまま、
フルアソシアティブ方式の低ミスを実現する優れた方
式である。しかし、方式の面積,複雑といった欠点は
有しているため改良の余地がある。
【0020】本発明の目的は、ダイレクトマップ方式の
1次キャッシュメモリと小規模なダイレクトマップ方式
の2次キャッシュメモリを用いて、高速かつ低ミス率か
つ制御が容易なキャッシュメモリ装置を提供することに
ある。
【0021】
【課題を解決するための手段】本発明のキャッシュメモ
リ装置の構成は、データを記憶するデータ用メモリと、
このデータ用メモリに記憶したアドレス・タグを記憶し
たタグ用メモリと、このタグ用メモリの出力とアドレス
中のアドレスタグとを照合する比較器と、この比較器の
出力に基づいてヒット信号を発生する回路からなる第1
のキャッシュメモリ手段と;この第1のキャッシュメモ
リ手段と同様の構成の第2のキャッシュメモリ手段とを
備え、外部からのアクセスに対して前記第1のキャッシ
ュメモリ手段をアクセスし、この第1のキャッシュメモ
リ手段でヒット信号が発生しなければ前記第2のキャッ
シュメモリ手段をアクセスし、この第2のキャッシュメ
モリ手段でヒット信号が発生しなければ外部メモリをア
クセスするよう制御することを特徴とするキャッシュメ
モリ装置特徴とする。
【0022】
【実施例】図1は本発明の一実施例のキャッシュメモリ
装置のブロック図である。本実施例はCPU(中央処理
装置)110、1次キャッシュメモリ120、2次キャ
ッシュメモリ140を含むマイクロプロセッサLSI1
00とメインメモリ(主記憶装置)160から構成され
る。
【0023】CPU110が出力するアドレスバス11
1はバイト単位のメモリアドレスとアクセスするデータ
の大きさを指定でき、またCPU110が入出力するデ
ータバス112と1次キャッシュメモリ120が出力す
るバス待合わせ信号113とが、CPU110との接続
であり、1次キャッシュメモリ120が出力するアドレ
スバス131、1次キャッシュメモリ120が入出力す
るデータバス132、2次キャッシュメモリ140が出
力するバス待合わせ信号133がキャッシュメモリ12
0との接続である。また、2次キャッシュメモリ140
が出力するアドレスバス150、2次キャッシュメモリ
140が入出力するデータバス152、メインメモリ1
60が出力するバス待合わせ信号153がメインメモリ
160との接続である。
【0024】キャッシュメモリ120,140のタグ用
メモリ121,141は、アドレス111,131の下
位ビット(インデクス)をアドレスとしてアドレス11
1,131の上位ビット(タグ)を格納する2i 語×t
ビットのメモリであり、ステータスフラグ用メモリ12
2,142はアドレス111,131の下位ビット(イ
ンデクス)をアドレスとして各エントリが有効かどうか
を示す2i 語×2ビットのメモリ、データメモリ12
3,143はアドレス111,131の下位ビット(イ
ンデクスとオフセット)をアドレスとしてデータバス1
12,132またはデータバス132,152の値を読
み書きする2(i+b-2) 語×32ビットのメモリである。
比較器124,144はアドレス111,131の上位
ビット(タグ)とタグ用メモリ121,141の出力が
一致しているか検出し、制御回路125,145は比較
器125,144,ステータスフラグ用メモリ122,
142の出力とアドレス111,131からキャッシュ
メモリ120,140を制御し、アドレスバッファ12
6,146はキャッシュメモリ120,140がミスし
たときにメモリアドレスを生成する。
【0025】アドレスバス111,131のアドレス値
がどのようにキャッシュメモリ120,140で使われ
るかを図2のアドレス配置図に示す。ブロックサイズを
bバイトとすると、ブロック内オフセットはbビット
幅、キャッシュのエントリ数が2i エントリとすると、
インデクスはiビット幅、タグはアドレスのビット幅か
らインデクスとオフセットを引いた幅をもつ。
【0026】例えば、32ビットアドレスで、1次キャ
ッシュの容量が8Kバイト,ブロックサイズが16バイ
トの場合、ブロック内オフセットは4ビット(24 =1
6)。エントリ数は512(=8K/16)であるの
で、インデクスは9ビット(29 =512)。タグは1
9ビット(=32−9−4)となる。ブロックサイズb
は、1次キャッシュメモリ120と2位キャッシュメモ
リ140で同じ大きさとする。
【0027】次に、図1のキャッシュメモリ方式の動作
について、図3を用いて説明する。制御回路125によ
って制御される1次キャッシュメモリ120の動作を図
3のフロー図に示す。ステータスフラグ122の内容は
「無効」に初期化されているものとする。
【0028】CPU110によるメモリアクセスが発生
すると、ステップS1でアドレス111のインデクスを
アドレスとしてメモリ121,122を読出しステップ
S2でタグ用メモリ121の出力とアドレス110のタ
グを比較器124で比較する。この比較が等しく、かつ
ステータスフラグ122が「有効」または「書込」を示
す場合はヒットとなりそれ以外はミスとなる。
【0029】ステップS2でヒットした場合、アドレス
111のインデクスおよびブロック内オフセットをアド
レスとして、データバス112を介して、データ用メモ
リ123の内容を読書きする(S4,S5)。CPU1
10からのアクセスが書込みである場合は、データ用メ
モリ123の内容を、エントリ中の指定されたアドレス
に指定されたサイズ(バイト幅,ワード幅など)の部分
だけが書換え、ステータスフラグに「書込」を書込む
(S5,S6)。
【0030】ステップS2でミスした場合、まずステー
タスフラグが「書込」か「無効」かを判定し(S7)、
「書込」ならばインデクスで指定されているエントリを
外(ここでは2次キャッシュ)に書込む(S8)。この
次、タグメモリ122から読出した値をアドレスとし、
データはデータ用メモリ123の内容である。外へのア
クセスは1エントリ分であり、ブロックサイズがバス幅
より大きいときは複数のバスサイクルとなる。
【0031】CPUからのアクセスが読出しの場合は、
次に、外からアドレス111で指定されたエントリを読
込む。読込んだエントリに対して、アドレス111で指
定されたサイズ分だけ、データ用メモリ123の内容を
データバス112を介してにCPU110に転送する
(S10)。同時に、タグ用メモリ121にアドレス1
11のタグを、ステータスフラグ122に「有効」を書
込む(S11,S12)。
【0032】CPUからのアクセスが書込みの場合は、
次に、タグ用メモリにアドレス111のタグを書込む
(S12)。同時に、データ用メモリ123の内容を、
エントリ中の指定されたアドレスに指定されたサイズ
(バイト幅,ワード幅など)の部分だけが書換え、ステ
ータスフラグに「書込」を書込む(S5,S6)。
【0033】1次キャッシュ120がミスした場合の処
理が終了するまで、制御回路125は信号113によっ
てCPU110を持たせておく。同様に、2次キャッシ
ュ140へのアクセス(S8,S10)は、制御信号1
33によって待たされる場合がある。
【0034】制御回路145によって制御される2次キ
ャッシュメモリ140の動作も1次キャッシュメモリ1
20と同様である。CPU/1次キャッシュ/2次キャ
ッシュの関係を、1次キャッシュ/2次キャッシュ/メ
インメモリに置換えて考えれば良いので、ここでは説明
を省略する。
【0035】キャッシュメモリ単体の制御方式自体は公
知のものである。ここで述べたキャッシュメモリ単体の
制御方式は、一般にライトバック(コピーバック,スト
アインとも呼ぶ)という方式である。ステータスフラグ
122,142は、3状態(「無効」,「有効」,「書
込」)を持つ。上位からの書込みアクセスは、直接には
下位に伝えられない。
【0036】上位からの書込みアクセスがあると、直
接、下位のメモリを書込む方式(ライトスルーと呼ぶ)
もある。ステータスフラグ122,142は、2状態
(「無効」,「有効」)しかなく、制御は単純である。
しかし、ライトバック方式よりミス率は高い。マルチプ
ロセッサに対応するために、ステータスフラグの状態を
更に増やしたライトバック方式もある。
【0037】本発明の要旨は、キャッシュメモリ単体の
制御方式でなく、階層構造と、1次/2次のキャッシュ
を同等のアクセス時間でアクセスできること、1次と2
次のキャッシュ間での転送が高速にできることである。
これらのキャッシュメモリ単体の制御方式が、キャッシ
ュメモリ120,140にどのような組合せで実現され
ていても、本発明の主旨に合っている。
【0038】図4は本発明の第2の実施例のブロック図
を示す。本実施例は図1に対して2次キャッシュメモリ
140において、メモリ141,142,143のアド
レスとなるインデクスを、回路147を用いて生成して
いることと、タグ用メモリの幅(tビット)が、第1の
実施例より広いことである。
【0039】アドレスバス131のアドレス値がどのよ
うにキャッシュメモリ140で使われるかを図5に示
す。図2と違って、アドレスからブロック内オフセット
を抜いた分がタグとなっている。インデクスは、タグの
一部をインデクス生成回路147によってハッシュして
得る。ハッシュ関数としては、図5の様に、階層的に排
他的論理和をとったものを用いる。
【0040】アドレスのハッシュされる部分は、1次キ
ャッシュのインデクスとタグの一部(アドレスのビット
位置で)を含むようにすると良い。コンフリクトミスが
解消されミス率が減るためである。図5(a)の例では
ハッシュするビットを下位から埋めて取っているが、図
5(b)のようにタグ全体から取ってきてもよい。ま
た、図5では排他的論理2段階のツリー構造にしている
が、1段だけにしても、3段階以上のツリーにしてもよ
い。
【0041】インデクス生成回路147によって2次キ
ャッシュメモリ140のアクセス時間は長くなる。しか
し、CPU110から1次キャッシュメモリ120への
アクセスと平行して、インデクス生成回路147を動作
させることによって、アクセス時間を長くしないことが
できる。
【0042】ここで、本実施例と従来例との性能とハー
ドウェアコストを計算してみる。ノーウェイトのメモリ
を毎クロックアクセスできるときの性能を1.0とした
CPUの相対性能は1/平均アクセス時間と、表わされ
る。CPUからは毎クロックでメモリアクセスが発生す
るものとする。ここで、M1;1次キャッシュのミス
率、M2;2次キャッシュのミス率、M2;2次キャッ
シュのミス率、B1;1次キャッシュのアクセス時間
(clock)、B2;2次キャッシュのアクセス時間
(clock)、B3;メインメモリのアクセス時間
(clock)、b;ブロックサイズ(byte)、
a;バス幅(byte)とすると、キャッシュメモリが
1階層(従来方式)の場合、次の(1)式となる。
【0043】 相対性能=1/{(1−M1)×B1+(M1×b/a×B3)}…(1) また、キャッシュメモリが2階層(ヴィクティムキャッ
シュまたは本発明)の場合、次の(2)式となる。
【0044】 相対性能=1/{(1−M1)+(M1×(1−M2)×b/a×B2) +(M1×−2×b/a×B3)}…(2) 例えばB1=1clock,B2=1clock,B3
=8clock,b=16byte,a=4byteと
する。あるアプリケーション(diff:16KB程度
のデータ)において、ダイレクトマップ方式のキャッシ
ュメモリの容量とミス率を測定した結果を次の表1に示
す。相対性能は式(1)から求めた。
【0045】
【表1】
【0046】同じアプリケーションで、ヴィクティムキ
ャッシュ方式,実施例1,2について測定した結果を表
2に示す。相対性能は、式(2)から求めた。1次キャ
ッシュメモリは全て、8Kバイトのダイレクトマップ方
式(表1の例1と同じ)である。例3はヴィクティムキ
ャッシュの一例、例4,例5は本発明の第1の実施例の
例、例6,例7は本発明の第2の実施例の例である。
【0047】
【表2】
【0048】これら6例の性能は図6にまとめられる。
この図6は、各例をLSI化したときの相対面積(例2
を1とする)および効率(相対性能/相対面積)を示し
た。
【0049】
【発明の効果】以上説明したように、本発明によるキャ
ッシュメモリ装置は、次のような効果を有する。
【0050】(1)図6から分かるように、本発明では
平均アクセス時間が短かく、性能が高い。第2の実施例
(例7)では、例2(1次キャッシュの容量を倍にした
もの)よりも性能が高い。
【0051】(2)図6から分かるように、本発明によ
るハードウェア量(LSI化したときの面積)は、いず
れも例2(1次キャッシュの容量を倍にしたもの)より
も小さい。例6(第2の実施例)では、ヴィクティムキ
ャッシュ(例3)より小面積で、同等の効率を実現して
いる。例3ではフルアソシアティブ方式を用いるため、
面積効率が非常に悪い。例7では、8Kバイトの1次キ
ャッシュ2Kバイト2次キャッシュを付加しただけで、
例2(16Kバイトの1次キャッシュ)よりも高い性能
を実現している。
【0052】(3)従来例で示したように、ヴィクティ
ムキャッシュ方式の2次キャッシュで用いられるフルア
ソシアティプ方式には、制御論理が複雑であるという欠
点が有り、ミスした場合にどのエントリを入替えるかを
決める制御論理(通常はLRU: Least Rec
ent Used)は複雑であり、通常は比較器を介し
てデータメモリをアクセスするが、入替え時にはランダ
ムアクセスできなければならない。そのためテストも難
しい。
【0053】ところが本発明による2次キャッシュメモ
リは、ダイレクトマップ方式であり、非常にシンプルで
ある。ハードウェアはSRAM+比較器ひとつという単
純さである。また、1次キャッシュと2次キャッシュが
同じ方式であるため、制御回路の設計が容易(使い回し
ができる)である。
【図面の簡単な説明】
【図1】本発明の第1の実施例のハードウェア構成を示
すブロック図。
【図2】図1のダイレクトマップ方式のアドレスの構成
を示すレイアウト図。
【図3】図1のキャッシュメモリの動作を説明するフロ
ー図。
【図4】本発明の第2の実施例のハードウェア構成を示
すブロック図。
【図5】実施例のアドレスの構成を示
【図6】本発明の効果を作用する特性図。
【図7】従来のキャッシュメモリ方式のミス率を示す特
性図。
【符号の説明】
100 マイクロプロセッサ 110 CPU 120 キャッシュメモリ 160 メインメモリ 121,141 タグ用メモリ 122,142 ステータスフラグ用メモリ 123,143 データ用メモリ 124,144 比較器 125,145 制御回路 126,146 アドレスバッファ 147 インデクス生成回路 S1〜S13 処理ステップ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 データを記憶するデータ用メモリと、こ
    のデータ用メモリに記憶したアドレス・タグを記憶した
    タグ用メモリと、このタグ用メモリの出力とアドレス中
    のアドレスタグとを照合する比較器と、この比較器の出
    力に基づいてヒット信号を発生する回路からなる第1の
    キャッシュメモリ手段と;この第1のキャッシュメモリ
    手段と同様の構成の第2のキャッシュメモリ手段とを備
    え、外部からのアクセスに対して前記第1のキャッシュ
    メモリ手段をアクセスし、この第1のキャッシュメモリ
    手段でヒット信号が発生しなければ前記第2のキャッシ
    ュメモリ手段をアクセスし、この第2のキャッシュメモ
    リ手段でヒット信号が発生しなければ外部メモリをアク
    セスするよう制御することを特徴とするキャッシュメモ
    リ装置。
  2. 【請求項2】 第1のキャッシュメモリ手段のミスによ
    るアクセスにおいて、アドレスの一部の排他的論理和を
    とって第2のキャッシュメモリ手段のタグ用メモリとデ
    ータ用メモリのアドレスとした請求項1記載のキャッシ
    ュメモリ装置。
  3. 【請求項3】 第2のキャッシュメモリ手段のメモリ容
    量が第1のキャッシュメモリ手段のメモリ容量以下であ
    る請求項2記載のキャッシュメモリ装置。
  4. 【請求項4】 第1のキャッシュメモリ手段と第2のキ
    ャッシュメモリ手段の間の転送を中央処理装置により毎
    クロックサイクル行なうようにした請求項2または請求
    項3記載のキャッシュメモリ装置。
JP4260980A 1992-09-30 1992-09-30 キャッシュメモリ装置 Pending JPH06110781A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4260980A JPH06110781A (ja) 1992-09-30 1992-09-30 キャッシュメモリ装置
US08/129,409 US5581725A (en) 1992-09-30 1993-09-30 Cache memory system having first and second direct-mapped cache memories organized in hierarchical structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4260980A JPH06110781A (ja) 1992-09-30 1992-09-30 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH06110781A true JPH06110781A (ja) 1994-04-22

Family

ID=17355412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4260980A Pending JPH06110781A (ja) 1992-09-30 1992-09-30 キャッシュメモリ装置

Country Status (2)

Country Link
US (1) US5581725A (ja)
JP (1) JPH06110781A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055273A (ja) * 2008-08-27 2010-03-11 Nec Corp キャッシュメモリ装置及びその制御方法

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2732134B1 (fr) * 1995-03-23 1997-06-06 Suisse Electronique Microtech Systeme informatique avec memoires hierarchisees
US5740399A (en) * 1995-08-23 1998-04-14 International Business Machines Corporation Modified L1/L2 cache inclusion for aggressive prefetch
US5758119A (en) * 1995-08-23 1998-05-26 International Business Machines Corp. System and method for indicating that a processor has prefetched data into a primary cache and not into a secondary cache
US6223260B1 (en) * 1996-01-25 2001-04-24 Unisys Corporation Multi-bus data processing system in which all data words in high level cache memories have any one of four states and all data words in low level cache memories have any one of three states
US5829038A (en) * 1996-06-20 1998-10-27 Intel Corporation Backward inquiry to lower level caches prior to the eviction of a modified line from a higher level cache in a microprocessor hierarchical cache structure
US6199142B1 (en) * 1996-07-01 2001-03-06 Sun Microsystems, Inc. Processor/memory device with integrated CPU, main memory, and full width cache and associated method
US6199071B1 (en) 1997-04-01 2001-03-06 Sun Microsystems, Inc. Method and apparatus for archiving hypertext documents
US6687842B1 (en) * 1997-04-02 2004-02-03 Tessera, Inc. Off-chip signal routing between multiply-connected on-chip electronic elements via external multiconductor transmission line on a dielectric element
US5894487A (en) * 1997-07-15 1999-04-13 International Business Machines Corporation Error detection of directory arrays in dynamic circuits
US5909697A (en) * 1997-09-30 1999-06-01 Sun Microsystems, Inc. Reducing cache misses by snarfing writebacks in non-inclusive memory systems
US6073212A (en) * 1997-09-30 2000-06-06 Sun Microsystems, Inc. Reducing bandwidth and areas needed for non-inclusive memory hierarchy by using dual tags
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
AU1209299A (en) * 1997-11-05 1999-05-24 Unisys Corporation A directory-based cache coherency system
US6119205A (en) * 1997-12-22 2000-09-12 Sun Microsystems, Inc. Speculative cache line write backs to avoid hotspots
DE69815482T2 (de) * 1997-12-24 2004-04-29 Texas Instruments Inc., Dallas Computer Anordnung mit Prozessor und Speicher-Hierarchie und sein Betriebsverfahren
US6253291B1 (en) 1998-02-13 2001-06-26 Sun Microsystems, Inc. Method and apparatus for relaxing the FIFO ordering constraint for memory accesses in a multi-processor asynchronous cache system
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
WO2000039686A1 (en) * 1998-12-23 2000-07-06 Sun Microsystems, Inc. Speculative cache line write backs to avoid hotspots
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6584546B2 (en) * 2001-01-16 2003-06-24 Gautam Nag Kavipurapu Highly efficient design of storage array for use in first and second cache spaces and memory subsystems
KR100395768B1 (ko) * 2001-06-16 2003-08-21 삼성전자주식회사 멀티 레벨 캐쉬 시스템
US20030182539A1 (en) * 2002-03-20 2003-09-25 International Business Machines Corporation Storing execution results of mispredicted paths in a superscalar computer processor
US7589738B2 (en) * 2004-07-14 2009-09-15 Integrated Device Technology, Inc. Cache memory management system and method
US7606994B1 (en) * 2004-11-10 2009-10-20 Sun Microsystems, Inc. Cache memory system including a partially hashed index
US20060179231A1 (en) * 2005-02-07 2006-08-10 Advanced Micron Devices, Inc. System having cache memory and method of accessing
US7930484B2 (en) * 2005-02-07 2011-04-19 Advanced Micro Devices, Inc. System for restricted cache access during data transfers and method thereof
US7653070B2 (en) * 2005-06-07 2010-01-26 Broadcom Corporation Method and system for supporting efficient and cache-friendly TCP session lookup operations based on canonicalization tags
US20060277352A1 (en) * 2005-06-07 2006-12-07 Fong Pong Method and system for supporting large caches with split and canonicalization tags
US8327115B2 (en) 2006-04-12 2012-12-04 Soft Machines, Inc. Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode
US8606998B2 (en) * 2006-08-24 2013-12-10 Advanced Micro Devices, Inc. System and method for instruction-based cache allocation policies
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US10228949B2 (en) 2010-09-17 2019-03-12 Intel Corporation Single cycle multi-branch prediction including shadow cache for early far branch prediction
EP2689326B1 (en) 2011-03-25 2022-11-16 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
WO2012135041A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
TWI533129B (zh) 2011-03-25 2016-05-11 軟體機器公司 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊
CN103649931B (zh) 2011-05-20 2016-10-12 索夫特机械公司 用于支持由多个引擎执行指令序列的互连结构
CN103649932B (zh) 2011-05-20 2017-09-26 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
US8935485B2 (en) 2011-08-08 2015-01-13 Arm Limited Snoop filter and non-inclusive shared cache memory
IN2014CN03678A (ja) 2011-11-22 2015-09-25 Soft Machines Inc
EP2783281B1 (en) 2011-11-22 2020-05-13 Intel Corporation A microprocessor accelerated code optimizer
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
KR20150130510A (ko) 2013-03-15 2015-11-23 소프트 머신즈, 인크. 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
US9582430B2 (en) * 2015-03-27 2017-02-28 Intel Corporation Asymmetric set combined cache

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0320847A (ja) * 1989-06-19 1991-01-29 Fujitsu Ltd キャッシュメモリ制御方式
JPH04270431A (ja) * 1990-03-27 1992-09-25 Digital Equip Corp <Dec> データ 処理装置のメモリ システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2044689A1 (en) * 1990-06-15 1991-12-16 Roger E. Tipley Multilevel inclusion in multilevel cache hierarchies
US5359723A (en) * 1991-12-16 1994-10-25 Intel Corporation Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only
US5386547A (en) * 1992-01-21 1995-01-31 Digital Equipment Corporation System and method for exclusive two-level caching
US5325503A (en) * 1992-02-21 1994-06-28 Compaq Computer Corporation Cache memory system which snoops an operation to a first location in a cache line and does not snoop further operations to locations in the same line

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0320847A (ja) * 1989-06-19 1991-01-29 Fujitsu Ltd キャッシュメモリ制御方式
JPH04270431A (ja) * 1990-03-27 1992-09-25 Digital Equip Corp <Dec> データ 処理装置のメモリ システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055273A (ja) * 2008-08-27 2010-03-11 Nec Corp キャッシュメモリ装置及びその制御方法

Also Published As

Publication number Publication date
US5581725A (en) 1996-12-03

Similar Documents

Publication Publication Date Title
JPH06110781A (ja) キャッシュメモリ装置
US9251095B2 (en) Providing metadata in a translation lookaside buffer (TLB)
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
US6629205B2 (en) System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
JP2006277762A (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JP2001184263A (ja) 旧キャッシュラインを無効化および除去する装置
JP6478843B2 (ja) 半導体装置及びキャッシュメモリ制御方法
US9720847B2 (en) Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7325102B1 (en) Mechanism and method for cache snoop filtering
US5905997A (en) Set-associative cache memory utilizing a single bank of physical memory
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法
JPH10283259A (ja) 情報処理装置およびプロセッサ
US6965962B2 (en) Method and system to overlap pointer load cache misses
JP3262182B2 (ja) キャッシュメモリ方式及びマイクロプロセッサ装置
JP2010108381A (ja) 集積回路、集積回路の制御方法および半導体デバイス
JP3735373B2 (ja) マイクロコンピュータ
US6581139B1 (en) Set-associative cache memory having asymmetric latency among sets
US6460118B1 (en) Set-associative cache memory having incremental access latencies among sets
JPH06250926A (ja) 複数階層のキャッシュメモリを備えたデータ処理システム
JP2001282616A (ja) メモリ管理方式
JPH04248645A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980929