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

キャッシュメモリ装置

Info

Publication number
JPH01286058A
JPH01286058A JP63116594A JP11659488A JPH01286058A JP H01286058 A JPH01286058 A JP H01286058A JP 63116594 A JP63116594 A JP 63116594A JP 11659488 A JP11659488 A JP 11659488A JP H01286058 A JPH01286058 A JP H01286058A
Authority
JP
Japan
Prior art keywords
address
cache
memory
directory
memory banks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63116594A
Other languages
English (en)
Inventor
Yasushi Oi
康 大井
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63116594A priority Critical patent/JPH01286058A/ja
Publication of JPH01286058A publication Critical patent/JPH01286058A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャッシュ制御装置に関し、特に、キャッシュ
メモリのブリフェッチ制御方式に関する。
〔従来の技術〕
キャッシュメモリのプリフェッチ方式は、近い将来、ホ
ストによってアクセスされる可能性の高いデータを予め
主記憶からフェッチしておく方式である。一般に、ある
キャッシュブロック(ブロックアドレスA)のデータア
クセスが発生すると、その次のブロック(ブロックアド
レスA+1)のデータアクセスが発生する可能性がきわ
めて高いため、キャッシュのブリフェッチにおいては、
次のブロックアドレスに存在するデータブロックをフェ
ッチするのが普通である。
キャッシュプリフェッチ方式では、プリフェッチされる
データブロックが、既にキャッシュ内に存在するか否か
を確認するためのディレクトリ検索処理(ブリフェッチ
ルックアップ制御)を実行する必要がある0通常のホス
トCPUからのキャッシュアクセス時にブリフェッチル
ックアップ処理を実行するためには、アクセスアドレス
のディレクトリ検索と、アクセスアドレスを1だけ増加
させたアドレスのディレクトリ検索を両方とも実行する
必要がある。
第3図は、キャッシュブリフェッチ方式を実現するハー
ドウェアの従来例のブロック図を示している。
第3図において、201はブリフェッチタイミング生成
器、202はブリフェッチルックアップ用アドレスラッ
チ、101はブリフェッチルックアップ用アドレスイン
クリメンタ、102はアドレスマルチプレクサ、103
はアドレスディレクトリ、110はリプレースコントロ
ーラ、106はキャッシュデータメモリを各々表わす。
キャッシュディレクトリ103の内容構成は、連想数や
、サブブロック方式などの組合せにより、複数の可能性
が考えられるが、ここでは、最も簡単な例を掲げる。キ
ャッシュディレクトリ103において、1は9−512
アドレスデコーダ、2は512ワード、x20ビットア
ドレスメモリ、3は20ビツトアドレス比較器を各々表
わす。
ブリフェッチタイミング生成器201は、ホス)CPU
からのアクセスアドレス100によるディレクトリ検索
と、アクセスアドレス100を1だけ増加させたアドレ
スのディレクトリ検索を時間的にずらして実行するため
のタイミングを生成する機構である。まず、アクセスア
ドレスのディレクトリ検索のために、人力221が選択
され、次にブリフェッチアドレス検索のため、人力22
2が選択される0選択結果のアドレス223は、キャッ
シュディレクトリ103に入力される。
アドレス223の下位9ビツト11は、アドレスデコー
ダ1に入力され、アドレスメモリ2を検索するインデク
スとなる。その結果から得られたデータ13は、アドレ
ス223の上位20ビツト12と比較される。比較は比
較器3で実行され、その結果、一致信号14が生成され
る。
一致信号14は、ホストCPUにHI’T信号として通
知されるとともに、リプレース・コントローラ110に
も通知され、ミスヒツトの場合のリプレース制御番こ用
いられる。さらに、キャッシュデータメモリ106にも
通知され、データバス224へのデータストローブ信号
として用いられる。
〔発明が解決しようとする課題〕
上述したように、本従来例では、アドレスのディレクト
リ検索を時間的にずらして直列に実行するために、キャ
ッシュブリフェッチのためのブリフェッチルックアップ
処理に時間がより多く必要となるという欠点を有してい
た。
特に、この従来例に準拠して、全てのキャッシュアクセ
スにおけるブリフェッチを実行する方式(常時ブリフェ
ッチ方式)を実現する場合、ホス)CPUのキャッシュ
アクセスタイムに影響を与えることになり、上記の欠点
は致命的であるといえる。
本発明の目的は、上記欠点を除去し、簡潔な回路構成で
常時ブリフェッチ方式を実現できるキャッシュメモリ装
置を提供する事にある。
〔課題を解決するための手段〕
本発明のキャッシュメモリ装置の構成は、メモリアドレ
スの一部で選択される複数のメモリバンクからなるキャ
ッシュメモリ装置であって、前記メモリバンクの各々に
対応してキャッシュのヒツトあるいはミスヒツトを判定
するキャッシュメモリアドレス検索手段、およびキャッ
シュミスヒツト時のリプレース制御手段を具備し、ホス
トプロセッサによるアクセスの際、前記複数のメモリバ
ンクに対応するアドレス検索が並列に実行され、前記メ
モリアドレスの一部で選択されたメモリバンクの検索結
果のみが前記ホストプロセッサに通知され、また、前記
アドレス検索の結果、ミスヒツトと判定された全ての前
記メモリバンクに対して、前記リプレース制御手段が起
動される事を特徴とする。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の第1の実施例を表わすブロック図であ
り、100はホストCPUからのアクセスアドレス、1
01はブリフェッチルックアップ用アドレスインクリメ
ンタ、102はアドレスマルチプレクサ、103,10
4はキャッシュディレクトリ、105はヒツト信号のマ
ルチプレクサ、106,107はキャッシュデータメモ
リ、108.109はデータマルチプレクサ、110は
リプレースコントローラ、111はデータマルチプレク
サを各々表わす。
キャッシュディレクトリ103の内容構成は、連想数や
、サブブロック方式などの組合せにより複数の可能性が
考えられるが、ここでは、最も簡単な例を掲げる。キャ
ッシュディレクトリ103において、1は9−512ア
ドレスデコーダ、2は512ワードx20ビツトアドレ
スメモリ、3は20ビツトアドレス比較器を各々表わす
次に、この第1の実施例の構成の詳細を説明する。
アドレス100の最下位ビット121は、その他のビッ
ト122とは1分離して扱われる。これは、最下位ビッ
ト121が本実施例のバンク選択信号として用いられる
ことを意味している。最下位ビット121は、ホストC
PUからのアクセスアドレス上位122と、アクセスア
ドレス上位122を1だけ増加させたアドレスのいずれ
を、キャッシュディレクトリ103に入力するかを選択
する信号として用いられる。101はアドレスを1だけ
増加させるためのインクリメンタである。
選択されたアドレス上位123に対して、常に0値をと
り最下位アドレス124が付加される。
これで、キャッシュディレクトリ103に入力されるア
ドレスの最下位ビットは必ずOとなる。
キャッシュディレクトリ104に入力されるアドレス1
26は、アクセスアドレス上位122に対して、常に1
値をとる最下位アドレス125が付加さ、れることで得
られる。これで、キャッシュディレクトリ104に入力
されるアドレスの最下位ビットは必ず1となる。
キャッシュディレクトリ103,104の内部ではアド
レス検索が実行される。その方法については、従来例で
述べたものと同一である。結果として、一致信号127
,128が得られる。
一致信号127,128は、ホストcpuにHIT信号
として通知されるとともに、リプレースコントローラ1
10にも通知され、ミスヒツトの場合のリプレース制御
に用いられる。さらに、キャッシュデータメモリ106
,107にも通知され、CPUデータバス129へのデ
ータストローブ信号として用いられる。
第3図で示された従来例との差異は、アドレス最下位信
号121が、バンク選択信号として用いられる点にある
。最下位ビット121は、ホストcpuに通知される)
(IT倍信号127,128の2つから選択する機能、
CPUデータバス129へ接続されるデータメモリを1
06,107の2つから選択する機能、さらに、ブリフ
ェッチデータバス130に対して、上記データバスに接
続されていない、もう一方のデータメモリを接続する機
能(これらは、ヒ?ット信号のマルチプレクサ105、
データマルチプレクサ108,109で実現されている
)をもつ。
次に、この実施例の動作について、常時ブリフェッチ方
式の実現法を中心に説明する。
まず、第1のアドレス例として、ホストCPUからのア
クセスアドレス100の値が000・・・000である
ようなデータリードの場合を考える。
アドレス最下位121はOであるから、マルチプレクサ
102において、アドレス上位は、インクリメンタ10
1を通過しないほうが選択される。その結果、キャッシ
ュディレクトリ103には、アドレスOOO・・・00
0が、キャッシュディレクトリ104には、アドレス0
00・・・001が、各々入力される。つまり、アクセ
スアドレスの検索は103で、ブリフェッチアドレスの
検索は104で行なわれることになる。
両方のアドレス検索結果が127,128がら出力され
る。マルチプレクサ105は、そのうちディレクトリ1
03の出力127を選択してホストCPUに返す。
また、両方のアドレス検索結果127.128がリプレ
ースコントローラ110に通知されるが、これらとアド
レス最下位121の情報から、アクセスアドレスのミス
ヒツトか、ブリフェッチアドレスのミスヒツトかを識別
してリプレース動作を開始する。
ディレクトリ103でのミスヒツト時には、データマル
チプレクサ111は、CPUデータバス129をシステ
ムバスに接続する。ホストCPUは、リプレース転送に
よるデータの引渡しまで待たされることになる。
これに対し、ディレクトリ104でのミスヒツト時には
、データマルチプレクサ111は、ブリフェッチデータ
バス130をシステムバスに接続する。これにより、ホ
ストCPUによるCPUデータバス129を介したキャ
ッシュデータメモリバンク106のアクセスと、リプレ
ースコントローラ110による、ブリフェッチデータバ
ス130を介したキャッシュデータメモリバンク107
のアクセスとが、並列に動作可能である。
ディレクトリ103および104の両方でミスヒツトが
発生した場合には、リプレースコントローラ110は、
アクセスアドレスによる検索の行なわれた103のミス
ヒツトに対して優先的に処理する。104のミスヒツト
処理を続けて行なうかどうかは任意である。
第2のアドレス例として、ホストCPUからのアクセス
アドレス100の値が000・・・001であるような
データリードの場合を考える。
アドレス最下位は1であるから、マルチプレクサ102
において、アドレス上位は、インクリメンタ101を通
過するほうが選択される。その結果、キャッシュディレ
クトリ103には、アドレス000・・・010が、キ
ャッシュディレクトリ104には、アドレス000・・
・001が、各々入力される。
この場合、アクセスアドレスの検索は104で、ブリフ
ェッチアドレスの検索は103で行なわれる点が、上記
の第1のアドレス例との差異となる。
両方のアドレス検索結果が127,128から出力され
る。マルチプレクサ105は、そのうちディレクトリ1
04の出力128を選択してホス)CPUに返す、また
、両方のアドレス検索結果127.128がリプレース
コントローラ110に通知されるが、これらとアドレス
最下位121の情報から、アクセスアドレスのミスヒツ
トか、ブリフェッチアドレスのミスヒツトかを識別し、
リプレース動作を開始する。以下、ディレクトリ103
と104とが入れ替わるなどの点に注意すれば、上述の
第1のアドレス例の場合と同様の動作をする。
本発明のもう一つの実施例を図面を用いて説明する。
第2図は、本発明の第2の実施例のブロック図である。
第2図において、133・・・デュアルポートキャッシ
ュディレクトリ、4.5・・・9−512アドレスデコ
ーダ、6・・・512ワードx20ビツトデユアルポー
トアドレスメモリ、7,8・・・20ビツトアドレス比
較器を各々表わしている。
2つめの実施例と、上述の実施例との差異はつぎの通り
である:即ち、キャッシュディレクトリが、デュアルポ
ート化されたアドレスメモリ6をもち、アクセスアドレ
スの検索と、ブリフェッチアドレスの検索が同一のディ
レクトリで行なわれる点である。この場合でも、キャッ
シュメモリアドレス検索手段としてのアドレス比較器は
、キャッシュデータメモリバンク106,107に対応
して2つあり、ディレクトリの並列検索が実行されるな
ど、第1の実施例と同様の動作が実行される。
〔発明の効果〕
以上延べたように、本発明を用いれば、常時ブリフェッ
チアルゴリズムを実現するために必要な並列動作機能を
構成することが可能である。
本発明は、実施例中のキャッシュディレクトリのLSI
化など、安価で高性能なキャッシュサポートLSIの登
場により、マルチチップ構成のシステムにおいても、簡
単に上記のようなシステムが構成できることによる意義
が大きい。
【図面の簡単な説明】
第1図及び第2図は本発明の第1及び第2の実施例を表
わすブロック図、第3図はキャッシュブリフェッチ方式
を実現するハードウェアの従来例のブロック図である。 4.5・・・9−512アドレスデコーダ、6・・・5
12ワードx20ビツトデユアルポートアドレスメモリ
、7.8・・・20ビツトアドレス比較器、100・・
・ホストCPUからのアクセスアドレス、101・・・
ブリフェッチルックアップ用アドレスインクリメンタ、
102・・・アドレスマルチプレクサ、103.104
・・・キャッシュディレクトリ、105・・・ヒツト信
号のマルチプレクサ、106゜107・・・キャッシュ
データメモリ、108.109・・・データマルチプレ
クサ、110・・・リプレースコントローラ、111川
データマルチプレクサ、133・・・デュアルポートキ
ャッシュディレクトリ、201・・・ブリフェッチタイ
ミング生成器、202・・・ブリフェッチルックアップ
用アドレスラッチ。

Claims (1)

    【特許請求の範囲】
  1. メモリアドレスの一部で選択される複数のメモリバンク
    からなるキャッシュメモリ装置であって、前記メモリバ
    ンクの各々に対応してキャッシュのヒットあるいはミス
    ヒットを判定するキャッシュメモリアドレス検索手段、
    およびキャッシュミスヒット時のリプレース制御手段を
    具備し、ホストプロセッサによるアクセスの際、前記複
    数のメモリバンクに対応するアドレス検索が並列に実行
    され、前記メモリアドレスの一部で選択されたメモリバ
    ンクの検索結果のみが前記ホストプロセッサに通知され
    、また、前記アドレス検索の結果、ミスヒットと判定さ
    れた全ての前記メモリバンクに対して、前記リプレース
    制御手段が起動される事を特徴とするキャッシュメモリ
    装置。
JP63116594A 1988-05-13 1988-05-13 キャッシュメモリ装置 Pending JPH01286058A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63116594A JPH01286058A (ja) 1988-05-13 1988-05-13 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63116594A JPH01286058A (ja) 1988-05-13 1988-05-13 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH01286058A true JPH01286058A (ja) 1989-11-17

Family

ID=14691007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63116594A Pending JPH01286058A (ja) 1988-05-13 1988-05-13 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JPH01286058A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03292548A (ja) * 1990-04-11 1991-12-24 Koufu Nippon Denki Kk 情報処理装置
JP2005524170A (ja) * 2002-04-30 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03292548A (ja) * 1990-04-11 1991-12-24 Koufu Nippon Denki Kk 情報処理装置
JP2005524170A (ja) * 2002-04-30 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法

Similar Documents

Publication Publication Date Title
US6185660B1 (en) Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss
US7831760B1 (en) Serially indexing a cache memory
JPS63150731A (ja) コンピュータシステムおよびその実行方法
JPH07200399A (ja) マイクロプロセッサ、およびマイクロプロセッサにおいてメモリにアクセスするための方法
JP3093807B2 (ja) キャッシュ
JP2840444B2 (ja) 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
JP2001195303A (ja) 機能が並列に分散された変換索引バッファ
JPH11203199A (ja) キャッシュ・メモリ
CA2142799A1 (en) Integrated level two cache and memory controller with multiple data ports
WO2000039764A9 (en) A dual-ported pipelined two level cache system
JP2008545199A (ja) メモリ内の同じページに対する多数の変換ルックアサイド緩衝器へのアクセスの防止
JPH0630075B2 (ja) キャッシュメモリを有するデータ処理装置
US5761714A (en) Single-cycle multi-accessible interleaved cache
KR950006590B1 (ko) 캐시 메모리를 갖는 마이크로 프로세서
JP2003256275A (ja) バンク競合決定
JPH05151073A (ja) メモリ装置およびそのアクセス方法
JP3431878B2 (ja) マルチスレッド・プロセッサの命令キャッシュ
US6823430B2 (en) Directoryless L0 cache for stall reduction
JPH0695972A (ja) ディジタルコンピュータシステム
JPH01286058A (ja) キャッシュメモリ装置
GB2264577A (en) Dual cache memory system.
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
JP4796580B2 (ja) フェッチ・バーストを用いて情報をキャッシュ・モジュールに与える装置及び方法
JP3930195B2 (ja) データ処理システム
JP3697990B2 (ja) ベクトル処理装置のオペランドキャッシュ