JP2509766B2 - キャッシュメモリ交換プロトコル - Google Patents

キャッシュメモリ交換プロトコル

Info

Publication number
JP2509766B2
JP2509766B2 JP3157002A JP15700291A JP2509766B2 JP 2509766 B2 JP2509766 B2 JP 2509766B2 JP 3157002 A JP3157002 A JP 3157002A JP 15700291 A JP15700291 A JP 15700291A JP 2509766 B2 JP2509766 B2 JP 2509766B2
Authority
JP
Japan
Prior art keywords
field
main memory
memory
data block
location
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 - Lifetime
Application number
JP3157002A
Other languages
English (en)
Other versions
JPH04233050A (ja
Inventor
スメルサー ドナルド
エイ ウォーコール ニコラス
リディングトン ゲアリー
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH04233050A publication Critical patent/JPH04233050A/ja
Application granted granted Critical
Publication of JP2509766B2 publication Critical patent/JP2509766B2/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
    • 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

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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本願発明は、一般にデジタルデー
タ処理システム、更に言えば、キャッシュメモリ内のデ
ータブロックをメインメモリ内の他のデータブロックに
効率的に交換する方法及び装置に関する。
【0002】
【従来の技術】一般のデジタルデータ処理システムは、
中央処理装置(CPU)、メモリ装置(メインメモ
リ)、それに入力/出力(I/O)装置を含む多数の基
本ユニットから成る。メインメモリは、情報、つまりデ
ータ処理のためのデータ及びインストラクションを、ア
ドレス使用可能な記憶ロケーション内に記憶する。この
情報は、制御ライン、アドレスライン、及びデータライ
ンから成るバスに沿って、メインメモリとCPU間を転
送される。制御信号は転送方向を特定する。例えばCP
Uは、メインメモリ内のアドレス指定されたロケーショ
ンからCPUに向けて、データ及びインストラクション
をバス上に転送するために、読み出し要求信号を発生す
る。そうしてCPUは、メモリから得られたインストラ
クションに従い、この検索されたデータを処理する。そ
の後、CPUはその結果をメインメモリ内のアドレス指
定されたロケーション内に記憶するために、書き込み要
求信号を発生する。
【0003】CPUとメインメモリ間で転送される情報
は、バス上の情報と要求信号との間の、あるタイミング
関係に従わなければならない。アクセスタイムは、メイ
ンメモリがCPUから要求を受けた瞬間と、CPUがそ
の情報を利用可能となる瞬間との間の時間間隔として定
義されている。もしCPUが高速に動作し、メインメモ
リのアクセス時間がCPU速度に比較して遅い場合に
は、CPUはメモリへの要求が完了するまで待ち状態に
エンターしなければならない。その結果、CPUの処理
速度は悪影響を受ける。この問題は、メモリ要求が読み
出し要求である場合に特に大きな問題となる。なぜな
ら、CPUは要求した情報が無くては動作不可能、つま
りデータ処理が不可能だからである。
【0004】このような状況では、高速キャッシュメモ
リが使用される。このキャッシュメモアクセススピード
は、CPUの動作速度と近似しているため、キャッシュ
メモリを用いることによって、CPUに高速に情報を与
えることになり、データ処理速度が増加する。キャッシ
ュメモリは、「局部の原理(principle of
locality)」に従って動作する。局部の原理
とは、つまり、メモリロケーションがCPUによってア
ドレス指定された場合には、それは多分直ぐにまた再び
アドレス指定されるであろうし、またその近くのメモリ
ロケーションも、直ぐにアドレス指定される可能性が高
いということである。CPUが情報を要求した場合、キ
ャッシュメモリがまず初めに調査される。もしその情報
がそのキャッシュ内に存在しない場合には、メインメモ
リがアクセスされる。その後、「ブロックモード」読み
出し要求がCPUによって発生され、要求された情報と
メモリロケーション付近からの情報の両方が含まれる情
報ブロックを、メインメモリからキャッシュメモリに転
送する。
【0005】一般に、ランダムアクセスメインメモリ
は、記憶ロケーションの行列として局部的に構成されて
おり、各ロケーションのアドレスは、ロケーションの行
で認識する第1のビットセットと、列で認識する第2の
ビットセットとを備える。大きなメモリが、更にボード
やボードのバンク内に構成されてもよい。このように、
このようなメモリ内のアドレスは、バンク、ボード、及
び各ボード、行及び列を認識するようなフィールドを備
えるであろう。
【0006】キャッシュメモリはメインメモリよりも高
速である。なぜなら、それはより価格が高い故に、より
小さいからである。キャッシュメモリは多数の情報ブロ
ックを保持する。これら個々のブロックは、1つあるい
はそれ以上の隣接メインメモリロケーションを有する。
個々のブロックは、キャッシュアドレスによって認識さ
れる。このキャッシュアドレスは、対応するメモリロケ
ーションを認識するメモリアドレスビットを含む。これ
らのビットは一まとめにして「インデックス」フィール
ドと呼ばれる。メインメモリからの情報に加えて、個々
のブロックはまた、キャッシュブロック内の情報が得ら
れるような、メインメモリ内の特定のロケーションを認
識するメモリのアドレスビットの残りを含む。これら後
者のビットは一まとめで「タグ」フィールドと呼ばれ
る。CPUが情報を要求した場合、キャシュ内のインデ
ックス及びタグフィールドが調査され、そのブロックが
要求された情報を含んでいるかどうかを判断する。
【0007】キャッシュ内のアドレスが、CPUによっ
て特定されたメインメモリ内のアドレスに整合しない場
合(「キャッシュミス」)及び、アドレス指定されたキ
ャッシュロケーション内に現在記憶されている情報が、
メインメモリ内の対応するロケーション内に記憶された
情報から以前に交換されている場合(つまり、キャッシ
ュブロックが「汚れている」こと)には、メインメモリ
から新しい情報ブロックを取得するために読み出し要求
を発生する前に、そのキャッシュブロックをメインメモ
リへ転送するようCPUは書き込み要求を発生する。つ
まり、汚れたキャッシュブロックがメインメモリに書き
戻され、CPUが現在要求している情報のためのキャッ
シュ内のルームを作るのである。書き込み要求が最初に
実行された場合、CPU性能は影響を受ける。なぜなら
それは要求された情報を待つために動くことができない
からである。
【0008】キャッシュメモリ内の情報ブロックを、メ
インメモリ内の他の情報ブロックに交換するための方法
即ちプロトコルは、従来、メインメモリへ読み出し要求
を発生し、汚れたブロックをキャッシュメモリから一時
保持レジスタへ転送し、キャッシュメモリがシステムバ
ス上を利用可能となった時に新しい情報ブロックをメイ
ンメモリから転送し、その後書き込み要求をメインメモ
リに対して発生してそれらの内容をメインメモリ内の一
時レジスタ内に記憶するといったCPUを有していた。
このように複雑なプロトコルは、システムバス上で転送
された情報ユニット毎に必要な時間を増加させ、つま
り、システムバスバンド幅を減少させるのである。なぜ
なら、2つの要求が情報ブロックを交換するために必要
とされるからである。
【0009】それ故、本発明の目的は、情報ブロックを
キャッシュとメインメモリとの間で交換する際にシステ
ムバスバンド幅を増加させ、そうして全データ処理シス
テムスループットを増加させるような簡単なプロトコル
を提供することにある。更に本願発明の特徴は、キャッ
シュメモリ内の情報ブロックとメインメモリ内の情報ブ
ロックとの間の交換の間にメインメモリから得られた情
報のための、CPUアクセスタイム、あるいは待ち時間
を減少させるようなキャシュメモリ交換プロトコルを提
供することにある。
【0010】本願発明の他の特徴によれば、この特徴に
より、CPUによって指示された情報ブロックの検索及
び汚れた情報のキャッシュブロックの記憶、これら両方
を行うために、メインメモリにとって必要な時間を減少
させるような交換要求コマンドが与えられるのである。
【0011】
【発明の概要】本願発明の前述の特徴及び他の特徴は、
キャッシュメモリ内の情報ブロックをメインメモリ内の
他のブロックと効率的に交換するための、新規なキャッ
シュメモリ交換プロトコルを提供することにより達成さ
れる。このキャッシュメモリ交換プロトコルは、全シス
テムバンド幅を増加させ、且つ必要とされた情報に対す
るCPU待ち時間を減少させ、こうしてデータ処理シス
テムのスループットを増大させる。
【0012】本願発明によれば、このキャッシュメモリ
交換プロトコルは、「交換」要求と呼ばれるメモリアク
セス要求を利用する。この交換要求は、コマンドフィー
ルド、インデックスフィールド、第1タグフィールド及
び、第2タグフィールドを含む。一般に、キャッシュコ
ントローラは、再配置されるべきキャシュブロックが汚
れている場合には、キャシュミスに応答し、交換要求を
システムバス上にメインメモリに向けて発生する。この
要求を受け取った時、メインメモリはそのコマンドフィ
ールドをデコードし、CPUによって要求された情報ブ
ロックを、インデックスフィールドと第2タグフィール
ドとによって認識されたロケーションから即座にフェッ
チし始める。このメインメモリがフェッチしている間、
コントローラは、インデックスフィールドとシステムバ
ス上の交換要求の第1タグフィールドとによって定義さ
れたロケーションにおいて、キャッシュ内に記憶された
情報ブロックを、メインメモリ内にロケートされた一時
レジスタへ転送する。
【0013】一旦フェッチされると、CPUによって要
求された情報ブロックは、メインメモリによりCPUへ
と転送され、そしてインデックスフィールドと第2タグ
フィールドとによって認識されたロケーションにおい
て、キャッシュメモリ内に記憶される。一時レジスタ内
にある情報ブロックはその後、インデックスフィールド
と第1タグフィールドとによって認識されたロケーショ
ンにおいて、メインメモリ内に記憶される。これは、C
PUあるいはシステムバスを含まない内部メモリ動作で
ある。
【0014】このプロトコルの利点は、システムバスバ
ンド幅のかなりの増加にある。なぜなら、メインメモリ
からの新しい情報ブロックの検索と、汚れたキャッシュ
情報ブロックのメインメモリへの転送、これら両方のた
めに、たった1つの要求だけがシステム上に発生される
だけだからである。本願発明の他の特徴は、交換要求に
より、CPUによって要求された情報ブロックをフェッ
チし、そしてキャッシュから汚れた情報ブロックを記憶
するために、メインメモリによって必要とされる時間を
減少させることである。このキャッシュは、そこにある
情報ブロックを選択するために使用されるインデックス
ロケーションが、メインメモリ内の対応する行アドレス
ロケーションをさし示すよう構成される。交換要求のイ
ンデックスフィールドは、このロケーションに対応す
る。即ち、インデックスフィールドは、全てのアドレス
ビットを含む。
【0015】交換要求のタグフィールドの1つは、CP
Uによって要求された新しい情報ブロックがフェッチさ
れる予定の、メインメモリ内のロケーションに対応する
残りのアドスビットを含む。他方のタグフィールドは、
汚れたキャッシュブロックのタグに対応しており、汚れ
たブロックが記憶される予定のメモリ内のロケーション
に対応する残りのアドレスビットを含む。
【0016】メインメモリは内部ページモード読み出し
及び書き込みオペレーションを実行し、交換要求にした
がって情報をフェッチし記憶するのに必要とされる時間
量を減少させる。メインメモリは時間をセーブし、交換
要求の実行を通じて共通のインデックスフィールドを行
アドレスとして保持することによってバンド幅を減少さ
せる。
【0017】
【実施例】さて、図、特に図1を参照すれば明かなよう
に、本願発明に関連したデータ処理システム20の部分
は、CPU22、キャッシュメモリ30、及びメインメ
モリ28を含んでいる。データ、アドレス及び、制御ラ
インを有するシステムバス24は、キャッシュメモリを
メインメモリ28に結合し、キャッシュ30及びメイン
メモリ28に向けてまた、そこから情報を転送するため
の通信パスを与える。CPU22の動作スピードはメイ
ンメモリ28の情報アクセススピードより高速なため、
CPU22は常に、「私有の」CPUバス25上でキャ
ッシュメモリ30から、データ及びインストラクション
を得る。
【0018】キャッシュメモリ30は、最も最近用いら
れた情報を一時的に記憶する小さく、高速なメモリであ
る。このキャッシュメモリ30は、記憶された情報をア
クセスために必要とされる多数のアドレス比較を減少さ
せるよう設計されており、一方でまた、要求された情報
がキャッシュ30に存在する場合には、メインメモリ2
8への書き込み要求数を減少させる。故にこのキャッシ
ュメモリ30は、より好ましくは、書き戻し、ダイレク
トマップキャシュとして構成されているのである。しか
しながら当業者にとっては明かだろうが、セット関連キ
ュッシュ(set-associative cache) といった他のキャッ
シュ構成も、本発明の技術の内で使用され得るであろ
う。
【0019】このキャッシュメモリ30は、記憶装置3
2、比較器34及び、キャッシュコントローラ36を含
む。記憶装置32は所定量の情報を記憶するように形成
された複数のブロック40に分割されている。これら各
ブロック40は、情報部分42、タグ部分44及び、
「汚れたビット」部分46を含む。情報部分42は、C
PU22によって処理された実際のデーザ及びインスト
ラクションを含む。タグ部分44は、必要とされたデー
タとインストラクションの特定のメモリロケーションを
認識するため、CPU22により用いられた下位アドレ
スビットを含む。汚れたビット部分46は、キャッシュ
30にある間にブロック40が変更されたかどうかを示
す状態ビットを含んでいる。なぜなら、このキャッシュ
メモリ30は、好ましくはダイレクトマップキャッシュ
として構成されているため、個々のブロック40は、記
憶装置32内に含まれることが可能であるようなたった
1つのロケーションしか有しておらず、この唯一のロケ
ーションはインデックスロケーション48によって認識
されるものだからである。
【0020】比較器34は、CPU22によって発生さ
れたアドレスを記憶装置32内にロケートされたタグ部
分44と比較し、CPU22によって所望とされた情報
がキャッシュ30内にロケートされているかどうかを判
断する。コントローラ36は、キャッシュメモリ30の
内部動作を制御する。この内部動作には、必要とされた
時に、キャッシュ30とメインメモリ28との間で情報
を転送するための要求をメインメモリ28に対して発生
する、ということが含まれる。
【0021】キャッシュメモリ30は、局部の原理に従
って動作するため、CPU22が情報を要求した場合に
は、このキャッシュ30をまず最初に調査する。CPU
22は、アドレス、これ以後はCPUアドレス60と呼
ぶことにする、をキャッシュコントローラ36に送信す
る。このCPUアドレス60は、インデックスフィール
ド64及びタグフィールド66の2つのフィールドを持
つ。このインデックスフィールド64及びタグフィール
ド66は、キャッシュ30内に記憶された情報がそこか
ら検索されるメインメモリ28内のロケーションに対応
する。つまり、このインディクスフィールド64はメイ
ンメモリロケーションの行アドレス部分に対応し、一
方、タグフィールド66はメモリロケーションの列アド
レス部分に対応する。
【0022】CPUアドレス60のこのインデックスフ
ィールド64は、CPU22によって要求された記憶装
置32内のブロック40のロケーションを選択するため
に用いられる。一旦ロケートされると、ブロック40の
タグ部分44及びタグフィールド66は、それらタグが
整合するか否かを判断するために、比較器34に与えら
れる。
【0023】もしそれらのアドレスタグが整合した場合
(つまり、「キャッシュヒット」の場合)には、ブロッ
ク40の情報部分42にロケートされた情報は、CPU
22に送信される。もしそれらのタグが整合しなかった
場合には、ブロック40の汚れた部分46がコントロー
ラ36によって調査される。セットされた場合には、こ
の汚れた部分46は、現在ブロック40内に記憶されて
いる情報は「汚れている」こと、つまり、メインメモリ
28内の対応するロケーションからその回復されたもの
に変えられていることを示す。
【0024】後のロケーション内の情報は、このように
非有効、つまり時代遅れのものである。それ故、キャッ
シュコントローラ36は、メインメモリ28から新しい
情報ブロックを取得するために読み出し要求を発生する
前に、メインメモリ28にブロック40を転送するよう
書き込み要求を発生する。図2は、書き戻しキャッシュ
メモリ内の情報の汚れたブロックを、CPUによって要
求されたメインメモリ内の情報ブロックと交換するため
に用いられる、従来技術のシステムバス24上における
タイミング時間間隔を示している。この特別のプロトコ
ルによれば、キャッシュコントローラ36は、必要とす
る情報のため、読み出し要求(C/A202)をメイン
メモリ28に発生し、そして汚れたブロック40を記憶
装置32からキャッシュ30内の一時保持レジスタ50
へ転送する。所定時間後、メインメモリ28は要求され
た情報を、システムバス24上でキャッシュメモリ32
及びCPU22へ向けて、2つの別個の転送(RD20
4及びRD206)によってリターンする。コントロー
ラ36はその後、書き込み要求(C/A208)を発生
し、汚れたブロック40をメインメモリ28へ転送する
(WD212及びWD214)。
【0025】システムバス24上でキャッシュ30及び
メインメモリ28へ向けまたそこから情報を移動させる
ために必要な多数の転送は、キャッシュブロックの大き
さ、あるいはシステムバスデータパス等の構造といった
ファクタに依存した設計選択である、ということを理解
して頂きたい。故に、2つの別個の転送がここで、ある
いはまた図面及び記述を簡単にするためにみ他に記述さ
れた実施例と関連して用いられる。にも係わらず、キャ
ッシュ30とメインメモリ28の間で転送された情報
は、1つのシステムバス24転送で達成され得る。
【0026】図2のブロック交換において、要求した情
報を待つ間のCPU待ち時間は、可能な限り低いレベル
に減少される。なぜなら、メインメモリ28との交換開
始後、新たな情報ができるだけ早くリターンされるから
である。しかしながら、新しい情報ブロックをフェッチ
し且つ汚れたキャッシュブロック40をメインメモリ2
8内に記憶するには、2つのメモリアクセス要求が必要
である。これら1つ1つの要求は、システムバスバンド
幅を減少させる。
【0027】図3は、書き戻しキャッシュプロトコルを
他の従来技術で実行した場合の、システムバス28両端
のタイミング時間間隔を示す。このプロトコルでは、コ
ントローラ36はまず初めに書き込み要求(C/A30
2)を要求し、そうしてその汚れたキャッシュブロック
をメインメモリ28内にシステムバス24上で2つの別
個の転送(WD304及びWD306)を用いて記憶す
る。この汚れたブロック40は、メインメモリ28内の
一時レジスタ52内にロードされる。コントローラ36
はその後、読み出し要求(C/A308)を発生し、そ
うして所望の情報をメインメモリ28から得る。一旦情
報(RD312及びRD314)がシステムバス24上
でCPU30及びコントローラ36にリターンされる
と、メインメモリ28は、適切なメモリロケーション内
に一時レジスタ52の内容を記憶する。
【0028】図3のブロック交換は、これを達成するた
めに、2つのメモリアクセス要求をシステムバス24上
に要求する。それに加えて、このプロトコルは、要求さ
れた情報のためにCPU待ち時間を増大させる。なぜな
ら、書き込み要求の開始及び完了の後まで、それはリタ
ーンされないからである。本願発明によれば、キャッシ
ュ交換プロトコルは、CPU待ち時間の減少に役立つ
「交換」要求と呼ばれるユニークなメモリアクセス要求
を利用する。図4は、この交換要求のフォーマット80
を示す。この交換要求80は、コマンドフィールド8
2、インデックスフィールド84、第1タグフィールド
88及び、第2タグフィールド86を含む。このコマン
ドフィールド82は、インデックスフィールド84及び
第2タグフィールド86によって認識されたロケーショ
ンにおいてメインメモリ28からの新しい情報ブロック
をフェッチするためのリードオペレーションと、インデ
ックスフィールド84及び第1タグフィールド88によ
って認識されたメインメモリ28内のロケーション内に
キャッシュメモリ情報の汚れたブロックを記憶するため
の書き込みオペレーションといった2つのオペレーショ
ンから成る交換要求80を認識するビットを含む。
【0029】この交換要求80は、キャッシュメモリ3
0内の汚れたブロック40とメインメモリ28内の要求
された情報ブロックとが、共通のインデックスフィール
ド84を共有するという事実を利用するものである。前
に言及したように、CPUアドレス60のインデックス
フィールド64はメインメモリ28内の行アドレスロケ
ーションに対応する。キャッシュメモリ30は、このイ
ンデックスフィールド64が、インデックスロケーショ
ン48によって認識された適切なキャッシュブロック4
0を選択するために用いられるというような方法で、構
成される。それ故、キャッシュ30内のこのインデック
スロケーション48は、メインメモリ28内の行アドレ
スロケーションをさし示すのである。この交換要求80
はこの関係を利用して、実際には2つの別個のメモリア
クセス要求を、共通のインデックスフィールド84を用
いることによって1つの要求に結合するのである。この
共通のインデックスフィールド84は、メインメモリ2
8内の行アドレスロケーションに対応する全てのアドレ
スビットを含む。
【0030】交換要求80のために確立された慣習によ
れば、第2タグフィールド86は、CPUアドレス60
のタグフィールド66に対応するものであり、CPU2
2によって要求された新しい情報ブロックがフェッチさ
れる予定のメインメモリ28内のロケーションに対応す
る残りのアドレスビットを含む。同様に、第1タグフィ
ールド88は、汚れたキャッシュブロック40のタグ部
分44に対応するものであり、汚れた情報ブロックが記
憶される予定のメモリ28内のロケーションに対応する
残りのビットを含む。交換要求80の読み出し及び書き
込みオペレーションを実行するため、メインメモリ28
によって必要とされた列アドレスビット、バンク選択ビ
ット及びボード選択ビットは、第1及び第2タグフィー
ルド88及び86によって、あるいはタグフィールド8
8及び86及びインデックスフィールド84の結合によ
って与えられるであろう。いづれにせよ、交換要求80
の読み出し及び書き込みオペレーションには、同一の行
アドレスビットが使用されるのである。
【0031】図5は、本願発明によるキャッシュメモリ
交換プロトコルのための、システムバス24上でのタイ
ミング時間間隔を示している。図5において、キャッシ
ュコントローラ36は、配置されるべきキャッシュブロ
ックが汚れている場合は、キャッシュミスに応答し、シ
ステムバス24上にメインメモリ28に向けて交換要求
80(C’/A’502)を発生する。この要求を受け
取ると、メインメモリ28は、コマンドフィールド82
をデコードし、インデックスフィールド84及び第2タ
グフィールド86により定義されたロケーションにおい
て、情報ブロックのフェッチングを即座に開始する。メ
インメモリが所望の情報ブロックをフェッチングしてい
る間、コントローラ36は、インデックスフィールド8
4と、システムバス28上の交換要求80の第1タグフ
ィールド88とによって認識されたキャッシュメモリ3
0ロケーションから、メインメモリ28内にロケートさ
れた一時レジスタ56に向けて、その汚れた情報ブロッ
ク40を転送する(WD504及びWD506)。
【0032】一旦フェッチされると、メインメモリ28
により、2つの別個の転送RD512及びRD514
で、CPU22に向けて、また、インデックスフィール
ド84と第2タグフィールド86とによって認識された
ロケーションにおいてキャッシュメモリ30中に、新し
い情報ブロックが転送される。一時レジスタ56内にあ
る情報ブロックはその後、インデックスフィールド84
と第1タグフィールド88とによって認識されたロケー
ションにおいて、つまり、情報がCPU22によって最
初に得られたロケーションにおいて、メインメモリ28
記憶配列内に記憶される。
【0033】本願発明によるブロック交換は、システム
バスバンド幅及びデータ処理システムスループットを増
大させる。たった1つのメモリアクセス要求しか発生さ
れないため、従来の書き戻しキャッシュメモリ装置よ
り、システムバスサイクルがより少なくなり、一方で、
交換転送によって生じるCPU待ち時間は従来装置のそ
れよりも減少した。
【0034】本願発明の他の特徴によれば、このキャッ
シュメモリ交換プロトコルは、(1) CPU22によって
要求された情報のフェッチング(読み出しオペレーショ
ン)に関連する交換要求の部分、(2) 汚れた情報ブロッ
クの記憶(書き込みオペレーション)に関連した交換要
求の部分、を実行するため、メインメモリ28によって
必要とされる時間を減少させる。交換コマンド及びアド
レスフィールドを含む交換要求80(図4)は、システ
ムバス24上で、1サイクルで転送される。交換要求ア
ドレスフィールド84、86及び、88は、読み出し及
び書き込みオペレーションが同一のメモリモジュール内
で発生するであろうこと、あるいは読み出しオペレーシ
ョンがあるモジュールで、そして書き込みオペレーショ
ンは他のモジュールで発生するであろうことを示すであ
ろう。もしこれら交換要求アドレスフィールド82、8
4及び86が、読み出し及び書き込みオペレーションが
同一のモジュール内で発生するであろうことを示す場合
には、これらのオペレーションがメモリデバイスの同一
のバンク内で発生する可能性がある。
【0035】図6は、データ処理システム20で使用さ
れるメインメモリの内部構造の実施例を示す。図6にお
いて交換要求80のフィールドは、要求の書き込み及び
読み出しオペレーションがメモリモジュール100内の
同一のメモリバンク110へと向けられることを示す。
一般のメモリアクセス要求のための行アドレスは、交換
要求80のインデックスフィールド84の内容から引き
出され、一方、列アドレスは、インデックスフィールド
の内容及びタグフィールド86及び88の内容から引き
出される。
【0036】本願発明の原理によれば、交換要求80の
コマンドフィールド82は、メインメモリ28のタイミ
ング及び制御装置108に送られる。メモリ28はます
初めに、インデックスフィールド84及び第2タグフィ
ールド86とによって認識されたメモリロケーションか
ら要求された情報をフェッチするため、ページモード読
み出しサイクルを示す。例えば、インデックスフィール
ド84、第1タグフィールド88及び、第2タグフィー
ルド86が、システムバス24からメモリアドレスレジ
スタ102中にロードされる。マルチプレクサ124
は、ライン125上のタイミング及び制御装置108に
よって可能にされた場合には、インデックスフィールド
84から適当な行アドレスビットを選択する。行アドレ
スは、ライン116上に行アドレスストロボ(RAS)
信号が主張された場合に、行ラッチ104中にロードさ
れる。
【0037】マルチプレクサ124はその後、ライン1
25上が可能にされた場合には、インデックスフィール
ド84及び第2タグフィールド86から適当な列アドレ
スビットを選択する。この列アドレスは、ライン118
上に列アドレスストロボ(CAS)信号が主張された場
合に、列ラッチ106にロードされる。タイミング及び
制御装置108によってライン122上に与えられた非
主張書き込みイネイブル(WE)信号はその後、そのア
クセスが読み出しオペレーションであることを示す。こ
の要求された情報はその後、メモリ記憶要素から、シス
テムバス24への転送のために、出力レジスタ114中
にロードされる。この時、CAS信号が主張が取り消さ
れる。
【0038】交換要求80のインデックスフィールド8
4は、ブロック交換の読み出し部分及び書き込み部分の
両方に対して共通であり、メインメモリ28はその後、
インデックスフィールド84と第1タグフィールド88
とによって認識されたロケーション中に、汚れたキャッ
シュブロッック40を書き込むため、ページモード書き
込みサイクルを示す。マルチプレクサ124は、ライン
125上のタイミング及び制御装置108によって可能
にされた場合、適当な列アドレスビットを選択する。列
ラッチ104の内容になんの変化もなければ、書き込み
アクセスを示すためにWE信号がライン122上に主張
され、CAS信号がライン118上に主張された時に、
列アドレスが列ラッチ106中にロードされる。言い換
えれば、列ラッチ104は共通の列アドレスビットをい
まだ含んでおり、RAS信号はまだ主張されているので
ある。バンク110内の適当なメモリ素子がその後アク
セスされ、入力レジスタ112に記憶された汚れた情報
ブロックがそれらのメモリ素子へ転送される。
【0039】交換要求の実行を通じて共通の行アドレス
を保つことにより、より好ましいページモード読み出し
及び書き込みサイクルは、メインメモリ28が交換要求
の読み出し及び書き込みオペレーションを実行するのに
必要な時間を減少させる。即ち、RAS信号を活発にす
る前に、ラッチ104のセットアップタイム要求を満足
させるよう、安定した列アドレスが送られなければなら
ない。行アドレスは、アドレス保持時間要求を満足する
ためにRAS信号が活発にされた後でも、メモリデバイ
スの入力ライン上に保持されなくてはならない。もし異
なる行アドレスが、読み出し及び書き込みオペレーショ
ンのために必要な場合には、新しいアドレスの主張の前
に、記憶素子の特性により、ライン116上のRAS信
号は重要な最初時間間隔の間のしばらくの間、主張は取
り消されなくてはならない。このような時間の制限を除
去することにより、メインメモリ28の全バンド幅は増
加され、同一のモジュールに対するその後の(読み出
し)オペレーションの待ち時間は減少される。
【0040】図7は、本願発明によるデータ処理システ
ムによって用いられる、メインメモリの内部構造の他の
実施例を示す。図7において、バンク選択ビットを含む
交換要求のフィールドは、要求の読み出し及び書き込み
オペレーションが、同一のメモリモジュール140内の
2つの異なるメモリバンク150及び160に向けられ
ることを示す。操作上、交換要求80のアドレスフィー
ルド84、86及び88が、システムバス24からメモ
リアドレスレジスタ142中にロードされる。マルチプ
レクサ164は、ライン165上にタイミング及び制御
装置148によって可能にされた時に、インデックスフ
ィールド84から適当な行アドレスビットを選択する。
行アドレスは、RAS信号がライン156上に主張され
た時に、行ラッチ144中にロードされる。マルチプレ
クサ164はその後、ライン165が可能にされた時
に、適当な列アドレスを選択する。この列アドレスは、
CAS信号がライン158上に主張された時に、列ラッ
チ146中にロードされる。
【0041】しかしながら、この実施例では、デコード
された行アドレスが、同時にメモリバンク150及び1
60の両方に与えられる。CPU22によって要求され
た情報がメモリバンク150に記憶された場合には、列
ラッチ146中にロードされた列アドレスビットは、ラ
イン162上のタイミング及び制御装置148によって
与えられたWE信号によって可能にされた時に、適当な
メモリ素子を活発にする。この要求された情報はその
後、システムバス24への転送のため、メモリデバイス
から出力レジスタ154中へとロードされる。CAS信
号はその後、主張を取り消される。
【0042】汚れた情報ブロックはその後、メモリバン
ク160内に記憶される。マルチプレクサ164は、ラ
イン165上のタイミング及び制御装置148によって
可能にされた時に、適当な列アドレスビットを選択す
る。書き込みアクセスを示すためにWE信号がライン1
62上に主張され、そしてCAS信号がライン158上
に主張され場合には、列アドレスは即座に列ラッチ14
6中にロードされる。入力レジスタ152に記憶された
情報は、バンク160内に記憶するため、メモリ素子に
転送される。
【0043】図7の回路で用いられた重複した列アドレ
ス機構はまた、交換要求80の読み出し及び書き込みオ
ペレーションを実行するためにメインメモリに必要な時
間量を減少させる。なぜなら、前に述べた時間制限が、
取り除かれるからである。ここで公表された進歩的な内
容にしたがって、他のメインメモリ装置を使用できると
いうことは、当業者にとっては明かであろう。例えば、
ボード選択回路を含む交換要求のフィールドは、2つの
別個のモジュールがブロック交換内には含まれることを
示すであろう。即ち、汚れたキャッシュブロックの対応
するメモリアドレスはあるモジュール上にあり、CPU
によって必要とされた情報ブロックは他のモジュール上
にロケートされていてもよい。この実施例では、情報の
フェッチング及び記憶は、従来のインタリーブの方法に
より、メインメモリによって完全に平行して実行され得
るのである。
【0044】キャッシュメモリ交換プロトコルに関連し
た信号の相互作用が、図6及び7に装置に組み込まれた
メインメモリの内部動作のそれらの関係と同様に、図8
のタイミング図に示されている。キャシュコントローラ
36によってシステムバス24上で開始されたコマンド
及びアドレス転送(C/A802)のすぐ後に、メイン
メモリ28内に記憶される予定の汚れたキャッシュ情報
ブロックが続く(WD0 804及び、WD1 80
6)。メモリのアクセス時間のために、所定の時間間隔
の間は、システムバス24上で動きはない。その後、要
求された情報ブロックが、メインメモリ28からシステ
ムバス24上に転送される。
【0045】メインメモリ内の間、C/A802内に含
まれる行アドレス(RA822)は、ライン834上の
RAS信号が836において主張された時に、行ラッチ
にロードされる。所望のブロックのための列アドレス
(RD CA0 824及び、RD CA1 826)
は、ライン838上のRAS信号が840において主張
された時に、列ラッチ中にロードされる。所望の情報が
メモリ素子から検索され、そして出力レジスタ中にロー
ドされるまで、これらRAS及びCASは、主張された
ままである。この時点で、CAS信号は842において
主張を取り消される。読み出しオペレーションの間、ラ
イン850上のWE信号は、主張を取り消すレベルを保
持する。
【0046】行アドレスと主張されたRAS信号を変え
ることなく、汚れたキャッシュブロック(WR CA0
828及び、WR CA1 832)のための列アド
レスが、CAS信号が844において主張された時に、
列ラッチ中にロードされる。852におけるWE信号
も、この時点において主張され、書き込みオペレーショ
ンを示す。汚れたキャッシュブロックはその後、メイン
メモリ28内の入力レジスタから適当なメモリ素子中に
転送され、RAS、CAS及びWE信号はその主張を全
て取り消される。
【図面の簡単な説明】
【図1】図1は、本願発明によるキャッシュメモリ交換
プロトコルを実行するための、データ処理システムのブ
ロック図である。
【図2】図2は、従来技術の書き戻しキャッシュプロト
コルの実行に関連するタイミング時間間隔の図を示す。
【図3】図3は、従来技術の書き戻しキャッシュプロト
コルの実行に関連するタイミング時間間隔の図を示す。
【図4】図4は、本願発明による交換要求のフォーマッ
トと示す図である。
【図5】図5は、本願発明によるキャッシュメモリ交換
プロトコルに関連するタイミング時間間隔の図である。
【図6】図6は、図1のデータ処理システム内で用いら
れるメインメモリの実施例のブロック図である。
【図7】図7は、図1のデータ処理システム内で用いら
れるメインメモリの他の実施例のブロック図である。
【図8】図8は、本願発明によって用いられる信号の関
係及び相互作用を示しているタイミング図である。
【符号の説明】
20 データ処理システム 22 CPU 25 CPUバス 28 メインメモリ 30 キャッシュメモリ 24 システムバス 32 記憶装置 34 比較器 36 コントローラ 40 ブロック 42 情報部分 44 タグ部分 50 一時保持レジスタ 60 CPUアドレス 64 インディクスフィールド 66 タグフィールド 82 コマンドフィールド 84 インデックスフィールド 86 第2タグフィールド 88 タグフィールド 100 メモリモジュール 102 メモリレジスタ 104 行ラッチ 110 メモリバンク 114 出力レジスタ 124 マルチプレクサ 140 メモリモジュール 142 メモリアドレスレジスタ 146 列ラッチ 148 タイミング及び制御装置 150 メモリバンク 160 メモリバンク 164 マルチプレクサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ゲアリー リディングトン アメリカ合衆国 マサチューセッツ州 01776ウェイランド ハッピー ハロー ロード 18 (56)参考文献 特開 平1−314354(JP,A) 特開 平2−35541(JP,A) 特開 昭62−226348(JP,A)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 CPU、メインメモリ、及びキャッシュ
    メモリ内のキャッシュコントローラを有するデータ処理
    システムにおいて、前記キャッシュメモリ内の第1のデ
    ータブロックが汚れている場合に、前記キャッシュメモ
    リ内の前記第1のデータブロックを、前記メインメモリ
    内の第2のデータブロックと交換するための方法は、 インデックスフィールド、第1タグフィールド、及び第
    2タグフィールドを含む交換要求を、前記コントローラ
    から前記メインメモリに発生し、 前記インデックスフィールドと前記第1のタグフィール
    ドとによって認識された前記キャッシュメモリ内のロケ
    ーションから前記メインメモリ内の一時レジスタへ前記
    第1のデータブロックを転送する間、前記インデックス
    フィールドと前記第2のタグフィールドとによって認識
    されたロケーションにおいて前記メインメモリ内の前記
    第2のデータブロックをフェッチし、 前記インデックスフィールドと前記第2のタグフィール
    ドとによって認識されたロケーションにおいて前記メイ
    ンメモリから前記キャッシュメモリへ前記第2のデータ
    ブロックを転送し、 前記一時レジスタから、前記インデックスフィールドと
    前記メインメモリ内の前記第1のタグフィールドとによ
    って認識されたロケーションへ、前記第1のデータブロ
    ックを転送する段階を備えることを特徴とする方法。
  2. 【請求項2】 システムバスによって相互接続されてい
    るCPU、メインメモリ及び、キャッシュメモリを有す
    るデータ処理システムにおいて、前記キャッシュメモリ
    内の第1のデーダブロックが汚れている場合に、インデ
    ックスフィールドと第1のタグフィールドとによって認
    識されたロケーションにおいて前記キャッシュメモリ内
    に記憶されている第1のデータブロックを、前記インデ
    ックスフィールドと前記第2のタグフィールドとによっ
    て認識されたロケーションにおいて前記メインメモリ内
    に記憶されている第2のデータブロックと交換するため
    の方法は、 コマンドフィールド、インデックスフィールド及び、前
    記第1のタグフィールド及び前記第2のタグフィールド
    を含む交換要求を、前記キャッシュメモリ内のコントロ
    ーラから前記メインメモリ内へ前記システムバスを通じ
    て発生し、 前記インデックスフィールドと前記第1のタグフィール
    ドとによって認識された前記キャッシュメモリ内のロケ
    ーションから前記メインメモリ内の一時レジスタへ前記
    システムバスを通じて前記第1のデータブロックを転送
    する間、前記コマンドフィールドの前記メインメモリに
    よるデコード動作に応答し、前記インデックスフィール
    ドと前記第2のタグフィールドとによって認識されたロ
    ケーションにおいて前記メインメモリ内の前記第2のデ
    ータブロックをフェッチし、 前記メインメモリから前記インデックスフィールドと前
    記第2のタグフィールドとによって認識されたロケーシ
    ョンにおいて前記キャッシュメモリへ前記システムバス
    を通じて前記第2のデータブロックを転送し、 前記一時レジスタから前記インデックスフィールドと前
    記メインメモリ内の前記第1のタグフィールドとによっ
    て認識されたロケーションへ、前記第1のデータブロッ
    クを転送する段階を備えることを特徴とする方法。
  3. 【請求項3】 キャッシュメモリ内の第1のデータブロ
    ックが汚れている場合に、前記キャッシュメモリ内の前
    記第1のデータブロックをメインメモリ内の第2のデー
    タブロックに交換するための装置において、 前記メインメモリ内の行アドレスロケーションに対応す
    るアドレスビットを含んでいるインデックスフィール
    ド、前記第1のデータブロックが記憶される予定の前記
    メインメモリ内のロケーションに対応するアドレスビッ
    トを含んでいる第1のタグフィールド及び、前記第2の
    データブロックがフェッチされる予定の前記メインメモ
    リ内のロケーションに対応するアドレスビットを含んで
    いる第2のタグフィールドとを含む交換要求を、前記メ
    インメモリに対して発生し、 前記インデックスフィールドと前記第2のタグフィール
    ドとによって認識された前記ロケーションにおいて前記
    メインメモリ内の前記第2のデータブロックをフェッチ
    するための手段であって、前記行アドレスに対応する前
    記インデックスフィールドの前記アドレスビットを行ア
    ドレスレジスタ中にロードするための手段及び、前記イ
    ンデックスフィールドと前記第2のタグフィールドの残
    りのアドレスビットを列アドレスレジスタ中にロードす
    るための手段とを含むようなフェッチング手段と、 前記第2のブロックがフェッチされている間、前記イン
    デックスフィールドと前記第1のタグフィールドとによ
    って認識された前記キャッシュメモリ内のロケーション
    から前記メインメモリ内の一時レジスタへ前記第1のデ
    ータブロックを転送するための手段と、 前記インデックスフィールドと前記第2のタグフィール
    ドとによって認識されたロケーションにおいて前記メイ
    ンメモリから前記キャッシュメモリへ前記フェッチされ
    た第2のデータブロックを転送するための手段と、 前記インデックスフィールドと前記第1のタグフィール
    ドとによって認識された前記メインメモリ内のロケーシ
    ョンにおいて前記一時レジスタ内にある前記第1のデー
    タブロックを記憶するための手段であって、前記インデ
    ックスフィールドの前記行アドレスビットを前記行アド
    レスレジスタ中にロードすることなく、前記インデック
    スフィールドと前記第1のタグフィールドの前記残りの
    アドレスビットを前記列アドレスレジスタ中にロードす
    るための手段を含むような記憶手段とを備えることを特
    徴とする装置。
  4. 【請求項4】 複数の記憶素子内に第1のデータブロッ
    クを記憶し、インデックスフィールド、第1タグフィー
    ルド及び第2タグフィールド内に含まれたアドレスビッ
    トを有するキャッシュメモリからの交換要求のコマンド
    フィールドに応答して前記記憶素子から第2のデータブ
    ロックをフェッチする装置において、 前記交換要求の前記コマンドフィールドをデコードする
    手段と、 前記デコード手段に応答し、前記インデックスフィール
    ドと前記第2のタグフィールドとによって認識されたロ
    ケーションにおいて前記記憶素子から前記第2のデータ
    ブロックをフェッチする手段であって、行アドレスに対
    応する前記インデックスフィールドのアドレスビットを
    行アドレスレジスタにロードする手段及び、前記インデ
    ックスフィールドと前記第2のタグフィールドの残りの
    アドレスビットを列アドレスレジスタ中にロードするた
    めの手段とを含むようなフェッチ手段と、 前記デコード手段に応答し、前記第2のブロック手段が
    前記記憶素子からフェッチされている間、前記キャッシ
    ュメモリから前記第1のデータブロックを受け取る手段
    と、 前記インデックスフィールドと前記第2のタグフィール
    ドとによって認識されたロケーションにおいて前記記憶
    素子から前記キャッシュメモリへ前記フェッチされた第
    2のデータブロックを転送する手段と、 前記インデックスフィールドと前記第1のタグフィール
    ドとによって認識されたロケーションにおいて前記記憶
    素子内に前記第1のデータブロックを記憶する手段であ
    って、前記インデックスフィールドの前記行アドレスビ
    ットを前記行アドレスレジスタ中にロードすることな
    く、前記インデックスフィールドと前記第1のタグフィ
    ールドの前記残りのアドレスビットを前記列アドレスレ
    ジスタ中にロードするための手段を含むような記憶手段
    とを含むことを特徴とする装置。
  5. 【請求項5】 請求項4記載の装置において、前記記憶
    手段は更に、前記インデックスフィールドと前記第1の
    タグフィールドとによって認識されたロケーションにお
    いて前記受け取り手段から前記記憶素子にロードするた
    めの手段を含む装置。
JP3157002A 1990-06-29 1991-06-27 キャッシュメモリ交換プロトコル Expired - Lifetime JP2509766B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/546,572 US5251310A (en) 1990-06-29 1990-06-29 Method and apparatus for exchanging blocks of information between a cache memory and a main memory
US546572 1990-06-29

Publications (2)

Publication Number Publication Date
JPH04233050A JPH04233050A (ja) 1992-08-21
JP2509766B2 true JP2509766B2 (ja) 1996-06-26

Family

ID=24181016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3157002A Expired - Lifetime JP2509766B2 (ja) 1990-06-29 1991-06-27 キャッシュメモリ交換プロトコル

Country Status (4)

Country Link
US (1) US5251310A (ja)
EP (1) EP0464994A3 (ja)
JP (1) JP2509766B2 (ja)
CA (1) CA2042515C (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535354A (en) * 1991-03-11 1996-07-09 Digital Equipment Corporation Method for addressing a block addressable memory using a gray code
JPH0546475A (ja) * 1991-08-15 1993-02-26 Fujitsu Ltd バツフア記憶制御方式
JPH0727494B2 (ja) * 1992-01-02 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム
EP0553743A1 (en) * 1992-01-31 1993-08-04 Motorola, Inc. A cache controller
DE69330768T2 (de) * 1992-04-24 2002-07-04 Compaq Computer Corp Verfahren und Vorrichtung zum Betrieb eines Multiprozessor-Rechnersystems mit Cachespeichern
US5553258A (en) * 1992-04-24 1996-09-03 Digital Equipment Corporation Method and apparatus for forming an exchange address for a system with different size caches
JP3409866B2 (ja) * 1992-09-18 2003-05-26 株式会社日立製作所 並列計算機
US5586294A (en) * 1993-03-26 1996-12-17 Digital Equipment Corporation Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) * 1993-05-14 1995-02-07 Digital Equipment Corporation History buffer control to reduce unnecessary allocations in a memory stream buffer
US5903911A (en) * 1993-06-22 1999-05-11 Dell Usa, L.P. Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
US5509119A (en) * 1994-09-23 1996-04-16 Hewlett-Packard Company Fast comparison method and apparatus for error corrected cache tags
US5687350A (en) * 1995-02-10 1997-11-11 International Business Machines Corporation Protocol and system for performing line-fill address during copy-back operation
US5710944A (en) * 1996-02-09 1998-01-20 Motorola, Inc. Memory system and data communications system
US5900017A (en) * 1997-05-14 1999-05-04 International Business Machines Corporation Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
US6460122B1 (en) 1999-03-31 2002-10-01 International Business Machine Corporation System, apparatus and method for multi-level cache in a multi-processor/multi-controller environment
US6502171B1 (en) 1999-08-04 2002-12-31 International Business Machines Corporation Multiprocessor system bus with combined snoop responses explicitly informing snoopers to scarf data
US8607328B1 (en) 2005-03-04 2013-12-10 David Hodges Methods and systems for automated system support
US7587521B2 (en) * 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US8032688B2 (en) * 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8253751B2 (en) * 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
US8452920B1 (en) * 2007-12-31 2013-05-28 Synopsys Inc. System and method for controlling a dynamic random access memory
US20130219105A1 (en) * 2012-02-16 2013-08-22 Micron Technology, Inc. Method, device and system for caching for non-volatile memory device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4453230A (en) * 1977-12-29 1984-06-05 Tokyo Shibaura Electric Co., Ltd. Address conversion system
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
JPS62226348A (ja) * 1986-03-28 1987-10-05 Mitsubishi Electric Corp 主記憶装置兼主記憶制御装置
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4814981A (en) * 1986-09-18 1989-03-21 Digital Equipment Corporation Cache invalidate protocol for digital data processing system
JPH01163852A (ja) * 1987-10-02 1989-06-28 Computer Consoles Inc データ処理システム内のサブシステムおよびその動作方法
US5034885A (en) * 1988-03-15 1991-07-23 Kabushiki Kaisha Toshiba Cache memory device with fast data-write capacity
JPH01314354A (ja) * 1988-06-13 1989-12-19 Fujitsu Ltd キャッシュメモリ制御方式
JPH0235541A (ja) * 1988-07-25 1990-02-06 Mitsubishi Electric Corp 主記憶装置の制御方式
US5123095A (en) * 1989-01-17 1992-06-16 Ergo Computing, Inc. Integrated scalar and vector processors with vector addressing by the scalar processor
US4985825A (en) * 1989-02-03 1991-01-15 Digital Equipment Corporation System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer
US5043874A (en) * 1989-02-03 1991-08-27 Digital Equipment Corporation Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US5067069A (en) * 1989-02-03 1991-11-19 Digital Equipment Corporation Control of multiple functional units with parallel operation in a microcoded execution unit
US4995041A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Write back buffer with error correcting capabilities
US5019965A (en) * 1989-02-03 1991-05-28 Digital Equipment Corporation Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation

Also Published As

Publication number Publication date
JPH04233050A (ja) 1992-08-21
EP0464994A2 (en) 1992-01-08
CA2042515A1 (en) 1991-12-30
EP0464994A3 (en) 1992-09-09
US5251310A (en) 1993-10-05
CA2042515C (en) 1995-11-21

Similar Documents

Publication Publication Date Title
JP2509766B2 (ja) キャッシュメモリ交換プロトコル
US5210845A (en) Controller for two-way set associative cache
US5787267A (en) Caching method and circuit for a memory system with circuit module architecture
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
KR100454441B1 (ko) 전폭캐쉬를가진집적프로세서/메모리장치
JPH10133947A (ja) 統合されたプロセッサ・メモリ装置
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JPH08185355A (ja) データメモリおよびその動作方法
JPH11203192A (ja) 並列プロセッサおよび演算処理方法
EP0803818B1 (en) Single-cycle multi-accessible interleaved cache
JPH06259323A (ja) デュアルポートデータキャッシュメモリ
US5860117A (en) Apparatus and method to improve primary memory latencies using an eviction buffer to store write requests
US6434665B1 (en) Cache memory store buffer
JP3920931B2 (ja) キャッシュされたデータを読出しおよび書込む方法ならびにデータをキャッシングする装置
US5761709A (en) Write cache for servicing write requests within a predetermined address range
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5287512A (en) Computer memory system and method for cleaning data elements
US6801982B2 (en) Read prediction algorithm to provide low latency reads with SDRAM cache
US6976130B2 (en) Cache controller unit architecture and applied method
JP2716350B2 (ja) 電子データ記憶システム
WO2006030382A2 (en) System and method for fetching information in response to hazard indication information
EP0535701A1 (en) Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM)
EP1449087A1 (en) Bandwidth enhancement for uncached devices
US20010034808A1 (en) Cache memory device and information processing system
US6065097A (en) Apparatus and method for sharing a unified memory bus between external cache memory and primary memory