JP3407808B2 - コンピュータシステム - Google Patents
コンピュータシステムInfo
- Publication number
- JP3407808B2 JP3407808B2 JP12186591A JP12186591A JP3407808B2 JP 3407808 B2 JP3407808 B2 JP 3407808B2 JP 12186591 A JP12186591 A JP 12186591A JP 12186591 A JP12186591 A JP 12186591A JP 3407808 B2 JP3407808 B2 JP 3407808B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- cache
- buffer
- write
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
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】
【従来の技術】コンピュータシステムにおいて、情報を
検索するための主メモリのアクセスはシステムの動作時
間の相当の部分を占めることが多い。このため、最新の
システムでは、システムをスピードアップする目的でキ
ャッシュメモリを使用することが主流になってきてい
る。キャッシュメモリは相対的に容量の小さい高速ラン
ダムアクセスメモリを利用し、プロセッサが最近利用し
た命令やデータを、利用される形態で記憶している。こ
のように命令やデータをキャッシュメモリに記憶してお
けば、関連するプロセッサは主メモリからアクセスする
ときより速く命令やデータをアクセスできるのである。
キャッシングの基本理論は、一般に、最近利用された情
報は他の情報より早く使用される確率が高いということ
である。キャッシュメモリは、多くの場合、主メモリと
して使用されるランダムアクセスメモリより物理的に高
速であると共に、主メモリより速くアドレス指定可能で
あるように構成されている。たとえば、仮想メモリシス
テムの場合、キャッシュは主メモリをアクセスするため
に必要な物理アドレスを確定するためにメモリ管理装置
のルックアップ動作を経なくて良い。このようなキャッ
シング構成の動作によって、ある種の情報については、
コンピュータシステムの動作速度は大幅にアップした。
検索するための主メモリのアクセスはシステムの動作時
間の相当の部分を占めることが多い。このため、最新の
システムでは、システムをスピードアップする目的でキ
ャッシュメモリを使用することが主流になってきてい
る。キャッシュメモリは相対的に容量の小さい高速ラン
ダムアクセスメモリを利用し、プロセッサが最近利用し
た命令やデータを、利用される形態で記憶している。こ
のように命令やデータをキャッシュメモリに記憶してお
けば、関連するプロセッサは主メモリからアクセスする
ときより速く命令やデータをアクセスできるのである。
キャッシングの基本理論は、一般に、最近利用された情
報は他の情報より早く使用される確率が高いということ
である。キャッシュメモリは、多くの場合、主メモリと
して使用されるランダムアクセスメモリより物理的に高
速であると共に、主メモリより速くアドレス指定可能で
あるように構成されている。たとえば、仮想メモリシス
テムの場合、キャッシュは主メモリをアクセスするため
に必要な物理アドレスを確定するためにメモリ管理装置
のルックアップ動作を経なくて良い。このようなキャッ
シング構成の動作によって、ある種の情報については、
コンピュータシステムの動作速度は大幅にアップした。
【0003】特定のプロセッサと共に使用する目的で提
供されるキャッシュメモリには多くの形態がある。それ
ら様々な形態のキャッシュメモリの大半で、主メモリの
いくつかの異なる物理的記憶場所からの情報をキャッシ
ュメモリの同じ記憶場所にマッピングするようになって
いる。そのため、ある定まった時間の後に、キャッシュ
メモリの1つの位置に記憶されている情報をプロセッサ
が要求する別の情報と置き換えなければならないであろ
う。キャッシュメモリシステムの中には、情報がキャッ
シュメモリに導入されても、キャッシュメモリに書込ま
れた情報を直ちに主メモリへ転送せず、後のより都合の
良い時点までその情報を保持しているもの(戻し書込み
−ライトバック−システムと呼ばれている)がある。こ
のようなシステムはシステムバスの利用度が少ないの
で、より高速である。
供されるキャッシュメモリには多くの形態がある。それ
ら様々な形態のキャッシュメモリの大半で、主メモリの
いくつかの異なる物理的記憶場所からの情報をキャッシ
ュメモリの同じ記憶場所にマッピングするようになって
いる。そのため、ある定まった時間の後に、キャッシュ
メモリの1つの位置に記憶されている情報をプロセッサ
が要求する別の情報と置き換えなければならないであろ
う。キャッシュメモリシステムの中には、情報がキャッ
シュメモリに導入されても、キャッシュメモリに書込ま
れた情報を直ちに主メモリへ転送せず、後のより都合の
良い時点までその情報を保持しているもの(戻し書込み
−ライトバック−システムと呼ばれている)がある。こ
のようなシステムはシステムバスの利用度が少ないの
で、より高速である。
【0004】戻し書込みキャッシング構成においては、
新たな情報を記憶すべきキャッシュメモリの位置に存在
している有効情報はまだ主メモリへ転送されていないの
で、新たな情報を記憶すると、前の情報は失われること
になるであろう。このように、キャッシュミスのときに
は、データをキャッシュメモリに記憶できないのであ
る。このため、記憶命令はキャッシュミスの有無の検査
を要求するのが普通である。ミスがなければ、アクセス
された情報はキャッシュにあり、記憶を実行して良い。
この検査には余分の動作クロックサイクルが必要である
ので、クロックサイクルごとに1つの指令を実行するこ
とが期待されるパイプライン化コンピュータシステムに
おいては相当の遅延が生じる。
新たな情報を記憶すべきキャッシュメモリの位置に存在
している有効情報はまだ主メモリへ転送されていないの
で、新たな情報を記憶すると、前の情報は失われること
になるであろう。このように、キャッシュミスのときに
は、データをキャッシュメモリに記憶できないのであ
る。このため、記憶命令はキャッシュミスの有無の検査
を要求するのが普通である。ミスがなければ、アクセス
された情報はキャッシュにあり、記憶を実行して良い。
この検査には余分の動作クロックサイクルが必要である
ので、クロックサイクルごとに1つの指令を実行するこ
とが期待されるパイプライン化コンピュータシステムに
おいては相当の遅延が生じる。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、コンピュータシステムの動作速度を増すことであ
る。本発明の別の、さらに特定的な目的は、記憶命令に
伴って、キャッシュに情報を記憶する前にキャッシュミ
スが起こるか否かを判定するためにキャッシュをアドレ
ス指定することが必要であるために起こる遅延を減少さ
せることである。
は、コンピュータシステムの動作速度を増すことであ
る。本発明の別の、さらに特定的な目的は、記憶命令に
伴って、キャッシュに情報を記憶する前にキャッシュミ
スが起こるか否かを判定するためにキャッシュをアドレ
ス指定することが必要であるために起こる遅延を減少さ
せることである。
【0006】
【課題を解決するための手段】本発明のこれらの目的及
びその他の目的は、キャッシュメモリと、キャッシュメ
モリに記憶すべきデータを緩衝する手段と、キャッシュ
メモリがアクセスされた情報を保持しているか否かを判
定するためにキャッシュメモリを検査する手段と、キャ
ッシュミスに応答して、情報が緩衝する手段から出る前
に記憶動作を終了させる手段とを具備するシステムにお
いて実現される。
びその他の目的は、キャッシュメモリと、キャッシュメ
モリに記憶すべきデータを緩衝する手段と、キャッシュ
メモリがアクセスされた情報を保持しているか否かを判
定するためにキャッシュメモリを検査する手段と、キャ
ッシュミスに応答して、情報が緩衝する手段から出る前
に記憶動作を終了させる手段とを具備するシステムにお
いて実現される。
【0007】本発明のこれらの目的と特徴並びに他の目
的と特徴は、添付の図面と共に以下の詳細な説明を参照
することによりさらに良く理解されるであろう。尚、図
面中、いくつかの図を通して、同じ図中符号は同じ素子
を指す。
的と特徴は、添付の図面と共に以下の詳細な説明を参照
することによりさらに良く理解されるであろう。尚、図
面中、いくつかの図を通して、同じ図中符号は同じ素子
を指す。
【0008】
【表記法及び用語】以下の詳細な説明の中には、コンピ
ュータメモリ内部のデータビットに対する動作をアルゴ
リズムや記号表示によって提示している部分がある。そ
のようなアルゴリズムによる説明及び表示は、データ処
理技術に熟達する人がその作業の内容を同じ分野の他の
当業者に最も有効に伝達するために使用する手段であ
る。ここでは、また、一般にも、アルゴリズムは所望の
結果に至る首尾一貫したステップのシーケンスである。
それらのステップは物理的な量の物理的な操作を必要と
するステップである。通常、それらの量は記憶,転送,
組み合わせ,比較及びその他の方法による操作が可能で
ある電気的信号又は磁気信号の形態をとるが、必ずそう
でなければならないというわけではない。場合によって
は、主に一般に使用されている用語であるという理由に
より、それらの信号をビット,値,要素,記号,文字,
項,数などと呼ぶと好都合であることがわかる。ただ
し、それらの用語及びそれに類する用語は、全て、適切
な物理的な量と関連させるべきものであり、そのような
量に便宜上付されたラベルであるにすぎないということ
を忘れてはならない。
ュータメモリ内部のデータビットに対する動作をアルゴ
リズムや記号表示によって提示している部分がある。そ
のようなアルゴリズムによる説明及び表示は、データ処
理技術に熟達する人がその作業の内容を同じ分野の他の
当業者に最も有効に伝達するために使用する手段であ
る。ここでは、また、一般にも、アルゴリズムは所望の
結果に至る首尾一貫したステップのシーケンスである。
それらのステップは物理的な量の物理的な操作を必要と
するステップである。通常、それらの量は記憶,転送,
組み合わせ,比較及びその他の方法による操作が可能で
ある電気的信号又は磁気信号の形態をとるが、必ずそう
でなければならないというわけではない。場合によって
は、主に一般に使用されている用語であるという理由に
より、それらの信号をビット,値,要素,記号,文字,
項,数などと呼ぶと好都合であることがわかる。ただ
し、それらの用語及びそれに類する用語は、全て、適切
な物理的な量と関連させるべきものであり、そのような
量に便宜上付されたラベルであるにすぎないということ
を忘れてはならない。
【0009】さらに、実行される動作を、オペレータが
実行する知的動作と一般に関連している加算又は比較な
どの用語で呼ぶ場合が多いが、ここで説明する、本発明
の一部を成す動作のいずれにおいても、そのようなオペ
レータの能力は不要であり、多くの場合に望ましくな
い。動作は機械の動作である。本発明の動作を実行する
のに有用な機械には、汎用デジタルコンピュータ又は他
の同様の装置がある。いずれの場合にも、コンピュータ
を動作させる際の動作の方法と、計算それ自体の方法と
の明確な区別に留意すべきである。本発明は、電気的信
号又はその他の物理的(たとえば、機械的,化学的)信
号を処理して、別の所望の物理的信号を発生させるのに
際してコンピュータを動作させる装置及び方法ステップ
に関する。
実行する知的動作と一般に関連している加算又は比較な
どの用語で呼ぶ場合が多いが、ここで説明する、本発明
の一部を成す動作のいずれにおいても、そのようなオペ
レータの能力は不要であり、多くの場合に望ましくな
い。動作は機械の動作である。本発明の動作を実行する
のに有用な機械には、汎用デジタルコンピュータ又は他
の同様の装置がある。いずれの場合にも、コンピュータ
を動作させる際の動作の方法と、計算それ自体の方法と
の明確な区別に留意すべきである。本発明は、電気的信
号又はその他の物理的(たとえば、機械的,化学的)信
号を処理して、別の所望の物理的信号を発生させるのに
際してコンピュータを動作させる装置及び方法ステップ
に関する。
【0010】
【実施例】そこで、図1に関して説明すると、図1に
は、本発明に従って構成したメモリ装置10がブロック
線図の形で示されている。メモリ装置10はランダムア
クセスメモリ12のアレイを含む。好ましい実施例で
は、このランダムアクセスメモリ12は複数の超高速メ
モリデバイスから構成されている。コンピュータシステ
ムの少なくとも一部で、ランダムアクセスメモリ12を
キャッシュメモリとして使用する。制御回路14はラン
ダムアクセスメモリ12と関連している。好ましい実施
例の制御回路14は、従来の技術では良く知られている
方式に従って、選択された入力信号に応答して何らかの
出力信号を発生する状態機械であっても良い。たとえ
ば、制御回路14はアクセスされているアドレスを表す
入力信号と、書込み制御信号と、書込み取り消し信号と
を受信する。書込み信号は書込み信号源16から発生さ
れて、制御回路14に直接供給される。アドレス信号は
プロセッサ(図示せず)などの供給源からアドレスレジ
スタ17に供給される。一連の論理素子がアドレスレジ
スタ17のアドレス信号を使用して、制御回路14に供
給すべき制御信号を発生する。書込み取り消し信号は、
ランダムアクセスメモリ12の記憶アクセス時にキャッ
シュミスが起こったか否かを判定する回路から供給され
る。
は、本発明に従って構成したメモリ装置10がブロック
線図の形で示されている。メモリ装置10はランダムア
クセスメモリ12のアレイを含む。好ましい実施例で
は、このランダムアクセスメモリ12は複数の超高速メ
モリデバイスから構成されている。コンピュータシステ
ムの少なくとも一部で、ランダムアクセスメモリ12を
キャッシュメモリとして使用する。制御回路14はラン
ダムアクセスメモリ12と関連している。好ましい実施
例の制御回路14は、従来の技術では良く知られている
方式に従って、選択された入力信号に応答して何らかの
出力信号を発生する状態機械であっても良い。たとえ
ば、制御回路14はアクセスされているアドレスを表す
入力信号と、書込み制御信号と、書込み取り消し信号と
を受信する。書込み信号は書込み信号源16から発生さ
れて、制御回路14に直接供給される。アドレス信号は
プロセッサ(図示せず)などの供給源からアドレスレジ
スタ17に供給される。一連の論理素子がアドレスレジ
スタ17のアドレス信号を使用して、制御回路14に供
給すべき制御信号を発生する。書込み取り消し信号は、
ランダムアクセスメモリ12の記憶アクセス時にキャッ
シュミスが起こったか否かを判定する回路から供給され
る。
【0011】アドレスレジスタ17は複数本の信号線を
介して第1のアドレスバッファレジスタ20に接続して
いる。利用する信号線の数は、特定のコンピュータシス
テムにおいて1つのアドレスの全てのビットを第1のア
ドレスバッファレジスタ20へ並行に転送するのに十分
な数である。同じように、第1のアドレスバッファレジ
スタ20は同じ数の信号線を介して第2のアドレスバッ
ファレジスタ21に接続している。第1のアドレスバッ
ファレジスタ20と、第2のアドレスバッファレジスタ
21とは、それぞれ、アクセス中の1つのアドレスをメ
モリ装置10に記憶する回路から構成されている。尚、
本発明が提供する成果を発生させるために形成されたパ
イプラインの中では、回路をごくわずかに変形させた上
で、どのような数のバッファを使用しても差し支えな
い。
介して第1のアドレスバッファレジスタ20に接続して
いる。利用する信号線の数は、特定のコンピュータシス
テムにおいて1つのアドレスの全てのビットを第1のア
ドレスバッファレジスタ20へ並行に転送するのに十分
な数である。同じように、第1のアドレスバッファレジ
スタ20は同じ数の信号線を介して第2のアドレスバッ
ファレジスタ21に接続している。第1のアドレスバッ
ファレジスタ20と、第2のアドレスバッファレジスタ
21とは、それぞれ、アクセス中の1つのアドレスをメ
モリ装置10に記憶する回路から構成されている。尚、
本発明が提供する成果を発生させるために形成されたパ
イプラインの中では、回路をごくわずかに変形させた上
で、どのような数のバッファを使用しても差し支えな
い。
【0012】ランダムアクセスメモリ12に記憶すべき
データは、プロセッサ(図示せず)などの供給源からデ
ータレジスタ18に供給される。アドレッシング構成と
同じように、データレジスタ18は複数本の信号線を介
して第1のデータバッファレジスタ23に接続してい
る。利用する信号線の数は、特定のコンピュータシステ
ムにおいて1回の記憶動作でランダムアクセスメモリ1
2に記憶すべきデータの全てのビットを第1のデータバ
ッファレジスタ23へ並行に転送するのに十分な数であ
る。第1のデータバッファレジスタ23は同じ数の信号
線を介して第2のデータバッファレジスタ24に接続し
ている。第1のデータバッファレジスタ23と、第2の
データバッファレジスタ24とは、それぞれ、メモリ装
置10に記憶されているデータを記憶する回路から構成
されている。この場合にも、データバッファレジスタの
数は2つに限定されているわけではないが、レジスタ段
を2つだけにすると本発明の説明が容易になるため、こ
こでは2つのレジスタを使用している。
データは、プロセッサ(図示せず)などの供給源からデ
ータレジスタ18に供給される。アドレッシング構成と
同じように、データレジスタ18は複数本の信号線を介
して第1のデータバッファレジスタ23に接続してい
る。利用する信号線の数は、特定のコンピュータシステ
ムにおいて1回の記憶動作でランダムアクセスメモリ1
2に記憶すべきデータの全てのビットを第1のデータバ
ッファレジスタ23へ並行に転送するのに十分な数であ
る。第1のデータバッファレジスタ23は同じ数の信号
線を介して第2のデータバッファレジスタ24に接続し
ている。第1のデータバッファレジスタ23と、第2の
データバッファレジスタ24とは、それぞれ、メモリ装
置10に記憶されているデータを記憶する回路から構成
されている。この場合にも、データバッファレジスタの
数は2つに限定されているわけではないが、レジスタ段
を2つだけにすると本発明の説明が容易になるため、こ
こでは2つのレジスタを使用している。
【0013】マルチプレクサ26はアドレスレジスタ1
7と、第2のアドレスバッファレジスタ21とから入力
を直接受信する。同様に、マルチプレクサ27はデータ
レジスタ18と、第1のデータバッファレジスタ23及
び第2のデータバッファレジスタ24の双方から入力を
直接受信する。マルチプレクサ26及び27は、それぞ
れ、ランダムアクセスメモリ12の特定のアドレスに記
憶すべき情報として選択された情報が従来の技術におい
て良く知られている方式に従ってランダムアクセスメモ
リ12に記憶されるように、ランダムアクセスメモリ1
2に入力を供給する。
7と、第2のアドレスバッファレジスタ21とから入力
を直接受信する。同様に、マルチプレクサ27はデータ
レジスタ18と、第1のデータバッファレジスタ23及
び第2のデータバッファレジスタ24の双方から入力を
直接受信する。マルチプレクサ26及び27は、それぞ
れ、ランダムアクセスメモリ12の特定のアドレスに記
憶すべき情報として選択された情報が従来の技術におい
て良く知られている方式に従ってランダムアクセスメモ
リ12に記憶されるように、ランダムアクセスメモリ1
2に入力を供給する。
【0014】1対の比較器28及び29は、制御回路1
4へ送信されるアドレス入力の比較の結果を供給する。
これらの比較器はアドレスレジスタ17から入力をそれ
ぞれ直接に受信する。比較器28は第1のアドレスバッ
ファレジスタ20に記憶されているアドレスをさらに受
信し、一方、比較器29は第2のアドレスバッファレジ
スタ21に記憶されているアドレスをさらに受信する。
4へ送信されるアドレス入力の比較の結果を供給する。
これらの比較器はアドレスレジスタ17から入力をそれ
ぞれ直接に受信する。比較器28は第1のアドレスバッ
ファレジスタ20に記憶されているアドレスをさらに受
信し、一方、比較器29は第2のアドレスバッファレジ
スタ21に記憶されているアドレスをさらに受信する。
【0015】ランダムアクセスメモリ12はデータアウ
ト信号を複数の信号線を介してマルチプレクサ33に供
給する。マルチプレクサ33はマルチプレクサ27から
もデータを直接受信する。マルチプレクサ33から転送
されたデータはデータアウトレジスタ34に供給され
る。このデータアウトレジスタ34はランダムアクセス
メモリ12の出力を利用するのに十分な時間を与えるよ
うに動作する。
ト信号を複数の信号線を介してマルチプレクサ33に供
給する。マルチプレクサ33はマルチプレクサ27から
もデータを直接受信する。マルチプレクサ33から転送
されたデータはデータアウトレジスタ34に供給され
る。このデータアウトレジスタ34はランダムアクセス
メモリ12の出力を利用するのに十分な時間を与えるよ
うに動作する。
【0016】先に説明したように、従来のシステムにお
いては、記憶命令はキャッシュミスの有無に関する検査
を要求するのが普通である。キャッシュミスがなけれ
ば、アクセスされた情報はキャッシュメモリにあるの
で、記憶動作を実行して良い。そのためには、数クロッ
クサイクル分、動作を遅延させる必要があり、クロック
サイクルごとに指令を1つ実行することが期待されてい
るパイプラインコンピュータシステムでは相当の遅延が
起こることになる。たとえば、カリフォルニア州マウン
テンビューの Sun Microsystems, Inc. の設計製造によ
る Scalable Processor Architecture(SPARC)コ
ンピュータなどの命令セット縮小型コンピュータ(RI
SC)で本発明を利用することが期待されている。
いては、記憶命令はキャッシュミスの有無に関する検査
を要求するのが普通である。キャッシュミスがなけれ
ば、アクセスされた情報はキャッシュメモリにあるの
で、記憶動作を実行して良い。そのためには、数クロッ
クサイクル分、動作を遅延させる必要があり、クロック
サイクルごとに指令を1つ実行することが期待されてい
るパイプラインコンピュータシステムでは相当の遅延が
起こることになる。たとえば、カリフォルニア州マウン
テンビューの Sun Microsystems, Inc. の設計製造によ
る Scalable Processor Architecture(SPARC)コ
ンピュータなどの命令セット縮小型コンピュータ(RI
SC)で本発明を利用することが期待されている。
【0017】このようなシステムにおいてキャッシュミ
スの検査によって発生する遅延を防ぐために、本発明の
メモリ装置10は第1のアドレスバッファレジスタ20
と、第2のアドレスバッファレジスタ21と、第1のデ
ータバッファレジスタ23と、第2のデータバッファレ
ジスタ24とを利用して、キャッシュのタグ部分が記憶
動作に際してアクセスされたアドレスでミスが起こった
か否かを判定することを可能にするのに十分な時間が与
えられるように、ランダムアクセスメモリ12に緩衝入
力を提供する。この緩衝入力によって、パイプライン
は、従来のシステムにおいてキャッシュミスの有無を検
査するために通常必要であった停止を伴わずに動作を続
けることができ、そのため、メモリ装置10の動作速度
は相当に増す。
スの検査によって発生する遅延を防ぐために、本発明の
メモリ装置10は第1のアドレスバッファレジスタ20
と、第2のアドレスバッファレジスタ21と、第1のデ
ータバッファレジスタ23と、第2のデータバッファレ
ジスタ24とを利用して、キャッシュのタグ部分が記憶
動作に際してアクセスされたアドレスでミスが起こった
か否かを判定することを可能にするのに十分な時間が与
えられるように、ランダムアクセスメモリ12に緩衝入
力を提供する。この緩衝入力によって、パイプライン
は、従来のシステムにおいてキャッシュミスの有無を検
査するために通常必要であった停止を伴わずに動作を続
けることができ、そのため、メモリ装置10の動作速度
は相当に増す。
【0018】再び図1を参照して説明すると、読取り動
作の場合、第1のクロックサイクルの間に、読取るべき
アドレスをアドレスレジスタ17に記憶する。キャッシ
ュメモリ又はその他のメモリからデータが得られるの
で、データレジスタ18にデータを記憶することはな
い。次のクロックサイクルでは、アドレスレジスタ17
のアドレスをマルチプレクサ26によりランダムアクセ
スメモリ12に供給する。これが読取り動作の正常な経
路である。
作の場合、第1のクロックサイクルの間に、読取るべき
アドレスをアドレスレジスタ17に記憶する。キャッシ
ュメモリ又はその他のメモリからデータが得られるの
で、データレジスタ18にデータを記憶することはな
い。次のクロックサイクルでは、アドレスレジスタ17
のアドレスをマルチプレクサ26によりランダムアクセ
スメモリ12に供給する。これが読取り動作の正常な経
路である。
【0019】これに対し、記憶動作のときには、第1の
クロックサイクルの間にアドレスをアドレスレジスタ1
7に供給すると共に、記憶すべきデータをデータレジス
タ18に記憶する。様々な動作方式において、データが
アドレスを1クロックサイクルだけ遅延させる場合があ
ることはわかるであろう。しかしながら、ここでは、動
作を理解しやすくするために、、データと、そのデータ
に関わるアドレスとは同じクロックサイクルで供給され
るものと考える。次のクロックサイクルで、アドレスを
第1のアドレスバッファレジスタ20に記憶すると共
に、データを第1のデータバッファレジスタ23に記憶
する。尚、第1のアドレスバッファレジスタ20及び第
1のデータバッファレジスタ23に情報が記憶されるの
は記憶時のみであることに注意すべきである。次の記憶
動作が現れると、第1のアドレスバッファレジスタ20
のアドレスと、第1のデータバッファレジスタ23のデ
ータは、第2のアドレスバッファレジスタ21と、第2
のデータバッファレジスタ24とへそれぞれクロックさ
れる。これにより、新たな情報をランダムアクセスメモ
リ12の当該アドレスに記憶することが必要になる前に
システムがランダムアクセスメモリ12にそのアドレス
情報が記憶されているか否かを判定するための試験を実
行できる2つのクロックサイクルが少なくとも与えられ
る。その後、次の記憶動作が現れると、制御回路14か
らランダムアクセスメモリ12へ送信される書込みイネ
ーブル信号により、第2のアドレスバッファレジスタ2
1のアドレスと、第2のデータバッファレジスタ24の
データとはアドレスを指定されたランダムアクセスメモ
リ12の位置にクロックされる。しかしながら、記憶動
作に際してアクセスされたアドレスがランダムアクセス
メモリ12にない場合には、書込みイネーブル信号は供
給されず、書込み動作は取り消されるので、ランダムア
クセスメモリ12のアドレス指定位置に対して情報の重
ね書きが起こることはない。
クロックサイクルの間にアドレスをアドレスレジスタ1
7に供給すると共に、記憶すべきデータをデータレジス
タ18に記憶する。様々な動作方式において、データが
アドレスを1クロックサイクルだけ遅延させる場合があ
ることはわかるであろう。しかしながら、ここでは、動
作を理解しやすくするために、、データと、そのデータ
に関わるアドレスとは同じクロックサイクルで供給され
るものと考える。次のクロックサイクルで、アドレスを
第1のアドレスバッファレジスタ20に記憶すると共
に、データを第1のデータバッファレジスタ23に記憶
する。尚、第1のアドレスバッファレジスタ20及び第
1のデータバッファレジスタ23に情報が記憶されるの
は記憶時のみであることに注意すべきである。次の記憶
動作が現れると、第1のアドレスバッファレジスタ20
のアドレスと、第1のデータバッファレジスタ23のデ
ータは、第2のアドレスバッファレジスタ21と、第2
のデータバッファレジスタ24とへそれぞれクロックさ
れる。これにより、新たな情報をランダムアクセスメモ
リ12の当該アドレスに記憶することが必要になる前に
システムがランダムアクセスメモリ12にそのアドレス
情報が記憶されているか否かを判定するための試験を実
行できる2つのクロックサイクルが少なくとも与えられ
る。その後、次の記憶動作が現れると、制御回路14か
らランダムアクセスメモリ12へ送信される書込みイネ
ーブル信号により、第2のアドレスバッファレジスタ2
1のアドレスと、第2のデータバッファレジスタ24の
データとはアドレスを指定されたランダムアクセスメモ
リ12の位置にクロックされる。しかしながら、記憶動
作に際してアクセスされたアドレスがランダムアクセス
メモリ12にない場合には、書込みイネーブル信号は供
給されず、書込み動作は取り消されるので、ランダムア
クセスメモリ12のアドレス指定位置に対して情報の重
ね書きが起こることはない。
【0020】2つの比較器28及び29は、あるアドレ
スへの記憶は行われたが、第1のデータバッファレジス
タ23と、第2のデータバッファレジスタ24とより構
成されるパイプラインを介してその情報がまだ伝搬して
いないために、ランダムアクセスメモリ12に情報がま
だ存在していない状況の下で、読取り動作を起こさせる
ために利用される。比較器28及び29は、アドレスレ
ジスタ17で読取るべきアドレスパイプラインのレジス
タ段に保持されているアドレスと比較する。読取り動作
時に、アドレスレジスタ17のアドレスが第1のアドレ
スバッファレジスタ20又は第2のアドレスバッファレ
ジスタ21のいずれかのアドレスに匹敵する場合、制御
回路14は関連する第1のデータバッファレジスタ23
又は第2のデータバッファレジスタ24のアドレスをマ
ルチプレクサ27により選択させ、ランダムアクセスメ
モリ12に記憶すべき情報を待たずに、そのアドレスを
マルチプレクサ33を介してデータアウトレジスタ34
に直接供給させる。
スへの記憶は行われたが、第1のデータバッファレジス
タ23と、第2のデータバッファレジスタ24とより構
成されるパイプラインを介してその情報がまだ伝搬して
いないために、ランダムアクセスメモリ12に情報がま
だ存在していない状況の下で、読取り動作を起こさせる
ために利用される。比較器28及び29は、アドレスレ
ジスタ17で読取るべきアドレスパイプラインのレジス
タ段に保持されているアドレスと比較する。読取り動作
時に、アドレスレジスタ17のアドレスが第1のアドレ
スバッファレジスタ20又は第2のアドレスバッファレ
ジスタ21のいずれかのアドレスに匹敵する場合、制御
回路14は関連する第1のデータバッファレジスタ23
又は第2のデータバッファレジスタ24のアドレスをマ
ルチプレクサ27により選択させ、ランダムアクセスメ
モリ12に記憶すべき情報を待たずに、そのアドレスを
マルチプレクサ33を介してデータアウトレジスタ34
に直接供給させる。
【0021】図2のタイミング図を参照すると、メモリ
装置10の動作をさらに良く理解できるであろう。図2
の一番上には、いくつかのシステムクロックサイクル1
から9を示してある。図の左端には様々な信号を挙げ
た。図2は、それらのクロックサイクルの間の信号の状
態をそれぞれ示している。
装置10の動作をさらに良く理解できるであろう。図2
の一番上には、いくつかのシステムクロックサイクル1
から9を示してある。図の左端には様々な信号を挙げ
た。図2は、それらのクロックサイクルの間の信号の状
態をそれぞれ示している。
【0022】図2からわかるように、クロックサイクル
ごとに、新たなアドレスが入力アドレス線を介してアド
レスレジスタ17に供給される。アドレスレジスタ17
の出力は入力を1クロックサイクルだけ遅延させる。図
2の例では、アドレス2,3及び4は書込むべきアドレ
スであるので、書込み入力信号はクロックサイクル2〜
4の間に制御回路14に供給される。これらの信号は、
その時点でデータ線を介してデータレジスタ18に対す
る入力として供給されるデータ信号をランダムアクセス
メモリ12に記憶すべきであることを制御回路14に指
示する。さらに、これらの信号は、データと関連するア
ドレスを第1のアドレスバッファレジスタ20へクロッ
クすべきであることを制御回路14に指示する。そこ
で、クロックサイクル4,5及び6で、アドレス2,3
及び4はアドレスレジスタ17から第1のアドレスバッ
ファレジスタ20へそれぞれ順次クロックされ、また、
それらのアドレスと関連するデータはデータレジスタ1
8から第1のデータバッファレジスタ23へそれぞれク
ロックされる。
ごとに、新たなアドレスが入力アドレス線を介してアド
レスレジスタ17に供給される。アドレスレジスタ17
の出力は入力を1クロックサイクルだけ遅延させる。図
2の例では、アドレス2,3及び4は書込むべきアドレ
スであるので、書込み入力信号はクロックサイクル2〜
4の間に制御回路14に供給される。これらの信号は、
その時点でデータ線を介してデータレジスタ18に対す
る入力として供給されるデータ信号をランダムアクセス
メモリ12に記憶すべきであることを制御回路14に指
示する。さらに、これらの信号は、データと関連するア
ドレスを第1のアドレスバッファレジスタ20へクロッ
クすべきであることを制御回路14に指示する。そこ
で、クロックサイクル4,5及び6で、アドレス2,3
及び4はアドレスレジスタ17から第1のアドレスバッ
ファレジスタ20へそれぞれ順次クロックされ、また、
それらのアドレスと関連するデータはデータレジスタ1
8から第1のデータバッファレジスタ23へそれぞれク
ロックされる。
【0023】尚、第1のアドレスバッファレジスタ20
及び第1のデータバッファレジスタ23についてクロッ
クサイクル1〜3の間に記入してある疑問符により示す
ように、クロックサイクル1〜3の間にこれらのレジス
タにある情報は不定であり、メモリ装置10の動作には
重要な意味をもっていない。これは、バッファレジスタ
が先入れ先出し回路であって、記憶サイクルが起こった
ときにのみ充填されるからである。このために、アドレ
ス1はバッファパイプラインに記憶されないのである。
このように、クロックサイクル5になって、アドレス3
の情報が第1のアドレスバッファレジスタ20及び第1
のデータバッファレジスタ23に記憶されるときに、第
1のアドレスバッファレジスタ20及び第1のデータバ
ッファレジスタ23の信号(アドレス2)は第2のアド
レスバッファレジスタ21及び第2のデータバッファレ
ジスタ24に記憶される。同じようにして、クロックサ
イクル6の間に、アドレス4の情報が第1のアドレスバ
ッファレジスタ20及び第1のデータバッファレジスタ
23に記憶されるときに、第1のアドレスバッファレジ
スタ20及び第1のデータバッファレジスタ23の信号
(アドレス3)は第2のアドレスバッファレジスタ21
及び第2のデータバッファレジスタ24に記憶される。
第2のアドレスバッファレジスタ21及び第2のデータ
バッファレジスタ24に情報が入れば、ランダムアクセ
スメモリ12に書込むべくその情報を利用することがで
きる。尚、クロックサイクル6の後には、第1のアドレ
スバッファレジスタ20及び第1のデータバッファレジ
スタ23をその後の動作に必要なものとするような記憶
動作はそれ以上実行されないので、アドレス4信号とデ
ータ4信号は第1のアドレスバッファレジスタ20及び
第1のデータバッファレジスタ23にそれぞれ保持され
る。同じように、クロックサイクル6の後には、記憶動
作はそれ以上実行されないので、第2のアドレスバッフ
ァレジスタ21はアドレス3信号を保持し、第2のデー
タバッファレジスタ24はデータ3信号を保持してい
る。
及び第1のデータバッファレジスタ23についてクロッ
クサイクル1〜3の間に記入してある疑問符により示す
ように、クロックサイクル1〜3の間にこれらのレジス
タにある情報は不定であり、メモリ装置10の動作には
重要な意味をもっていない。これは、バッファレジスタ
が先入れ先出し回路であって、記憶サイクルが起こった
ときにのみ充填されるからである。このために、アドレ
ス1はバッファパイプラインに記憶されないのである。
このように、クロックサイクル5になって、アドレス3
の情報が第1のアドレスバッファレジスタ20及び第1
のデータバッファレジスタ23に記憶されるときに、第
1のアドレスバッファレジスタ20及び第1のデータバ
ッファレジスタ23の信号(アドレス2)は第2のアド
レスバッファレジスタ21及び第2のデータバッファレ
ジスタ24に記憶される。同じようにして、クロックサ
イクル6の間に、アドレス4の情報が第1のアドレスバ
ッファレジスタ20及び第1のデータバッファレジスタ
23に記憶されるときに、第1のアドレスバッファレジ
スタ20及び第1のデータバッファレジスタ23の信号
(アドレス3)は第2のアドレスバッファレジスタ21
及び第2のデータバッファレジスタ24に記憶される。
第2のアドレスバッファレジスタ21及び第2のデータ
バッファレジスタ24に情報が入れば、ランダムアクセ
スメモリ12に書込むべくその情報を利用することがで
きる。尚、クロックサイクル6の後には、第1のアドレ
スバッファレジスタ20及び第1のデータバッファレジ
スタ23をその後の動作に必要なものとするような記憶
動作はそれ以上実行されないので、アドレス4信号とデ
ータ4信号は第1のアドレスバッファレジスタ20及び
第1のデータバッファレジスタ23にそれぞれ保持され
る。同じように、クロックサイクル6の後には、記憶動
作はそれ以上実行されないので、第2のアドレスバッフ
ァレジスタ21はアドレス3信号を保持し、第2のデー
タバッファレジスタ24はデータ3信号を保持してい
る。
【0024】図2では、ランダムアクセスメモリ12に
対するアドレス入力と、データ入力とをそれぞれA信
号,D信号として示している。先に説明した通り、動作
が読取り動作である場合、ランダムアクセスメモリ12
に対するアドレス入力はマルチプレクサ26によりアド
レスレジスタ17から直接供給される。このように、ク
ロックサイクル2,6,7及び8のとき、アドレスレジ
スタ17のアドレスはマルチプレクサ26によりランダ
ムアクセスメモリ12に供給される。読取り動作時には
データは不要であるので、これらのクロックサイクルの
間のD入力に関する情報は疑問符により表されている。
対するアドレス入力と、データ入力とをそれぞれA信
号,D信号として示している。先に説明した通り、動作
が読取り動作である場合、ランダムアクセスメモリ12
に対するアドレス入力はマルチプレクサ26によりアド
レスレジスタ17から直接供給される。このように、ク
ロックサイクル2,6,7及び8のとき、アドレスレジ
スタ17のアドレスはマルチプレクサ26によりランダ
ムアクセスメモリ12に供給される。読取り動作時には
データは不要であるので、これらのクロックサイクルの
間のD入力に関する情報は疑問符により表されている。
【0025】これに対し、ランダムアクセスメモリ12
に情報が記憶されるのは、記憶動作が発生したときだけ
である。記憶情報はマルチプレクサ26及び27により
第2のアドレスバッファレジスタ21と、第2のデータ
バッファレジスタ24とからそれぞれ読取られるが、ク
ロックサイクル3で第1の記憶アドレスがアドレスレジ
スタに現れたときには、これらのバッファレジスタはま
だ充填されていないので、そのクロックサイクルの間に
書込みイネーブル信号が発生していたとしても何の動作
も起こらない。しかしながら、クロックサイクル5に入
ると、アドレス信号とデータ信号は第2のアドレスバッ
ファレジスタ21及び第2のデータバッファレジスタ2
4に記憶されているので、書込みイネーブル信号が現れ
たときには、この情報はランダムアクセスメモリ12に
記憶される。記憶動作が動作のパイプラインに遅延を発
生させることなく、記憶動作に際してアクセスされたア
ドレスでミスが起こったか否かを確認するための時間を
システムに与え始めた後、2クロックサイクルを経て、
書込み取り消し信号は発生して良い(書込み取り消し信
号はクロックサイクル4でアドレス2を取り消すために
印加されると考えられる)。その結果、システムは従来
のシステムよりかなり速い速度で動作する。
に情報が記憶されるのは、記憶動作が発生したときだけ
である。記憶情報はマルチプレクサ26及び27により
第2のアドレスバッファレジスタ21と、第2のデータ
バッファレジスタ24とからそれぞれ読取られるが、ク
ロックサイクル3で第1の記憶アドレスがアドレスレジ
スタに現れたときには、これらのバッファレジスタはま
だ充填されていないので、そのクロックサイクルの間に
書込みイネーブル信号が発生していたとしても何の動作
も起こらない。しかしながら、クロックサイクル5に入
ると、アドレス信号とデータ信号は第2のアドレスバッ
ファレジスタ21及び第2のデータバッファレジスタ2
4に記憶されているので、書込みイネーブル信号が現れ
たときには、この情報はランダムアクセスメモリ12に
記憶される。記憶動作が動作のパイプラインに遅延を発
生させることなく、記憶動作に際してアクセスされたア
ドレスでミスが起こったか否かを確認するための時間を
システムに与え始めた後、2クロックサイクルを経て、
書込み取り消し信号は発生して良い(書込み取り消し信
号はクロックサイクル4でアドレス2を取り消すために
印加されると考えられる)。その結果、システムは従来
のシステムよりかなり速い速度で動作する。
【0026】クロックサイクル8でアドレス線に現れる
信号に注意すべきである。これは、ランダムアクセスメ
モリ12にまだ記憶されてはいないが、第2のアドレス
バッファレジスタ21にはあるアドレスであるアドレス
3に対する読取り信号である。アドレスレジスタのこの
アドレスは比較器29により第2のアドレスバッファレ
ジスタ21のアドレスと比較され、制御回路14にマル
チプレクサ27及びマルチプレクサ33をイネーブルさ
せる。そこで、マルチプレクサ27及び33は第2のデ
ータバッファレジスタ24のデータを前述のようにデー
タアウトレジスタ34へ転送する。本発明の1つの特別
な利点は、本発明を実現するために必要なハードウェア
の量はごく少ないので、ハードウェアをランダムアクセ
スメモリチップに直接配置することができ、従って、デ
ータ経路やアドレス経路の複雑な相互接続をチップの中
で行えるため、システムのその他の部分について複雑さ
は軽減し、ピンの数も少なくてすむのである。
信号に注意すべきである。これは、ランダムアクセスメ
モリ12にまだ記憶されてはいないが、第2のアドレス
バッファレジスタ21にはあるアドレスであるアドレス
3に対する読取り信号である。アドレスレジスタのこの
アドレスは比較器29により第2のアドレスバッファレ
ジスタ21のアドレスと比較され、制御回路14にマル
チプレクサ27及びマルチプレクサ33をイネーブルさ
せる。そこで、マルチプレクサ27及び33は第2のデ
ータバッファレジスタ24のデータを前述のようにデー
タアウトレジスタ34へ転送する。本発明の1つの特別
な利点は、本発明を実現するために必要なハードウェア
の量はごく少ないので、ハードウェアをランダムアクセ
スメモリチップに直接配置することができ、従って、デ
ータ経路やアドレス経路の複雑な相互接続をチップの中
で行えるため、システムのその他の部分について複雑さ
は軽減し、ピンの数も少なくてすむのである。
【0027】以上、好ましい実施例に関して本発明を説
明したが、当業者により本発明から逸脱せずに様々な変
形や変更を実施し得ることは理解されるであろう。従っ
て、本発明は特許請求の範囲によって評価されるべきで
ある。
明したが、当業者により本発明から逸脱せずに様々な変
形や変更を実施し得ることは理解されるであろう。従っ
て、本発明は特許請求の範囲によって評価されるべきで
ある。
【図1】本発明に従って構成したキャッシュメモリ装置
のブロック線図。
のブロック線図。
【図2】本発明を利用する代表的な動作の中で起こる事
象のシーケンスを示すタイミング図。
象のシーケンスを示すタイミング図。
12 ランダムアクセスメモリ
14 制御回路
16 書込み信号源
17 アドレスレジスタ
18 データレジスタ
20 第1のアドレスバッファレジスタ
21 第2のアドレスバッファレジスタ
23 第1のデータバッファレジスタ
24 第2のデータバッファレジスタ
26,27 マルチプレクサ
28,29 比較器
33 マルチプレクサ
34 データアウトレジスタ
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ジョセフ・アンソニイ・ペトリーノ,ジ
ュニア
アメリカ合衆国 94306 カリフォルニ
ア州・パロ アルト・レッド ウッド
サークル 3730
(72)発明者 エミール・ウィリアム・ブラウン,ザ
サード
アメリカ合衆国 44121 オハイオ州・
クレベランド ハイツ・イエローストー
ン ロード・1374
(56)参考文献 特開 昭63−20639(JP,A)
特開 昭58−161059(JP,A)
特開 平1−305452(JP,A)
特開 昭63−47857(JP,A)
特開 昭62−174846(JP,A)
(58)調査した分野(Int.Cl.7,DB名)
G06F 12/08
G06F 12/12
Claims (3)
- 【請求項1】 キャッシュメモリであって、 アドレス入力、データ入力、書き込み可能入力、および
データ出力を有する、情報をキャッシュするランダムア
クセスメモリ(RAM)のアレイを備え、 前記RAMへ送られたアクセスに応じてキャッシュヒッ
トまたはキャッシュミスが生じたかどうかを判定する回
路手段を備え、書込み動作に応じてキャッシュミスが判
定されると、書込み取り消し信号を発生して当該キャッ
シュデータのライトバック動作を行えるようにされてお
り、 前記RAMの前記アドレス入力に結合されたアドレスバ
ッファ手段であって、アドレス入力用アドレスレジスタ
および1以上のアドレスレジスタを含み、受けた書込み
動作に対応する1以上のアドレスについて、前記回路手
段におけるキャッシュミスかキャッシュヒットかの判定
中、バッファ動作を行うアドレスバッファ手段を備え、 前記RAMの前記データ入力に結合されたデータバッフ
ァ手段であって、データ入力用データレジスタおよび1
以上のデータレジスタを含み、受けた書込み動作に対応
する1以上のデータについて、前記回路手段におけるキ
ャッシュミスかキャッシュヒットかの判定中、バッファ
動作を行うデータバッファ手段を備え、 RAMの前記アレイと前記回路手段とに結合されてい
て、書込み/読取り可能信号をRAMの前記アレイに選
択的に結合する制御手段であって、前記回路手段による
キャッシュミスの判定時には、当該書込み動作に係る前
記データバッファからの前記データおよび前記アドレス
バッファからの前記アドレスでもって当該キャッシュデ
ータに上書きすることを、前記書込み取り消し信号に応
じて阻止して、ライトバック動作を可能とする、制御手
段を備え、 受けた読取り動作に付随のアドレスと、前記1以上のア
ドレスレジスタ中のアドレスとの間でアドレス比較し、
アドレス一致の際に、前記受けた読取り動作により要求
されたデータをデータバッファから選択する、比較回路
を備え、 前記RAMの前記データ出力および前記データバッファ
の出力に結合された出力手段を備え、前記比較回路によ
り選択されたデータが、書込み動作の完了前に、前記出
力手段により前記データバッファから読み取られるよう
にされている、ことを特徴とするキャッシュメモリ。 - 【請求項2】 データ入力とアドレス入力を有するキャ
ッシュメモリを備えているコンピュータシステムにあっ
て、前記キャッシュメモリに対する書き込み動作におい
て情報の格納をする前にキャッシュヒットまたはキャッ
シュミスを判定するために生じる、前記キャッシュメモ
リに対する前記書き込み動作を遅らせる必要性を、回避
するための方法であって、前記キャッシュメモリに送られる、前記書き込み動作に
関連したアドレスをアドレスバッファに転送するステッ
プを備え 、前記キャッシュメモリに送られる、前記書き込み動作に
関連したデータをデータバッファに転送するステップを
備え 、前記アドレスが前記アドレスバッファにあり且つ前記デ
ータが前記データバッファにある間に、前記キャッシュ
メモリに対しての前記書き込み動作について、キャッシ
ュヒットまたはキャッシュミスであるかどうかを、前記
コンピュータシステムの停止を生じさせることなく、判
定するステップを備え 、書込み動作に応じてキャッシュミスが判定されると、当
該キャッシュデータのライトバック動作を行えるよう、
書込み取り消し信号を発生するステップを備え 、キャッシュミスでなくキャッシュヒットが判定される
と、前記キャッシュメモリが、前記アドレスバッファか
ら前記アドレスを読み取り、且つ、前記データバッファ
から前記データを読み取ることを、可能とするステップ
を備え 、キャッシュミスが判定されたときには、当該キャッシュ
データに上書きすることが前記書込み取り消し信号に応
じて阻止されて、ライトバック動作が可能とされ 、 前記キャッシュメモリに対する読取り動作に付随のアド
レスと、前記アドレスバッファ中のアドレスとを比較す
るステップを備え、 アドレスの一致が検出された際に、前記データバッファ
から前記読取り動作に付随のデータをデータ出力用レジ
スタへとコピーするステップを備える、 ことを特徴とする方法。 - 【請求項3】 キャッシュメモリであって、アドレス入力、データ入力、書き込み可能入力、および
データ出力を有する、情報をキャッシュするランダムア
クセスメモリ(RAM)のアレイを備え、 前記RAMへ送られたアクセスに応じてキャッシュヒッ
トまたはキャッシュミスが生じたかどうかを判定する回
路手段を備え、書込み動作に応じてキャッシュミスが判
定されると、書込み取り消し信号を発生して当該キャッ
シュデータのライトバック動作を行えるようにされてお
り 、アドレスバッファ入力を有するとともに、前記RAMの
前記アドレス入力に結合されたアドレスバッファ出力を
有するアドレスバッファ手段であって、受けた書込み動
作に対応する1以上のアドレスについて、前記回路手段
におけるキャッシュミスかキャッシュヒットかの判定
中、バッファ動作を行うアドレスバッファ手段を備え 、データバッファ入力を有するとともに、前記RAMの前
記データ入力に結合されているデータバッファ出力を有
するデータバッファ手段であって、受けた書込み動作に
対応する1以上のデータについて、前記回路手段におけ
るキャッシュミスかキャッシュヒットかの判定中、バッ
ファ動作を行うデータバッファ手段を備え 、RAMの前記アレイと前記回路手段とに結合されてい
て、書込み/読取り可能信号をRAMの前記アレイに選
択的に結合する制御手段であって、前記回路手段による
キャッシュミスの判定時には、当該書込み動作に係る前
記データバッファからの前記データおよび前記アドレス
バッファからの前記アドレスでもって当該キャッシュデ
ータに上書きすることを、前記書込み取り消し信号に応
じて阻止して、ライトバック動作を可能とする、制御手
段を備え 、 受けた読取り動作に付随のアドレスと、前記1以上のア
ドレスレジスタ中のアドレスとの間でアドレス比較し、
アドレス一致の際に、前記受けた読取り動作により要求
されたデータをデータバッファから選択する、比較回路
を備え、 前記RAMの前記データ出力および前記データバッファ
の出力に結合された出力手段を備え、前記比較回路によ
り選択されたデータが、書込み動作の完了前に、前記出
力手段により前記データバッファから読み取られるよう
にされている、ことを特徴とするキャッシュメモリ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51632290A | 1990-04-30 | 1990-04-30 | |
US516322 | 1990-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07121437A JPH07121437A (ja) | 1995-05-12 |
JP3407808B2 true JP3407808B2 (ja) | 2003-05-19 |
Family
ID=24055058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12186591A Expired - Fee Related JP3407808B2 (ja) | 1990-04-30 | 1991-04-25 | コンピュータシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US5283890A (ja) |
JP (1) | JP3407808B2 (ja) |
DE (1) | DE4114053A1 (ja) |
GB (1) | GB2244158B (ja) |
HK (1) | HK57395A (ja) |
SG (1) | SG10895G (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5584009A (en) * | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with write buffer |
US5526510A (en) * | 1994-02-28 | 1996-06-11 | Intel Corporation | Method and apparatus for implementing a single clock cycle line replacement in a data cache unit |
US5623628A (en) * | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
US5692152A (en) * | 1994-06-29 | 1997-11-25 | Exponential Technology, Inc. | Master-slave cache system with de-coupled data and tag pipelines and loop-back |
US5551001A (en) * | 1994-06-29 | 1996-08-27 | Exponential Technology, Inc. | Master-slave cache system for instruction and data cache memories |
US5829018A (en) * | 1994-10-25 | 1998-10-27 | International Business Machines Corporation | Apparatus and method for writing data from a cache to a storage device |
US5745729A (en) * | 1995-02-16 | 1998-04-28 | Sun Microsystems, Inc. | Methods and apparatuses for servicing load instructions |
JPH0950401A (ja) * | 1995-08-09 | 1997-02-18 | Toshiba Corp | キャッシュメモリ及びそれを備えた情報処理装置 |
US6507899B1 (en) | 1999-12-13 | 2003-01-14 | Infineon Technologies North American Corp. | Interface for a memory unit |
US6671781B1 (en) * | 2000-12-08 | 2003-12-30 | Lsi Logic Corporation | Data cache store buffer |
GB0031733D0 (en) | 2000-12-28 | 2001-02-07 | Power X Ltd | Method and device for operating a ram memory |
US20050206648A1 (en) * | 2004-03-16 | 2005-09-22 | Perry Ronald N | Pipeline and cache for processing data progressively |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442488A (en) * | 1980-05-05 | 1984-04-10 | Floating Point Systems, Inc. | Instruction cache memory system |
US4363095A (en) * | 1980-12-31 | 1982-12-07 | Honeywell Information Systems Inc. | Hit/miss logic for a cache memory |
US4527238A (en) * | 1983-02-28 | 1985-07-02 | Honeywell Information Systems Inc. | Cache with independent addressable data and directory arrays |
US4942518A (en) * | 1984-06-20 | 1990-07-17 | Convex Computer Corporation | Cache store bypass for computer |
US4881163A (en) * | 1986-09-19 | 1989-11-14 | Amdahl Corporation | Computer system architecture employing cache data line move-out queue buffer |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
US4875160A (en) * | 1988-07-20 | 1989-10-17 | Digital Equipment Corporation | Method for implementing synchronous pipeline exception recovery |
US4980819A (en) * | 1988-12-19 | 1990-12-25 | Bull Hn Information Systems Inc. | Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system |
GB2230120B (en) * | 1989-04-07 | 1992-12-02 | Intel Corp | Read/write ordering apparatus and method for a microprocessor |
-
1991
- 1991-02-26 GB GB9103954A patent/GB2244158B/en not_active Expired - Lifetime
- 1991-04-25 JP JP12186591A patent/JP3407808B2/ja not_active Expired - Fee Related
- 1991-04-29 DE DE4114053A patent/DE4114053A1/de not_active Withdrawn
-
1993
- 1993-02-02 US US08/012,621 patent/US5283890A/en not_active Expired - Lifetime
-
1995
- 1995-01-24 SG SG10895A patent/SG10895G/en unknown
- 1995-04-11 HK HK57395A patent/HK57395A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
SG10895G (en) | 1995-06-16 |
GB2244158B (en) | 1994-09-07 |
HK57395A (en) | 1995-04-21 |
GB9103954D0 (en) | 1991-04-10 |
DE4114053A1 (de) | 1991-10-31 |
GB2244158A (en) | 1991-11-20 |
US5283890A (en) | 1994-02-01 |
JPH07121437A (ja) | 1995-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5875472A (en) | Address conflict detection system employing address indirection for use in a high-speed multi-processor system | |
US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
US4298929A (en) | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability | |
JP4045062B2 (ja) | ロード命令を実行する方法、プロセッサ、およびシステム | |
US8499123B1 (en) | Multi-stage pipeline for cache access | |
US5696937A (en) | Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses | |
JPH06318177A (ja) | キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム | |
US5845324A (en) | Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access | |
JPH07506921A (ja) | コンピュータ・システムにおける主記憶装置のアクセス時間とキャッシュ・メモリのサイズを最小限にするためのキャッシュへの先取り | |
JP3407808B2 (ja) | コンピュータシステム | |
IE990754A1 (en) | An apparatus for software initiated prefetch and method therefor | |
US6507897B2 (en) | Memory paging control apparatus | |
US6363460B1 (en) | Memory paging control method | |
US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
US5737756A (en) | Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue | |
JPH03225542A (ja) | データ記憶方法及びビットエンコードデータの処理回路 | |
US6272595B1 (en) | N-way set-associative cache memory which includes a store hit buffer for improved data access | |
US5920889A (en) | Apparatus and method for write miss processing in a copy-back data cache with an allocating load buffer and a non-allocating store buffer | |
US6415362B1 (en) | Method and system for write-through stores of varying sizes | |
US8214597B2 (en) | Cache tentative read buffer | |
US4737908A (en) | Buffer memory control system | |
US5838946A (en) | Method and apparatus for accomplishing processor read of selected information through a cache memory | |
JP3733604B2 (ja) | キャッシュメモリ | |
JPH05282208A (ja) | キャッシュメモリ制御方式 | |
JP2000148584A (ja) | プリフェッチ方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |