JPH07210464A - キャッシュ記憶装置および方法 - Google Patents
キャッシュ記憶装置および方法Info
- Publication number
- JPH07210464A JPH07210464A JP6233632A JP23363294A JPH07210464A JP H07210464 A JPH07210464 A JP H07210464A JP 6233632 A JP6233632 A JP 6233632A JP 23363294 A JP23363294 A JP 23363294A JP H07210464 A JPH07210464 A JP H07210464A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- invalid
- clock cycle
- memory
- store
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address 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 physically addressed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
マンスの低下を招くことなく、高速キャッシュアクセス
を可能にするデータ処理装置および方法を提供する。 【構成】 中央処理装置(CPU)4、メモリ管理ユニ
ット(MMU)6、およびキャッシュメモリ8を有する
データ処理システムが記載される。CPU4は、データ
がCPU4から出力されるのと同じクロックサイクルに
おいて、キャッシュへの書き込みを行う。キャッシュメ
モリ8は、各々無効ラインフラグを備えた複数のキャッ
シュ記憶ラインを有し、前記処理クロック周期中に出力
データワードを記憶することにより、単一サイクル記憶
動作を実現する。次のクロックサイクルにおいて、MM
U6は、その記憶動作が無効であったか否かを示す信号
ICを生成する。この信号によって当該記憶動作が無効
であったことが示された場合、無効記憶動作が行われた
キャッシュ記憶ラインに関連する無効ラインフラグをセ
ットして、その無効記憶を指示する。
Description
方法に関し、更に特定すれば、本発明は、キャッシュ記
憶を利用した、データ処理装置および方法に関するもの
である。
理システムを備え、システム全体の性能を向上させるこ
とは公知である。キャッシュ記憶部は、アクセス速度の
ために記憶容量を利用し、比較的小さな容量で高速デー
タリードおよびライト能力をもたらすものである。キャ
ッシュ記憶部の容量が比較的小さいと、システムがリー
ドまたはライトを行おうとする、特定のデータワードが
キャッシュ内に存在しないという事態が時として生じ
る。このため、他の記憶システムへのアクセス速度は、
低下せざるを得ない。
動作の制御は、通常キャッシュタグユニットによって行
われ、現在キャッシュ記憶部に記憶されているデータワ
ードのデータアドレスを、このキャッシュタグユニット
に記憶する。アクセスされるデータのアドレスを、キャ
ッシュタグユニット内に記憶されているアドレスと比較
し、一致(「ヒット」)が生じれば、主キャッシュ記憶
部へのアクセスが可能となる。
ーマンスを判定する際、キャッシュアクセス動作を行う
のに要する時間が、非常に重要となる場合が多いことは
認められよう。多くの場合、システムパフォーマンスを
制限する要因の1つは、キャッシュアクセス時間であ
る。
す要因の1つは、マルチタスクおよびオブジェクト指向
型プログラム方法の使用が増加したことである。これら
の方法では、特定のデータを変更する能力を、特定のプ
ロセッシングスレッドまたはオブジェクトに限定するこ
とが、データの保全性のために重要となっている。この
ような状況では、無効記憶動作、例えば、特定のプロセ
ッシングスレッドまたはオブジェクトがライトアクセス
をすべきでないデータワードに関連する記憶動作を処理
することができる、ライト記憶動作制御機構を設けるこ
とが重要である。
ド(Advanced RISC Machines Limited)社製造のARM6
00のようなデータ処理システムにおいては、集積回路
の一部として、ハードウエアメモリ管理ユニット(MM
U)を設けることが知られている。このMMU(または
メモリ管理手段)は、システム内の記憶部の異なる部分
に許可されたアクセスを制御するものである。MMU
は、中央処理装置(CPU)やキャッシュとは異なり、
キャッシュタグユニットの機能のように、キャッシュヒ
ットが生じたか否かを判定するのではなく、アクセス許
可を制御する機能を果たす。このようなハードウエアに
基づく手法は、十分に高速な動作を有し、キャッシュ記
憶部への高速クリティカルパスにおける、標準DRAM
またはハードディスク駆動装置のような記憶媒体への記
憶動作のパフォーマンスには影響を与えないが、特定の
記憶動作が無効であるか否かを示す信号をMMUが返送
するのに要する時間が、システムパフォーマンスを制約
する要因となる。
PU)とキャッシュメモリとを設け、CPUが発生する
出力データワードを、CPUがそれを生成したのと同じ
クロック期間内に、キャッシュメモリに記憶させるよう
にすること、即ち単一サイクル記憶動作は可能である。
しかしながら、特定の記憶動作が無効であるか否かを示
すMMUの機構は、単一サイクル内の十分早い時期にそ
の結果を返送し、必要であればライト動作を中止できる
ようにすることはできない。したがって、各キャッシュ
記憶動作に2サイクルを使用しなければならない、即
ち、アクセスが有効であることがわかるまで、ライトサ
イクルが開始されないのである。各キャッシュ記憶動作
に2クロックサイクルかけるようにすることは、簡素か
つ信頼性の高い解決法の1つであるが、この手法はシス
テムパフォーマンスに重大な影響を及ぼす。
うとするアドレスの発行を、その記憶動作が無効である
か否かについてMMUが行うチェックが間に合うよう
に、CPUがクロックサイクル内の十分早い時期に行
い、そのアドレスを発行するのと同一クロックサイクル
中に発生する特定のデータライトを中止できるようにす
るという試みであろう。しかしながら、高速プロセッサ
においては、データアドレスを生成する機構は、既にそ
の最大能力附近で動作しているので、このような手法を
実現可能にする程早くデータアドレスを生成することは
実用的でない。更に、仮にデータアドレスをより早く生
成できたとしても、キャッシュ記憶の問題に対処するた
めにクロック周期を不必要に長いまま保持しておくより
も、クロック周期を短縮し、プロセッサ動作全体におい
てこれを利用しようとする可能性が最も高いであろう。
リとの間にライトバッファを追加することであろう。こ
のような手法は、CPUがライト要求を発行しその直後
に同一メモリ位置からのリードが要求された場合に、キ
ャッシュメモリではなく、ライトバッファがリード要求
に対して必要とされるデータを保持することになり、更
に、この状況を検出および回避、または補償すること
が、ロジックに要求されることになろう。この場合に必
要とされるロジックは比較的複雑であり、このような複
雑なロジックを、パフォーマンスが最も重要なCPUか
らキャッシュメモリまでの経路に導入することは不都合
であろう。
無効な記憶動作を行わせておいて、次の処理クロックサ
イクル中にMMUからその記憶動作が無効であったとい
う結果が分った時に、この無効データをキャッシュから
追い出す動作を開始するものであろう。これを達成する
には、キャッシュ内のデータのワード毎に「ダーティ」
ビットを設けることによって、当該データワードが無効
であったか否かを示せばよいであろう。したがって、あ
る特定の出力データワードに対する記憶動作をキャッシ
ュに対して行い、次にMMUが生成する信号に応答し
て、そのデータワードが無効と承認されたなら、無効と
してマークすることができる。この手法による重大な問
題は、キャッシュ内のデータワード毎に「ダーティ」ビ
ットを設けることによって、キャッシュの物理サイズを
増大させてしまうという不利益を被ることである。
の不利益を受けることなく、高速キャッシュアクセスを
可能にすることである。
置を提供し、該装置は、(i)処理クロック周期中に、
記憶するための出力データワードを発生する中央処理装
置と、(ii)前記処理クロック周期中に前記出力デー
タワードを記憶することにより、単一サイクル記憶動作
を実行するキャッシュメモリであって、複数のキャッシ
ュ記憶ラインを有し、各キャッシュ記憶ラインは関連す
る無効ラインフラグを有すると共に複数の前記出力デー
タワードを記憶可能である、前記キャッシュメモリと、
(iii)前記中央処理装置および前記キャッシュメモ
リとは異なり、前記処理クロック周期に続く次のクロッ
ク周期において、キャッシュヒットが発生したか否かと
は独立して、前記処理クロック周期中の前記出力データ
ワードの前記キャッシュメモリへの記憶が無効記憶動作
であったか否かを示す、無効記憶信号を発生するメモリ
管理手段と、(iv)前記無効記憶信号に応答して、前
記無効記憶動作が行われたキャッシュ記憶ラインに関連
する無効ラインフラグをセットするフラッグセット手段
と、から成るものである。
キャッシュメモリ内のキャッシュ記憶ラインの複数のデ
ータワードを無効として扱うべきか否かを指示する。こ
のようにして、あるキャッシュ記憶ライン内の1つの出
力ワードが無効記憶動作の対象である場合、このキャッ
シュライン全体を無効としてマークする。表面上、この
ような手法は、絶対的に必要以上のデータワードを無効
としてマークしキャッシュ内で使用不能にするので、こ
れらがアクセスされるべき時には、速度が遅い非キャッ
シュ動作を行わなければならない点で、不都合と思われ
るかもしれない。しかしながら、驚くべきことに、無効
記憶動作が1回起こると、後続の動作ではいずれの場合
でも、当該キャッシュ記憶ライン全体および多くの他の
周囲のキャッシュ記憶ラインを、異なるデータと交換し
なければならない、或いは交換する原因となる可能性が
高いことが、実際に発見された。したがって、1つのデ
ータワードではなく複数のデータワードを無効にして
も、実際のパフォーマンス損失は比較的少なく、1クロ
ック周期を出力データの発生とキャッシュメモリ内への
記憶とに用いることができ、しかもライトバッファをキ
ャッシュに備えなければならない複雑性、即ち各データ
ワードに「ダーティ」ビットを設けるサイズ面の不利を
回避することができる、システムを提供することが可能
となる。
キャッシュ記憶ラインは、典型的に回路構造内のライン
として配されるが、必ずしもこうしなければならない訳
ではないことは認められよう。キャッシュ記憶ラインと
いう用語は、何等かの方法で共に集合化或いは関連付け
された1組の記憶素子を意味すると考えることができ
る。更に、単一の無効ラインフラグを用いて無効記憶動
作をマークすることの利点として、この無効ラインフラ
グは典型的に既にキャッシュメモリシステムに設けられ
ており、当該システム内の他の記憶素子内から有効デー
タが特定のキャッシュラインに記憶されたことを示すた
めに、ある段階において用いられていることも認められ
よう。したがって、無効ラインフラグは、キャッシュの
初期化とキャッシュ内の無効記憶動作のマーク付けとい
う、2つの目的のために有効に用いることができる。
モリ管理手段は、前記中央処理装置によって発生された
前記出力データワードを物理アドレスに記憶するための
仮想アドレスをマッピングする作用を行うこともできる
という別の利点がある。
には、前記メモリ管理手段は、出力データワードを有効
に前記キャッシュメモリに記憶することができる物理ア
ドレスを指示する、キャッシュ記憶ルックアップテーブ
ルを含むことが好ましい。
ーブルは、有効なキャッシュ記憶動作が行われる物理ア
ドレス(例えば、表示スクリーンマッピングアドレス)
か否かを示す、便利な方法を提供するものであるが、こ
のルックアップテーブルの動作が、処理クロック周期内
に無効記憶信号を生成可能にするだけの、十分な速度を
有していないという問題を伴うものではない。したがっ
て、このような実施例は、次のクロック周期中に無効記
憶動作を指示する機能が非常に有用となるものである。
処理装置が複数の処理モードで動作可能となるものであ
り、前記メモリ管理手段は、前記中央処理装置がある所
与の処理モードで動作中に、出力データワードが有効に
記憶できる物理アドレスを指示するモードルックアップ
テーブルを含む。
タスクシステムにおける様々なプロセッシングスレッド
の形であっても良い、或いはオブジェクト指向プログラ
ムにおける様々なオブジェクトの実行という形であって
も良い。
するためには、ORゲートを設けて、前記キャッシュ記
憶ルックアップテーブルと前記モードルックアップテー
ブルとの出力を論理的に組み合わせ、前記無効記憶信号
を生成することが有利である。
無効記憶信号が発生される時点までには既に次の処理動
作に移行しているので、無効記憶処理が行われたキャッ
シュ記憶ラインは、その時にはアドレスバス上にはもは
や存在しないことは、認められよう。
ト手段は、前記次のクロック周期中に用いられ、前記処
理クロックサイクル中に記憶動作が行われた、前記キャ
ッシュ記憶ラインの1本を識別するデータを記憶するア
ドレスレジスタと、前記次のクロック周期中に、無効記
憶動作を示す前記無効記憶信号によってイネーブルさ
れ、前記アドレスレジスタによって識別された前記無効
ラインフラグの1つをセットする手段と、を含む。
ることは認められようが、本発明を集積回路として実施
することが有利であろう。これは、中央処理装置と同一
集積回路上にキャッシュメモリを設けることにより、こ
れら2構成物間に十分高速なデータ路を形成する際、特
に言えることである。
方法を提供し、該方法は、(i)処理クロック周期中
に、記憶するための出力データワードを発生するステッ
プと、(ii)前記処理クロック周期中に前記出力デー
タワードをキャッシュメモリに記憶することにより、単
一サイクル記憶動作を実行し、前記キャッシュメモリは
複数のキャッシュ記憶ラインを有し、各キャッシュ記憶
ラインが関連する無効ラインフラグを有し、複数の前記
出力データワードを記憶可能とするステップと、(ii
i)前記処理クロック周期に続く次のクロック周期にお
いて、キャッシュヒットが発生したか否かとは独立し
て、前記処理クロック周期中の前記出力データワードの
前記キャッシュメモリへの記憶が無効記憶動作であった
か否かを示す、無効記憶信号を発生するステップと、
(iv)前記無効記憶信号に応答して、前記無効記憶動
作が行われたキャッシュ記憶ラインに関連する無効ライ
ンフラグをセットするステップと、から成るものであ
る。
および利点は、以下の例示実施例の詳細な説明を、添付
図面に関連付けて読むことにより明白となろう。
モリ8および出力バッファ10を有する集積回路2を示
す。複数の内部バスが、集積回路2の要素を連結する。
MMU6はCPU4やキャッシュメモリ8とは異なる機
能回路要素であるが、それでも集積回路2の一部として
製造されることは認められよう。
ファ10を通じて集積回路2の外部に記憶するためにC
PU4から出力される32ビット出力(Dout)、或
いはキャッシュメモリ8またはバッファ10を通じて集
積回路2の外部から復元してCPU4に入力される32
ビット入力(Din)データワード。
ータワードの仮想データアドレス。
ドレスがマッピングされる物理データアドレス。
しているデータアドレスが、動作中のCPU4の処理モ
ードで使用可能であるかを示す、(次のクロックサイク
ルに)MMU6によって生成されCPU4に供給される
信号。
ードが、実際にバッファリング可能であるか否かを示
す、(次のクロックサイクルにおいて)MMU6によっ
て生成され、バッファ10に供給される信号。
バッファ10はそのデータを追い出さなければならない
ことを示す、(次のクロックサイクルにおいて)MMU
6によって生成されバッファ10に供給される信号。
データワードが適切に記憶されたのか否かを示す、(次
のクロックサイクルにおいて)MMU6によって生成さ
れCPU4に供給される信号。
でキャッシュメモリ8はそのデータを追い出さなければ
ならないことを示す、(次のクロックサイクルにおい
て)MMU6によって生成されキャッシュメモリ8に供
給される信号。
outとそのデータワードを記憶すべき仮想アドレスV
Addとを生成する。次に、MMU6は仮想アドレスV
Addを物理アドレスPAddに変換し、この物理アド
レスPAdd上でルックアップ動作を行い、そのアドレ
スがバッファリング可能で、キャッシュ可能であるか、
そしてCPU4が与えられた処理モードでそれにアクセ
スすべきか否かを判断する。物理アドレスPAddは、
出力データワードDoutおよび仮想アドレスPAdd
が生成されるのと同一クロックサイクルにおいて生成さ
れる。その記憶処理に関するMMU6からの他の信号
は、次のクロックサイクルにおいて生成される。
ャッシュ−IDCache)は、物理アドレスPAdd
および出力データワードDoutを、それらがCPU4
によって発生されたのと同一クロックサイクルで受け取
り、当該物理アドレスPAddに対するキャッシュヒッ
トが検出されたなら、出力データワードをキャッシュ内
に記憶する。
効記憶動作と判断した場合、これを示す信号ICを生成
し、次のクロックサイクルにおいてこれをキャッシュメ
モリ8に供給する。信号ICは、無効記憶信号である。
また、MMU6は、このような無効記憶動作の発生時
に、物理アドレスPAddを再度キャッシュメモリ8に
供給する。
ddによって示される1本または複数本のキャッシュラ
イン(後に説明する)をアクセスし、それらのキャッシ
ュラインに無効記憶フラグをセットすることによって、
信号ICに応答する。
た物理アドレスPAddが、出力データDoutをバッ
ファ10にバッファすべきであることを示すことがあ
る。メモリ管理ユニット6が、次のクロックサイクル中
に、このバッファリング動作が無効であったことを検出
した場合、続いてその無効バッファ記憶信号IBが確定
され、バッファデータがバッファ10から追い出され
る。
描いた概略図である。キャッシュメモリ8は、キャッシ
ュヒットを検出する機能を果たす、4つのキャッシュタ
グユニット14を含む。物理アドレスPAddの第5な
いし第10ビットA[10:5]を用いて、各キャッシ
ュタグユニット14中のタグライン15を選択する。こ
のタグライン15の内容を、物理アドレスPAddの第
11ないし第31ビットA[31:11]と比較し、ヒ
ットキャッシュを示すアドレスの一致が生じたか否かを
判定する。
を、「ヒット」ラインを通じて、4つのキャッシュラン
ダムアクセスメモリ(RAM)16の対応するバンクに
知らせる。キャッシュRAM16の適切な1つを作動さ
せて、物理アドレスPAddの第5ないし第10ビット
A[5:10]を再び用いて、そのキャッシュRAM内
の64本のキャッシュライン17の内1本をアドレスし
選択する。キャッシュライン17全体の内容はマルチプ
レクサ18に並列に接続されており、これを用いて、物
理アドレスPAddの第2ないし第4ビットA[4:
2]にしたがって、キャッシュライン17に記憶されて
いる8個のデータワードの内適切なデータワードを選択
し、ライト動作を行う。
を含む32ビットのデータワードD[31:0]であ
る。アドレスすべき特定のバイトは、第0および第1ビ
ットA[0:1]によって示される。
を検出するためのキャッシュタグユニット14内のアド
レスルックアップと、マルチプレクサ18を通じた適切
なキャッシュライン17の選択およびキャッシュRAM
16内への書き込みが、単一クロック周期内に生じるよ
うに、設計されている。
り、およびキャッシュメモリ8へのデータの書き込み
は、対称的な動作である。キャッシュタグユニット14
によって同じようにキャッシュヒットが検出され、異な
るのはマルチプレクサ18を介したキャッシュRAMへ
の或いはキャッシュRAMからのデータフローの方向の
みである。
次のクロック周期までに検出され、無効記憶信号ICが
MMU6によって確定される。無効記憶動作が生じた物
理アドレスPAddは、キャッシュメモリ8に再度供給
される。したがって、同一キャッシュタグライン15が
物理アドレスPAddの第5ないし第10ビットA[1
0:5]によって選択されると共に、これらに対する無
効ラインフラグが無効記憶信号ICによってセットされ
る。この追い出し処理の動作を高速化するために、4つ
のキャッシュタグユニット14のキャッシュタグライン
15の内、第5ないし第10ビットA[5:10]と一
致するもの全ての無効記憶フラグがセットされる。第1
1ないし第31ビットA[11:31]がデコードされ
るまで待つことによって、適切なキャッシュタグライン
15の1つの無効記憶フラグのみをセットすることも可
能であるが、こうするには1クロックサイクル余分に必
要となる。実際上、4つのキャッシュタグラインを一度
に全て無効化することに不都合はほとんどない。
MU6の一部を示す。出力データワードがキャッシュメ
モリ8に記憶するのに適切であるか、或いはその特定の
処理モードによって記憶するのに適切であるか、をそれ
ぞれ示す信号CおよびPが、ORゲート20によってO
Rされる。ゲート20の出力はラッチ22によってラッ
チされると共に、フォールトアドレスレジスタ(FA
R)24に供給される。FAR24は、ゲート20の出
力をライトイネーブル信号として扱い、無効記憶動作が
発生したとして示された出力データワードの物理アドレ
スを記憶する。次のクロックサイクルにおいて、ラッチ
22内にラッチされた信号は、無効記憶信号ICとして
作用すると共に、FAR24へのリードイネーブル信号
として作用し、先の物理アドレスPAddを再度キャッ
シュメモリ8に供給し、前述のように追い出しを行う。
的実施例を詳細に説明したが、本発明はこれらの実施例
そのものに限定される訳ではなく、添付の特許請求の範
囲に規定された本発明の範囲および精神から逸脱するこ
となく、種々の変更および改造が当業者によって行われ
得ることは理解されよう。
に示す図。
図。
的に示す図。
Claims (8)
- 【請求項1】データ処理装置であって、 (i)処理クロック周期中に、記憶するための出力デー
タワードを発生する中央処理装置と、 (ii)前記処理クロック周期中に前記出力データワー
ドを記憶することにより、単一サイクル記憶動作を実行
するキャッシュメモリであって、複数のキャッシュ記憶
ラインを有し、各キャッシュ記憶ラインは関連する無効
ラインフラグを有すると共に複数の前記出力データワー
ドを記憶可能である、前記キャッシュメモリと、 (iii)前記中央処理装置および前記キャッシュメモ
リとは異なり、前記処理クロック周期に続く次のクロッ
ク周期において、キャッシュヒットが発生したか否かに
拘らず、前記処理クロック周期中の前記出力データワー
ドの前記キャッシュメモリへの記憶が無効記憶動作であ
ったか否かを示す、無効記憶信号を発生するメモリ管理
手段と、 (iv)前記無効記憶信号に応答して、前記無効記憶動
作が行われたキャッシュ記憶ラインに関連する無効ライ
ンフラグをセットするフラッグセット手段と、から成る
ことを特徴とする前記装置。 - 【請求項2】請求項1において、前記メモリ管理手段
は、前記中央処理装置によって発生された仮想アドレス
のマッピングを行い、前記出力データワードを物理アド
レスに記憶することを特徴とする装置。 - 【請求項3】請求項1において、前記メモリ管理手段
は、出力データワードを前記キャッシュメモリに有効に
記憶することができる物理アドレスを指示する、キャッ
シュ記憶ルックアップテーブルを含むことを特徴とする
装置。 - 【請求項4】請求項1において、 前記中央処理装置は、複数の処理モードで動作可能であ
り、 前記メモリ管理手段は、前記中央処理装置が所与の処理
モードで動作している時に、出力データワードを有効に
記憶することができる物理アドレスを指示する、モード
ルックアップテーブルを含むことを特徴とする装置。 - 【請求項5】請求項4において、前記メモリ管理手段
は、前記キャッシュメモリ内に出力データワードを有効
に記憶することができる物理アドレスを示すキャッシュ
記憶ルックアップテーブルを含み、前記キャッシュ記憶
ルックアップテーブルと前記モードルックアップテーブ
ルとを論理的に結合して、前記無効記憶信号を生成する
ORゲートを含むことを特徴とする装置。 - 【請求項6】請求項1において、前記フラグセット手段
は、 前記次のクロック周期中に用いられ、前記処理クロック
サイクル中に記憶動作が行われた、前記キャッシュ記憶
ラインの1本を識別するデータを記憶するアドレスレジ
スタと、 前記次のクロック周期中に、無効記憶動作を示す前記無
効記憶信号によってイネーブルされ、前記アドレスレジ
スタによって識別された前記無効ラインフラグの1つを
セットする手段と、から成ることを特徴とする装置。 - 【請求項7】請求項1において、集積回路から成ること
を特徴とする装置。 - 【請求項8】データ処理方法であって、 (i)処理クロック周期中に、記憶するための出力デー
タワードを発生するステップと、 (ii)前記処理クロック周期中に前記出力データワー
ドをキャッシュメモリに記憶することにより、単一サイ
クル記憶動作を実行し、前記キャッシュメモリは複数の
キャッシュ記憶ラインを有し、各キャッシュ記憶ライン
が関連する無効ラインフラグを有し、複数の前記出力デ
ータワードを記憶可能とするステップと、 (iii)前記処理クロック周期に続く次のクロック周
期において、キャッシュヒットが発生したか否かとは独
立して、前記処理クロック周期中の前記出力データワー
ドの前記キャッシュメモリへの記憶が無効記憶動作であ
ったか否かを示す、無効記憶信号を発生するステップ
と、 (iv)前記無効記憶信号に応答して、前記無効記憶動
作が行われたキャッシュ記憶ラインに関連する無効ライ
ンフラグをセットするステップと、から成ることを特徴
とする前記方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB93201432 | 1993-09-29 | ||
| GB9320143A GB2282471B (en) | 1993-09-29 | 1993-09-29 | Cache storage |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07210464A true JPH07210464A (ja) | 1995-08-11 |
| JP3971807B2 JP3971807B2 (ja) | 2007-09-05 |
Family
ID=10742747
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23363294A Expired - Lifetime JP3971807B2 (ja) | 1993-09-29 | 1994-09-28 | キャッシュ記憶装置および方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5749094A (ja) |
| JP (1) | JP3971807B2 (ja) |
| GB (1) | GB2282471B (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6170030B1 (en) * | 1998-01-23 | 2001-01-02 | Intel Corporation | Method and apparatus for restreaming data that has been queued in a bus bridging device |
| US6412057B1 (en) * | 1999-02-08 | 2002-06-25 | Kabushiki Kaisha Toshiba | Microprocessor with virtual-to-physical address translation using flags |
| US6389527B1 (en) * | 1999-02-08 | 2002-05-14 | Kabushiki Kaisha Toshiba | Microprocessor allowing simultaneous instruction execution and DMA transfer |
| US6928521B1 (en) | 2000-08-01 | 2005-08-09 | International Business Machines Corporation | Method, system, and data structures for using metadata in updating data in a storage device |
| US8438003B2 (en) * | 2007-04-12 | 2013-05-07 | Cadence Design Systems, Inc. | Methods for improved simulation of integrated circuit designs |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4713755A (en) * | 1985-06-28 | 1987-12-15 | Hewlett-Packard Company | Cache memory consistency control with explicit software instructions |
| US5226133A (en) * | 1989-12-01 | 1993-07-06 | Silicon Graphics, Inc. | Two-level translation look-aside buffer using partial addresses for enhanced speed |
| US5325499A (en) * | 1990-09-28 | 1994-06-28 | Tandon Corporation | Computer system including a write protection circuit for preventing illegal write operations and a write poster with improved memory |
| US5408636A (en) * | 1991-06-24 | 1995-04-18 | Compaq Computer Corp. | System for flushing first and second caches upon detection of a write operation to write protected areas |
-
1993
- 1993-09-29 GB GB9320143A patent/GB2282471B/en not_active Expired - Lifetime
-
1994
- 1994-09-28 JP JP23363294A patent/JP3971807B2/ja not_active Expired - Lifetime
-
1996
- 1996-11-12 US US08/747,196 patent/US5749094A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| GB9320143D0 (en) | 1993-12-22 |
| GB2282471A (en) | 1995-04-05 |
| JP3971807B2 (ja) | 2007-09-05 |
| US5749094A (en) | 1998-05-05 |
| GB2282471B (en) | 1997-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5778433A (en) | Computer system including a first level write-back cache and a second level cache | |
| US6366984B1 (en) | Write combining buffer that supports snoop request | |
| JP3352598B2 (ja) | マイクロプロセッサ | |
| US6138208A (en) | Multiple level cache memory with overlapped L1 and L2 memory access | |
| US7032074B2 (en) | Method and mechanism to use a cache to translate from a virtual bus to a physical bus | |
| US7415575B1 (en) | Shared cache with client-specific replacement policy | |
| JP3289661B2 (ja) | キャッシュメモリシステム | |
| US6412057B1 (en) | Microprocessor with virtual-to-physical address translation using flags | |
| TWI393050B (zh) | 促進多重處理器介面之板內建快取記憶體系統之記憶體裝置及方法及使用其之電腦系統 | |
| EP0817066A2 (en) | Integrated processor/memory device with full width cache | |
| US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
| JP2006517040A (ja) | キャッシュラインサイズが異なる第一レベルキャッシュと第二レベルキャッシュを備えたマイクロプロセッサ | |
| KR20010101694A (ko) | 가상 메모리 시스템에서의 메모리 접근 개선 기술 | |
| JPH0342745A (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
| US6205520B1 (en) | Method and apparatus for implementing non-temporal stores | |
| JP3245125B2 (ja) | 垂直キャッシュのための擬似精細i−キャッシュ包含性 | |
| US5590310A (en) | Method and structure for data integrity in a multiple level cache system | |
| US6321302B1 (en) | Stream read buffer for efficient interface with block oriented devices | |
| US6434665B1 (en) | Cache memory store buffer | |
| US5835934A (en) | Method and apparatus of low power cache operation with a tag hit enablement | |
| JP3431878B2 (ja) | マルチスレッド・プロセッサの命令キャッシュ | |
| EP0470739B1 (en) | Method for managing a cache memory system | |
| US6347363B1 (en) | Merged vertical cache controller mechanism with combined cache controller and snoop queries for in-line caches | |
| US5926841A (en) | Segment descriptor cache for a processor | |
| US7464227B2 (en) | Method and apparatus for supporting opportunistic sharing in coherent multiprocessors |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040130 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040430 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040510 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040625 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041102 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050302 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050307 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050708 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070105 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070111 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070406 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070611 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130615 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |