JPH06222989A - コピーバックキャッシュタグメモリ - Google Patents

コピーバックキャッシュタグメモリ

Info

Publication number
JPH06222989A
JPH06222989A JP5298443A JP29844393A JPH06222989A JP H06222989 A JPH06222989 A JP H06222989A JP 5298443 A JP5298443 A JP 5298443A JP 29844393 A JP29844393 A JP 29844393A JP H06222989 A JPH06222989 A JP H06222989A
Authority
JP
Japan
Prior art keywords
cache
data
memory
tag
entry
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
JP5298443A
Other languages
English (en)
Inventor
David Charles Mcclure
シー. マククルーア デイビッド
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.)
STMicroelectronics lnc USA
Original Assignee
SGS Thomson Microelectronics 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 SGS Thomson Microelectronics Inc filed Critical SGS Thomson Microelectronics Inc
Publication of JPH06222989A publication Critical patent/JPH06222989A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array

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】
【従来の技術】システム性能を改善するために、多くの
コンピュータシステムにおいてキャッシュメモリが使用
されている。キャッシュメモリは、中央プロセサとメイ
ンシステムメモリとの間に設けられる比較的小型で高速
のメモリである。該プロセサがキャッシュメモリ内に格
納されているメモリ位置の内容を読取る場合には、この
ような位置へアクセスするのに必要な時間が著しく減少
される。良好なキャッシュ技術は、90%をはるかに超
える「ヒット率」を与えることが可能であり、そのこと
は、実施される読取り動作のうちの90%を超えるもの
に対してはメインメモリへのアクセスが必要ではないこ
とを意味している。キャッシュ内に格納されているデー
タのアクセスは、三倍乃至十倍のファクタでアクセス時
間を改善することが可能である。
【0003】キャッシュは二つの異なったタイプのメモ
リを必要とする機能を実行する。第一のタイプはデータ
メモリであり、その場合にはデータが実際に格納され
る。第二のタイプはタグメモリ即ちタグRAMとして知
られるものであって、それは、どのメモリ位置が実際に
キャッシュ内に格納されるかを決定するために使用され
る。一般的には、キャッシュタグRAMは、データキャ
ッシュのエントリに対応する複数個のエントリを有して
いる。各エントリは、中央プロセサによって発生される
アドレスの幾つかの数の最小桁ビットによってインデッ
クスされ、タグエントリ自身は、対応するデータキャッ
シュエントリ内に格納されるメモリ位置の最大桁ビット
を有している。キャッシュタグ内に格納されている最大
桁ビットが現在発生中のアドレスの最大桁ビットとマッ
チ即ち一致する場合には(尚、このアドレスの最小桁ビ
ットはタグRAMに対するインデックスとして作用す
る)、キャッシュ「ヒット」が発生しており且つ読取ら
れるべきデータは対応するデータキャッシュエントリか
らとることが可能である。所望のアドレスに対応するデ
ータがデータキャッシュ内に探し出されない場合には、
タグエントリは該アドレスの最大桁ビットとマッチ即ち
一致することはなく、従って「ミス」が発生する。この
ことは、データがメインシステムメモリから検索され且
つデータキャッシュ内へ配置されねばならないことを表
わしている。この場合に、キャッシュタグエントリの現
在の内容が新たに検索されたアドレスの最大桁ビットで
上書きされる。
【0004】マルチプロセサシステムにおいては、シス
テム内の各プロセサにそれ自身のキャッシュメモリを設
けることが可能である。各ローカルプロセサは可能であ
る場合にはいつでもそれ自身のキャッシュへアクセス
し、且つ必要な場合にのみシステムバスを介してメイン
システムメモリへアクセスする。
【0005】メモリ位置内へデータを書込む場合に、そ
れを後の時間にメインメモリへ書込むべくキャッシュ内
に格納することが可能であり、又は、キャッシュのみな
らずメインメモリへも即座に書込むことが可能である。
前者の機能はコピーバック又はライトバック(書戻し)
として知られており、一方後者の機能はライトスルー又
はコピースルー(書通し)として知られている。
【0006】コピーバックキャッシュフォーマットはコ
ヒーレンシィ即ち一貫性に関する重要な問題を導入す
る。ローカルプロセサがそのキャッシュメモリ内へデー
タを書込む場合には、メインメモリ内の対応するデータ
は無効となる。キャッシュメモリ内のデータもメインメ
モリ内においてアップデートされたか否かを表わすため
に通常ステータスビットが使用される。このステータス
ビットは「ダーティビット」として当該技術分野におい
ては知られている。典型的には、このステータスビット
は、メインメモリがアップデートされていないことを示
すためにセットされている。キャッシュメモリ内のデー
タが新たなデータで上書きされるべき場合には、キャッ
シュコントローラがキャッシュ内のデータをモニタし
て、ステータスビットがセットされているか否かを決定
する。ステータスビットがセットされている場合には、
新たなデータがキャッシュメモリ内へ書込まれる前にキ
ャッシュメモリ内のデータがメインメモリへ書込まれね
ばならない。
【0007】このコヒーレンシィ問題を取扱う場合に使
用される一つの技術は、キャッシュタグメモリとは別個
のメモリ内にステータスビットを格納することである。
然しながら、ステータスビットに対して別個のメモリを
使用することは基板上の面積を犠牲にすることとなる。
何故ならば、このステータスビットを格納するために別
個のRAMが必要となるからである。更に、キャッシュ
メモリの動作は効率が低下する。何故ならば、キャッシ
ュメモリ内のデータに関する情報が幾つかのメモリアレ
イ内に格納されるからである。このことは、データを検
索し且つその信頼性を確かめるためにシステムがこれら
の幾つかのメモリアレイへアクセスすることを強制す
る。
【0008】
【発明が解決しようとする課題】本発明は、基板の空間
を節約し且つより効率的に動作することの可能なキャッ
シュタグメモリを提供することを目的とする。
【0009】
【課題を解決するための手段】本発明によれば、キャッ
シュタグメモリアレイが提供され、それはキャッシュタ
グメモリアレイ内の各エントリに対応するステータスビ
ットに対するビット位置を有している。ステータスビッ
トはタグRAM用の各タグ内に設けられている。ステー
タスビットは、キャッシュメモリ内のアップデートされ
たデータがメインメモリ内においてアップデートされた
か否かを表わす。データが最初にキャッシュタグメモリ
内に書込まれる場合に、ステータスビットは第一状態へ
セットされる。次いで、ローカルプロセサがキャッシュ
メモリ内のデータをアップデートする場合に、ステータ
スビットは第二状態へセットされ、且つそのデータはメ
インメモリにおいて即座にアップデートされるわけでは
ない。キャッシュメモリ内のデータがキャッシュミスの
後に置換されるべき場合には、キャッシュコントローラ
は、ステータスビットが第二状態へセットされているか
否かをモニタする。ステータスビットが第二状態へセッ
トされている場合には、キャッシュメモリ内のデータ
は、新たなデータがキャッシュメモリ内へ書込まれる前
に、メインメモリ内へ書込まれねばならない。ステータ
スビットが第二状態へセットされていない場合には、新
たなデータは即座にキャッシュメモリ内へ書込まれる。
各タグ内にステータスビットを設けることによって、基
板面積が節約され、且つキャッシュメモリがより効率的
に動作することを可能とする。
【0010】
【実施例】図1を参照すると、マルチプロセサコンピュ
ータシステム10が概略的に示されている。ローカルプ
ロセサ12,14,16の各々は、夫々、ローカルキャ
ッシュメモリ18,20,22が設けられている。プロ
セサ12,14,16は、システムバス26を介して、
相互に通信を行なうと共にメインシステムメモリ24と
通信を行なう。複数個の入力/出力装置28,30もシ
ステムバス26へ接続して設けられている。入力/出力
装置28,30は、典型的には、ローカルキャッシュメ
モリを包含するものではない。
【0011】好適実施例においては、マルチプロセサコ
ンピュータシステム10はコピーバックキャッシュ技術
を使用している。コピーバックキャッシュにおいては、
ローカルキャッシュ18内のメモリ位置へ書込まれたデ
ータはローカルキャッシュ18内に維持され、且つその
時刻においてメインメモリ24へ書込まれることはな
い。そのデータは後の時間、典型的には、キャッシュミ
スが新たなデータをキャッシュ内へロードすることを必
要とする時に、メインメモリ24へ書込まれる。このコ
ピーバックキャッシュアプローチは、コヒーレンシィ即
ち一貫性に関する重要な問題を導入する。ローカルプロ
セサ12がキャッシュメモリ18内のデータを変更させ
る場合に一つの例のコヒーレンシィ問題が発生し、その
場合にはメインメモリ24内の対応するデータは無効と
される。
【0012】図2は従来技術に基づくキャッシュタグメ
モリを使用するキャッシュメモリを示したハイレベルの
ブロック線図である。キャッシュタグRAM32及びデ
ータキャッシュ34はシステムバス26及びローカルプ
ロセサ36と通信を行なう。キャッシュコントローラ3
8は、単一プロセサシステムにおいて使用するのに適し
たキャッシュにおいて見出される通常のキャッシュ制御
機能を実行する。
【0013】データキャッシュ34は、キャッシュコン
トローラ38の制御化において、ローカルプロセサ36
及びシステムバス26とデータの交換を行なう。ローカ
ルプロセサ36及びキャッシュコントローラ38によっ
て、且つキャッシュコントローラ38とシステムバス2
6との間において、種々の制御信号が交換される。アド
レス信号及び制御信号は、ローカルプロセサ36からキ
ャッシュタグRAM32へ送給される。アドレス信号及
び制御信号は、更に、キャッシュタグRAM32とシス
テムバス26との間において送給される。
【0014】RAM32は、更に、MATCH(一致)
信号をキャッシュコントローラ38へパスする。このM
ATCH(一致)信号は、ローカルプロセサ36によっ
て現在アドレスされているメモリ位置がデータキャッシ
ュ34内に存在しており、且つそのエントリが現在有効
であることを表わす。キャッシュコントローラ38はロ
ーカルプロセサ36によってアクセスされている位置を
データキャッシュ34から直接的に読取らせる。マッチ
信号がミスであることを表わす場合には、キャッシュコ
ントローラ38は、要求されたアドレスを、ローカルプ
ロセサのメモリ要求を完了する前に、データキャッシュ
34及びタグRAM32内へロードさせる。
【0015】当該技術分野において公知の如く、タグR
AM32は、どのメモリ位置が実際にデータキャッシュ
34内に格納されるかを決定するために使用される。一
般的には、キャッシュタグRAM32は、データキャッ
シュ34のエントリに対応する複数個のエントリを有し
ている。各エントリは中央プロセサによって発生される
アドレスのある数の最小桁ビットによってインデックス
され、タグエントリ自身が対応するデータキャッシュエ
ントリ内に格納されるメモリ位置の最大桁ビットを有し
ている。タグRAM32内に格納されている最大桁ビッ
トが現在発生中のアドレスの最大桁ビットとマッチ即ち
一致する場合には(このアドレスの最小桁ビットはタグ
RAM32に対するインデックスとして作用する)、キ
ャッシュ「ヒット」が発生しており、且つ読取られるべ
きデータは対応するデータキャッシュエントリから取る
ことが可能である。所望のアドレスに対応するデータが
データキャッシュ34内において探し出されない場合に
は、タグエントリはそのアドレスの最大桁ビットとマッ
チ即ち一致するものではなく、従って「ミス」が発生す
る。このことは、データがメインシステムメモリ(不図
示)から検索され且つデータキャッシュ34内に配置さ
れねばならないことを表わす。この時に、キャッシュタ
グメモリの現在の内容は新たに検索されたアドレスの最
大桁ビットで上書きされ、且つ対応するデータキャッシ
ュエントリは新たなデータキャッシュエントリで上書き
される。
【0016】ローカルプロセサ36は、典型的に、デー
タを局所的に変更する。このことは、ローカルプロセサ
36がデータキャッシュ34内のデータのみを変更する
ことを意味している。このことが行なわれると、ステー
タスビット即ち「ダーティ」ビットは、データがデータ
キャッシュ34内において変更されたがメインメモリ内
においては変更されていないことを意味するようにセッ
トされる。ステータスビットは、タグRAM32と同一
の深さの別個のメモリ40内に格納される。新たなデー
タがデータキャッシュ34内に付加される場合には、キ
ャッシュコントローラ38は、ステータスビットがセッ
トされたか否かを判別すべく上書きされるべきデータに
対するステータスビットをモニタせねばならない。ステ
ータスビットがセットされていると、新たなデータをデ
ータキャッシュ34内にローディングする前に、上書き
されるべきデータが最初にメインメモリへ書込まれねば
ならない。
【0017】然しながら、ステータスビットに対して別
個のメモリ40を使用することによって基板上の面積が
犠牲となる。何故ならば、ステータスビットを格納する
ために別個のRAMが必要となるからである。更に、キ
ャッシュメモリの動作効率が低下する。何故ならば、キ
ュッシュメモリ内のデータに関する情報が幾つかのメモ
リアレイ内に格納されるからである。このことは、デー
タを検索し且つその信頼性を確保するために、これら幾
つかのメモリアレイに対してシステムを強制的にアクセ
スさせるからである。
【0018】図3は本発明に基づいてキャッシュタグメ
モリを使用するキャッシュメモリを示したハイレベルの
ブロック線図である。キャッシュタグRAM42及びデ
ータキャッシュ44は、システムバス26及びローカル
プロセサ46と通信を行なう。キャッシュコントローラ
48は、単一プロセサシステムと共に使用するのに適し
たキャッシュにおいて見出される通常のキャッシュ制御
機能を実行する。
【0019】図3に示したキャッシュメモリは、タグR
AM42内にステータスビットを格納する点を除いて、
図2を参照して上述したのと同様の態様で動作を行な
う。データ及びそのデータに対応するタグが最初にデー
タキャッシュ44及びタグRAM42内に夫々書込まれ
るか、又はメインメモリ(不図示)からのアップデート
期間中に、ステータスビットは第一状態、即ち好適には
0の状態にセットされる。このことは、タグRAM42
とキャッシュコントローラ48との間のステータスビッ
トバス43及びタグRAM42における別個のデータ入
力/データ出力ピン45を使用することによって達成す
ることが可能である。メインメモリからデータをローデ
ィングする場合、キャッシュコントローラ48はステー
タスビットバスを第一状態へ駆動させ、その際にステー
タスビットを第一状態へセットすることが可能である。
【0020】ローカルプロセサ46がデータキャッシュ
44内のデータをアップデートする場合、アップデート
されるエントリに対応するステータスビットが第二状
態、即ち好適には1の状態へセットされる。別個のデー
タ入力/データ出力ピン45は、ローカルプロセサ46
によってデータが変更される場合に、ステータスビット
を第二状態へセットするために使用される。ステータス
ビットを第二状態へセットすることは、データキャッシ
ュ44内においてエントリがアップデートされたが、メ
インメモリにおいてはアップデートされていないことを
表わす。
【0021】読取り「ミス」又は書込み「ミス」の結果
として発生する、データキャッシュ44内のエントリが
新たなエントリで上書きされる前に、キャッシュコント
ローラ48は、ステータスビットが1へセットされたか
否かを判別するために上書きされるエントリに対応する
ステータスビットをモニタする。ステータスビットが1
へセットされていると、上書きされるべきエントリは、
新たなエントリがデータキャッシュ44内に格納される
前に、メインメモリ内の対応する位置内へ書込まれる。
ステータスビットが1へセットされていない場合には、
上書きされるべきエントリは即座に新たなエントリと置
換させることが可能である。
【0022】プロセサ書込みヒット期間中に、ローカル
プロセサ46はデータキャッシュ44内のエントリをア
ップデートする。プロセサ46又は外部回路が、プロセ
サ46からの書込み要求がヒットとなったことを決定
し、且つタグRAM42内へ書込むべきタグをイネーブ
ルさせる。同一のタグがタグRAM42内へ再書込みさ
れ、ステータスビットは第二状態へセットされる。
【0023】好適実施例においては、ステータスビット
は出力イネーブルによって制御されるものではない。一
般的には、出力イネーブルは、タグRAM42内のエン
トリがマッチ即ち一致が存在することを決定するために
アドレスと比較される場合に、出力をディスエーブルさ
せる。ステータスビットが出力イネーブルによって制御
される場合には、ステータスビット出力もディスエーブ
ルされる。このことは望ましいことではない。何故なら
ば、ステータスビットの状態はモニタすることが可能で
あることが必要だからである。然しながら、マッチ即ち
一致が発生したか否かを決定するための比較においてダ
ーティビットが関与することはない。一般的には、タグ
エントリにおける最大桁ビットが、プロセサによって発
生されたアドレスと比較されて、マッチ即ち一致が存在
するか否かを判別する。
【0024】図4は本発明によって使用されるキャッシ
ュタグメモリにおける一つのエントリを示している。
「Tag(タグ)」として示される複数個のビット50
がデータキャッシュエントリ内に格納されるメモリ位置
の最大桁ビットに対応している。「Status bi
t(ステータスビット)」として示される一個のビット
52が該タグ内に包含されており、それはエントリがロ
ーカルプロセサによってアップデートされたか否かを表
わす。図4には示されていないその他のビットも該タグ
内に設けることが可能であり、そのようなビットの例と
しては、スヌープビット、パリティビット、有効ビット
等がある。
【0025】図5を参照すると、本発明に基づくキャッ
シュタグメモリを使用したキャッシュメモリを示した別
のハイレベルのブロック線図が示されている。キャッシ
ュタグRAM54及びデータキャッシュ56はシステム
バス26及びローカルプロセサ58と通信を行なう。キ
ャッシュコントローラ60は、単一プロセサシステムと
共に使用するのに適したキャッシュにおいて見出される
通常のキャッシュ制御機能を実行する。
【0026】タグRAM54内の書込みイネーブル信号
(WE)は、データがメインメモリ62からタグRAM
54内へ転送される場合に使用される。タグRAM54
内のプロセサ書込みイネーブル信号(WEP )は、タグ
RAM54内に格納されているステータスビットのみを
変更するためにローカルプロセサ58によって使用され
る。従って、該タグのタグ部分を構成するビット、換言
するとマッチ即ち一致を決定するために比較されるビッ
トはWE信号によって制御され、一方ステータスビット
はWE信号とWEP 信号の両方によって制御される。
【0027】タグが最初にタグRAM54内に書込まれ
る場合には、ステータスビットは第一状態、好適には0
の状態へセットされる。タグRAM54は、タグが初期
的にタグRAM54内に書込まれる場合に、ステータス
ビットの正しい第一状態を決定する。何故ならば、ステ
ータスビットを第一状態へセットするためにWE信号が
イネーブルされるからである。このステータスビット
は、WEP 信号がローカルプロセサ58によってイネー
ブルされる場合に、キャッシュ動作期間中に変更するこ
とが可能である。このステータスビットは、WEP が活
性化されている間にキャッシュヒットが発生した場合に
のみ第二状態へセットされる。好適実施例においては、
ステータスビットに対してデータ出力ピンが必要とされ
るに過ぎない。何故ならば、ステータスビットの適切な
状態は、WE信号、WEP 信号、マッチピンの状態から
内部的に決定することが可能だからである。然しなが
ら、このステータスビットに対して入力/出力ピンを使
用することが可能であり、且つキャッシュコントローラ
60はステータスビットの状態を制御することが可能で
ある。
【0028】データキャッシュ56内のエントリが読取
り「ミス」又は書込み「ミス」の結果として発生する新
たなエントリで上書きされる前に、キャッシュコントロ
ーラ60は、ステータスビットが1へセットされている
か否かを判別するために上書きされるエントリに対応す
るステータスビットの状態をモニタする。ステータスビ
ットが1へセットされている場合には、上書きされるべ
きエントリは、新たなエントリがデータキャッシュ56
内に格納される前に、メインメモリへ書戻される。ステ
ータスビットが0へセットされている場合には、上書き
されるべきエントリは即座に新たなエントリと置換する
ことが可能である。
【0029】上述したアプローチは、データキャッシュ
56内のデータを変更する前に、キャッシュコントロー
ラ60がステータスビットをモニタすることを必要とす
る。別の実施形態としては、ステータスビットをステー
タスフラッグとして使用することが可能である。キャッ
シュコントローラ60をしてステータスビットの状態を
モニタさせる代わりに、タグRAM54はステータスフ
ラッグを出力する。このステータスフラッグは、ステー
タスビットが第二状態へセットされており且つキャッシ
ュミスが発生する場合にのみ高状態へセットされる。こ
のステータスフラッグは、データキャッシュ56内のデ
ータが、それが置換される前に、メインメモリ62へ書
戻されねばならないことを表わす。このことは、キャッ
シュコントローラ60において必要とされる論理の量を
減少させる。何故ならば、キャッシュコントローラ60
はステータスビットをモニタすることが必要とはされな
いからである。
【0030】上述した如く、本発明によれば、メインメ
モリにおいてではなくキャッシュメモリにおいてデータ
が変更されたか否かを表わすために内部的なステータス
ビットを使用するコピーバックキャッシュシステムにお
いて使用するキャッシュタグメモリが提供されている。
本発明によれば、基板の空間が節約される。何故なら
ば、キャッシュメモリにおいてステータスビット用の別
個のメモリを設けることは必要ではないからである。更
に、本発明によれば、キャッシュメモリは一層効率的に
動作を行なう。何故ならば、キャッシュメモリにおける
データに関する情報は幾つかのメモリアレイ内に格納さ
れることがないからである。このことは、システムがデ
ータを検索し且つその信頼性を確保するために幾つかの
メモリアレイへアクセスすることの必要性を取除いてい
るからである。以上、本発明をマルチプロセサシステム
について説明したが、本発明が単一プロセサシステムに
適用可能であることは勿論である。
【0031】以上、本発明の具体的実施の態様について
説明したが、本発明は、これら具体例にのみ限定される
べきものではなく、本発明の技術的範囲を逸脱すること
なしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図1】 マルチプロセサコンピュータシステムを示し
たハイレベルのブロック線図。
【図2】 従来技術に基づくキャッシュタグメモリを使
用したキャッシュメモリを示したハイレベルのブロック
線図。
【図3】 本発明に基づくキャッシュタグメモリを使用
したキャッシュメモリを示したハイレベルのブロック線
図。
【図4】 本発明によって使用されるキャッシュタグメ
モリにおける一つのエントリを示した概略図。
【図5】 本発明に基づくキャッシュタグメモリを使用
したキャッシュメモリを示したハイレベルのブロック線
図。
【符号の説明】
26 システムバス 42 キャッシュタグRAM 44 データキャッシュ 46 ローカルプロセサ 48 キャッシュコントローラ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステム用のメモリサブシ
    ステムにおいて、 プロセサとメインメモリとが設けられており、 前記プロセサ及びメインメモリへ接続してデータキャッ
    シュが設けられており、前記データキャッシュは複数個
    のエントリを具備しており、 前記プロセサ及びメインメモリへ接続してタグRAMが
    設けられており、前記タグRAMは前記データキャッシ
    ュエントリに対応する複数個のエントリを具備してお
    り、このようなタグRAMエントリの各々はダーティビ
    ットを有しており、 前記ダーティビットへ書込みを行なう制御手段が設けら
    れており、前記制御手段は、前記データキャッシュ内の
    対応するエントリが前記メインメモリからのデータでロ
    ードされる場合のエントリに対して第一状態をダーティ
    ビットへ書込み、且つ前記制御手段は、前記プロセサが
    前記データキャッシュ内の対応するエントリにおけるデ
    ータを変更する場合のエントリに対して第二状態を前記
    ダーティビットへ書込む、ことを特徴とするメモリサブ
    システム。
JP5298443A 1992-11-30 1993-11-29 コピーバックキャッシュタグメモリ Pending JPH06222989A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98286292A 1992-11-30 1992-11-30
US982862 1992-11-30

Publications (1)

Publication Number Publication Date
JPH06222989A true JPH06222989A (ja) 1994-08-12

Family

ID=25529579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5298443A Pending JPH06222989A (ja) 1992-11-30 1993-11-29 コピーバックキャッシュタグメモリ

Country Status (2)

Country Link
EP (1) EP0604030A3 (ja)
JP (1) JPH06222989A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268384A (zh) * 2021-04-30 2021-08-17 瑞芯微电子股份有限公司 一种标记空间异常检测方法及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956339B2 (en) * 2016-07-14 2021-03-23 Advanced Micro Devices, Inc. System and method for storing cache location information for cache entry transfer
CN118349280B (zh) * 2024-06-14 2024-08-30 北京微核芯科技有限公司 存数指令调度方法、装置、设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268384A (zh) * 2021-04-30 2021-08-17 瑞芯微电子股份有限公司 一种标记空间异常检测方法及存储介质
CN113268384B (zh) * 2021-04-30 2022-05-13 瑞芯微电子股份有限公司 一种标记空间异常检测方法及存储介质

Also Published As

Publication number Publication date
EP0604030A2 (en) 1994-06-29
EP0604030A3 (en) 1995-03-22

Similar Documents

Publication Publication Date Title
US5513335A (en) Cache tag memory having first and second single-port arrays and a dual-port array
US5325504A (en) Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
US6021468A (en) Cache coherency protocol with efficient write-through aliasing
US5829040A (en) Snooper circuit of a multi-processor system
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
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
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
US6981106B1 (en) System and method for accelerating ownership within a directory-based memory system
US5241641A (en) Hierarchical cache memory apparatus
KR100273039B1 (ko) 멀티프로세서 데이터 처리 시스템의 캐쉬 일관성을 유지하기위한 캐쉬 일관성 프로토콜 제공 방법 및시스템
EP0777183B1 (en) Computer cache system
US6079030A (en) Memory state recovering apparatus
JPS6042503B2 (ja) 多重処理システムにおけるキヤツシユ制御機構
JP3236287B2 (ja) マルチプロセッサシステム
US7325102B1 (en) Mechanism and method for cache snoop filtering
US5678025A (en) Cache coherency maintenance of non-cache supporting buses
JPH09237223A (ja) バスブリッジを用いたコンピュータシステム
JPH06259323A (ja) デュアルポートデータキャッシュメモリ
JP3009430B2 (ja) プロセッサおよびそのキャッシュメモリ制御方法
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
WO1997004392A1 (en) Shared cache memory device
JPH04357539A (ja) 2重ポートのキャッシュタグメモリデバイス
JPH02184946A (ja) キヤツシユ・バイパス装置
EP0604030A2 (en) Copy back cache tag memory