JPH05324468A - 階層化キャッシュメモリ - Google Patents

階層化キャッシュメモリ

Info

Publication number
JPH05324468A
JPH05324468A JP4128755A JP12875592A JPH05324468A JP H05324468 A JPH05324468 A JP H05324468A JP 4128755 A JP4128755 A JP 4128755A JP 12875592 A JP12875592 A JP 12875592A JP H05324468 A JPH05324468 A JP H05324468A
Authority
JP
Japan
Prior art keywords
cache memory
entry
address
primary
replacement
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.)
Withdrawn
Application number
JP4128755A
Other languages
English (en)
Inventor
Taizo 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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4128755A priority Critical patent/JPH05324468A/ja
Publication of JPH05324468A publication Critical patent/JPH05324468A/ja
Priority to US08/676,506 priority patent/US5829024A/en
Withdrawn 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】一次キャッシュメモリと二次キャッシュメモリ
とを階層化してなる階層化キャッシュメモリに関し、二
次キャッシュメモリにおいてキャッシュミスによるリプ
レースが発生した場合、一次キャッシュメモリのリプレ
ースを高速に行うと共に、一次キャッシュメモリに空の
エントリが発生しないようにする。 【構成】二次キャッシュメモリでキャッシュミスが発生
した場合、二次キャッシュメモリは、データの転送前
に、そのリプレースエントリのアドレスを一次キャッシ
ュメモリに対して通知し、一次キャッシュメモリは、対
応するエントリが存在する場合には、そのエントリをリ
プレースエントリとし、存在しない場合には、リプレー
ス優先順位に基づいたエントリをリプレースエントリと
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサシステムに
おいて、アクセスタイムの短縮化を図るために設けられ
るキャッシュメモリを超高速・小容量の一次キャッシュ
メモリと高速・中容量の二次キャッシュメモリとに階層
化してなる階層化キャッシュメモリに関する。
【0002】
【従来の技術】図5はマルチプロセッサシステムの一例
の要部を示す図であり、図中、1、2はプロセッサ、
3、4はそれぞれプロセッサ1、2において演算処理を
行う演算処理部、5、6はそれぞれプロセッサ1、2に
内蔵された超高速・小容量の一次キャッシュメモリであ
る。
【0003】また、7、8はそれぞれプロセッサ1、2
に対応して設けられた高速・中容量の二次キャッシュメ
モリ、9、10はそれぞれプロセッサ1、2に対応して
設けられたローカルメモリ、11はシステムバス、12
はプロセッサ1、2で共有されている主メモリである。
【0004】このように、キャッシュメモリを階層化し
てなる共有メモリ方式のマルチプロセッサシステムにお
ける問題として、データ保証の問題がある。即ち、ある
プロセッサで主メモリの内容を変更した場合、他のプロ
セッサのキャッシュメモリに主メモリの変更内容が通知
されないと、変更前の内容で他のプロセッサが動作して
しまい、正常な動作が行われないという問題である。
【0005】ここに、二次キャッシュメモリに関して
は、二次キャッシュメモリ自身がシステムバスを監視し
て、二次キャッシュメモリのエントリで対応するものが
あるか否かをチェックし、主メモリの書換えを検出した
場合には、対応するエントリを無効化する方式を採用す
れば、データ保証の問題を避けることができる。
【0006】しかし、二次キャッシュメモリが一次キャ
ッシュメモリに対して何の制御も行わない場合には、一
次キャッシュメモリは、直接、システムバスをモニタし
ない限り、主メモリの書換えを検出することはできな
い。
【0007】そこで、大型計算機においては、システム
バスをモニタ専用に一次キャッシュメモリに供給してい
る例があるが、アドレスバス等の信号が二重になり、こ
れをマイクロコンピュータで実現することは、配線数が
多くなり過ぎ、非現実的な方法である。
【0008】なお、二次キャッシュメモリが一次キャッ
シュメモリに対し、システムバスの全てのストアアクセ
スをキャッシュメモリ間のバスを使用して通知するよう
にする場合には、データ保証の問題は発生しなくなる
が、本来の目的でのキャッシュメモリ間のバスの使用が
制限されてしまうという不都合がある。
【0009】そこで、従来、マイクロコンピュータにお
いては、二次キャッシュメモリ側で一次キャッシュメモ
リのスヌープ処理を行い、エントリの無効化が必要な時
だけ、二次キャッシュメモリから一次キャッシュメモリ
に対して無効化の指示を出すようにしているが、これに
は2種の方法がある。
【0010】第1の方法は、二次キャッシュメモリ側に
一次キャッシュメモリのアドレスタグ部のコピーを持た
せ、二次キャッシュメモリ側で一次キャッシュメモリの
ためにシステムバスの監視を行う方法である。
【0011】第2の方法は、二次キャッシュメモリにお
いてエントリのキャッシュミスによるリプレース及び主
メモリの書換えによる無効化が発生した場合に、一次キ
ャッシュメモリに対してエントリの無効化指示を行う方
法である。
【0012】
【発明が解決しようとする課題】しかし、第1の方法で
は、二次キャッシュメモリに一次キャッシュメモリのア
ドレスタグ部のコピーを持たせるとしているので、ハー
ドウエアが大きくなると共に、一次キャッシュメモリに
おけるリプレース動作を二次キャッシュメモリに正確に
伝えなければならず、その分、インタフェースが複雑に
なるという問題点があった。
【0013】また、第2の方法では、二次キャッシュメ
モリでキャッシュミスによるエントリのリプレースが発
生した場合、一次キャッシュメモリに対してエントリの
無効化指示を行うようにしているが、従来においては、
データの転送後に一次キャッシュメモリに対して無効化
指示を行うようにされていた。
【0014】このため、二次キャッシュメモリでキャッ
シュミスが発生してから一次キャッシュメモリでのリプ
レースまでに多くの時間がかかり、一次キャッシュメモ
リにおけるリプレースを高速に行うことができないとい
う問題点があった。
【0015】また、第2の方法では、二次キャッシュメ
モリでキャッシュミスによるエントリのリプレースが発
生した場合、一次キャッシュメモリに対してエントリの
無効化指示を行うようにしているが、従来においては、
一次キャッシュメモリは、二次キャッシュメモリからの
無効化指示の通知を受ける前に、リプレース優先順位に
従ったリプレースを行うようにされていた。
【0016】このため、一次キャッシュメモリのエント
リに空のエントリが発生して、エントリを効率良く使用
できなくなる場合が発生してしまうという問題点があっ
た。図6は、かかる問題点を説明するための図である。
【0017】図中、13はプロセッサ、14は演算処理
部、15は一次キャッシュメモリ、16はデータ部、1
7はリプレース優先順位格納部、18は二次キャッシュ
メモリ、19はデータ部、20はリプレース優先順位格
納部である。
【0018】この図6は、一次キャッシュメモリ15の
リプレース優先順位がアドレスAAAに対応するエント
リ・・・アドレスBBBに対応するエントリ・・・の順
とされており、二次キャッシュメモリ18のリプレース
優先順位がアドレスBBBに対応するエントリ・・・ア
ドレスAAAに対応するエントリ・・・の順とされてい
る場合を示している。
【0019】このように、リプレースの優先順位が一次
キャッシュメモリ15と二次キャッシュメモリ18とで
異なる状態は、リプレースの方式にLRU(least rece
ntlyused)方式を採用した場合に発生する。
【0020】即ち、このような状態は、あるアドレスに
つき、一次キャッシュメモリ15においてキャッシュヒ
ットした場合、一次キャッシュメモリ15では、そのア
ドレスに対応するエントリのリプレース順位は最下位
(最も追い出されにくい順位)になるが、二次キャッシ
ュメモリ18は、そのアドレスに対応するエントリのリ
プレース順位は変化しないことを原因として発生する。
【0021】そこで、図6に示すような場合において、
一次キャッシュメモリ15においてキャッシュミスが発
生した場合には、アドレスAAAを格納するエントリが
リプレースの対象とされることになる。
【0022】そこで、次に、二次キャッシュメモリ18
においても、キャッシュミスが発生すると、二次キャッ
シュメモリ18においては、アドレスBBBを格納する
エントリがリプレースの対象とされる。
【0023】この場合、二次キャッシュメモリ18は、
データの転送後に、一次キャッシュメモリ15に対して
アドレスBBBのエントリついて無効化指示を通知す
る。このため、一次キャッシュメモリ15においては、
先にリプレースの対象としたアドレスAAAの他、アド
レスBBBを格納するエントリも無効の対象としてしま
う。
【0024】したがって、一次キャッシュメモリ15で
は、二次キャッシュメモリ18からデータが転送された
としても、空のエントリが発生してしまい、この点につ
き、性能の低下が発生してしまう。
【0025】本発明は、かかる点に鑑み、二次キャッシ
ュメモリにおいてキャッシュミスによるエントリのリプ
レースが発生した場合、一次キャッシュメモリのリプレ
ースを高速に行うと共に、一次キャッシュメモリに空の
エントリが発生しないようにし、性能の向上を図ること
ができるようにした階層化キャッシュメモリを提供する
ことを目的とする。
【0026】
【課題を解決するための手段】本発明による階層化キャ
ッシュメモリは、演算処理部からのリードアクセス時又
はライトアクセス時に、二次キャッシュメモリでキャッ
シュミスが発生した場合、二次キャッシュメモリは、デ
ータの転送前に、そのリプレースエントリのアドレスを
一次キャッシュメモリに対して通知し、一次キャッシュ
メモリは、対応するエントリが存在する場合には、その
エントリをリプレースエントリとし、存在しない場合に
は、リプレース優先順位に基づいたエントリをリプレー
スエントリとし、その後、二次キャッシュメモリから転
送されるデータをリプレースエントリに登録するという
ものである。
【0027】
【作用】本発明では、演算処理部からのリードアクセス
時又はライトアクセス時、二次キャッシュメモリでキャ
ッシュミスが発生した場合、二次キャッシュメモリは、
データの転送前に、そのリプレースエントリのアドレス
を一次キャッシュメモリに対して通知するようにしてい
るので、演算処理部からのリードアクセス時又はライト
アクセス時における一次キャッシュメモリのリプレース
を高速に行うことができる。
【0028】また、一次キャッシュメモリは、二次キャ
ッシュメモリのリプレースエントリに対応するエントリ
が存在する場合には、そのエントリをリプレースエント
リとし、存在しない場合には、リプレース優先順位に基
づいたエントリをリプレースエントリとしているので、
空のエントリが発生することを避けることができる。
【0029】
【実施例】以下、図1〜図4を参照して本発明の一実施
例について、(1)構成、(2)リード動作、(3)ラ
イト動作、(4)効果に項を分けて説明する。
【0030】(1)構成 図1は、本発明の一実施例の要部を示すブロック図であ
り、図中、21はプロセッサ、22はプロセッサ21に
おいて演算処理を行う演算処理部、23はプロセッサ2
1に内蔵された超高速・小容量の一次キャッシュメモ
リ、24は高速・中容量の二次キャッシュメモリであ
る。なお、一次キャッシュメモリ23は、プロセッサ2
1とは別個独立のチップに構成することもできる。
【0031】また、一次キャッシュメモリ23におい
て、25は主メモリのデータの一部を記憶するデータ
部、26はデータ部25に書込むデータを一時保持する
ラッチ、27はデータ部25から読み出されたデータを
一時保持するラッチである。
【0032】また、28はデータ部25に記憶されてい
るデータに対応するアドレスを保持するアドレスタグ
部、29は演算処理部22からのアクセスアドレスを保
持し、一次キャッシュメモリでのキャッシュミス時の二
次キャッシュメモリ24へのアクセスアドレス出力や、
エントリ登録時のアドレス書込みのために、アクセスア
ドレスを保持するアドレスラッチである。
【0033】また、30はアドレスラッチ29に保持さ
れたアクセスアドレスとアドレスタグ部28に記憶され
ているアドレスとの比較を行い、キャッシュヒット・キ
ャッシュミスの判定を行うアドレス比較部である。
【0034】また、31はリプレース優先順位等の制御
情報を記憶する制御タグ部、32は制御情報書込み時に
制御情報を一時保持するラッチ、33は制御タグ部31
から読み出された制御情報を一時保持するラッチであ
る。
【0035】また、34は演算処理部22からのアクセ
ス要求を受け、その要求に対応する動作を制御し、ま
た、一次キャッシュメモリ23でキャッシュミスが判明
した場合や、ライト要求である場合には、二次キャッシ
ュメモリ24に対してアクセス要求を出力するアクセス
制御部である。
【0036】また、35は二次キャッシュメモリ24か
らキャッシュミス通知信号及び無効化指示信号を受け取
り、リプレース優先順位を変更して書き替えるエントリ
書替制御部である。
【0037】また、二次キャッシュメモリ24におい
て、36は主メモリのデータの一部を記憶するデータ
部、37はデータ部36に書込むデータを一時保持する
ラッチ、38はデータ部36から読み出したデータを一
時保持するラッチである。
【0038】また、39はデータ部36に記憶されてい
るデータに対応するアドレスを保持するアドレスタグ
部、40は一次キャッシュメモリ23のアドレスラッチ
29から転送されるアクセスアドレスを保持し、二次キ
ャッシュメモリにおけるキャッシュミス時の主メモリへ
のアクセスアドレスの出力や、エントリ登録時のアドレ
ス書込みのために、アクセスアドレスを保持するアドレ
スラッチである。
【0039】また、41はアドレスラッチ40に保持さ
れたアクセスアドレスとアドレスタグ部39に記憶され
たアドレスとの比較を行い、キャッシュヒット、キャッ
シュミスの判定を行うアドレス比較部である。
【0040】また、42はリプレース優先順位等の制御
情報を記憶する制御タグ部、43は制御情報書込み時に
制御情報を一時保持するラッチ、44は制御タグ部42
から読み出された制御情報を一時保持するラッチであ
る。
【0041】また、45は一次キャッシュメモリ23か
らのアクセス要求を受け、その要求に対応する動作を制
御し、また、二次キャッシュメモリ24でキャッシュミ
スが判明した場合や、ライト要求である場合には、主メ
モリに対して、アクセス要求を出力するアクセス制御部
である。
【0042】また、46はアクセス制御部45からキャ
ッシュミス信号を受け取り、エントリの書き替え、一次
キャッシュメモリ23へのキャッシュミス通知信号及び
無効化指示信号の供給を行うエントリ書替制御部であ
る。
【0043】また、47はシステムバスを監視し、主メ
モリへの書込みを検出すると、二次キャッシュメモリ2
4内に該当するエントリがあるか否かのチェックを指示
するバス監視回路である。
【0044】(2)リード動作 まず、演算処理部22は、リードアクセス要求とアクセ
スアドレスとを一次キャッシュメモリ23に対して出力
し、アクセス制御部34はリードアクセス要求を受け取
り、アドレスラッチ29はアクセスアドレスをラッチす
る。
【0045】続いて、アドレス比較部30は、アドレス
ラッチ29にラッチされたアクセスアドレスと、アドレ
スタグ部28に格納されているアドレスとを比較し、キ
ャッシュヒット、キャッシュミスの判定を行い、その結
果をアクセス制御部34に通知する。
【0046】キャッシュヒットした場合には、アクセス
制御部34は、リードアクセス終了を演算処理部22に
通知し、また、データ部25から読み出したデータを演
算処理部22に転送する。また、エントリ書替制御部3
5は、エントリの優先順位を変更し、その内容を制御タ
グ部31に書き込む。
【0047】これに対して、キャッシュミスした場合に
は、アクセス制御部34からアクセス制御部45に対し
てリードアクセス要求が出力されると共に、アドレスラ
ッチ29からアドレスラッチ40に対してアクセスアド
レスが出力される。
【0048】続いて、アドレス比較部41は、アドレス
ラッチ40にラッチされたアクセスアドレスと、アドレ
スタグ部39に格納されているアドレスとを比較し、キ
ャッシュヒット、キャッシュミスの判定を行い、その結
果をアクセス制御部45に通知する。
【0049】キャッシュヒットした場合には、アクセス
制御部45は、リードアクセス終了を一次キャッシュメ
モリに通知し、また、データ部36から読み出したデー
タを一次キャッシュメモリ23に転送する(図2参
照)。また、エントリ書替制御部46は、エントリの優
先順位を変更し、その内容を制御タグ部42に書き込
む。
【0050】リードアクセス終了通知を受けた一次キャ
ッシュメモリ23は、受け取ったデータを演算処理部2
2に転送すると共に、リプレース優先順位に従って、そ
のデータをリプレースエントリに登録する。
【0051】これに対して、二次キャッシュメモリ24
でキャッシュミスが発生した場合には、アクセス制御部
45は、システムバスを通して主メモリ(共有メモリ)
に対してリードアクセス要求を出力し、アドレスラッチ
40は、主メモリに対してアクセスアドレスを出力す
る。
【0052】また、アクセス制御部45は、一次キャッ
シュメモリ23に対してキャッシュミスが発生したこと
を通知し、また、二次キャッシュメモリ24のリプレー
スエントリのアドレスを一次キャッシュメモリ23に対
して出力する(図3参照)。
【0053】ここに、一次キャッシュメモリ23は、二
次キャッシュメモリ24からのリプレースアドレスを受
け取り、一次キャッシュメモリ23に登録されているか
否かの判定をアドレス比較部30で行い、その結果をエ
ントリ書替制御部35に通知する。
【0054】すると、エントリ書替制御部35は、一次
キャッシュメモリ23に二次キャッシュメモリ24のリ
プレースエントリに対応するエントリが存在する場合に
は、そのエントリを一次キャッシュメモリ23のリプレ
ースエントリとし、存在しない場合には、リプレース優
先順位に従ってリプレースエントリを決定する。
【0055】その後、主メモリからデータが転送されて
くると、二次キャッシュメモリ24のアクセス制御部4
5は、リードアクセス終了通知と受け取ったデータとを
一次キャッシュメモリ23に転送する(図3参照)と共
に、リプレース優先順位に従って、そのデータを二次キ
ャッシュメモリ24のデータ部36に登録する。
【0056】リードアクセス終了通知を受けた一次キャ
ッシュメモリ23は、二次キャッシュメモリ24から受
け取ったデータを演算処理部22に転送すると共に、既
に決定しているリプレースエントリに、そのデータを登
録する。
【0057】(3)ライト動作 まず、演算処理部22は、ライトアクセス要求と、アク
セスアドレスとを一次キャッシュメモリ23に対して出
力し、アクセス制御部34は、ライトアクセス要求を受
け取り、アドレスラッチ29は、アクセスアドレスをラ
ッチする。
【0058】続いて、アドレス比較部30は、アドレス
ラッチ29にラッチされたアクセスアドレスと、アドレ
スタグ部28に格納されているアドレスとを比較し、キ
ャッシュヒット、キャッシュミスの判定を行い、その結
果をアクセス制御部34に通知する。
【0059】キャッシュヒットした場合は、データ部2
5にデータが書き込まれ、続いて、アクセス制御部34
は、ライトアクセス要求を二次キャッシュメモリ24に
対して転送すると共に、アドレスラッチ29はアクセス
アドレスを二次キャッシュメモリ24に対して出力し
(図4のキャッシュヒットの部分参照)、ライトアクセ
ス要求はアクセス制御部45に受け取られ、アクセスア
ドレスはアドレスラッチ40にラッチされる。
【0060】続いて、アドレス比較部41は、アドレス
ラッチ40にラッチされたアクセスアドレスと、アドレ
スタグ部39に格納されているアドレスとを比較し、キ
ャッシュヒット、キャッシュミスの判定を行い、その結
果をアクセス制御部45に通知する。
【0061】キャッシュヒットした場合は、アクセス制
御部45は、データ部36にデータを書き込み、ライト
アクセスの終了を一次キャッシュメモリ23のアクセス
制御部34に通知し、アクセス制御部34は、このライ
トアクセス終了通知を演算処理部22に通知する。
【0062】これに対して、二次キャッシュメモリ24
でキャッシュミスが発生した場合には、アクセス制御部
45は、システムバスを通して主メモリに対してライト
アクセス要求を出力し、アドレスラッチ40は、主メモ
リに対してアクセスアドレスを出力する(図4のキャッ
シュミスの部分参照)。
【0063】また、アクセス制御部45は、一次キャッ
シュメモリ23に対してキャッシュミスが発生したこと
を通知し、また、二次キャッシュメモリ24のリプレー
スエントリのアドレスを一次キャッシュメモリ23に対
して出力する(図4のキャッシュミスの部分参照)。
【0064】ここに、一次キャッシュメモリ23は、二
次キャッシュメモリ24からのリプレースアドレスを受
け取り、一次キャッシュメモリ23に登録されているか
否かの判定をアドレス比較部30で行い、その結果をエ
ントリ書替制御部35に通知する。
【0065】すると、エントリ書替制御部35は、一次
キャッシュメモリ23に二次キャッシュメモリ24のリ
プレースエントリに対応するエントリが存在する場合に
は、そのエントリを一次キャッシュメモリ23のリプレ
ースエントリとし、存在しない場合には、リプレース優
先順位に従ってリプレースエントリを決定する。
【0066】その後、主メモリからデータが転送されて
くると、二次キャッシュメモリ24のアクセス制御部4
5は、ライトアクセス終了通知と、受け取ったデータと
を一次キャッシュメモリ23に転送すると共に、リプレ
ース優先順位に従って、そのデータを二次キャッシュメ
モリ24のデータ部36に登録する。
【0067】二次キャッシュメモリ24からライトアク
セス終了通知を受けた一次キャッシュメモリ23は、二
次キャッシュメモリ24から受け取ったデータを演算処
理部22に転送すると共に、既に決定しているリプレー
スエントリに、そのデータを登録する。
【0068】(4)効果 以上のように、本実施例においては、演算処理部22か
らのリードアクセス時又はライトアクセス時に、二次キ
ャッシュメモリ24でキャッシュミスが発生した場合、
二次キャッシュメモリ24は、データの転送前に、その
リプレースエントリのアドレスを一次キャッシュメモリ
23に対して通知するようにしているので、一次キャッ
シュメモリ23のリプレースを高速に行うことができ
る。
【0069】また、一次キャッシュメモリ23は、二次
キャッシュメモリ24のリプレースエントリに対応する
エントリが存在する場合には、そのエントリをリプレー
スエントリとし、存在しない場合には、リプレース優先
順位に基づいたエントリをリプレースエントリとしてい
るので、空のエントリが発生することを避けることがで
きる。
【0070】
【発明の効果】以上のように、本発明によれば、演算処
理部からのリードアクセス時又はライトアクセス時に、
二次キャッシュメモリでキャッシュミスが発生した場
合、二次キャッシュメモリは、データの転送前に、その
リプレースエントリのアドレスを一次キャッシュメモリ
に対して通知するようにしているので、一次キャッシュ
メモリのリプレースを高速に行うことができると共に、
一次キャッシュメモリは、対応するエントリが存在する
場合には、そのエントリをリプレースエントリとし、存
在しない場合には、リプレース優先順位に基づいたエン
トリをリプレースエントリとしているので、空のエント
リが発生することを避けることができ、性能の向上を図
ることができる。
【0071】なお、一次キャッシュメモリの1エントリ
のデータ容量と、二次キャッシュメモリの1エントリの
データ容量とを同一にする場合にも、空のエントリが発
生することを防ぐことができる。
【0072】また、二次キャッシュメモリは、主メモリ
が書き換えられた場合において、そのアドレスに対応す
るエントリが二次キャッシュメモリに存在する場合に
は、そのエントリを無効化すると共に、一次キャッシュ
メモリに対してエントリの無効化指示と二次キャッシュ
メモリで無効化されたエントリのアドレスを出力し、一
次キャッシュメモリは、そのエントリが一次キャッシュ
メモリに存在する場合には、そのエントリを無効化する
ようにすれば、二次キャッシュメモリのエントリの無効
化を行う場合においても、一次キャッシュメモリに存在
するデータは、同じく二次キャッシュメモリにも存在す
るようにでき、データ保証を確保することができる。
【図面の簡単な説明】
【図1】本発明の一実施例の要部を示すブロック図であ
る。
【図2】本発明の一実施例における動作の一例(演算処
理部からのリードアクセス時、二次キャッシュメモリに
キャッシュヒットした場合)を示す波形図である。
【図3】本発明の一実施例における動作の一例(演算処
理部からのリードアクセス時、、二次キャッシュメモリ
にキャッシュミスした場合)を示す波形図である。
【図4】本発明の一実施例における動作の一例(演算処
理部からのライトアクセス時、二次キャッシュメモリに
キャッシュヒットした場合及びキャッシュミスした場
合)を示す波形図である。
【図5】マルチプロセッサシステムの一例の要部を示す
ブロック図である。
【図6】従来の階層化キャッシュメモリが有する問題点
を説明するための図である。
【符号の説明】
21 プロセッサ 22 演算処理部 23 一次キャッシュメモリ 24 二次キャッシュメモリ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】主メモリが記憶するデータの一部を記憶さ
    せるためのキャッシュメモリを一次キャッシュメモリと
    該一次キャッシュメモリよりも容量の大きい二次キャッ
    シュメモリとに階層化してなる階層化キャッシュメモリ
    において、演算処理部からのリードアクセス時、前記二
    次キャッシュメモリでキャッシュミスが発生した場合、
    前記二次キャッシュメモリは、データの転送前に、その
    リプレースエントリのアドレスを前記一次キャッシュメ
    モリに対して通知し、前記一次キャッシュメモリは、対
    応するエントリが存在する場合には、そのエントリをリ
    プレースエントリとし、存在しない場合には、リプレー
    ス優先順位に基づいたエントリをリプレースエントリと
    し、その後、前記二次キャッシュメモリから転送される
    データをリプレースエントリに登録することを特徴とす
    る階層化キャッシュメモリ。
  2. 【請求項2】主メモリが記憶するデータの一部を記憶さ
    せるためのキャッシュメモリを一次キャッシュメモリと
    該一次キャッシュメモリよりも容量の大きい二次キャッ
    シュメモリとに階層化してなる階層化キャッシュメモリ
    において、演算処理部からのライトアクセス時、前記二
    次キャッシュメモリでキャッシュミスが発生した場合、
    前記二次キャッシュメモリは、データの転送前に、その
    リプレースエントリのアドレスを前記一次キャッシュメ
    モリに対して通知し、前記一次キャッシュメモリは、対
    応するエントリが存在する場合には、そのエントリをリ
    プレースエントリとし、存在しない場合には、リプレー
    ス優先順位に基づいたエントリをリプレースエントリと
    し、その後、前記二次キャッシュメモリから転送される
    データをリプレースエントリに登録することを特徴とす
    る階層化キャッシュメモリ。
  3. 【請求項3】前記一次キャッシュメモリの1エントリの
    データ容量と、前記二次キャッシュメモリの1エントリ
    のデータ容量とは、同一とされていることを特徴とする
    請求項1又は2記載の階層化キャッシュメモリ。
  4. 【請求項4】前記二次キャッシュメモリは、前記主メモ
    リが書き換えられた場合において、そのアドレスに対応
    するエントリが前記二次キャッシュメモリに存在する場
    合、そのエントリを無効化すると共に、前記一次キャッ
    シュメモリに対してエントリの無効化指示と前記二次キ
    ャッシュメモリで無効化されたエントリのアドレスを出
    力し、前記一次キャッシュメモリは、そのエントリが前
    記一次キャッシュメモリに存在する場合には、そのエン
    トリを無効化することを特徴とする請求項1、2又は3
    記載の階層化キャッシュメモリ。
JP4128755A 1992-05-21 1992-05-21 階層化キャッシュメモリ Withdrawn JPH05324468A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4128755A JPH05324468A (ja) 1992-05-21 1992-05-21 階層化キャッシュメモリ
US08/676,506 US5829024A (en) 1992-05-21 1996-07-08 Hierarchical cache memory system and method for controlling data coherency between a primary and a secondary cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4128755A JPH05324468A (ja) 1992-05-21 1992-05-21 階層化キャッシュメモリ

Publications (1)

Publication Number Publication Date
JPH05324468A true JPH05324468A (ja) 1993-12-07

Family

ID=14992668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4128755A Withdrawn JPH05324468A (ja) 1992-05-21 1992-05-21 階層化キャッシュメモリ

Country Status (2)

Country Link
US (1) US5829024A (ja)
JP (1) JPH05324468A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108753A (en) * 1998-03-31 2000-08-22 International Business Machines Corporation Cache error retry technique
US6865642B2 (en) * 1998-06-24 2005-03-08 International Business Machines Corporation Method and apparatus for disk caching for an intermediary controller
US6658458B1 (en) 2000-06-22 2003-12-02 Cisco Technology, Inc. Cascading associative memory arrangement
US7051078B1 (en) * 2000-07-10 2006-05-23 Cisco Technology, Inc. Hierarchical associative memory-based classification system
US6571317B2 (en) 2001-05-01 2003-05-27 Broadcom Corporation Replacement data error detector
US6745212B2 (en) 2001-06-27 2004-06-01 International Business Machines Corporation Preferential caching of uncopied logical volumes in an IBM peer-to-peer virtual tape server
US7437511B1 (en) 2003-06-30 2008-10-14 Storage Technology Corporation Secondary level cache for storage area networks
JP2007172333A (ja) * 2005-12-22 2007-07-05 Sanyo Electric Co Ltd バスアドレス選択回路およびバスアドレス選択方法
US7788206B2 (en) * 2007-04-30 2010-08-31 Lsi Corporation State machine compression using multi-character state transition instructions
JP5650441B2 (ja) * 2010-06-07 2015-01-07 キヤノン株式会社 演算装置、キャッシュ装置、その制御方法及びコンピュータプログラム
US9612970B2 (en) 2014-07-17 2017-04-04 Qualcomm Incorporated Method and apparatus for flexible cache partitioning by sets and ways into component caches
US10089238B2 (en) 2014-07-17 2018-10-02 Qualcomm Incorporated Method and apparatus for a shared cache with dynamic partitioning
US10180908B2 (en) 2015-05-13 2019-01-15 Qualcomm Incorporated Method and apparatus for virtualized control of a shared system cache

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4996641A (en) * 1988-04-15 1991-02-26 Motorola, Inc. Diagnostic mode for a cache
EP0348628A3 (en) * 1988-06-28 1991-01-02 International Business Machines Corporation Cache storage system
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5136700A (en) * 1989-12-22 1992-08-04 Digital Equipment Corporation Apparatus and method for reducing interference in two-level cache memories
ATE170642T1 (de) * 1990-06-15 1998-09-15 Compaq Computer Corp Mehrstufeneinschluss in mehrstufigen cache- speicherhierarchien
CA2043493C (en) * 1990-10-05 1997-04-01 Ricky C. Hetherington Hierarchical integrated circuit cache memory
US5367659A (en) * 1991-09-30 1994-11-22 Intel Corporation Tag initialization in a controller for two-way set associative cache
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
US5434992A (en) * 1992-09-04 1995-07-18 International Business Machines Corporation Method and means for dynamically partitioning cache into a global and data type subcache hierarchy from a real time reference trace

Also Published As

Publication number Publication date
US5829024A (en) 1998-10-27

Similar Documents

Publication Publication Date Title
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
EP0434250B1 (en) Apparatus and method for reducing interference in two-level cache memories
US5796980A (en) Reducing cache snooping overhead in a multilevel cache system with inclusion field in shared cache indicating state of data in lower level caches
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
US6134633A (en) Prefetch management in cache memory
KR100294105B1 (ko) 멀티 프로세서 컴퓨터 시스템의 일관성 카피-백 버퍼용 방법 및 장치
JPH0668735B2 (ja) キヤツシユメモリ−
JPH08185359A (ja) メモリサブシステム
JPS6135584B2 (ja)
KR19980079663A (ko) Smp 버스의 최근 판독 상태에서의 캐시 라인들의 공유 개입 방법
US5850534A (en) Method and apparatus for reducing cache snooping overhead in a multilevel cache system
JPH05324468A (ja) 階層化キャッシュメモリ
US5590310A (en) Method and structure for data integrity in a multiple level cache system
US20080301372A1 (en) Memory access control apparatus and memory access control method
US5737568A (en) Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
JP3626609B2 (ja) マルチプロセッサシステム
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
US5636365A (en) Hierarchical buffer memories for selectively controlling data coherence including coherence control request means
JP3733604B2 (ja) キャッシュメモリ
JPH0529943B2 (ja)
US6401173B1 (en) Method and apparatus for optimizing bcache tag performance by inferring bcache tag state from internal processor state
JPH03230238A (ja) キャッシュメモリ制御方式
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990803