JPH05257804A - キャッシュ・メモリ及び主記憶装置を更新する方法と装置及びコンピュータシステム - Google Patents

キャッシュ・メモリ及び主記憶装置を更新する方法と装置及びコンピュータシステム

Info

Publication number
JPH05257804A
JPH05257804A JP4319326A JP31932692A JPH05257804A JP H05257804 A JPH05257804 A JP H05257804A JP 4319326 A JP4319326 A JP 4319326A JP 31932692 A JP31932692 A JP 31932692A JP H05257804 A JPH05257804 A JP H05257804A
Authority
JP
Japan
Prior art keywords
cache
memory
write
cpu
virtual address
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
JP4319326A
Other languages
English (en)
Other versions
JP3552114B2 (ja
Inventor
Mark Young
マーク・ヤング
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH05257804A publication Critical patent/JPH05257804A/ja
Application granted granted Critical
Publication of JP3552114B2 publication Critical patent/JP3552114B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/10Address translation
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed

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)【要約】 (修正有) 【目的】 記憶装置を共用するプログラム用の別名アド
レス指定を支援し、キャッシュと主記憶装置の更新用書
き込み割り付けを有さないライト・スルーを利用した仮
想キャッシュ・メモリ・システムでキャッシュ・フラッ
シングを低減する。 【構成】 キャッシュ・メモリが仮想アドレス指定さ
れ、仮想アドレスの一部が相互の別名アドレスであり、
キャッシュ制御論理と、キャッシュ標識アレイと、記憶
域管理装置と、別名検出論理とから成るキャッシュ・メ
モリ制御装置が備えられる。キャッシュ・ラインがキャ
ッシュ不能の物理的記憶ページ内の記憶ブロックと対応
する場合は、キャッシュ制御論理はキャッシュ・ライン
のフラッシングをスキップして、不要なフラッシュを回
避し、改良されたライト・スルー及び書き込み割り付け
がないアプローチを利用して、CPUはキャッシュ・フ
ラッシュを低減するようにキャッシュ・メモリと主記憶
装置とを更新する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュ・メモリ・シ
ステムの分野に関する。本発明は特に記憶装置を共用す
るプログラム用の別名アドレスを支援し、且つキャッシ
ュ及び主記憶装置を更新するために書き込み割り付けを
有さないライト・スルーを利用した仮想キャッシュ・メ
モリ・システムにおけるキャッシュ・フラッシュを低減
する方法に関する。
【0002】
【従来の技術】キャッシュ及び主記憶装置を更新するた
めに書き込み割り付けを有さないライト・スルーを利用
したキャッシュ・メモリ・システムでは、データはキャ
ッシュ・メモリのキャッシュ・ラインと、主記憶装置の
対応する記憶ブロックとに同時にディスパッチされる。
しかし、書き込みキャッシュ・ヒットがある場合だけは
データはキャッシュ・ラインに書き込まれる。別の方法
としては、記憶ブロックをキャッシュ・ライン内に装填
し、次にそれが書き込みキャッシュ・ヒットであるかの
ように想定してキャッシュ・ラインを更新するライト・
スルーがある。
【0003】更に、対応する記憶ブロックへのデータの
書き込みは代表的にはキャッシュ・メモリのキャッシュ
・ラインへのデータの書き込みよりも長いロットを取
る。主記憶装置へのデータの書き込みの完了を待機中、
中央処理装置(CPU)は機能を停止する。書き込み停
止を軽減する一つのアプローチは主記憶装置に書き込む
ための書き込みバッファを利用することによって、デー
タがキャッシュ・メモリに書き込まれた後、CPUを継
続できるようにすることである。
【0004】仮想キャッシュ・メモリ・システムでは、
物理的アドレスの代わりに、仮想アドレス(プラスその
他の情報)に準拠してキャッシュ・ヒット/ミスが決定
される。代表的には、主記憶装置をアクセスするために
仮想アドレスは記憶域管理装置によって物理的アドレス
へと変換される。物理的な1ページ以上のサイズを有す
るキャッシュ・メモリ・システムの場合、2つ、又はそ
れ以上の仮想アドレスを同じ物理的アドレスに変換でき
る。言い換えると、同じ物理的アドレスからのデータは
2つ、又はそれ以上の別個のライン内にキャッシュされ
る。
【0005】2つ、又はそれ以上の仮想アドレスへとマ
ップされる物理的アドレスを有するこの特性は、物理的
アドレスの内容が2つ、又はそれ以上のキャッシュ・ラ
インへとキャッシュされることを除けば、共通の記憶装
置を共用したいプログラムを実行するために実際に望ま
しいものである。共通の記憶装置を共用する各々のプロ
グラムは共通の記憶装置用の独自の仮想アドレスを有
し、これは一般に別名アドレス指定と呼ばれる。しか
し、物理的アドレスの内容が2つ、又はそれ以上のキャ
ッシュ・ライン内にキャッシュされるという事実は、デ
ータの整合性の問題を生ずる。何故ならば、キャッシュ
・ラインの一つの内容が書き込みキャッシュ・ヒット内
で更新されると、キャッシュ・ライン内の内容は同期か
ら外れることがあるからである。別名アドレス指定にお
けるデータの整合性の問題に対する一つのアプローチ
は、仮想アドレスを同じキャッシュ記憶位置内に強制的
にキャッシュさせる技術である。同じキャッシュ記憶位
置へと強制できない仮想アドレスの場合は、それらの物
理的記憶ページには「キャッシュ禁止」のマークを付す
ことによって、データの整合性の問題が一気に回避され
る。
【0006】キャッシュ及び主記憶装置を更新するため
に書き込み割り付けを有さないライト・スルーを利用し
た仮想キャッシュ・メモリ・システムでは、別名アドレ
ス指定におけるデータの整合性の問題は、データは書き
込みキャッシュ・ミスで共通のキャッシュ記憶位置の周
囲の物理的記憶位置へと直接書き込むことができるの
で、依然として完全には処理されない。データの整合性
を確保するため、キャッシュ・ラインは書き込みキャッ
シュ・ミスでフラッシュされる。すなわち、キャッシュ
・ラインの内容は書き込みキャッシュ・ミスで無効にな
る。代表的には、キャッシュ・ラインのフラッシングが
「キャッシュ禁止」の物理的記憶ページの物理的アドレ
スへとマップする仮想アドレスには不要であり、ほとん
どのプログラムが共通の記憶装置を共用していない場合
でも、キャッシュ・ラインは無条件にフラッシュされ
る。ハードウェアがCPUからのどの仮想アドレスを別
名アドレスにするかを決定することは極めて困難である
ので、ラインのフラッシングは好ましい方法である。従
って、基本的な規則は全ての仮想アドレスが別名アドレ
スであると想定し、無条件にフラッシュすることであ
る。
【0007】無効となったキャッシュ・ラインの内容は
後に主記憶装置から再取出しされることになるので、キ
ャッシュのフラッシングはコスト高である。「キャッシ
ュ禁止」の物理的アドレスにマップする仮想アドレスに
はフラッシングは不要であるので、無条件のフラッシン
グは特に無駄であるものの、これらの仮想アドレスの結
果、常に書き込みキャッシュ・ミスを生ずるので、これ
らの不要なフラッシングは常に実行される。記憶装置を
共用するプログラム用の別名アドレス指定を支援する代
表的なコンピュータ・システムでは、「キャッシュ禁
止」のマークを付した多くの物理的アドレスがある。例
えば、ピックスマップされたビデオ・ディスプレー及び
ディスプレー・アダプタの双方又は一方を有する前記コ
ンピュータ・システムのフレーム・バッファ用に割当て
られた記憶装置には一般に「キャッシュ禁止」のマーク
が付されている。フレーム・バッファへの全ての書き込
みによって書き込みキャッシュ・ミスが生ずるので、プ
ロセッサにより実行される全てのスクリーンのスクロー
ルによって不要なフラッシングが実行される。
【0008】経験上、特に仮想キャッシュ・メモリ・シ
ステムが直接マップされ、又は低いセット連想性でマッ
プされる場合は、過剰なフラッシングは前記のようなコ
ンピュータ・システムの性能を劇的に損なうことが判明
している。従って、記憶装置を共用するプログラム用の
別名アドレス指定を支援し、且つキャッシュ及び主記憶
装置を更新するために書き込み割り付けを有さないライ
ト・スルーを利用した仮想キャッシュ・メモリ・システ
ムでキャッシュ・書き込みミスが生じた場合に条件付き
でキャッシュ・ラインのフラッシングが実行されること
が望ましい。
【0009】仮想キャッシュ・メモリ・システムと、書
き込み割り付けを有さないライト・スルーに関するより
詳細な説明は、J.L.ヘネシィ、D.A.パターソン
著「コンピュータ体系、定量的アプローチ」(モーガン
・カウフマン出版Inc.1990年刊、408−44
9ページ)を参照されたい。別名アドレス指定の更に詳
細な説明は、1987年10月10日に出願の米国特許
出願連続番号第07/104,635号、及び1990
年7月16日出願の継続出願連続番号第07/554,
186号を参照されたい。
【0010】
【発明が解決しようとする課題】従って本発明の課題は
記憶装置を共用するプログラム用の別名アドレス指定を
支援し、且つキャッシュ及び主記憶装置を更新するため
に書き込み割り付けを有さないライト・スルーを利用し
た仮想キャッシュ・メモリ・システムの性能を向上させ
ることである。
【0011】本発明の課題は記憶装置を共用するプログ
ラム用の別名アドレス指定を支援し、且つキャッシュ及
び主記憶装置を更新するために書き込み割り付けを有さ
ないライト・スルーを利用した仮想キャッシュ・メモリ
・システムにおいてキャッシュ・フラッシングを低減す
ることである。
【0012】
【課題を解決するための手段】本発明に従って、上記の
課題及びその他の課題は、キャッシュ・メモリ用の仮想
アドレス指定を支援するキャッシュ制御装置と、更新用
の書き込み割り付けを有さないライト・スルーと、記憶
装置を共用したプログラム用の別名アドレス指定と、キ
ャッシュされない物理的記憶ページで書き込みキャッシ
ュ・ミスが生じた場合のキャッシュ・ラインのフラッシ
ングのスキップの機能とを備えた改良されたキャッシュ
制御装置を提供することによって達成される。好ましい
実施例では、物理的記憶ページはキャッシュ制御装置の
記憶域管理装置内に「キャッシュ禁止」のマークが付さ
れる。キャッシュ制御論理が書き込みキャッシュ・ミス
を検出すると、この論理は記憶域管理装置を点検して、
「キャッシュ禁止」のマークが付された物理的記憶ペー
ジでキャッシュ・ミスが生じたかどうかが判定される。
物理的記憶ページに上記のマークが付されている場合、
キャッシュ制御論理はキャッシュ・ラインのフラッシン
グをスキップすることによって、不要なフラッシングを
低減し、キャッシュ・メモリ・システムの性能を向上さ
せる。
【0013】
【実施例】記憶装置を共用するプログラム用の別名アド
レス指定を支援し、且つキャッシュ及び主記憶装置を更
新するために書き込み割り付けを有さないライト・スル
ーを利用した、キャッシュ・フラッシュを低減した改良
された仮想キャッシュ・メモリ・システムが開示され
る。説明目的の下記の記述では、本発明を完全に理解す
るために特定の数値、材料及び構造を記載する。しか
し、本発明は特定の細目がなくても実施できることが専
門家には理解されよう。別の例では、本発明を不要に不
明確にしないために、公知のシステムは図表又は構成図
で図示する。
【0014】ここで図1を参照すると、本発明の教示を
実施したコンピュータ・システムを示した構成図が示さ
れている。図1に示すように、コンピュータ・システム
10は中央処理装置(CPU)12と、本発明のキャッ
シュ・メモリ制御装置14と、キャッシュ・メモリ16
と、主記憶装置18とから構成されている。CPU12
は仮想アドレスバス22とデータバス24とを介して本
発明のキャッシュ・メモリ制御装置14と、キャッシュ
・メモリ16とに連結されている。更に、CPU12は
書き込みバッファ20と、多重化されたデータ及びアド
レスバス26とを介して主記憶装置18に連結され、本
発明のキャッシュ・メモリ制御装置14は多重化された
データ及びアドレスバス26を介して主記憶装置18に
連結されている。
【0015】キャッシュ・メモリ16は仮想アドレス指
定される。すなわち、キャッシュ・ヒット/ミスは物理
的アドレスでなく仮想アドレスに準拠して決定される。
主記憶装置18はキャッシュ・メモリ16内に直接マッ
プされるか、又は完全連想性の態様、又はセット連想性
の態様でマップされる。しかし、同じ物理的アドレスに
対応する別名仮想アドレスはキャッシュの同じ領域に指
標付けされるか、又はキャッシュ・メモリにマップされ
ない。
【0016】CPU12は書き込み割り付けアプローチ
がないライト・スルーを用いてキャッシュ・メモリ16
と、主記憶装置18とを更新する。すなわち、データは
CPU12からキャッシュ・メモリ16と、主記憶装置
18とに同時にディスパッチされ、書き込みキャッシュ
・ヒットがある場合は、ディスパッチされたデータはキ
ャッシュ・メモリ16のキャッシュ・ラインへとキャッ
シュされる。言い換えると、記憶ブロックは主記憶装置
からキャッシュ・ライン内に取り出されず、次に、書き
込みキャッシュ・ミスが生じた場合、それが書き込みキ
ャッシュ・ヒットであるかのように想定してキャッシュ
・ラインが更新される。
【0017】CPU12と、キャッシュ・メモリ16
と、主記憶装置18と、書き込みバッファ20と、仮想
アドレスバス22と、データバス24と、多重化された
データ及びアドレスバス26とは、キャッシュ及び主記
憶装置を更新するために書き込み割り付けを有さないラ
イト・スルーを利用した仮想キャッシュ・メモリを有す
るほとんどのコンピュータ・システムに装備された広く
公知のCPU、キャッシュ・メモリ、主記憶装置、書き
込みバッファ、仮想アドレスバス、データバス及び、多
重化されたデータ及びアドレスバスを表すことを意図す
るものである。このようなコンピュータ・システムの例
にはカリフォルニア州、マウンテン.ビューのサン.マ
イクロシステム社製のSparcstationTM・コ
ンピュータ・システムがある。(Sparcstati
onはサン.マイクロシステム社の登録商標である。)
【0018】更に、CPU12と、本発明のキャッシュ
・メモリ制御装置14と、キャッシュ・メモリ16と、
主記憶装置18とは図1に示した実施例以外の他の多様
な公知の態様で連結することができる。
【0019】さて、図2を参照すると、本発明のキャッ
シュ・メモリ制御装置の現在の好ましい実施態様の構成
図が示されている。本発明のキャッシュ・メモリ制御装
置14の現在の好ましい実施態様は、キャッシュ制御論
理28と、キャッシュ標識アレイ30と、記憶域管理装
置32と、別名制御論理34とから構成されている。キ
ャッシュ制御論理28はキャッシュ標識アレイ30と、
記憶域管理装置32と、別名制御論理34とに連結され
ている。
【0020】キャッシュ標識アレイ30はキャッシュ・
メモリ16のキャッシュ・ラインに対応する複数個のキ
ャッシュ標識から成っている。各々のキャッシュ標識は
キャッシュ・メモリ16のキャッシュ・ライン内に現在
キャッシュされている主記憶装置18の記憶ブロックを
識別する切捨てられた仮想アドレスと、キャッシュ・ラ
イン内に現在キャッシュされているデータが妥当である
かどうかを示す妥当性ビットとから成っている。キャッ
シュ標識アレイ30は任意の公知の態様で実施すること
ができる。
【0021】記憶域管理装置32は仮想アドレスを物理
的アドレスにマップするための回路から成っている。更
に、記憶域管理装置32は主記憶装置18の物理的記憶
ページを記述する複数個の物理的記憶ページ記述子ブロ
ックを有する物理的記憶ページ・テーブルを備えてい
る。詳細に述べると、各々の物理的記憶ページ記述子ブ
ロックは、コンピュータ・システム上で支援されている
別名アドレス指定に起因して物理的記憶ページがキャッ
シュ不能である場合にセットされる「キャッシュ禁止」
ビットから成っている。記憶域管理装置32は多様な公
知の態様で実施することができ、記憶域管理装置32の
実施態様の更に詳細な説明は1987年10月2日に出
願の米国特許出願連続番号第07/104,635号、
及び1990年7月16日出願の継続出願連続番号第0
7/554,186号を参照されたい。
【0022】別名制御論理34は、CPU12がキャッ
シュ・メモリ16から読み出すことを試みた場合に別名
アドレスを検出するための回路から成っている。別名制
御論理34は多様な公知の態様で実施することができ、
別名制御論理の更に詳細な説明は記憶域管理装置に関す
る参考文献を参照されたい。
【0023】キャッシュ制御論理28はキャッシュ・メ
モリ制御装置14の動作を制御する回路から成ってい
る。更新用の書き込み割り付けアプローチがないライト
スルーを用いた仮想キャッシュ・メモリを有するコンピ
ュータ・システムの大部分に装備されているキャッシュ
制御装置によって実行される基本機能と同様の、キャッ
シュ制御装置14によって実行される基本機能のため
に、キャッシュ制御論理28は上記のコンピュータ・シ
ステムで採用されている任意の公知の態様で実施するこ
とができる。キャッシュ・メモリ16を更新するための
キャッシュ制御論理の制御の流れ図が図3に示されてい
る。
【0024】図3に示すように、キャッシュ制御論理は
ブロック42でCPUから書き込み信号と仮想アドレス
を受理する。キャッシュ制御論理はブロック44で、キ
ャッシュ記憶標識を用いて、仮想アドレスの結果、書き
込みキャッシュ・ヒットが生じたかどうかを判定する。
仮想アドレスの結果、書き込みキャッシュ・ヒットが生
じた場合は、キャッシュ制御論理はブロック46でキャ
ッシュ・メモリがCPUからデータ・バイトを受理する
ように命令する制御信号をキャッシュ・メモリに供給
し、且つ仮想アドレスによって識別されたキャッシュ・
ライン内にデータ・バイトを記憶する。CPUからの書
き込み信号と初期アドレスがキャッシュ・メモリ制御装
置へとディスパッチされた後、データ・バイトはCPU
からキャッシュ・メモリへとディスパッチされる。
【0025】更に、キャッシュ制御論理はブロック48
で記憶域管理装置を用いて物理的アドレスへと仮想アド
レスをマップする。次にキャッシュ制御論理は主記憶装
置に対して、CPUからのデータ・バイトを受理するよ
うに命令する物理的アドレスと制御信号を主記憶装置に
供給し、且つ物理的アドレスによって識別された記憶場
所にデータ・バイトを記憶する。CPUからキャッシュ
・メモリへのディスパッチと同時にデータ・バイトはC
PUから主記憶装置へとディスパッチされる。
【0026】仮想アドレスの結果、書き込みキャッシュ
・ミスを生じた場合は、キャッシュ制御論理は、ブロッ
ク52で記憶域管理装置を利用して初期アドレスを物理
的アドレスへとマップし、次にキャッシュ制御論理はブ
ロック54で記憶域管理装置を利用して、対応する物理
的アドレスがキャッシュ不能のマークが付された物理的
記憶ページ内の記憶場所を識別するかどうかを判定す
る。対応する物理的アドレスがキャッシュ不能のマーク
が付されていない物理的記憶ページ内の記憶場所を識別
する場合は、キャッシュ制御論理はブロック56でキャ
ッシュ・ラインをフラッシュし、そうではない場合は、
キャッシュ制御論理はキャッシュ・ラインのフラッシン
グをスキップすることによって、キャッシュされない記
憶場所用の不要なフラッシングを回避する。キャッシュ
制御論理はキャッシュ・ライン用のキャッシュ標識内の
妥当なビットをアンセットすることによってキャッシュ
・ラインをフラッシュし、それによってキャッシュ・ラ
イン内に現在キャッシュされているデータ内容を無効に
する。書き込みキャッシュ・ミスを生じた書き込み動作
はCPUを継続動作させる前に、正規のアクセス許可に
関してチェックされなければならず、記憶域管理装置が
点検されるので、性能を損なわずに不要なフラッシュを
回避することができる。
【0027】更に、キャッシュ・ラインがフラッシュさ
れたかどうかに関わりなく、キャッシュ制御論理はブロ
ック58で主記憶装置がCPUからのデータ・バイトを
受理するように命令する物理的アドレスと制御信号を主
記憶装置に供給し、物理的アドレスによって識別された
記憶場所にデータ・バイトを記憶する。前述したよう
に、CPUからキャッシュ・メモリへのディスパッチと
同時にデータ・バイトはCPUから主記憶装置へとディ
スパッチされる。
【0028】これまで本発明を現在の好ましい実施例に
関して説明してきたが、本発明は前述の実施例に限定さ
れないことが専門家には理解されよう。本発明の方法と
装置は添付の請求項の趣旨と範囲内で修正及び変更して
実施することができる。従ってこれまでの記述は本発明
を限定するものではなく、例示するものである。
【0029】
【発明の効果】物理的記憶ページに「キャッシュ禁止」
のマークが付されている場合、キャッシュ制御論理がキ
ャッシュ・ラインのフラッシングをスキップすることに
よって、不要なフラッシングが低減し、キャッシュ・メ
モリ・システムの性能が向上する。
【図面の簡単な説明】
【図1】本発明の教示を実施したコンピュータ・システ
ムである。
【図2】本発明のキャッシュ・メモリ制御装置である。
【図3】本発明のキャッシュ・メモリ制御装置のキャッ
シュ制御論理の制御の流れ図である。
【符号の説明】
12 中央処理装置(CPU) 14 キャッシュ
・メモリ制御装置 16 キャッシュ・メモリ 18 主記憶装置 20 書き込みバッファ 22 仮想アドレ
スバス 24 データバス 26 アドレスバ
ス 28 キャッシュ制御論理 30 キャッシュ
標識アレイ 32 記憶域管理装置 34 別名制御論

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュ・メモリに連結された中央処
    理装置(CPU)と、複数の処理手順を実行する主記憶
    装置とを備え、キャッシュ・ヒット/ミスが仮想アドレ
    スに準拠し、前記仮想アドレスの一部が相互に別名アド
    レスであるコンピュータ・システムで、前記CPUがキ
    ャッシュ・フラッシングを低減するように前記キャッシ
    ュ・メモリ及び主記憶装置を更新する方法において、 前記CPUから書き込み信号と仮想アドレスを受理し、
    前記仮想アドレスが、その仮想アドレスに準拠して書き
    込みキャッシュ・ヒットと書き込みキャッシュ・ミスと
    のいずれを生じたかどうかを判定する段階と、 前記仮想アドレスを前記主記憶装置の記憶場所を識別す
    る物理的アドレスへとマッピングし、前記主記憶装置の
    記憶場所が前記主記憶装置のキャッシュ不能な記憶ブロ
    ックのキャッシュ不能な記憶場所であるかどうかを判定
    する段階と、 前記物理的アドレスと、第1書き込み制御信号とを前記
    主記憶装置に供給し、その際、前記第1制御信号は前記
    主記憶装置に対して前記CPUからのデータ・バイトを
    受理し、且つ前記データ・バイトを前記記憶場所に記憶
    するように命令する制御信号であり、前記データ・バイ
    トは前記CPUによって前記主記憶装置へとディスパッ
    チされるデータ・バイトである段階と、 前記仮想アドレスが前記書き込みキャッシュ・ヒットを
    生じた場合は、前記キャッシュ・メモリが前記CPUか
    ら前記データ・バイトを受理するように命令する第2制
    御信号を前記キャッシュ・メモリに供給し、その際に前
    記データ・バイトも前記CPUによって前記キャッシュ
    ・メモリにディスパッチされ、前記キャッシュ・メモリ
    によって受理されると前記データ・バイトが前記キャッ
    シュ・メモリのキャッシュ・ライン内にキャッシュさ
    れ、前記キャッシュ・ラインは前記仮想アドレスによっ
    て識別され、且つ前記記憶ブロックと対応する段階と、 前記仮想アドレスが、前記書き込みキャッシュ・ミスが
    生じ、前記記憶場所がキャッシュ不能な記憶場所ではな
    い場合は、前記キャッシュ・ラインをフラッシュする段
    階とから成っており、それによって、前記キャッシュ・
    ラインがキャッシュ可能な記憶ブロックに対応する場合
    は前記キャッシュ・ラインをフラッシュさせることによ
    って不要なキャッシュ・フラッシュを低減することを特
    徴とするキャッシュ・メモリ及び主記憶装置を更新する
    方法。
  2. 【請求項2】 キャッシュ・メモリに連結された中央処
    理装置(CPU)と、複数の処理手順を実行する主記憶
    装置とを備え、キャッシュ・ヒット/ミスが仮想アドレ
    スに準拠し、前記仮想アドレスの一部が相互の別名アド
    レスであるコンピュータ・システムの、前記CPUがキ
    ャッシュ・フラッシングを低減するように前記キャッシ
    ュ・メモリ及び主記憶装置を更新するキャッシュ・メモ
    リ制御装置において、 前記キャッシュ・メモリの複数の対応するキャッシュ・
    ライン内に現在キャッシュされている前記主記憶装置の
    複数の記憶ブロックを識別する複数個のキャッシュ標識
    を記憶するキャッシュ標識アレイと、 仮想アドレスを前記主記憶装置の記憶ブロックの記憶場
    所を識別する物理的アドレスへとマップし、且つキャッ
    シュ不能な記憶ブロックから成る前記主記憶装置のキャ
    ッシュ不能な物理的記憶ページをトラッキングするため
    の記憶域管理装置と、 前記CPUと、前記キャッシュ標識アレイと、前記記憶
    域管理装置とに連結され、前記キャッシュ論理制御装置
    は前記CPUから書き込み信号と仮想アドレスとを受理
    し、前記キャッシュ標識アレイを利用して、前記仮想ア
    ドレスが、その仮想アドレスに準拠した書き込みキャッ
    シュ・ヒットと書き込みキャッシュ・ミスのいずれかが
    生じたかどうかを判定し、前記記憶域管理装置を利用し
    て前記仮想アドレスを前記主記憶装置の記憶場所を識別
    する物理的アドレスへとマップし、前記記憶域管理装置
    を利用して前記主記憶装置の記憶場所がキャッシュ不能
    な記憶場所であるかどうかを判定し、前記主記憶装置が
    前記CPUからのデータ・バイトを受理し、且つ前記物
    理的アドレスと、前記データ・バイトを前記記憶場所に
    記憶するように命令する第1制御信号とを供給し、前記
    仮想アドレスが前記書き込みキャッシュ・ヒットを生じ
    た場合は、前記キャッシュ・メモリが前記CPUから前
    記データ・バイトを受理するように命令する第2制御信
    号を前記キャッシュ・メモリに供給し、前記仮想アドレ
    スが書き込みキャッシュ・ミスを生じ、且つ前記記憶場
    所がキャッシュ不能の記憶場所ではない場合は、前記キ
    ャッシュ・ラインをフラッシュするためのキャッシュ制
    御論理と、 からなり、前記データ・バイトは前記CPUによって前
    記主記憶装置と前記キャッシュ・メモリとに同時にディ
    スパッチされ、前記データ・バイトは前記キャッシュ・
    メモリによって受理されると、前記キャッシュ・メモリ
    のキャッシュ・ライン内にキャッシュされ、前記キャッ
    シュ・ラインは前記仮想アドレスによって識別され、前
    記記憶ブロックに対応することを特徴とするキャッシュ
    ・メモリ制御装置。
  3. 【請求項3】 キャッシュ・ヒット/ミスが仮想アドレ
    スに準拠し、その仮想アドレスの一部が相互の別名アド
    レスであるとともに、キャッシュ・メモリに連結された
    中央処理装置(CPU)と、複数の処理手順を実行する
    主記憶装置とを備えたコンピュータ・システムにおい
    て、前記CPUと、前記キャッシュ・メモリと、前記主
    記憶装置とに連結され、書き込みキャッシュ・ミスの場
    合に、キャッシュ・フラッシュを低減する書き込み割り
    付けアプローチなしの改良されたライト・スルーによっ
    て、CPUが前記キャッシュ・メモリと主記憶装置とを
    更新することができるキャッシュ・メモリ制御装置を有
    することを特徴とするコンピュータ・システム。
JP31932692A 1991-11-04 1992-11-04 キャッシュ・メモリ及び主記憶装置を更新する方法と装置及びコンピュータシステム Expired - Lifetime JP3552114B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US78754791A 1991-11-04 1991-11-04
US787547 1991-11-04

Publications (2)

Publication Number Publication Date
JPH05257804A true JPH05257804A (ja) 1993-10-08
JP3552114B2 JP3552114B2 (ja) 2004-08-11

Family

ID=25141839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31932692A Expired - Lifetime JP3552114B2 (ja) 1991-11-04 1992-11-04 キャッシュ・メモリ及び主記憶装置を更新する方法と装置及びコンピュータシステム

Country Status (5)

Country Link
US (1) US5933844A (ja)
EP (1) EP0541319B1 (ja)
JP (1) JP3552114B2 (ja)
KR (1) KR100285533B1 (ja)
DE (1) DE69219433T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774541B2 (en) 2005-12-27 2010-08-10 Samsung Electronics Co., Ltd. Storage apparatus using non-volatile memory as cache and method of managing the same

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356996B1 (en) * 1998-03-24 2002-03-12 Novell, Inc. Cache fencing for interpretive environments
EP1046998A1 (en) * 1999-04-22 2000-10-25 Texas Instruments Incorporated Digital signal processors with virtual addressing
US6453404B1 (en) * 1999-05-27 2002-09-17 Microsoft Corporation Distributed data cache with memory allocation model
US7065632B1 (en) * 2000-04-07 2006-06-20 Ip First Llc Method and apparatus for speculatively forwarding storehit data in a hierarchical manner
GB2372589B (en) 2001-02-21 2003-01-22 3Com Corp Memory aliasing in a processor system
US6725337B1 (en) * 2001-05-16 2004-04-20 Advanced Micro Devices, Inc. Method and system for speculatively invalidating lines in a cache
US7564375B2 (en) * 2001-09-11 2009-07-21 Zonar Systems, Inc. System and method to associate geographical position data collected from a vehicle with a specific route
US7017054B2 (en) * 2002-07-02 2006-03-21 Dell Products L.P. Mirrored tag snoop optimization
US10056008B1 (en) 2006-06-20 2018-08-21 Zonar Systems, Inc. Using telematics data including position data and vehicle analytics to train drivers to improve efficiency of vehicle use
EP2444938A4 (en) * 2009-06-17 2015-09-02 Panasonic Ip Man Co Ltd PICTURE GENERATING DEVICE, PICTURE PRODUCTION METHOD AND INTEGRATED CIRCUIT
US8914184B2 (en) 2012-04-01 2014-12-16 Zonar Systems, Inc. Method and apparatus for matching vehicle ECU programming to current vehicle operating conditions
US9317423B2 (en) * 2013-01-07 2016-04-19 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
US9934152B1 (en) * 2015-02-17 2018-04-03 Marvell International Ltd. Method and apparatus to use hardware alias detection and management in a virtually indexed physically tagged cache
US9842051B1 (en) * 2015-03-25 2017-12-12 Marvell International Ltd. Managing aliasing in a virtually indexed physically tagged cache
GB2577404B (en) * 2016-03-29 2020-09-09 Imagination Tech Ltd Handling memory requests
GB2548845B (en) 2016-03-29 2019-11-27 Imagination Tech Ltd Handling memory requests
US10847196B2 (en) 2016-10-31 2020-11-24 Rambus Inc. Hybrid memory module
US10482028B2 (en) * 2017-04-21 2019-11-19 Intel Corporation Cache optimization for graphics systems
US10325341B2 (en) 2017-04-21 2019-06-18 Intel Corporation Handling pipeline submissions across many compute units
US11301378B2 (en) 2017-10-12 2022-04-12 Rambus Inc. Nonvolatile physical memory with DRAM cache and mapping thereof
US12086654B2 (en) 2021-09-16 2024-09-10 T-Head (Shanghai) Semiconductor Co., Ltd. Parallel processing unit virtualization

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US5119290A (en) * 1987-10-02 1992-06-02 Sun Microsystems, Inc. Alias address support
JPH01173241A (ja) * 1987-12-28 1989-07-07 Toshiba Corp キャッシュメモリ装置
US5058006A (en) * 1988-06-27 1991-10-15 Digital Equipment Corporation Method and apparatus for filtering invalidate requests
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774541B2 (en) 2005-12-27 2010-08-10 Samsung Electronics Co., Ltd. Storage apparatus using non-volatile memory as cache and method of managing the same

Also Published As

Publication number Publication date
KR930010733A (ko) 1993-06-23
EP0541319A1 (en) 1993-05-12
KR100285533B1 (ko) 2001-04-02
EP0541319B1 (en) 1997-05-02
DE69219433T2 (de) 1997-12-11
JP3552114B2 (ja) 2004-08-11
US5933844A (en) 1999-08-03
DE69219433D1 (de) 1997-06-05

Similar Documents

Publication Publication Date Title
JPH05257804A (ja) キャッシュ・メモリ及び主記憶装置を更新する方法と装置及びコンピュータシステム
US5146603A (en) Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof
US6681311B2 (en) Translation lookaside buffer that caches memory type information
US5996048A (en) Inclusion vector architecture for a level two cache
EP0435475B1 (en) High-performance frame buffer and cache memory system
JP3264319B2 (ja) バスブリッジ
CA2674868C (en) Method and apparatus for setting cache policies in a processor
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US6954828B2 (en) Management of caches in a data processing apparatus
US6591341B1 (en) Multilevel cache system and method having a merged tag array to store tags for multiple data arrays
US5590310A (en) Method and structure for data integrity in a multiple level cache system
US6151661A (en) Cache memory storage space management system and method
JP3245125B2 (ja) 垂直キャッシュのための擬似精細i−キャッシュ包含性
US6145057A (en) Precise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
EP0365117A2 (en) Data-processing apparatus including a cache memory
EP0949569A2 (en) Cache pollution avoidance instructions
JP2788836B2 (ja) ディジタルコンピュータシステム
US6751700B2 (en) Date processor and storage system including a set associative cache with memory aliasing
US6202128B1 (en) Method and system for pre-fetch cache interrogation using snoop port
US6049849A (en) Imprecise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
JPH10143431A (ja) マイクロプロセッサおよびコンピュータシステムにおけるデータのキャッシング方法
US9442856B2 (en) Data processing apparatus and method for handling performance of a cache maintenance operation
US5752262A (en) System and method for enabling and disabling writeback cache
US5749092A (en) Method and apparatus for using a direct memory access unit and a data cache unit in a microprocessor
US20050144391A1 (en) Cache memory management

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9