JPH0740247B2 - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置

Info

Publication number
JPH0740247B2
JPH0740247B2 JP1157787A JP15778789A JPH0740247B2 JP H0740247 B2 JPH0740247 B2 JP H0740247B2 JP 1157787 A JP1157787 A JP 1157787A JP 15778789 A JP15778789 A JP 15778789A JP H0740247 B2 JPH0740247 B2 JP H0740247B2
Authority
JP
Japan
Prior art keywords
address
data
tag
latch
valid flag
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
JP1157787A
Other languages
English (en)
Other versions
JPH0322155A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1157787A priority Critical patent/JPH0740247B2/ja
Priority to US07/539,910 priority patent/US5210849A/en
Priority to EP90111691A priority patent/EP0404126B1/en
Priority to KR1019900009062A priority patent/KR930006381B1/ko
Priority to DE69031696T priority patent/DE69031696T2/de
Publication of JPH0322155A publication Critical patent/JPH0322155A/ja
Publication of JPH0740247B2 publication Critical patent/JPH0740247B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing

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

【発明の詳細な説明】 産業上の利用分野 本発明はマイクロプロセッサの高速ローカルメモリとし
て用いられるキャッシュメモリ装置、特に命令キャッシ
ュメモリ装置に関するものである。
従来の技術 第10図に従来のキャッシュメモリ装置の構成図を示す。
これは、マイクロプロセッサの命令フェッチ機構に用い
られるダイレクトマップ方式の命令キャッシュの一例で
ある。第10図において、1は入力アドレス、2は入力ア
ドレスの下位を格納するアドレスラッチ、3は入力アド
レス下位、4はアドレスラッチ下位、5は入力アドレス
下位3とアドレスラッチ下位4を選択するデータアドレ
スセレクタ、6aはタグ部a、7は入力アドレスの上位と
タグ部a6aから読み出されたアドレスの比較を行なう比
較器、8はデータ部、9aはデータ部8のデータの有効性
を示す有効フラグを格納する有効フラグ部a、10は有効
フラグ部a9aから読み出された読み出しフラグ、11はデ
ータ部のアップデートデータが転送されるアップデート
バス、12はタグ部a6aから読み出されたデータとアップ
デートバス11からのデータを選択するデータセレクタ、
13は出力データ、14は比較器7と読み出しフラグ10から
生成されたヒット信号、16はミスヒット時に他階層メモ
リ(以後メモリと呼ぶ)に対して出力するメモリリード
要求信号、17はメモリリード要求信号に対するメモリか
らのメモリリード応答信号、18はメモリリード要求信号
16を出力しメモリリード応答信号を受理する制御手段で
ある。
以上のように構成された本従来例について、以下その動
作を説明する。
第11図は従来例におけるタイミングチャートを示すもの
であり、以下第11図に従って(サイクルナンバーC0-C3
の順に)その動作を説明する。
(C0 サイクル) 検索すべきアドレスnは入力アドレス1により与えられ
る。入力アドレス1の下位(エントリーアドレス)によ
りタグ部a6aと有効フラグ部a9aを読み出す。読み出され
たアドレスと入力アドレス1の上位(タグデータ)を比
較器7で比較した結果と有効フラグ部a9aから読み出さ
れた結果からヒット信号を生成する。C0ではタグ不一致
によるミスヒットが検出された。制御手段18において、
メモリリード要求信号16が生成され、メモリに対してリ
ードを要求する。
(C1 サイクル) メモリからメモリリード応答信号17が返され、メモリに
対するアクセスが開始されたことを確認(C1はメモリリ
ードサイクル)すると、次の動作を行う。
・アドレスラッチ2に前サイクルでの入力アドレス1の
内容を格納 ・タグ部a6aにおいてエントリーアドレスに対するタグ
データの更新 ・有効フラグ部a9aにおいてエントリーアドレスに対す
るフラグ(エントリに対応する全ビット)のクリア (C2 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。同時に、有効フラグ部a9aのエント
リーアドレスに対するフラグ(1ビット)をセットす
る。このとき、データセレクタ12はアップデートバス11
を選択して、出力データ13に供給される。
(C3 サイクル) 入力アドレス1は次のアドレスn+2をロードしてお
り、アドレスn+2に対するタグ部a6aと有効フラグ部a
9aの読み出しを行い、ミスヒットが検出された。制御手
段18において、メモリリード要求信号16が生成され、メ
モリに対してリードを要求する。
発明が解決しようとする課題 しかしながら上記のような構成ではキャッシュメモリミ
スヒット時にはキャッシュメモリ更新終了まで次のアド
レスが検索できない。つまりミスヒット時には他階層の
メモリよりデータを読み出し続いてキャッシュメモリを
更新した後はじめて、次のアドレスの検索が可能とな
る。従ってキャッシュメモリミスヒット時のオーバーヘ
ッドが大きなものとなるという問題を有していた。なお
キャッシュメモリに2ポートメモリを使用すれば更新と
検索、即ち書き込みと読み出しは同時に行なえるが、面
積が著しく大きくなりマイクロプロセッサのローカルメ
モリとしての使用は困難であるという問題を有してい
た。
本発明はかかる点に鑑み、小面積でかつミスヒット時の
オーバーヘッドが小さいキャッシュメモリ装置、即ち高
速で動作するキャッシュメモリ装置を提供することを目
的とする。
課題を解決するための手段 本発明は (1)アドレスの下位により読み出され、また前記アド
レスの上位を格納する少なくとも一つのタグ部と、前記
タグ部の読み出しに用いられた前記アドレスの下位を格
納するアドレスラッチと、前記アドレスラッチの出力と
前記アドレスの下位を選択しアクセスすべきデータのア
ドレスを出力するデータアドレスセレクタと、前記デー
タアドレスセレクタの出力によりアクセスされ前記アド
レスに対応するデータを格納する少なくとも一つのデー
タ部と、前記アドレスによりアクセスされ前記アドレス
に対応するデータの有効フラグを格納する少なくとも一
つの有効フラグ部と、前記タグ部より読み出されたアド
レスと前記アドレスの上位と前記有効フラグ部より読み
出された有効フラグを入力しヒット/ミスヒットを判定
するヒット判定手段と、前記有効フラグ部に対して書き
込みフラグを生成する制御手段を備え、前記タグ部の書
き込み時に前記制御手段により生成された書き込みフラ
グを前記有効フラグ部に書き込むことで高速動作を可能
とすることを特徴とするキャッシュメモリ装置 (2)アドレスラッチはアドレスをそのまま格納し、ア
ドレスと前記アドレスラッチの出力を選択しタグ部にア
ドレスを出力するタグセレクタと、アドレス下位と前記
アドレスラッチ下位を選択しアクセスすべき有効フラグ
部のアドレスを出力するフラグアドレスセレクタと、デ
ータ部の出力を格納するデータラッチを設けた(1)の
キャッシュメモリ装置 (3)有効フラグ部が複数個からなり、アドレス下位と
アドレスラッチの出力を選択しアクセスすべきアドレス
をそれぞれの前記有効フラグ部に対して出力するフラグ
アドレスセレクタを設け、制御手段を削除した(1)の
キャッシュメモリ装置 (4)アドレスラッチはアドレスをそのまま格納し、ア
ドレスと前記アドレスラッチの出力を選択しタグ部にア
ドレスを出力するタグセレクタと、データ部の出力を格
納するデータラッチを設けた(3)のキャッシュメモリ
装置、 (5)タグセレクタとタグ部が複数個からなり、有効フ
ラグ部に対して書き込みフラグを生成する制御手段を設
け、データラッチを削除した(4)のキャッシュメモリ
装置 (6)データ部の出力を格納するデータラッチを設けた
(5)のキャッシュメモリ装置 である。
作用 本発明のキャッシュメモリ装置は前記した手段により、
ミスヒットに対する更新と次のアドレスのミスヒットの
判定を同時に行うことでミスヒットにおけるオーバーヘ
ッドを軽減でき、(5)の手段により、ミスヒットに対
するメモリリード中に次のアドレスのミスヒットの判定
を同時に行うことでミスヒットが連続する場合のオーバ
ーヘッドを軽減でき、前記した(2),(4),(6)
の手段により、ミスヒットに対するメモリリード中に次
のアドレスのデータをデータラッチに格納することでミ
スヒット後のヒット動作のオーバーヘッドを軽減でき
る。
実施例 (1)第1図は本発明の第1の実施例におけるキャッシ
ュメモリ装置の構成図を示すものである。これは、マイ
クロプロセッサの命令フェッチ機構に用いられるダイレ
クトマップ方式(1エントリ4ワード構成)の命令キャ
ッシュの一例である。第1図において、1は入力アドレ
ス、2は入力アドレスの下位を格納するアドレスラッ
チ、3は入力アドレス下位、4はアドレスラッチ下位、
5は入力アドレス下位3とアドレスラッチ下位4を選択
するデータアドレスセレクタ、6aはタグ部a、7は入力
アドレスの上位とタグ部a6aから読み出されたアドレス
の比較を行なう比較器、8はデータ部、9aはデータ部8
のデータの有効性を示す有効フラグを格納する有効フラ
グ部a、10は有効フラグ部a9aから読み出された読み出
しフラグ、11はデータ部のアップデートデータが転送さ
れるアップデートバス、12はタグ部a6aから読み出され
たデータとアップデートバス11からのデータを選択する
データセレクタ、13は出力データ、14は比較器7と読み
出しフラグ10から生成されたヒット信号、15は有効フラ
グ部a9aに対する書き込みフラグ、16はミスヒット時に
メモリに対して出力するメモリリード要求信号、17はメ
モリリード要求信号に対するメモリからのメモリリード
応答信号、18はメモリリード要求信号16を出力しメモリ
リード応答信号を受理するとともに入力アドレス1の最
下位(2ビット)から書き込みフラグ15を生成するとと
もに、タグ部a6aと有効フラグa9aとデータ部の読み出し
および書き込みを指示する制御手段である。
以上のように構成された本実施例について、以下その動
作を説明する。
第2図は本実施例におけるタイミングチャートを示すも
のであり、以下第2図に従って(サイクルナンバーC0-C
5の順に)その動作を説明する。
(C0 サイクル) 検索すべきアドレスnは入力アドレス1により与えられ
る。入力アドレス1の下位(エントリーアドレス)によ
りタグ部a6aと有効フラグ部a9aを読み出す。読み出され
たアドレスと入力アドレス1の上位(タグデータ)を比
較器7で比較した結果と読み出しフラグ10からヒット信
号14を生成する。C0ではタグ不一致によるミスヒットが
検出された。制御手段18において、メモリリード要求信
号16が生成され、メモリに対してリードを要求する。
(C1 サイクル) メモリからメモリリード応答信号17が返され、メモリに
対するアクセスが開始されたことを確認(C1はメモリリ
ードサイクル)すると、次の動作を行う。
・アドレスラッチ2に前サイクルでの入力アドレス1の
下位を格納 ・タグ部a6aにおいてエントリーアドレスに対するタグ
データの更新 ・有効フラグ部a9aにおいてエントリーアドレスに対す
るフラグ(4ビット)の更新 本実施例では1エントリーに対して4ビットのフラグを
含んでいる。このため、制御手段18ではエントリーアド
レスの下位2ビットから4ビットの書き込みフラグ15を
表1に従って生成し、有効フラグ部a9aではエントリー
アドレスに対するフラグ4ビットに書き込みフラグ15を
書き込む。
(C2 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下 位4を選択)に対してデータが更新される。このとき、
データセレクタ12はアップデートバス11を選択して、出
力データ13に供給される。
一方、入力アドレス1は次のアドレスn+1をロードし
ており、アドレスn+1に対するタグ部a6aと有効フラ
グ部a9aの読み出しを行い、ミスヒットの判定をした。C
2では、タグは一致したが、有効フラグが無効であるた
めのミスヒットであった。
(C3 サイクル) C1と同様にして、このサイクルでは有効フラグ部a9aに
おいてエントリーアドレスに対するフラグ(1ビット)
の更新(表1に従って書き込みフラグ15を生成し、エン
トリーアドレスの対象となる1ビットのフラグのみを更
新)を行う。タグ部a6aは更新しない。
(C4 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。このとき、データセレクタ12はアッ
プデートバス11を選択して、出力データ13に供給され
る。
一方、入力アドレス1は次のアドレスn+2をロードし
ており、アドレスn+2に対するタグ部a6aと有効フラ
グ部a9aの読み出しを行い、ヒットの判定をしたが、デ
ータ部8は更新中でありデータの読み出しは行えないた
め、データの読み出しは次サイクルまで遅らせられる。
従って入力アドレス1はアドレスn+2を保持した状態
になる。
(C5 サイクル) アドレスn+2に対するタグ部a6aと有効フラグ部a9aの
読み出しを行い、ヒットの判定をし、データ部8からア
ドレスn+2に対するデータを読み出し、出力データ13
に供給される。
以上のように、本実施例によれば、書き込みフラグを生
成する制御手段を設けることで、ミスヒットに対する更
新と次のアドレスのミスヒットの判定を同時に行うこと
が可能になり、ミスヒットにおけるオーバーヘッドを軽
減できる。
(2)第1図は本発明の第2の実施例におけるキャッシ
ュメモリ装置の構成図を示すものである。同図におい
て、第1の実施例で説明した構成要素に対して、2は入
力アドレス1の内容をそのまま格納するアドレスラッチ
とし、19aは入力アドレス1と前記アドレスラッチ2の
内容を選択しタグ部a6aにアドレスを出力するタグセレ
クタa、20aは入力アドレス下位3とアドレスラッチ下
位4を選択しアクセスすべき有効フラグ部a9aのアドレ
スを出力するフラグアドレスセレクタa、21はデータ部
8の出力を格納するデータラッチであり、これら(点線
部)を付加したものが第2の実施例におけるキャッシュ
メモリ装置の構成図となる。
以上のように構成された本実施例について、以下その動
作を説明する。
第3図は本実施例におけるタイミングチャートを示すも
のであり、以下第3図に従って(サイクルナンバーC0-C
5の順に)その動作を説明する。また、ミスヒット時の
動作は第1の実施例と同様であるため、詳細な説明は省
略する。
(C0 サイクル) アドレスnを検索し、タグ不一致によるミスヒットが検
出された。制御手段18において、メモリリード要求信号
16が生成され、メモリに対してリードを要求する。
(C1 サイクル) メモリからメモリリード応答信号17が返され、メモリに
対するアクセスが開始されたことを確認(C1はメモリリ
ードサイクル)すると、次の動作を行う。
・タグ部a6aと有効フラグ部a9aの更新(アドレスはタグ
セレクタa19a及びフラグアドレスセレクタa20aにおいて
アドレスラッチ2の内容を選択) ・入力アドレス1は次のアドレスn+1をロードすると
同時にアドレスラッチ2はC0でのアドレスnを保持。
・アドレスn+1に対するデータ部8の読み出しを行
い、読み出されたデータは次サイクルでデータラッチ21
に格納される。
(C2 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。このとき、データセレクタ12はアッ
プデートバス11を選択して、出力データ13に供給され
る。
一方、アドレスn+1に対するタグ部a6aと有効フラグ
部a9aの読み出しを行い、ミスヒットの判定をした。C2
では、タグは一致したが、有効フラグが無効であるため
のミスヒットであった。
(C3 サイクル) メモリに対するアクセスが開始されたことを確認(C3は
メモリリードサイクル)すると、次の動作を行う。
・有効フラグ部a9aの更新(アドレスはフラグアドレス
セレクタa20aにおいてアドレスラッチ2の内容を選択) ・入力アドレス1は次のアドレスn+2をロードすると
同時にアドレスラッチ2はC2でのアドレスn+1を保
持。
・アドレスn+2に対するデータ部8の読み出しを行
い、読み出されたデータは次サイクルでデータラッチ21
に格納。
(C4 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。このとき、データセレクタ12はアッ
プデートバス11を選択して、出力データ13に供給され
る。
一方、アドレスn+2に対するタグ部a6aと有効フラグ
部a9aの読み出しを行い、ヒットの判定をした。
(C5 サイクル) 前サイクルにおけるアドレスn+2に対するヒットの判
定により、予め読み出されたアドレスn+2のデータを
保持していたデータラッチ21の内容がデータセレクタ12
で選択され、直ちに出力データ13に供給される。
従ってミスヒット後のキャッシュヒットの場合は遅延さ
れることなく、直ちに出力データ13に供給されることに
なる。
以上のように、本実施例によれば、書き込みフラグを生
成する制御手段を設けることで、ミスヒットに対する更
新と次のアドレスのミスヒットの判定を同時に行うこと
が可能になり、ミスヒットにおけるオーバーヘッドを軽
減でき、さらにデータ部の出力にデータラッチを設け、
メモリリードサイクル中に次のアドレスのデータの読み
出しを行いデータラッチに保持しておくことで、ミスヒ
ット後のヒット動作のオーバーヘッドを軽減できる。
(3)第4図は本発明の第3の実施例におけるキャッシ
ュメモリ装置の構成図を示すものである。これは、マイ
クロプロセッサの命令フェッチ機構に用いられるダイレ
クトマップ方式の命令キャッシュの一例である。第3図
において、1は入力アドレス、2は入力アドレスの下位
を格納するアドレスラッチ、3は入力アドレス下位、4
はアドレスラッチ下位、5は入力アドレス下位3とアド
レスラッチ下位4を選択するデータアドレスセレクタ、
6aはタグ部a、7は入力アドレスの上位とタグ部a6aか
ら読み出されたアドレスの比較を行なう比較器、8はデ
ータ部、9a,9bはデータ部8のデータの有効性を示す有
効フラグを格納する有効フラグ部a,有効フラグ部b、20
a,20bは有効フラグ部a9a,有効フラグ部b9bに対してアド
レスを出力するフラグアドレスセレクタa,フラグアドレ
スセレクタb、11はデータ部のアップデートデータが転
送されるアップデートバス、12はタグ部a6aから読み出
されたデータとアップデートバス11からのデータを選択
するデータセレクタ、13は出力データ、14は比較器7と
読み出しフラグ10から生成されたヒット信号、16はミス
ヒット時にメモリに対して出力するメモリリード要求信
号、17はメモリリード要求信号に対するメモリからのメ
モリリード応答信号、18はメモリリード要求信号16を出
力しメモリリード応答信号を受理する制御手段である。
以上のように構成された本実施例について、以下その動
作を説明する。
本実施例においてはアドレスのLSBが0のときは有効フ
ラグ部a9aを、1のときは有効フラグ部b9bをアクセスす
る構成にしてある。マイクロプロセッサの命令系列は連
続的に存在する、即ちアドレスのLSBが0と1を交互に
とるため有効フラグ部a,bが交互に使用されるという特
性により本実施例は有効に作用する。
第5図は本実施例におけるタイミングチャートを示すも
のであり、以下第5図に従って(サイクルナンバーC0-C
5の順に)その動作を説明する。
(C0 サイクル) 検索すべきアドレスn(LSB=0)は入力アドレス1に
より与えられる。入力アドレス1の下位(エントリーア
ドレス)によりタグ部a6aと有効フラグ部a9aを読み出
す。読み出されたアドレスと入力アドレス1の上位(タ
グデータ)を比較器7で比較した結果と有効フラグ部a9
aから読み出された結果からヒット信号を生成する。C0
ではタグ不一致によるミスヒットが検出された。制御手
段18において、メモリリード要求信号16が生成され、メ
モリに対してリードを要求する。
(C1 サイクル) メモリからメモリリード応答信号17が返され、メモリに
対するアクセスが開始されたことを確認(C1はメモリリ
ードサイクル)すると、次の動作を行う。
・アドレスラッチ2に前サイクルでの入力アドレス1の
内容を格納 ・タグ部a6aにおいてエントリーアドレスに対するタグ
データの更新 ・有効フラグ部a9aにおいてエントリーアドレスに対す
るフラグ(エントリに対応する全ビット)のクリア (C2 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。同時に、有効フラグ部a9aのエント
リーアドレス(フラグアドレスセレクタa20aにおいてア
ドレスラッチ下位4を選択)に対するフラグ(1ビッ
ト)をセットする。このとき、データセレクタ12はアッ
プデートバス11を選択して、出力データ13に供給され
る。
一方、入力アドレス1は次のアドレスn+1(LSB=
1)をロードしており、アドレスn+1に対するタグ部
a6aと有効フラグ部b9bの読み出しを行い、ミスヒットの
判定をした。C2では、タグは一致したが、有効フラグが
無効であるためのミスヒットであった。
(C3 サイクル) C1と同様にして、このサイクルでは有効フラグ部b9bに
おいてエントリーアドレスに対するフラグ(1ビット)
をクリアする。タグ部a6aは更新しない。
(C4 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。同時に、有効フラグ部b9bのエント
リーアドレス(フラグアドレスセレクタb20bにおいてア
ドレスラッチ下位4を選択)に対するフラグ(1ビッ
ト)をセットする。このとき、データセレクタ12はアッ
プデートバス11を選択して、出力データ13に供給され
る。
一方、入力アドレス1は次のアドレスn+2(LSB=
0)をロードしており、アドレスn+2に対するタグ部
a6aと有効フラグ部a9aの読み出しを行い、ヒットの判定
をしたが、データ部8は更新中でありデータの読み出し
は行えないため、データの読み出しは次サイクルまで遅
らせられる。従って入力アドレス1はアドレスn+2を
保持した状態になる。
(C5 サイクル) アドレスn+2に対するタグ部a6aと有効フラグ部a9aの
読み出しを行い、ヒットの判定をし、データ部8からア
ドレスn+2に対するデータを読み出し、出力データ13
に供給される。
以上のように、本実施例によれば、有効フラグ部を2個
設けることで、ミスヒットに対する更新と次のアドレス
のミスヒットの判定を同時に行うことが可能になり、ミ
スヒットにおけるオーバーヘッドを軽減できる。
(4)第4図は本発明の第4の実施例におけるキャッシ
ュメモリ装置の構成図を示すものである。同図におい
て、第3の実施例で説明した構成要素に対して、2は入
力アドレス1の内容をそのまま格納するアドレスラッチ
とし、19aは入力アドレス1と前記アドレスラッチ3の
出力を選択しタグ部a6aにアドレスを出力するタグセレ
クタa、21はデータ部8の出力を格納するデータラッチ
であり、これら(点線部)を付加したものが第4の実施
例におけるキャッシュメモリ装置の構成図となる。
以上のように構成された本実施例について、以下その動
作を説明する。
第6図は本実施例におけるタイミングチャートを示すも
のであり、以下第6図に従って(サイクルナンバーC0-C
5の順に)その動作を説明する。また、ミスヒット時の
動作は第3の実施例と同様であるため、詳細な説明は省
略する。
(C0 サイクル) 検索すべきアドレスn(LSB=0)は入力アドレス1に
与えられる。入力アドレス1の下位(エントリーアドレ
ス)によりタグ部a6aと有効フラグ部a9aを読み出し、タ
グ不一致によるミスヒットが検出された。制御手段18に
おいて、メモリリード要求信号16が生成され、メモリに
対してリードを要求する。
(C1 サイクル) メモリからメモリリード応答信号17が返され、メモリに
対するアクセスが開始されたことを確認(C1はメモリリ
ードサイクル)すると、次の動作を行う。
・タグ部a6aにおいてエントリーアドレスに対するタグ
データの更新 ・有効フラグ部a9aにおいてエントリーアドレスに対す
るフラグ(エントリに対応する全ビット)のクリア ・入力アドレス1は次のアドレスn+1をロードすると
同時にアドレスラッチ2に前サイクルでの入力アドレス
1の内容を格納 ・アドレスn+1に対するデータ部8の読み出しを行
い、読み出されたデータは次サイクルでデータラッチ21
に格納される。
(C2 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレスに対してデータが更新さ
れる。同時に、有効フラグ部a9aのエントリーアドレス
に対するフラグ(1ビット)をセットする。このとき、
データセレクタ12はアップデートバス11を選択して、出
力データ13に供給される。
一方、アドレスn+1(LSB=1)に対するタグ部a6aと
有効フラグ部b9bの読み出しを行い、ミスヒットの判定
をした。C2では、タグは一致したが、有効フラグが無効
であるためのミスヒットであった。
(C3 サイクル) C3はメモリリードサイクルであるため、次の動作を行
う。
・有効フラグ部b9bにおいてエントリーアドレスに対す
るフラグ(1ビット)のクリア・入力アドレス1は次の
アドレスn+2をロードすると同時にアドレスラッチ2
に前サイクルでの入力アドレス1の内容を格納 ・アドレスn+2に対するデータ部8の読み出しを行
い、読み出されたデータは次サイクルでデータラッチ21
に格納される。
(C4 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレスに対してデータが更新さ
れる。同時に、有効フラグ部b9bのエントリーアドレス
に対するフラグ(1ビット)をセットする。このとき、
データセレクタ12はアップデートバス11を選択して、出
力データ13に供給される。
一方、アドレスn+2(LSB=0)に対するタグ部a6aと
有効フラグ部a9aの読み出しを行い、ヒットの判定をし
た。
(C5 サイクル) 前サイクルにおけるアドレスn+2に対するヒットの判
定により、予め読み出されたアドレスn+2のデータを
保持していたデータラッチ21の内容がデータセレクタ12
で選択され、直ちに出力データ13に供給される。
従ってミスヒット後のキャッシュヒットの場合は遅延さ
れることなく、直ちに出力データ13に供給されることに
なる。
以上のように、本実施例によれば、有効フラグ部を2個
設けることで、ミスヒットに対する更新と次のアドレス
のミスヒットの判定を同時に行うことが可能になり、ミ
スヒットにおけるオーバーヘッドを軽減でき、さらにデ
ータ部の出力にデータラッチを設け、メモリリードサイ
クル中に次のアドレスのデータの読み出しを行いデータ
ラッチに保持しておくことで、ミスヒット後のヒット動
作のオーバーヘッドを軽減できる。
(5)第7図は本発明の第5の実施例におけるキャッシ
ュメモリ装置の構成図を示すものである。これは、マイ
クロプロセッサの命令フェッチ機構に用いられるダイレ
クトマップ方式(1エントリ4ワード構成)の命令キャ
ッシュの一例である。第7図において、1は入力アドレ
ス、2は入力アドレス1の内容を格納するアドレスラッ
チ、3は入力アドレス下位、4はアドレスラッチ下位、
5は入力アドレス下位3とアドレスラッチ下位4を選択
するデータアドレスセレクタ、6a,6bはタグ部a,タグ部
b、7は入力アドレスの上位とタグ部a6a又はタグ部b6b
から読み出されたアドレスの比較を行なう比較器、8は
データ部、9a,9bはデータ部8のデータの有効性を示す
有効フラグを格納する有効フラグ部a,有効フラグ部b、
20a,20bは有効フラグ部a9a,有効フラグ部b9bに対してア
ドレスを出力するフラグアドレスセレクタa,フラグアド
レスセレクタb、11はデータ部のアップデートデータが
転送されるアップデートバス、12はデータ部8から読み
出されたデータとアップデートバス11からのデータを選
択するデータセレクタ、13は出力データ、14は比較器7
と読み出しフラグ10から生成されたヒット信号、16はミ
スヒット時にメモリに対して出力するメモリリード要求
信号、17はメモリリード要求信号に対するメモリからの
メモリリード応答信号、15は有効フラグ部a9に対する書
き込みフラグ、18はメモリリード要求信号16を出力しメ
モリリード応答信号を受理するとともに入力アドレス1
の最下位から書き込みフラグ15を生成する制御手段、19
a,19bは入力アドレス1と前記アドレスラッチ2の出力
を選択しタグ部a6にアドレスを出力するタグセレクタa,
タグセレクタbである。
以上のように構成された本実施例について、以下その動
作を説明する。
本実施例においてはアドレスのLSBが0のときはタグ部a
6a,有効フラグ部a9aを、1のときはタグ部b6b,有効フラ
グ部b9bをアクセスする構成にしてある。マイクロプロ
セッサの命令系列は連続的に存在する。即ちアドレスの
LSBが0と1を交互にとるためタグ部a,b又は有効フラグ
部a,bが交互に使用されるという特性により本実施例は
有効に作用する。
第8図は本実施例におけるタイミングチャートを示すも
のであり、以下第8図に従って(サイクルナンバーC0-C
5の順に)その動作を説明する。なお、有効フラグ部a9
a,b9bに対する更新手段は第1の実施例と同様である。
(C0 サイクル) 検索すべきアドレスn(LSB=0)は入力アドレス1に
より与えられる。入力アドレス1の下位(エントリーア
ドレス)によりタグ部a6aと有効フラグ部a9aを読み出
す。読み出されたアドレスと入力アドレス1の上位(タ
グデータ)を比較器7で比較した結果と有効フラグ部a9
aから読み出された結果からヒット信号を生成する。C0
ではタグ不一致によるミスヒットが検出された。制御手
段18において、メモリリード要求信号16が生成され、メ
モリに対してリードを要求する。
(C1 サイクル) メモリからメモリリード応答信号17が返され、メモリに
対するアクセスが開始されたことを確認(C1はメモリリ
ードサイクル)すると、次の動作を行う。
・タグ部a6aと有効フラグ部a9aの更新(アドレスはタグ
セレクタa19a及びフラグアドレスセレクタa20aにおいて
アドレスラッチ2の内容を選択) ・入力アドレス1は次のアドレスn+1をロードすると
同時にアドレスラッチ2はC0でのアドレスnを保持。
・アドレスn+1(LSB=1)に対するタグ部b6bと有効
フラグ部b9bを読み出しを行い、ミスヒットの判定をし
た。C2では、タグは一致したが、有効フラグが無効であ
るためのミスヒットであった。制御手段18において、メ
モリリード要求信号16が生成され、メモリに対してリー
ドを要求する。
(C2 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。このとき、データセレクタ12はアッ
プデートバス11を選択して、出力データ13に供給され
る。
メモリに対するアクセスが開始されたことを確認(C2は
メモリリードサイクル)すると、次の動作を行う。
・有効フラグ部b9bの更新(アドレスはフラグアドレス
セレクタb20bにおいてアドレスラッチ2の内容を選択) ・入力アドレス1は次のアドレスn+2をロードすると
同時にアドレスラッチ2はC2でのアドレスn+1を保
持。
一方、アドレスn+2(LSB=0)に対するタグ部a6aと
有効フラグ部a9aの読み出しを行い、ヒットの判定をし
たが、データ部8は更新中でありデータの読み出しは行
えないため、データの読み出しは次サイクルまで遅らせ
られる。従って入力アドレス1はアドレスn+2を保持
した状態になる。
(C3 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレス(データアドレスセレク
タ5においてアドレスラッチ下位4を選択)に対してデ
ータが更新される。このとき、データセレクタ12はアッ
プデートバス11を選択して、出力データ13に供給され
る。
アドレスn+2に対するタグ部a6aと有効フラグ部a9aの
読み出しを行い、ヒットの判定をするが、データ部8は
更新中でありデータの読み出しは行えないため、データ
の読み出しは次サイクルまで遅らせられる。従って入力
アドレス1はアドレスn+2を保持した状態になる。
(C4 サイクル) アドレスn+2に対するタグ部a6aと有効フラグ部a9aの
読み出しを行い、ヒットの判定をし、データ部8からア
ドレスn+2に対するデータを読み出す。
(C5 サイクル) 前サイクルでデータ部8から読み出されたデータが出力
データ13に供給される。
以上のように、本実施例によれば、タグ部及び有効フラ
グ部を2個設けることで、メモリリードと同時に次のア
ドレスのミスヒットの検出ができるため、ミスヒットが
連続する場合のオーバーヘッドを軽減することができ
る。
(6)第7図は本発明の第6の実施例におけるキャッシ
ュメモリ装置の構成図を示すものである。同図におい
て、第5の実施例で説明した構成要素に対して、21はデ
ータ部8の出力を格納するデータラッチであり、これ
(点線部)を付加したものが第6の実施例におけるキャ
ッシュメモリ装置の構成図となる。
以上のように構成された本実施例について、以下その動
作を説明する。
第9図は本実施例におけるタイミングチャートを示すも
のであり、以下第9図に従って(サイクルナンバーC0-C
5の順に)その動作を説明する。なお、タグa6a,b6b又は
有効フラグ部a9a,b9bに対する更新手段は第5の実施例
と同様である。
(C0 サイクル) 検索すべきアドレスn(LSB=0)は入力アドレス1に
より与えられる。入力アドレス1の下位(エントリーア
ドレス)によりタグ部a6aと有効フラグ部a9aを読み出
し、タグ不一致によるミスヒットが検出された。制御手
段18において、メモリリード要求信号16が生成され、メ
モリに対してリードを要求する。
(C1 サイクル) メモリからメモリリード応答信号17が返され、メモリに
対するアクセスが開始されたことを確認(C1はメモリリ
ードサイクル)すると、次の動作を行う。
・タグ部a6aにおいてエントリーアドレスに対するタグ
データの更新 ・有効フラグ部a9aにおいてエントリーアドレスに対す
るフラグ(エントリに対応する全ビット)の更新 ・入力アドレス1は次のアドレスn+1をロードすると
同時にアドレスラッチ2に前サイクルでの入力アドレス
1の内容を格納 一方、アドレスn+1(LSB=1)に対するタグ部b6bと
有効フラグb9bの読み出し及びデータ部8の読み出しを
行い、ヒットの判定をした。そして、読み出されたデー
タは次サイクルでデータラッチ21に格納される。
(C2 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレスに対してデータが更新さ
れる。このとき、データセレクタ12はアップデートバス
11を選択して、出力データ13に供給される。
一方、アドレスn+2(LSB=0)に対するタグ部a6aと
有効フラグb9bの読み出しを行い、ミスヒットの判定を
した。C2では、タグは一致したが、有効フラグが無効で
あるためのミスヒットであった。
(C3 サイクル) C1サイクルにおけるアドレスn+1に対するヒットの判
定により、予め読み出されたアドレスn+1のデータを
保持していたデータラッチ21の内容がデータセレクタ12
で選択され、直ちに出力データ13に供給される。
C3はメモリリードサイクルであるため、次の動作を行
う。
・有効フラグ部a9aにおいてエントリーアドレスに対す
るフラグ(1ビット)の更新 ・入力アドレス1は次のアドレスn+3をロードすると
同時にアドレスラッチ2に前サイクルでの入力アドレス
1の内容を格納 一方、アドレスn+3(LSB=1)に対するタグ部b6bと
有効フラグ部b9bの読み出し及びデータ部8の読み出し
を行い、ヒットの判定をした。そして、読み出されたデ
ータは次サイクルでデータラッチ21に格納される。
(C4 サイクル) メモリからデータがアップデートバス11に供給され、デ
ータ部8のエントリーアドレスに対してデータが更新さ
れる。このとき、データセレクタ12はアップデートバス
11を選択して、出力データ13に供給される。
(C5 サイクル) C3サイクルにおけるアドレスn+3に対するヒットの判
定により、予め読み出されたアドレスn+1のデータを
保持していたデータラッチ21の内容がデータセレクタ12
で選択され、直ちに出力データ13に供給される。
従って、ミスヒット後のキャッシュヒットの場合は遅延
されることなく、直ちに出力データ13に供給されること
になる。
以上のように、本実施例によれば、タグ部及び有効フラ
グ部を2個設けることで、メモリリードと同時に次のア
ドレスのミスヒットの検出ができるため、ミスヒットが
連続する場合のオーバーヘッドを軽減することができ、
データ部の出力にデータラッチを設け、メモリリードサ
イクル中に次のアドレスのデータの読み出しを行いデー
タラッチに保持しておくことで、ミスヒット後のヒット
動作のオーバーヘッドを軽減できる。
なお、以上説明した実施例ではタグ部及び有効フラグ部
の構成数を2としたが、これは2以上でも実現できる。
例えば4つのタグ部及び有効フラグ部で構成する際は、
アドレスの下位2ビットで検索対象のタグ部及び有効フ
ラグ部を選択すればよい。また、タグ部及び有効フラグ
部の面積は分割しただけであるため増大することはな
い。
また、マッピング方式は以上説明した実施例ではダイレ
クトマップ方式としたが、これは、セットアソシアティ
ブ方式、あるいはフルアソシアティブ方式でも容易に実
現できる。
発明の効果 以上説明したように、本発明によれば、次の事項が実現
できる。
(1)キャッシュメモリ部の構成をかえることなく、ミ
スヒットに対する更新と次のアドレスのミスヒットの判
定を同時に行うことができ、ミスヒットにおけるオーバ
ーヘッドを軽減できる。制御手段において生成された書
き込みフラグを有効フラグ部で書き込む方式で、キャッ
シュメモリ部(タグ部,データ部,有効フラグ部)の構
成を何ら変更することなく、ミスヒットに対する更新と
次のアドレスのミスヒットの判定を同時に行うことがで
きる。即ち、キャッシュメモリ部の面積はそのままでキ
ャッシュメモリの高速化を実現できる。
(2)キャッシュメモリ部の構成をかえることなく、前
記(1)の事項を実現でき、さらにミスヒット後のヒッ
ト動作に対するオーバーヘッドを軽減できる。前記
(1)の手段にデータラッチを付加することにより、ミ
スヒットに対する他階層メモリリード中に予め次のアド
レスのデータをデータラッチに格納しておき、ミスヒッ
ト後のヒットの場合にはデータラッチから直ちにデータ
を供給することができる。(1)よりもさらに高速にな
りその効果は極めて大きい。
(3)連続して使用する有効フラグ部が異なれば、ミス
ヒットに対する更新と次のアドレスのミスヒットの判定
を同時に行うことで、ミスヒットにおけるオーバーヘッ
ドを軽減できる。命令キャッシュとして使用した場合
は、アドレスは連続的に存在するため、同一有効フラグ
部を連続して使用することはなく特に効果が大きい。ま
た有効フラグ部に2ポートメモリなどの特殊なハードを
使用するわけでなくシングルポートのメモリのみで構成
される。つまり従来のものと比べて、ハード増加なしで
性能を向上したことになる。
(4)連続して使用する有効フラグ部が異なれば、前記
(3)の事項を実現でき、さらにミスヒット後のヒット
動作に対するオーバーヘッドを軽減できる。前記(3)
の手段にデータラッチを付加することにより、予め次の
アドレスのデータをデータラッチに格納しておき、ミス
ヒット後のヒットの場合にはデータラッチから直ちにデ
ータを供給することができる。(3)よりもさらに高速
になりその効果は極めて大きい。
(5)連続して使用する有効フラグ部及びタグ部が異な
れば、ミスヒットに対するメモリリード中に次のアドレ
スのミスヒットの判定を同時に行うことでミスヒットが
連続した場合にも連続してミスヒットを検出できる。命
令キャッシュとして使用した場合は、アドレスは連続的
に存在するため、同一有効フラグ部及び同一タグ部を連
続して使用することはなく特に効果が大きい。またミス
ヒットが連続する場合にはその効果は極めて大きくな
る。また有効フラグ部及びタグ部に2ポートメモリなど
の特殊なハードを使用するわけでなくシングルポートの
メモリのみで構成される。つまり従来のものと比べて、
ハード増加なしで性能を向上したことになる。
(6)連続して使用する有効フラグ部及びタグ部が異な
れば、前記(5)の事項を実現でき、さらにミスヒット
後のヒット動作に対するオーバーヘッドを軽減できる。
前記(5)の手段にデータラッチを付加することによ
り、次のアドレスのデータをデータラッチに格納してお
き、ミスヒット後のヒットの場合にはデータラッチから
直ちにデータを供給することができる。即ち、ミスヒッ
ト/ヒットに関係なく、キャッシュメモリからは連続し
てデータが供給されることになりその効果は極めて大き
い。
つまり本発明によればハード増加を伴わずに、マイクロ
プロセッサの高速化手法の中でも重要な意味を持つキャ
ッシュメモリの高性能化を実現でき、その実用的効果を
極めて大きい。
【図面の簡単な説明】
第1図は本発明の第1及び第2の実施例におけるキャッ
シュメモリ装置の構成図、第2図は本発明の第1の実施
例におけるキャッシュメモリ装置の動作タイミングチャ
ート図、第3図は本発明の第2の実施例におけるキャッ
シュメモリ装置の動作タイミングチャート図、第4図は
本発明の第3及び第4の実施例におけるキャッシュメモ
リ装置の構成図、第5図は本発明の第3の実施例におけ
るキャッシュメモリ装置の動作タイミングチャート図、
第6図は本発明の第4の実施例におけるキャッシュメモ
リ装置の動作タイミングチャート図、第7図は本発明の
第5及び第6の実施例におけるキャッシュメモリ装置の
構成図、第8図は本発明の第5の実施例におけるキャッ
シュメモリ装置の動作タイミングチャート図、第9図は
本発明の第6の実施例におけるキャッシュメモリ装置の
動作タイミングチャート図、第10図は従来のキャッシュ
メモリ装置の構成図、第11図は従来のキャッシュメモリ
装置の動作タイミングチャート図である。 1……入力アドレス、2……アドレスラッチ、3……入
力アドレス下位、4……アドレスラッチ下位、5……デ
ータアドレスセレクタ、6a……タグ部a、6b……タグ部
b、7……比較器、8……データ部、9a……有効フラグ
部a、9a……有効フラグ部b、10……読み出しフラグ、
11……アップデートバス、12……データセレクタ、13…
…出力データ、14……ヒット信号、15……書き込みフラ
グ、16……メモリリード要求信号、17……メモリリード
応答信号、18……制御手段、19a……タグセレクタa、1
9b……タグセレクタb、20a……フラグアドレスセレク
タa、20b……フラグアドレスセレクタb、21……デー
タラッチ。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】アドレスの下位により読み出され、また前
    記アドレスの上位を格納する少なくとも一つのタグ部
    と、前記タグ部の読み出しに用いられた前記アドレスの
    下位を格納するアドレスラッチと、前記アドレスラッチ
    の出力と前記アドレスの下位を選択しアクセスすべきデ
    ータのアドレスを出力するデータアドレスセレクタと、
    前記データアドレスセレクタの出力によりアクセスされ
    前記アドレスに対応するデータを格納する少なくとも一
    つのデータ部と、前記アドレスによりアクセスされ前記
    アドレスに対応するデータの有効フラグを格納する少な
    くとも一つの有効フラグ部と、前記タグ部より読み出さ
    れたアドレスと前記アドレスの上位と前記有効フラグ部
    より読み出された有効フラグを入力しヒット/ミスヒッ
    トを判定するヒット判定手段と、前記ヒット判定手段に
    おいてミスヒットを判定した場合に、前記有効フラグ部
    に入力する書き込みフラグを生成して前記有効フラグ部
    に前記書き込みフラグの書き込みを指示すると同時に前
    記タグ部の書き込みを指示し、前記タグ部と前記有効フ
    ラグ部の書き込み動作を確認した後、前記データ部の書
    き込みを指示する制御手段を備えたキャッシュメモリ装
    置。
  2. 【請求項2】アドレスラッチはアドレスをそのまま格納
    し、アドレスと前記アドレスラッチの出力を選択しタグ
    部にアドレスを出力するタグセレクタと、アドレス下位
    と前記アドレスラッチ下位を選択しアクセスすべき有効
    フラグ部のアドレスを出力するフラグアドレスセレクタ
    と、データ部の出力を格納するデータラッチを設けた請
    求項1記載のキャッシュメモリ装置。
  3. 【請求項3】アドレスの下位により読み出され、また前
    記アドレスの上位を格納する少なくとも一つのタグ部
    と、前記タグ部の読み出しに用いられた前記アドレスの
    下位を格納するアドレスラッチと、前記アドレスラッチ
    の出力と前記アドレスの下位を選択しアクセスすべきデ
    ータのアドレスを出力するデータアドレスセレクタと、
    前記データアドレスセレクタの出力によりアクセスされ
    前記アドレスに対応するデータを格納する少なくとも一
    つのデータ部と、前記アドレスによりアクセスされ前記
    アドレスに対応するデータの有効フラグを格納する複数
    個の有効フラグ部と、前記タグ部より読み出されたアド
    レスと前記アドレスの上位と前記有効フラグ部より読み
    出された有効フラグを入力しヒット/ミスヒットを判定
    するヒット判定手段と、アドレス下位とアドレスラッチ
    の出力を選択しアクセスすべきアドレスをそれぞれの前
    記有効フラグ部に対して出力するフラグアドレスセレク
    タを備えたキャッシュメモリ装置。
  4. 【請求項4】アドレスと前記アドレスラッチの出力を選
    択しタグ部にアドレスを出力するタグセレクタと、デー
    タ部の出力を格納するデータラッチを設けた請求項3記
    載のキャッシュメモリ装置。
  5. 【請求項5】アドレスの下位により読み出され、また前
    記アドレスの上位を格納する複数個のタグ部と、前記タ
    グ部の読み出しに用いられた前記アドレスをそのまま格
    納するアドレスラッチと、前記アドレスと前記アドレス
    ラッチの出力を選択しタグ部にアドレスを出力する複数
    個のタグセレクタと、前記アドレスラッチの出力と前記
    アドレスの下位を選択しアクセスすべきデータのアドレ
    スを出力するデータアドレスセレクタと、前記データア
    ドレスセレクタの出力によりアクセスされ前記アドレス
    に対応するデータを格納する少なくとも一つのデータ部
    と、前記アドレスによりアクセスされ前記アドレスに対
    応するデータの有効フラグを格納する複数個の有効フラ
    グ部と、前記タグ部より読み出されたアドレスと前記ア
    ドレスの上位と前記有効フラグ部より読み出された有効
    フラグを入力しヒット/ミスヒットを判定するヒット判
    定手段と、アドレス下位とアドレスラッチの出力を選択
    しアクセスすべきアドレスをそれぞれの前記有効フラグ
    部に対して出力するフラグアドレスセレクタと、有効フ
    ラグ部に対して書き込みフラグを生成する制御手段を備
    えたキャッシュメモリ装置。
  6. 【請求項6】データ部の出力を格納するデータラッチを
    設けた請求項5記載のキャッシュメモリ装置。
JP1157787A 1989-06-20 1989-06-20 キャッシュメモリ装置 Expired - Lifetime JPH0740247B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP1157787A JPH0740247B2 (ja) 1989-06-20 1989-06-20 キャッシュメモリ装置
US07/539,910 US5210849A (en) 1989-06-20 1990-06-18 Cache memory simultaneously updating for a miss and deciding on hit or miss of next address
EP90111691A EP0404126B1 (en) 1989-06-20 1990-06-20 Cache memory simultaneously conducting update for mishit and decision on mishit of next address
KR1019900009062A KR930006381B1 (ko) 1989-06-20 1990-06-20 미스히트에 대한 갱신과 다음 어드레스의 미스히트의 판정을 동시에 행하는 캐시메모리장치
DE69031696T DE69031696T2 (de) 1989-06-20 1990-06-20 Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1157787A JPH0740247B2 (ja) 1989-06-20 1989-06-20 キャッシュメモリ装置

Publications (2)

Publication Number Publication Date
JPH0322155A JPH0322155A (ja) 1991-01-30
JPH0740247B2 true JPH0740247B2 (ja) 1995-05-01

Family

ID=15657286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1157787A Expired - Lifetime JPH0740247B2 (ja) 1989-06-20 1989-06-20 キャッシュメモリ装置

Country Status (5)

Country Link
US (1) US5210849A (ja)
EP (1) EP0404126B1 (ja)
JP (1) JPH0740247B2 (ja)
KR (1) KR930006381B1 (ja)
DE (1) DE69031696T2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04233642A (ja) * 1990-07-27 1992-08-21 Dell Usa Corp キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法
US5483645A (en) * 1990-10-26 1996-01-09 Advanced Micro Devices, Inc. Cache access system for multiple requestors providing independent access to the cache arrays
GB9118312D0 (en) * 1991-08-24 1991-10-09 Motorola Inc Real time cache implemented by dual purpose on-chip memory
US5649154A (en) * 1992-02-27 1997-07-15 Hewlett-Packard Company Cache memory system having secondary cache integrated with primary cache for use with VLSI circuits
US5682515A (en) * 1993-01-25 1997-10-28 Benchmarq Microelectronics, Inc. Low power set associative cache memory with status inhibit of cache data output
US5535358A (en) * 1993-12-27 1996-07-09 Matsushita Electric Industrial Co., Ltd. Cache memory control circuit and method for controlling reading and writing requests
TW233354B (en) * 1994-03-04 1994-11-01 Motorola Inc Data processor with memory cache and method of operation
EP0698884A1 (en) * 1994-08-24 1996-02-28 Advanced Micro Devices, Inc. Memory array for microprocessor cache
GB2293670A (en) * 1994-08-31 1996-04-03 Hewlett Packard Co Instruction cache
US5860127A (en) * 1995-06-01 1999-01-12 Hitachi, Ltd. Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
KR100505633B1 (ko) * 1999-03-24 2005-08-03 삼성전자주식회사 캐시 메모리의 데이터 독출 장치 및 방법
US7039657B1 (en) * 1999-11-09 2006-05-02 International Business Machines Corporation Method, system, and program for accessing data from storage systems
US7035979B2 (en) 2002-05-22 2006-04-25 International Business Machines Corporation Method and apparatus for optimizing cache hit ratio in non L1 caches
US7073030B2 (en) 2002-05-22 2006-07-04 International Business Machines Corporation Method and apparatus providing non level one information caching using prefetch to increase a hit ratio
US7139879B2 (en) * 2003-07-24 2006-11-21 International Business Machinces Corporation System and method of improving fault-based multi-page pre-fetches
US7330941B2 (en) * 2005-03-23 2008-02-12 Qualcomm Incorporated Global modified indicator to reduce power consumption on cache miss
JP2008107983A (ja) * 2006-10-24 2008-05-08 Nec Electronics Corp キャッシュメモリ
US9262318B1 (en) * 2013-03-13 2016-02-16 Marvell International Ltd. Serial flash XIP with caching mechanism for fast program execution in embedded systems
US11200294B2 (en) * 2019-03-20 2021-12-14 Hisense Visual Technology Co., Ltd. Page updating method and display device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5335335A (en) * 1976-09-13 1978-04-01 Nec Corp Buffer storage
US4228503A (en) * 1978-10-02 1980-10-14 Sperry Corporation Multiplexed directory for dedicated cache memory system
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions
JPS59213084A (ja) * 1983-05-16 1984-12-01 Fujitsu Ltd バッファ記憶装置のアクセス制御方式
BR8406089A (pt) * 1983-11-30 1985-09-24 Fujitsu Ltd Processo para controlar memoria intermediaria em aparelho de processamento de dados
US4646233A (en) * 1984-06-20 1987-02-24 Weatherford James R Physical cache unit for computer
US4953073A (en) * 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
US4768148A (en) * 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
EP0259967B1 (en) * 1986-08-01 1994-03-23 Fujitsu Limited Directory memory
JPH0668735B2 (ja) * 1987-02-09 1994-08-31 日本電気アイシーマイコンシステム株式会社 キヤツシユメモリ−
JP2561261B2 (ja) * 1987-02-18 1996-12-04 株式会社日立製作所 バッファ記憶アクセス方法
US5019971A (en) * 1987-04-13 1991-05-28 Prime Computer, Inc. High availability cache organization
US4851993A (en) * 1987-04-20 1989-07-25 Amdahl Corporation Cache move-in bypass
US4954944A (en) * 1987-04-23 1990-09-04 Nec Corporation Cache control circuit in cache memory unit with unit for enabling to reduce a read access time for cache memory
JP2818415B2 (ja) * 1988-05-18 1998-10-30 日本電気株式会社 バッファ記憶装置
US5097409A (en) * 1988-06-30 1992-03-17 Wang Laboratories, Inc. Multi-processor system with cache memories
US5032985A (en) * 1988-07-21 1991-07-16 International Business Machines Corporation Multiprocessor system with memory fetch buffer invoked during cross-interrogation
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification

Also Published As

Publication number Publication date
EP0404126A3 (en) 1991-09-04
US5210849A (en) 1993-05-11
DE69031696T2 (de) 1998-06-04
DE69031696D1 (de) 1997-12-18
JPH0322155A (ja) 1991-01-30
KR910001549A (ko) 1991-01-31
EP0404126B1 (en) 1997-11-12
EP0404126A2 (en) 1990-12-27
KR930006381B1 (ko) 1993-07-14

Similar Documents

Publication Publication Date Title
JPH0740247B2 (ja) キャッシュメモリ装置
US6523091B2 (en) Multiple variable cache replacement policy
US5353426A (en) Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
US6401175B1 (en) Shared write buffer for use by multiple processor units
US6704822B1 (en) Arbitration protocol for a shared data cache
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US4980816A (en) Translation look-aside buffer control system with multiple prioritized buffers
JP3370683B2 (ja) キャッシュシステム
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
CN100407167C (zh) 高速和准确的高速缓存通路选择
JPH08227380A (ja) データ処理システム
EP0167089A2 (en) Memory access control system and method for an information processing apparatus
JP3929872B2 (ja) キャッシュメモリ、プロセッサ及びキャッシュ制御方法
JP3407808B2 (ja) コンピュータシステム
IL145651A (en) Status bits for cache memory
JP2846697B2 (ja) キャッシュメモリ制御装置
US6574698B1 (en) Method and system for accessing a cache memory within a data processing system
JP3068935B2 (ja) エントリ置き換え制御方法
JP3100807B2 (ja) キャッシュメモリ装置
JPS623354A (ja) キヤツシユメモリ・アクセス方式
JP3078303B2 (ja) キャッシュメモリ制御回路
JPH0673109B2 (ja) 連想メモリ装置とバッファ装置
JPH04357542A (ja) アドレス変換装置
JPH04266140A (ja) アドレス変換バッファ装置
JP2978706B2 (ja) 制御記憶キャッシング方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090501

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20100501

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20100501

Year of fee payment: 15