JPH0981458A - データ処理システムにおけるキャッシュのアクセス方法 - Google Patents

データ処理システムにおけるキャッシュのアクセス方法

Info

Publication number
JPH0981458A
JPH0981458A JP8083274A JP8327496A JPH0981458A JP H0981458 A JPH0981458 A JP H0981458A JP 8083274 A JP8083274 A JP 8083274A JP 8327496 A JP8327496 A JP 8327496A JP H0981458 A JPH0981458 A JP H0981458A
Authority
JP
Japan
Prior art keywords
cache
address
bus
information
processing system
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
JP8083274A
Other languages
English (en)
Inventor
Norman Oded
オデド・ノーマン
Rozenshein Zvika
ズビカ・ローゼンシャイン
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH0981458A publication Critical patent/JPH0981458A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 データ処理システムのキャッシュをアクセス
する際のキャッシュミスのペナルティ時間を低減する。 【解決手段】 データ処理システム20における命令キ
ャッシュ30をアクセスする方法において、キャッシュ
ミスの直後にキャッシュヒットが生じた場合に書き込み
および読み出し動作の順序を変え、ミスペナルティ時間
を除去する。キャッシュミスが発生した時、外部メモリ
からミスの情報を読み出すためにデータ処理システムを
停止する代りに、次のアドレスがアクセスされる。次の
アドレスにヒットがあれば、該ヒット情報が命令キャッ
シュ30から読み出されかつ出力バッファ/レジスタ1
09に格納される。ミスの情報は、ヒット情報が出力バ
ッファ/レジスタ109から読み出されたのちに入力バ
ッファ/レジスタ108を介して外部メモリから読み出
されかつ命令キャッシュ30に書き込まれる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は一般的にはデータ
処理システムに関し、かつより特定的には、データ処理
システムにおいてキャッシュにアクセスする場合におけ
るキャッシュミスのペナルティ時間を低減する方法に関
する。
【0002】
【従来の技術】キャッシュはデータ処理システムの速度
を増大するために一般に使用される比較的小型の、高速
度のメモリである。キャッシュのアクセス時間は中央処
理ユニット(CPU)の論理伝搬遅延とほぼ同じであ
る。キャッシュはしばしば使用される命令またはデータ
を格納して前記CPUおよび比較的低速のメインメモリ
との間のアクセスの数を低減する。
【0003】キャッシュは典型的には命令またはデータ
を記憶するためのキャッシュアレイ、該キャッシュアレ
イに記憶された情報に対応するアドレスを記憶するため
のキャッシュタグRAM(ランダムアクセスメモリ)、
比較器、有効ビットアレイ、およびキャッシュコントロ
ーラを含む。前記キャッシュアレイは高速度のスタティ
ックランダムアクセスメモリ(SRAM)セルのアレイ
を含む。データまたは命令がキャッシュに書き込まれる
時、より上位のビットのアドレスが対応するデータまた
は命令がキャッシュアレイに書き込まれる時に前記キャ
ッシュタグRAMに記憶される。さらに、記憶されたデ
ータまたは命令の有効なヒット(hit)の資格を与え
るために前記有効ビットアレイに有効ビットがセットさ
れる。たとえば、論理“1”の有効ビットは前記タグア
ドレスが有効であることを示し、かつ論理“0”の有効
ビットは前記タグアドレスが有効でないことを示す。
【0004】
【発明が解決しようとする課題】前記キャッシュが読出
し/比較モードで動作している場合は、前記比較器はプ
ロセッサが発生したアドレスの上位ビットをキャッシュ
タグ(RAM)に格納されたタグアドレスと比較する。
もしタグアドレスおよびプロセッサが発生したアドレス
が同じであれば、かつ前記有効ビットがセットされてい
れば、キャッシュ「ヒット」が生じ、かつ所定の論理状
態のヒット/ミス信号が要求されたデータが前記キャッ
シュアレイ内に突きとめられたことを示す。もし前記プ
ロセッサが発生したアドレスおよびタグアドレスが同じ
でなければ、および/または有効ビットが有効アドレス
を示すためにセットされていなければ、キャッシュ「ミ
ス」が生じ、かつ反対の論理状態のヒット/ミス信号が
キャッシュによって提供され、要求されたデータがキャ
ッシュアレイ内に存在しないことを示す。キャッシュミ
スが発生したとき、プロセッサは停止され(halte
d)、一方要求された情報は外部メモリロケーションか
らフェッチされかつキャッシュに書き込まれる。外部メ
モリから情報をフェッチするのに必要な時間はミスペナ
ルティ時間であり、かつ要求されたデータまたは命令が
フェッチされる間に少なくとも1クロックサイクル、そ
してたぶん数クロックサイクルの間処理を遅らせること
になる。
【0005】したがって、本発明の目的は、データ処理
システムにおいてキャッシュをアクセスする場合のキャ
ッシュミスのペナルティ時間を低減し、データ処理シス
テムの速度を増大することにある。
【0006】
【課題を解決するための手段】一般に、本発明はデータ
処理システムにおいて命令キャッシュをアクセスする方
法を提供する。該方法はキャッシュミスの直後にキャッ
シュヒットが発生した場合に動作の順序を変えることに
よりミスペナルティ時間から1クロックサイクルを除去
する。特定のプロセッサが発生したアドレスNについて
キャッシュミスが発生したとき、データ処理システムを
停止させ、ミスの情報を外部メモリから取り出し、かつ
そのミスの情報をキャッシュアレイに書き戻すかわり
に、命令キャッシュコントローラは次のプロセッサが発
生するアドレスN+1をチェックする。Nは外部メモリ
におけるひとつのロケーションを表わすことに注意を要
する。もしプロセッサが発生したアドレスN+1にヒッ
トがあれば、アドレスNからのミスとなった情報が外部
メモリから取り出されている間に、アドレスN+1に対
応するヒット情報がキャッシュから読み出されかつ一時
的に出力バッファ/レジスタに格納される。外部メモリ
からフェッチされたミスとなったデータまたは命令は次
に前記アドレスN+1に対応するヒット情報が出力バッ
ファ/レジスタから読み出された後に入力バッファ/レ
ジスタを介してキャッシュアレイに書き込まれる。
【0007】
【発明の実施の形態】信号、ステータスビット、または
同様の装置をその論理的に真のまたは論理的に偽の状態
にすることに言及する場合、それぞれ、用語「肯定する
(assert)」および「否定する(negat
e)」が使用される。もし論理的に真の状態がデジタル
論理レベル“1”であれば、論理的に偽の状態はデジタ
ル論理レベル“0”である。また、もし論理的に真の状
態がデジタル論理レベル“0”であれば、論理的に偽の
状態はデジタル論理レベル“1”である。用語「バス」
は、データ、アドレス、制御、またはステータスのよう
な、一つまたはそれ以上の種々のタイプの情報を転送す
るために使用できる複数の信号に言及するために使用さ
れる。
【0008】図1〜図3を参照して本発明をさらに詳細
に説明することができる。図1および図2に示される各
ブロックは回路を表わしている。図3に示される各ブロ
ックはフローチャートにおける一つまたはそれ以上のス
テップを表わしている。図1はブロック図形式で、本発
明に関わるデータ処理システム20を示す。図1に示さ
れる実施形態においては、データ処理システム20はデ
ジタル信号プロセッサ(DSP)でありかつ単一の集積
回路上に配置されている。他の実施形態では、データ処
理システム20は、たとえば、マイクロコンピュータま
たはマイクロプロセッサとすることができる。
【0009】デジタル信号処理は規則的なインターバル
でサンプルされかつデジタル化された実時間信号の演算
処理である。デジタル信号プロセッサはろ波、ミキシン
グ、および信号の比較のようなデジタル信号処理機能を
達成する。いくつかのデータ処理システムにおいては、
DSPはデジタル信号処理の雑用(chores)を取
り扱うためにホストプロセッサとともに含められる。ホ
ストプロセッサは、たとえば、マイクロコンピュータま
たはマイクロプロセッサを含むことができる。
【0010】データ処理システム20はタイマ22、ホ
ストインタフェース24、強化シリアル同期インタフェ
ース(ESSI)26、シリアル非同期インタフェース
(SCI)28、プログラムRAM(random a
ccess memory)および命令キャッシュ3
0、Xメモリ32、Yメモリ34、アドレス発生ユニッ
ト/ダイレクトメモリアクセス(DMA)コントローラ
36、外部アドレスバススイッチ38、内部データバス
スイッチ40、DRAM(ダイナミック ランダム ア
クセス メモリ)およびSRAM(スタティック ラン
ダム アクセスメモリ)バスインタフェースおよび命令
キャッシュ制御42、外部データバススイッチ44、プ
ログラム制御ユニット(PCU)46,およびデータ演
算ユニット(ALU)54を含む。プログラム制御ユニ
ット46はプログラム割込みコントローラ48、プログ
ラムデコードコントローラ50、およびプログラムアド
レス発生器52を含む。
【0011】“YAB”と名付けられたアドレスバス5
6、“XAB”と名付けられたアドレスバス57、“P
AB”と名付けられたプログラムアドレスバス58、お
よび“DAB”と名付けられたアドレスバス59がアド
レス発生ユニット/DMAコントローラ36および外部
アドレスバススイッチ38の間に結合されている。“D
DB”と名付けられたデータバス60がホストインタフ
ェース24および外部データバススイッチ44の間に結
合されている。“YDB”と名付けられたデータバス6
1、“XDB”と名付けられたデータバス62、“PD
B”と名付けられたプログラムデータバス63、および
“GDB”と名付けられたプログラムデータバス64が
内部データバススイッチ40と外部データバススイッチ
44との間に結合されている。
【0012】タイマ22は内部または外部タイミングを
使用することができる3つのタイマを含み、かつデータ
処理システム20に割込みまたは外部装置に信号を送る
ことができる。更に、タイマ22は特定の数の事象が生
じたのちにDMA転送を通知するために使用できる。前
記3つのタイマの各々は単一の双方向ピンまたは端子に
接続されている。さらに、前記タイマ22のうちの各々
のタイマはバス57、バス59、プログラム割込みコン
トローラ48、およびバス60に結合されている。
【0013】ホストインタフェース24はデータ処理シ
ステム20とマイクロコンピュータ、マイクロプロセッ
サ、またはDMAコントローラのような他の装置との間
の通信のための双方向インタフェースを提供する。ま
た、ホストインタフェース24はバス60を介して外部
データバススイッチ44に双方向的に結合され、バス5
7および59を介して双方向的にグローバルデータバス
64に、プログラム割込みコントローラ48に、アドレ
ス発生ユニット/DMAコントローラ36に、かつ外部
アドレスバススイッチ38に結合されている。さらに、
ホストインタフェース24は双方向データ転送、アドレ
スレジスタ選択、およびホストプロセッサからの制御通
信のために50の外部ピンまたは端子に双方向的に結合
されている。
【0014】強化シリアル同期インタフェース(ESS
I)26は12の双方向外部ピンに結合されて、たとえ
ば、一つまたはそれ以上の業界標準コーデック(ind
ustry standard codecs)、DS
P(デジタル信号プロセッサ)、またはマイクロプロセ
ッサを含む外部シリアル装置とのシリアル通信を提供す
る。ESSI26はまたバス57、バス59およびバス
60に結合された端子を有する。
【0015】シリアル通信インタフェース(SCI)2
8は外部装置とのシリアル通信を提供するために3つの
双方向外部ピンに結合されている。SCI28はまたバ
ス57、バス59およびバス60に結合された端子を有
する。
【0016】図1に示されるデータ処理システム20の
実施形態では3つのメモリ空間、すなわち、プログラム
RAMおよび命令キャッシュ30、Xメモリ32、Yメ
モリ34、を有する。他の実施形態では、より多くのま
たはより少ないメモリ空間を有するものとすることがで
きる。プログラムRAMおよび命令キャッシュ30はア
ドレスバス58にかつデータバス63に結合されてい
る。Xメモリ32はアドレスバス57、アドレスバス5
9、データバス60、およびデータバス62に結合され
ている。Yメモリ34はアドレスバス56、アドレスバ
ス59、データバス60、およびデータバス61に結合
されている。
【0017】アドレス発生ユニット/DMAコントロー
ラ36はアドレスバス56,57,58および59に結
合されている。アドレス発生ユニット/DMAコントロ
ーラ36はメモリアドレスをタイマ22、ホストインタ
フェース24、ESSI26,SCI28、プログラム
RAMおよび命令キャッシュ30、Xメモリ32、Yメ
モリ34、外部アドレスバススイッチ38、およびDR
AMおよびSRAMバスインタフェースおよび命令キャ
ッシュ制御部42に提供する。好ましい実施形態では、
DMAコントローラは6つのチャネルを有する。
【0018】DRAMおよびSRAMバスインタフェー
スおよび命令キャッシュ42はプログラムアドレスバス
58にかつ14の双方向外部ピンに結合されている。D
RAMおよびSRAMバスインタフェースおよび命令キ
ャッシュ42の命令キャッシュは外部メインメモリ(図
示せず)とプログラム制御ユニット46との間のバッフ
ァメモリとして機能する。命令キャッシュは頻繁に使用
されるプログラム命令を格納し、かつそれぞれの命令に
対して外部メモリロケーションをアクセスするのに必要
な時間を除去することによりデータ処理システム(2
0)のための強化された性能を提供する。DRAMおよ
びSRAMバスインタフェースおよび命令キャッシュ制
御部42は図2により詳細に示されている。
【0019】内部データバススイッチ40はデータバス
60、データバス61、データバス62、プログラムデ
ータバス63、およびグローバルデータバス64に結合
されている。外部データバススイッチ44はデータバス
60、データバス61、データバス62、プログラムデ
ータバス63、およびグローバルデータバス64を介し
て内部データバススイッチ40に結合されている。さら
に、外部データバススイッチ44はデータバス60を介
してタイマ22、ホストインタフェース24、ESSI
26、およびSCI28に接続されている。内部データ
バススイッチ40はバスの間の転送のために使用され
る。任意の2つのバスを内部データバススイッチ40を
介して一緒に接続することができる。外部アドレスバス
スイッチ38および外部データバススイッチ44は外部
バス(図示せず)を、それぞれ、任意の内部アドレスバ
スおよび任意の内部データバスに接続する。
【0020】プログラム制御ユニット46においては、
プログラム割込みコントローラ48は割込み要求の間で
調停を行ない、かつタイマ22、ホストインタフェース
24、ESSI26、およびSCI28に結合されてい
る。また、プログラム割込みコントローラ48は双方向
的にグローバルデータバス64およびプログラムデコー
ドコントローラ50に結合されている。プログラムデコ
ードコントローラ50は各々の24ビットの命令をデコ
ードしかつ双方向的にプログラム割込みコントローラ4
8にかつプログラムアドレス発生器52に結合されてい
る。プログラムアドレス発生器52はプログラムアドレ
ス発生、システムスタック、およびループ制御のために
必要なすべてのハードウェアを含む。さらに、プログラ
ムアドレス発生器52はプログラムアドレスバス58に
かつプログラムデータバス63に結合されている。
【0021】データ演算論理ユニット(ALU)54は
プログラムデータバス63、データバス61、およびデ
ータバス62に結合されている。データALU54はデ
ータオペランドに関してすべての演算および論理操作を
行なう。データALU54はバス61および62によっ
て読出しまたは書き込むことができるレジスタを含む。
データALU54はまたバス63にかつ60に結合され
ている。
【0022】クロック発生回路(図示せず)は図1に示
されるすべてのブロックにクロック信号を提供する。ま
た、データ処理システム20におけるテスト回路があり
これは図1には示されていない。
【0023】図2は、部分的ブロック図形式および部分
的論理図形式で、図1のデータ処理システムのDRAM
およびSRAMバスインタフェースおよび命令キャッシ
ュ制御部42のうちの命令キャッシュコントローラ部分
70を示す。データ処理システム20の命令キャッシュ
は命令キャッシュコントローラ部分70およびプログラ
ムRAMおよび命令キャッシュ30を含む。好ましい実
施形態では、前記命令キャッシュはセクタ化された置換
え(placement)動作を備えた8ウェイ・フル
アソシエイティブキャッシュである。しかしながら、他
の実施形態では、前記命令キャッシュは任意の数のウェ
イをもつことができ、あるいはダイレクトマッピングと
することもできる。
【0024】命令キャッシュコントローラ部分70はタ
グ(TAG)レジスタ/比較器71、論理ゲート84、
入力バッファ/レジスタ108、出力バッファ/レジス
タ109およびキャッシュ制御論理106を含む。タグ
レジスタ/比較器71はタグレジスタ72,74および
76、および比較器78,80および82を含む。論理
ゲート84はAND論理ゲート86,88および90、
そしてOR論理ゲート92を含む。図2にはまたプログ
ラムRAMおよび命令キャッシュ30が示されている。
プログラムRAMおよび命令キャッシュ30はメモリセ
クタ94,96および98を含む複数のメモリセクタに
分割されている。各メモリセクタはデコードおよびセン
ス論理とSRAMセルのアレイを含む。デコードおよび
センス論理は図2には示されていない。さらに、有効ビ
ットアレイ100,102および104を含む複数の有
効ビットアレイが、それぞれ、メモリセクタ94,96
および98に格納される各々のワードに対応する有効ビ
ットを記憶するために使用される。
【0025】タグレジスタ72,74および76の各々
はセクタのタグアドレスを記憶する。セクタのタグアド
レスはメモリセクタ94,96および98の一つに格納
された情報に対応するアドレスの上位のアドレスビット
を含む。タグレジスタ72はバス58に結合された複数
の入力端子、キャッシュ制御論理106に結合された制
御端子、および比較器78の第一の複数の入力端子に結
合された複数の出力端子を有する。比較器78はまたバ
ス58に結合された第二の複数の入力端子、およびAN
D論理ゲート86の第一の入力端子に結合され「ヒット
1(HIT1)」と名付けられたヒット/ミス信号を提
供するための出力端子を有する。タグレジスタ74はバ
ス58に結合された複数の入力端子、キャッシュ制御論
理106に結合された制御端子、および比較器80の第
一の複数の入力端子に結合された複数の出力端子を有す
る。比較器80はまたバス58に結合された第二の複数
の入力端子、およびAND論理ゲート88の第一の入力
端子に結合され「ヒット1(HIT1)」と名付けられ
たヒット/ミス信号を提供するための出力端子を有す
る。タグレジスタ76はバス58に結合された複数の入
力端子、キャッシュ制御論理106に結合された制御端
子、および比較器82の第一の複数の入力端子に結合さ
れた複数の出力端子を有する。比較器82はまたバス5
8に結合された第二の複数の入力端子、およびAND論
理ゲート90の第一の入力端子に結合されて「ヒット2
(HIT2)」と名付けられたヒット/ミス信号を提供
するための出力端子を有する。
【0026】メモリセクタ94はバス58に結合された
複数の入力端子および入力バッファ/レジスタ108に
かつ出力バッファ/レジスタ109に結合された複数の
双方向端子を有する。有効ビットアレイ100はバス5
8に結合された複数の入力端子、およびAND論理ゲー
ト86の第二の入力端子に結合され“VALID(有
効)0”と名付けられた有効信号を提供するための出力
端子を有する。メモリセクタ96はバス58に結合され
た複数の入力端子、および入力バッファ/レジスタ10
8にかつ出力バッファ/レジスタ109に結合された複
数の双方向端子を有する。有効ビットアレイ102はバ
ス58に結合された複数の入力端子、およびAND論理
ゲート88の第二の端子に結合され“VALID1”と
名付けられた有効信号を提供するための出力端子を有す
る。メモリセクタ98はバス58に結合された複数の入
力端子、および入力バッファ/レジスタ108にかつ出
力バッファ/レジスタ109に結合された複数の双方向
端子を有する。有効ビットアレイ104はバス58に結
合された複数の入力端子、およびAND論理ゲート90
の第二の入力端子に結合され“VALID2”と名付け
られた有効信号を提供するための出力端子を有する。
【0027】AND論理ゲート86,88および90の
各々はOR論理ゲート92の入力に結合された出力端子
を有する。OR論理ゲート92はキャッシュ制御論理1
06に結合され「ヒット/ミス(HIT/MISS)」
と名付けられたヒット/ミス信号を提供するための出力
端子を有する。キャッシュ制御論理106は入力バッフ
ァ/レジスタ108および出力バッファ/レジスタ10
9の制御端子に結合されている。入力バッファ/レジス
タ108はまたバス68に結合された複数の入力端子を
有する。出力バッファ/レジスタ109はまたバス63
に結合された複数の出力端子を有する。命令キャッシュ
制御部分70の動作は後に説明する。
【0028】一つの実施形態では、メモリセクタ94,
96および98の各々は128の24ビット命令ワード
を格納する。8つのメモリセクタにより、命令キャッシ
ュ30は1024までの命令ワードを記憶できる。アド
レスの17の最上位ビットからなるタグアドレスビット
のフィールドは各セクタに対するベースセクタアドレス
を形成する。あるセクタに命令ワードがロードされた
時、該命令ワードに対応するベースセクタアドレスが対
応するタグレジスタにロードされる。タグレジスタ72
はメモリセクタ94のためのセクタベースアドレスを格
納する。タグレジスタ74はメモリセクタ96のための
セクタベースアドレスを記憶する。タグレジスタ76は
メモリセクタ98のためのセクタベースアドレスを記憶
する。
【0029】各メモリセクタにおける各々の命令ワード
は記憶された命令が外部メモリロケーションからフェッ
チされ有効な命令であるか否かを特定する対応する有効
ビットを有する。メモリセクタ94に対する有効ビット
は有効ビットアレイ100に記憶され、メモリセクタ9
6に対する有効ビットは有効ビットアレイ102に格納
され、かつメモリセクタ98に対する有効ビットは有効
ビットアレイ104に格納されている。図示された実施
形態では、アドレスの7つの最下位ビットが前記有効ビ
ットフィールドを構成しかつ該メモリセクタに格納され
た対応するワードのための有効ビットを選択するために
使用される。キャッシュヒットを持つために、バス58
を介して命令キャッシュ制御部分70に提供されるタグ
アドレスビットフィールドはタグレジスタ72,74ま
たは76の一つに格納されたタグアドレスと整合しなけ
ればならない。さらに、対応する有効ビットが有効なヒ
ットに対して論理ハイとしてセットされあるいは肯定さ
れなければならない。もしタグアドレスが整合しなけれ
ば、要求されたベースセクタアドレスがロードされてお
らず、結果としてセクタミスとなる。セクタミスの場合
は、ミスとなったセクタが外部メモリ(図2には示され
ていない)から取り出される。有効なビットがセットさ
れていないことによるミスの命令の場合は、そのミスの
ワードが外部メモリロケーションから取り出されかつそ
の取り出された命令がプログラム制御ユニット46に提
供されるのと同時にメモリセクタにロードされる。
【0030】図3は、フローチャート形式で、本発明に
係わる図2の命令キャッシュコントローラ部分70を使
用した読出し動作を示す。ダイヤモンド形状のボックス
111および114は判断ステップを表わし、かつ方形
のボックス110,112,113,115,116,
117および118は本発明に従って命令キャッシュ3
0をアクセスするために行なわれるステップを表わす。
【0031】図2および図3の双方を参照すると、読出
し動作のための命令キャッシュ30へのアクセスを始め
るために、アドレスがバス58を介してプログラムアド
レス発生器52(図1)からすべての比較器78,80
および82へと提供される。説明のために、ステップ1
10において読み出されるべきアドレスは「アドレス
N」としている。比較器78,80および82はバス5
8を介して受信されたアドレスをタグレジスタ72,7
4および76の各々に格納されたアドレスと比較する。
もし整合があれば、かつ有効ビットが命令キャッシュ3
0に格納された選択された命令に対してセットされてい
れば、判断ステップ111からステップ112へと「イ
エス(YES)」経路がとられ、かつヒット信号HIT
0,HIT1またはHIT2の一つが論理ハイとして肯
定されかつ有効信号VALID0,VALID1または
VALID2のうちの対応する一つがAND論理ゲート
86,88または90の一つへの論理ハイとして肯定さ
れる。OR論理ゲート92は次に論理ハイのヒット/ミ
ス信号をキャッシュ制御論理106に提供し要求された
命令が命令キャッシュ30内に位置することを指示す
る。要求された命令は出力バッファ/レジスタ109に
よってバス63に提供される。
【0032】もし前記記憶されたタグアドレスとプログ
ラムアドレス発生器52によって提供されたアドレスと
の間に整合がなければ、あるいはもし適切な有効ビット
がセットされていなければ、キャッシュミスが発生しか
つ判断ステップ111からステップ113へと「ノー
(NO)」経路がとられる。ステップ113において、
外部メモリロケーションからミスとなった命令を取り出
すために少なくとも1クロックサイクルの間プログラム
制御ユニット46を停止させるかわりに、キャッシュは
次のアドレス(ステップ113において「アドレスN+
1」と名付けられている)によって次の命令に対してア
クセスが行なわれる。判断ステップ114において、も
しアドレスN+1に関してキャッシュヒットとなれば、
判断ステップ114からステップ115へと「イエス」
経路がとられ、アドレスNにおける命令をフェッチする
ために外部メモリがアクセスされる。ステップ116に
おいてアドレスN+1におけるキャッシュから命令が読
み出される。ステップ117において、アドレスNに対
応するミスの命令がアドレスNに対応するキャッシュに
書き込まれる。
【0033】もし判断ステップ114においてアドレス
N+1に関してキャッシュミスとなれば、ステップ11
4からステップ118へと「ノー」経路がとられる。ス
テップ118においてアドレスNおよびアドレスN+1
の双方に対してキャッシュミスであるから、プログラム
制御ユニット46は停止されかつアドレスNのミスの命
令が外部メモリから読み出される。次に、ステップ11
7において、ステップ118で外部メモリから読み出さ
れた命令がキャッシュのアドレスNに書き込まれる。
【0034】
【発明の効果】本発明によれば、ミスののちに生じるヒ
ットに対する書き込みおよび読み出し動作の順序を変え
ることにより、ミスペナルティの時間が除去され、待機
状態の数を低減し、それによってデータ処理システムの
速度を増大させる。
【0035】本発明が好ましい実施形態に関して説明さ
れたが、当業者には本発明が数多くの方法で修正できか
つ特に上で述べかつ説明したもの以外の数多くの実施形
態をとりうることは明らかであろう。たとえば、図示さ
れた実施形態では、本発明は命令キャッシュにおいて実
施されている。しかしながら、他の実施形態では、本発
明はデータキャッシュ、データおよび命令の双方を記憶
するキャッシュにおいても容易に実施できる。従って、
添付の特許請求の範囲は本発明の真の精神および範囲内
にある本発明のすべての変更をカバーするものと考え
る。
【図面の簡単な説明】
【図1】本発明に係わるデータ処理システムを示すブロ
ック図である。
【図2】図1のデータ処理システムの命令キャッシュコ
ントローラ部分を示す部分的ブロックおよび部分的論理
図である。
【図3】本発明に係わる図2の命令キャッシュ制御部分
を使用したアクセス動作を説明するためのフローチャー
トである。
【符号の説明】
20 データ処理システム 22 タイマ 24 ホストインタフェース 26 強化シリアル同期インタフェース(ESSI) 28 シリアル非同期インタフェース(SCI)28 30 プログラムRAMおよび命令キャッシュ 32 Xメモリ 35 Yメモリ 36 アドレス発生ユニット/ダイレクトメモリアクセ
ス(DMA)コントローラ 38 外部アドレスバススイッチ 40 内部データバススイッチ 42 DRAMおよびSRAMバスインタフェースおよ
び命令キャッシュ制御部 44 外部データバススイッチ 46 プログラム制御ユニット(PCU) 48 割込みコントローラ 50 プログラムデコードコントローラ 52 プログラムアドレス発生器 54 データ演算ユニット(ALU) 56,57,58,59 アドレスバス 60,61,62 データバス 63,64 プログラムデータバス 70 命令キャッシュコントローラ部分 71 タグレジスタ/比較器 81 論理ゲート 108 入力バッファ/レジスタ 109 出力バッファ/レジスタ 106 キャッシュ制御論理

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュ(30)を有するデータ処理
    システム(20)における、キャッシュ(30)のアク
    セス方法であって、 第一のアドレスに格納された情報を読み出すために前記
    キャッシュ(30)をアクセスする段階、 前記第一のアドレスが前記キャッシュ(30)に格納さ
    れた複数のアドレスのうちのいずれとも整合しない場合
    にキャッシュミスが発生したことを決定する段階、 第二のアドレスに格納された情報を読み出すために前記
    キャッシュ(30)をアクセスする段階、 前記第二のアドレスが前記キャッシュ(30)に格納さ
    れた前記複数のアドレスのうちの一つと整合する場合に
    キャッシュヒットが生じたことを決定する段階、 前記第二のアドレスに対応する前記キャッシュ(30)
    内のロケーションから情報を読み出す段階、そして前記
    第一のアドレスに対応する前記キャッシュ(30)内の
    ロケーションに外部メモリのロケーションから情報を書
    き込む段階、 を具備することを特徴とするキャッシュ(30)を有す
    るデータ処理システム(20)における、キャッシュ
    (30)のアクセス方法。
  2. 【請求項2】 キャッシュメモリアレイおよびキャッシ
    ュコントローラ(70)を具備するキャッシュ(30)
    を備えたデータ処理システム(20)における、ミスペ
    ナルティ時間を低減するために前記キャッシュ(30)
    をアクセスする方法であって、 第一のアドレスに格納された情報を読み出すために前記
    キャッシュメモリアレイをアクセスする段階、 前記第一のアドレスが複数のアドレスのいずれとも整合
    しない場合にキャッシュミスが生じたことを決定する段
    階であって、前記複数のアドレスは前記キャッシュメモ
    リアレイに格納された情報に対応するもの、 第二のアドレスに格納された情報を読み出すために前記
    キャッシュメモリアレイをアクセスする段階、 前記第二のアドレスが前記複数のアドレスの一つと整合
    する場合にキャッシュヒットが生じたことを決定する段
    階、 前記第二のアドレスに対応する前記キャッシュメモリア
    レイのロケーションから情報を読み出しかつ読み出した
    情報を前記キャッシュメモリアレイに結合された出力レ
    ジスタ(109)に提供する段階、 前記第一のアドレスに対応する情報を外部メモリのロケ
    ーションから前記キャッシュメモリアレイに結合された
    入力レジスタ(108)に書き込む段階、そして前記入
    力レジスタ(108)から情報を前記第一のアドレスに
    おいて前記キャッシュメモリアレイに書き込む段階、 を具備することを特徴とするミスペナルティ時間を低減
    するためにキャッシュ(30)をアクセスする方法。
JP8083274A 1995-03-17 1996-03-11 データ処理システムにおけるキャッシュのアクセス方法 Pending JPH0981458A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40623095A 1995-03-17 1995-03-17
US08/406,230 1995-03-17

Publications (1)

Publication Number Publication Date
JPH0981458A true JPH0981458A (ja) 1997-03-28

Family

ID=23607089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8083274A Pending JPH0981458A (ja) 1995-03-17 1996-03-11 データ処理システムにおけるキャッシュのアクセス方法

Country Status (1)

Country Link
JP (1) JPH0981458A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3872642A1 (en) * 2020-02-28 2021-09-01 Beijing Baidu Netcom Science And Technology Co. Ltd. Caching device, cache, system, method and apparatus for processing data, and medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3872642A1 (en) * 2020-02-28 2021-09-01 Beijing Baidu Netcom Science And Technology Co. Ltd. Caching device, cache, system, method and apparatus for processing data, and medium
US11243767B2 (en) 2020-02-28 2022-02-08 Beijing Baidu Netcom Science And Technology Co., Ltd. Caching device, cache, system, method and apparatus for processing data, and medium

Similar Documents

Publication Publication Date Title
US6138208A (en) Multiple level cache memory with overlapped L1 and L2 memory access
US6496902B1 (en) Vector and scalar data cache for a vector multiprocessor
US5909696A (en) Method and apparatus for caching system management mode information with other information
US5210842A (en) Data processor having instruction varied set associative cache boundary accessing
US6199142B1 (en) Processor/memory device with integrated CPU, main memory, and full width cache and associated method
JPH10133947A (ja) 統合されたプロセッサ・メモリ装置
US6963962B2 (en) Memory system for supporting multiple parallel accesses at very high frequencies
JP2001195303A (ja) 機能が並列に分散された変換索引バッファ
US20010013082A1 (en) Memory paging control apparatus
US7415576B2 (en) Data processor with block transfer control
US6772326B2 (en) Interruptible and re-entrant cache clean range instruction
US6219764B1 (en) Memory paging control method
US6718439B1 (en) Cache memory and method of operation
JP2000501539A (ja) アドレス競合検出を持つ多重ポート・キャッシュメモリ
US6976130B2 (en) Cache controller unit architecture and applied method
US6321299B1 (en) Computer circuits, systems, and methods using partial cache cleaning
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
US5860096A (en) Multi-level instruction cache for a computer
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
JPH0981458A (ja) データ処理システムにおけるキャッシュのアクセス方法
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
US5717891A (en) Digital signal processor with caching of instructions that produce a memory conflict
JPH07282023A (ja) データ転送量可変プロセッサ及びそれを用いたシステム
JP3614956B2 (ja) メモリ制御システム