JP3439350B2 - キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置 - Google Patents
キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置Info
- Publication number
- JP3439350B2 JP3439350B2 JP28184398A JP28184398A JP3439350B2 JP 3439350 B2 JP3439350 B2 JP 3439350B2 JP 28184398 A JP28184398 A JP 28184398A JP 28184398 A JP28184398 A JP 28184398A JP 3439350 B2 JP3439350 B2 JP 3439350B2
- Authority
- JP
- Japan
- Prior art keywords
- tag
- information
- buffer
- processor
- address
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
モリ制御方法及びキャッシュ・メモリ制御装置に関し、
詳しくは、プロセッサから要求された命令やデータ等の
情報をキャッシュ・メモリ又は主記憶装置から読み出し
てプロセッサに供給するキャッシュ・メモリ制御方法及
びキャッシュ・メモリ制御装置に関する。
置を適用したデータ処理装置の要部の電気的構成例を示
すブロック図である。この例のデータ処理装置は、プロ
セッサ1と、キャッシュ・メモリ制御装置2と、主記憶
装置3とから概略構成されている。そして、キャッシュ
・メモリ制御装置2は、キャッシュ・メモリ4と、タグ
(tag)・メモリ5と、アドレス生成回路6と、比較
器7と、バッファ8〜11と、LRU(Least Recently
Used)情報生成回路12と、LRUメモリ13とから
概略構成されている。プロセッサ1は、データ処理装置
の各部を制御してデータ処理を行う。キャッシュ・メモ
リ制御装置2は、プロセッサ1からアクセス要求された
命令やデータ等の情報をキャッシュ・メモリ4又は必要
に応じて主記憶装置3から読み出してプロセッサ1に供
給する。主記憶装置3には、プロセッサ1がデータ処理
を行うための命令やデータ等の情報が記憶されている。
キャッシュ・メモリ4は、主記憶装置3から読み出され
た命令やデータ等の情報が一時的に記憶される。タグ・
メモリ5には、キャッシュ・メモリ4に記憶されている
情報を検索するために当該情報のアドレスの一部である
タグが記憶される。アドレス生成回路6は、プロセッサ
1からアクセス要求された情報がキャッシュ・メモリ4
に記憶されていない場合(これをミス・ヒットと呼ぶ)
に主記憶装置3から当該情報を読み出すためのアドレス
を生成する。比較器7は、プロセッサ1から供給された
アドレスのタグに対応する部分と、タグ・メモリ5から
読み出された複数のタグとを比較し、プロセッサ1から
アクセス要求された情報がキャッシュ・メモリ4に記憶
されている(これをヒットと呼ぶ)ために、同一のもの
が検出された場合にはそれを示すヒット情報を出力す
る。バッファ8には、プロセッサ1から供給されたアド
レスが一時保持される。バッファ9には、比較器7から
供給されたヒット情報が一時保持される。バッファ10
には、キャッシュ・メモリ4から読み出された情報が一
時保持される。バッファ11には、アドレス生成回路6
において生成されたアドレスが一時保持される。これら
バッファ8〜11は、ラッチやフリップフロップ等から
なる。LRU情報生成回路12は、バッファ9から読み
出されたヒット情報に基づいて、キャッシュ・メモリ4
を有効利用するために、キャッシュ・メモリ4に記憶さ
れた情報のうち、最も長い間使用されなかった情報を主
記憶装置3から新たに読み出された情報との書き換えの
対象としたことを表すLRU情報を生成して、LRUメ
モリ13の、バッファ8から読み出されたアドレスに記
憶する。
装置の動作について説明する。まず、プロセッサ1があ
る情報に対するアクセスを要求してあるアドレスをキャ
ッシュ・メモリ制御装置2に供給すると、当該アドレス
がバッファ8に一時保持されると共に、キャッシュ・メ
モリ4及びタグ・メモリ5に供給される。これにより、
タグ・メモリ5から当該アドレスに対応したタグが読み
出されるので、比較器7において、プロセッサ1から供
給されたアドレスのタグに対応する部分と、タグ・メモ
リ5から読み出された複数のタグとが比較されて同一の
ものが検出された場合にはヒット情報が出力され、バッ
ファ9に一時保持される。この処理と同時に、ヒットし
た場合にはキャッシュ・メモリ4から当該アドレスに対
応した情報が読み出され、バッファ10に一時保持され
る。以上の処理を第1の処理と呼ぶ。次に、LRU情報
生成回路12においては、バッファ9から読み出された
ヒット情報に基づいてLRU情報が生成され、LRUメ
モリ13のバッファ8から読み出されたアドレスに記憶
される。そして、ヒットしていた場合には、バッファ1
0に一時保持されている情報がプロセッサ1に供給され
る。以上の処理を第2の処理と呼ぶ。以上説明した第1
及び第2の処理は、パイプラインで実行される。一方、
ミス・ヒットの場合には、アドレス生成回路6におい
て、主記憶装置3から当該アドレスに対応した情報を読
み出すためのアドレスが生成された後、バッファ11に
一時保持されるので、バッファ11に一時保持されたア
ドレスが読み出され、主記憶装置3に供給される。これ
により、主記憶装置3から供給されたアドレスに対応し
た情報が読み出され、キャッシュ・メモリ4に記憶され
る。これ以降は、上記第1及び第2の処理が実行され
る。
来のキャッシュ・メモリ制御装置2においては、プロセ
ッサ1からある情報に関するアクセス要求に対応したア
ドレスが供給された場合、図10に示すように、当該ア
ドレスAn(n=1,2,3,…)が供給されてからタ
グ・メモリ5に当該アドレスに対応したタグがあるか否
かの検索が終了するまでに少なくとも1クロックかかり
(図10(1)参照)、ヒットした場合に要求された情
報Dn(n=1,2,3,…)をキャッシュ・メモリ4
から読み出すのに少なくとも1クロックかかってしまう
(図10(2)参照)。したがって、キャッシュ・メモ
リ4に情報が記憶されている場合でも、プロセッサ1か
らのアクセス要求に直ちに応答できないという欠点があ
った。また、上記した従来のキャッシュ・メモリ制御装
置2においては、ヒットし続けた場合、パイプライン処
理により、情報の読み出し(図10(2)参照)、タグ
の読み出し(図10(3)参照)及びLRU情報の更新
(図10(4)参照)が実行されるので、キャッシュ・
メモリ4、タグ・メモリ5及びLRUメモリ13は常時
アクセスされている。これにより、消費電力が増大して
しまい、プロセッサ1やキャッシュ・メモリ制御装置2
を同一のICチップで構成した場合には、ICチップの
動作温度が上昇して寿命が短縮してしまうので、放熱器
やファンを設けなければならず、データ処理装置の価格
が高価になったり、大型になってしまうという問題があ
った。
もので、プロセッサからのアクセス要求に直ちに応答す
ることができると共に、消費電力を削減することができ
るキャッシュ・メモリ制御方法及びキャッシュ・メモリ
制御装置を提供することを目的としている。
に、請求項1記載の発明は、プロセッサから要求された
情報をキャッシュ・メモリ又は主記憶装置から読み出し
て上記プロセッサに供給するキャッシュ・メモリ制御方
法に係り、上記キャッシュ・メモリに記憶されている情
報に対応したアドレスを構成するタグが記憶されるタグ
・メモリと、該タグ・メモリから読み出されたタグが一
時保持される少なくとも1個のバッファとを備え、上記
プロセッサから供給される、要求する情報に対応したア
ドレスに基づいて、次に上記プロセッサが要求すると予
想される情報に対応したアドレスを構成するタグを少な
くとも1個上記タグ・メモリから読み出して上記バッフ
ァに一時保持し、次に上記プロセッサから供給されるア
ドレスを構成するタグを、上記タグ・メモリから読み出
す前に、上記バッファに一時保持されているタグと比較
し、比較結果にかかわらず、上記バッファに上記次に上
記プロセッサから供給されたアドレスを構成するタグに
隣接したタグを一時保持させること特徴としている。
載のキャッシュ・メモリ制御方法に係り、上記次に上記
プロセッサが要求すると予想される情報に対応したアド
レスを構成するタグは、上記プロセッサが現在要求して
いる情報に対応したタグ、該タグに隣接するタグ、上記
プロセッサが過去に要求した情報に対応したタグ、上記
主記憶装置の不連続な記憶領域に記憶された情報が上記
プロセッサから要求された場合の当該情報に対応したア
ドレスを構成するタグのうち、いずれか1個又はこれら
の組み合わせであることを特徴としている。
から要求された情報をキャッシュ・メモリ又は主記憶装
置から読み出して上記プロセッサに供給するキャッシュ
・メモリ制御方法に係り、上記キャッシュ・メモリに記
憶されている情報に対応したアドレスを構成するタグが
記憶されるタグ・メモリと、該タグ・メモリから読み出
されたタグが一時保持される第1のバッファと、上記主
記憶装置から読み出された情報が一時保持される第2の
バッファと、該第2のバッファに一時保持されている情
報のアドレスが一時保持される第3のバッファと、上記
プロセッサから次に要求されると予想される情報のタグ
が上記タグ・メモリから読み出されて一時保持される第
4のバッファとを備え、上記プロセッサから供給され
た、要求する情報に対応したアドレス又は該アドレスを
構成するタグと、上記第3のバッファに一時保持されて
いるアドレス又は上記第1のバッファに一時保持されて
いるタグとが一致した場合には、上記キャッシュ・メモ
リ又は上記第2のバッファから当該情報を読み出して上
記プロセッサに供給し、一致しなかった場合には、上記
プロセッサから供給されたアドレスを構成するタグを上
記タグ・メモリから読み出して上記第1のバッファに一
時保持する第1の処理と、上記プロセッサから供給され
たアドレスを構成するタグと、上記第1の処理で上記第
1のバッファに一時保持されたタグとが一致した場合に
は、上記キャッシュ・メモリから当該情報を読み出して
上記プロセッサに供給し、一致しなかった場合には、上
記プロセッサから供給されたアドレスに基づいて上記主
記憶装置から当該情報を読み出し、上記第2のバッファ
及び上記キャッシュ・メモリに一時保持すると共に、上
記第3のバッファに上記第2のバッファに一時保持した
情報のアドレスを一時保持する第2の処理と、上記プロ
セッサから供給された、要求する情報に対応したアドレ
ス又は該アドレスを構成するタグと、上記第3のバッフ
ァに一時保持されているアドレス又は上記第1のバッフ
ァに一時保持されているタグとの比較結果にかかわら
ず、上記プロセッサから次に要求されると予想される情
報のタグを上記タグ・メモリから読み出して上記第4の
バッファに一時保持する第3の処理を有し、上記第1の
処理では、上記プロセッサから供給されたアドレス又は
該アドレスを構成するタグと、上記第3のバッファに一
時保持されているアドレス又は上記第1又は第4のバッ
ファに一時保持されているタグのいずれかとが一致する
か否かを判断することを特徴としている。
から要求された情報をキャッシュ・メモリ又は主記憶装
置から読み出して上記プロセッサに供給するキャッシュ
・メモリ制御方法に係り、上記キャッシュ・メモリに記
憶されている情報に対応したアドレスを構成するタグが
記憶されるタグ・メモリと、該タグ・メモリから読み出
されたタグが一時保持されるタグ・バッファと、上記主
記憶装置から読み出された情報が一時保持される情報バ
ッファと、該情報バッファに一時保持されている情報の
アドレスが一時保持されるバックアップ・バッファと、
最新のタグが一時保持されるラスト・バッファと、上記
プロセッサから供給された、要求する情報に対応したア
ドレスを構成するタグに隣接するタグが一時保持される
ネクスト・バッファと、上記主記憶装置の不連続な記憶
領域に記憶された情報が上記プロセッサから要求された
場合に当該情報に対応したアドレスを構成するタグが一
時保持されるブランチ・バッファとを備え、上記プロセ
ッサから供給されたアドレス又は該アドレスを構成する
タグと、上記バックアップ・バッファに一時保持されて
いるアドレス又は、上記ラスト・バッファ、上記ネクス
ト・バッファ、あるいは上記ブランチ・バッファに一時
保持されているタグのいずれかとが一致した場合には、
上記キャッシュ・メモリ又は上記情報バッファから当該
情報を読み出して上記プロセッサに供給する第1の処理
と、上記プロセッサから供給されたアドレスを構成する
タグと、上記タグ・バッファに一時保持されているタグ
とが一致した場合には、上記キャッシュ・メモリから当
該情報を読み出して上記プロセッサに供給する第2の処
理と、上記プロセッサから供給されたアドレスに基づい
て上記主記憶装置から当該情報を読み出し、上記情報バ
ッファ及び上記キャッシュ・メモリに一時保持すると共
に、上記バックアップ・バッファに上記情報バッファに
一時保持した情報のアドレスを一時保持する第3の処理
と、上記プロセッサから供給されたアドレスを構成する
タグを上記タグ・メモリから読み出して上記タグ・バッ
ファに一時保持する第4の処理と、上記プロセッサから
供給されたアドレス又は該アドレスを構成するタグと、
上記ネクストバッファ、上記ブランチバッファ、上記ラ
ストバッファ、及び上記バックアップバッファに記憶さ
れたタグの比較結果にかかわらず、上記プロセッサから
供給されたアドレスを構成するタグに隣接するタグを上
記タグ・メモリから読み出して上記ネクスト・バッファ
に一時保持すると共に、当該情報に対応したアドレスを
構成するタグを、上記主記憶装置の不連続な記憶領域に
記憶された情報が上記プロセッサから要求された場合に
は上記ブランチ・バッファに一時保持し、それ以外の場
合には上記ラスト・バッファに一時保持する第5の処理
とを有することを特徴としている。
載のキャッシュ・メモリ制御方法に係り、上記第1乃至
第3の処理と、上記第4及び第5の処理とはそれぞれ独
立して並行に処理されることを特徴としている。
は5記載のキャッシュ・メモリ制御方法に係り、上記キ
ャッシュ・メモリは複数個のウェイからなり、各ウェイ
は複数個の情報が記憶される複数個のエントリからな
り、上記ネクスト・バッファ及び上記タグ・バッファ
は、それぞれ上記ウェイの個数分設けられ、上記情報バ
ッファは1個のエントリに記憶される情報の個数分設け
られ、上記第3の処理では、上記主記憶装置から当該情
報が属するエントリを構成するすべての情報が読み出さ
れ、上記複数個の情報バッファに一時保持されることを
特徴としている。
から要求された情報をキャッシュ・メモリ又は主記憶装
置から読み出して上記プロセッサに供給するキャッシュ
・メモリ制御装置に係り、上記キャッシュ・メモリに記
憶されている情報に対応したアドレスを構成するタグが
記憶されるタグ・メモリと、上記タグ・メモリから読み
出されたタグが一時保持される少なくとも1個のバッフ
ァと、上記プロセッサから供給される、要求する情報に
対応したアドレスに基づいて、次に上記プロセッサが要
求すると予想される情報に対応したアドレスを構成する
タグが上記タグ・メモリから読み出されて一時保持され
る少なくとも1個のバッファと、次に上記プロセッサか
ら供給されるアドレスを構成するタグを、上記タグ・メ
モリから読み出す前に、上記バッファに一時保持されて
いるタグと比較する比較器と、上記比較器の比較結果に
かかわらず、上記バッファに上記次に上記プロセッサか
ら供給されたアドレスを構成するタグに隣接したタグを
一時保持させる制御手段とを備えてなることを特徴とし
ている。
載のキャッシュ・メモリ制御装置に係り、上記次に上記
プロセッサが要求すると予想される情報に対応したアド
レスを構成するタグは、上記プロセッサが現在要求して
いる情報に対応したタグ、該タグに隣接するタグ、上記
プロセッサが過去に要求した情報に対応したタグ、上記
主記憶装置の不連続な記憶領域に記憶された情報が上記
プロセッサから要求された場合の当該情報に対応したア
ドレスを構成するタグのうち、いずれか1個又はこれら
の組み合わせであることを特徴としている。
から要求された情報をキャッシュ・メモリ又は主記憶装
置から読み出して上記プロセッサに供給するキャッシュ
・メモリ制御装置に係り、上記キャッシュ・メモリに記
憶されている情報に対応したアドレスを構成するタグが
記憶されるタグ・メモリと、該タグ・メモリから読み出
されたタグが一時保持される第1のバッファと、上記主
記憶装置から読み出された情報が一時保持される第2の
バッファと、該第2のバッファに一時保持されている情
報のアドレスが一時保持される第3のバッファと、上記
プロセッサから次に要求されると予想される情報のタグ
が上記タグ・メモリから読み出されて一時保持される第
4のバッファと、上記プロセッサから供給された、要求
する情報に対応したアドレスを構成するタグと、上記第
1のバッファに一時保持されているタグとを比較し、一
致した場合にはヒット信号を出力する第1の比較器と、
上記プロセッサから供給されたアドレスと、上記第3の
バッファに一時保持されているアドレスとを比較し、一
致した場合にはヒット信号を出力する第2の比較器と、
上記プロセッサから供給されたアドレスを構成するタグ
と、上記第4のバッファに一時保持されているタグとを
比較し、一致した場合にはヒット信号を出力する第3の
比較器とを備え、上記第1又は第2の比較器から上記ヒ
ット信号が出力された場合には、上記キャッシュ・メモ
リ又は上記第2のバッファから当該情報を読み出して上
記プロセッサに供給し、上記第1又は第2の比較器から
上記ヒット信号が出力されなかった場合には、上記プロ
セッサから供給されたアドレスを構成するタグを上記タ
グ・メモリから読み出して上記第1のバッファに一時保
持し、上記第1の比較器から上記ヒット信号が出力され
た場合には、上記キャッシュ・メモリから当該情報を読
み出して上記プロセッサに供給し、上記第1の比較器か
ら上記ヒット信号が出力されなかった場合には、上記プ
ロセッサから供給されたアドレスに基づいて上記主記憶
装置から当該情報を読み出し、上記第2のバッファ及び
上記キャッシュ・メモリに一時保持すると共に、上記第
3のバッファに上記第2のバッファに一時保持した情報
のアドレスを一時保持し、上記第1乃至第3の比較器か
ら上記ヒット信号が出力された場合には、上記キャッシ
ュ・メモリ又は上記第2のバッファから当該情報を読み
出して上記プロセッサに供給すると共に、上記プロセッ
サから次に要求されると予想される情報のタグを上記タ
グメモリから読み出して上記第4のバッファに一時保持
し、上記第1乃至第3の比較器から上記ヒット信号が出
力されなかった場合には、上記プロセッサから供給され
たアドレスを構成するタグを上記タグ・メモリから読み
出して上記第1のバッファに一時保持すると共に、上記
プロセッサから次に要求されると予想される情報のタグ
を上記タグ・メモリから読み出して上記第4のバッファ
に一時保持し、上記第1の比較器から上記ヒット信号が
出力された場合には、上記キャッシュ・メモリから当該
情報を読み出して上記プロセッサに供給し、上記第1の
比較器から上記ヒット信号が出力されなかった場合に
は、上記プロセッサから供給されたアドレスに基づいて
上記主記憶装置から当該情報を読み出し、上記第2のバ
ッファ及び上記キャッシュ・メモリに一時保持すると共
に、上記第3のバッファに上記第2のバッファに一時保
持した情報のアドレスを一時保持することを特徴として
いる。
サから要求された情報をキャッシュ・メモリ又は主記憶
装置から読み出して上記プロセッサに供給するキャッシ
ュ・メモリ制御装置に係り、上記キャッシュ・メモリに
記憶されている情報に対応したアドレスを構成するタグ
が記憶されるタグ・メモリと、該タグ・メモリから読み
出されたタグが一時保持されるタグ・バッファと、上記
主記憶装置から読み出された情報が一時保持される情報
バッファと、該情報バッファに一時保持されている情報
のアドレスが一時保持されるバックアップ・バッファ
と、最新のタグが一時保持されるラスト・バッファと、
上記プロセッサから供給された、要求する情報に対応し
たアドレスを構成するタグに隣接するタグが一時保持さ
れるネクスト・バッファと、上記主記憶装置の不連続な
記憶領域に記憶された情報が上記プロセッサから要求さ
れた場合に当該情報に対応したアドレスを構成するタグ
が一時保持されるブランチ・バッファと、上記プロセッ
サから供給された、要求する情報に対応したアドレスを
構成するタグと、上記タグ・バッファ、上記ラスト・バ
ッファ、上記ネクスト・バッファ、上記ブランチ・バッ
ファにそれぞれ一時保持されているタグとを比較し、一
致した場合にはそれぞれヒット信号を出力する第1乃至
第4の比較器と、上記プロセッサから供給されたアドレ
スと、上記バックアップ・バッファに一時保持されてい
るアドレスとを比較し、一致した場合にはヒット信号を
出力する第5の比較器とを備え、上記第2乃至第5の比
較器から上記ヒット信号が出力された場合には、上記キ
ャッシュ・メモリ又は上記情報バッファから当該情報を
読み出して上記プロセッサに供給する第1の状態と、上
記第1の比較器から上記ヒット信号が出力された場合に
は、上記キャッシュ・メモリから当該情報を読み出して
上記プロセッサに供給する第2の状態と、上記プロセッ
サから供給されたアドレスに基づいて上記主記憶装置か
ら当該情報を読み出し、上記情報バッファ及び上記キャ
ッシュ・メモリに一時保持すると共に、上記バックアッ
プ・バッファに上記情報バッファに一時保持した情報の
アドレスを一時保持する第3の状態と、上記プロセッサ
から供給されたアドレスを構成するタグを上記タグ・メ
モリから読み出して上記タグ・バッファに一時保持する
第4の状態と、上記プロセッサから供給されたアドレス
を構成するタグに隣接するタグを上記タグ・メモリから
読み出して上記ネクスト・バッファに一時保持すると共
に、当該情報に対応したアドレスを構成するタグを、上
記主記憶装置の不連続な記憶領域に記憶された情報が上
記プロセッサから要求された場合には上記ブランチ・バ
ッファに一時保持し、それ以外の場合には上記ラスト・
バッファに一時保持する第5の状態とが存在することを
特徴としている。
0記載のキャッシュ・メモリ制御装置に係り、上記第1
乃至第3の状態と、上記第4及び第5の状態とはそれぞ
れ独立して並行に実行されることを特徴としている。
0又は11記載のキャッシュ・メモリ制御装置に係り、
上記キャッシュ・メモリは複数個のウェイからなり、各
ウェイは複数個の情報が記憶される複数個のエントリか
らなり、上記ネクスト・バッファ、上記タグ・バッフ
ァ、第1及び第3の比較器は、それぞれ上記ウェイの個
数分設けられ、上記情報バッファは1個のエントリに記
憶される情報の個数分設けられ、上記ブランチ・バッフ
ァ及び第4の比較器は所定個数設けられ、上記第3の状
態では、上記主記憶装置から当該情報が属するエントリ
を構成するすべての情報が読み出され、上記複数個の情
報バッファに一時保持されることを特徴としている。
サから要求された情報をキャッシュメモリ又は主記憶装
置から読み出して上記プロセッサに供給するキャッシュ
・メモリ制御方法に係り、上記キャッシュ・メモリに記
憶されている情報に対応したアドレスを構成するタグを
記憶するタグメモリと、上記タグメモリから読み出され
た第1のタグを保持するバッファとを備え、上記プロセ
ッサから供給される、要求された情報に対応したアドレ
スを構成する第2のタグと上記第1のタグとを比較し、
不一致の場合に上記タグメモリに記憶されたタグと、上
記第2のタグとを比較すると共に、上記第1のタグと第
2のタグとの比較結果にかかわらず上記バッファに上記
第2のタグに隣接するタグを記憶することを特徴として
いる。
サから要求された情報をキャッシュメモリ又は主記憶装
置から読み出して上記プロセッサに供給するキャッシュ
・メモリ制御方法に係り、上記キャッシュ・メモリに記
憶されている情報に対応したアドレスを構成するタグを
記憶するタグメモリと、上記プロセッサから情報の連続
的なアクセスが無かった場合に、上記プロセッサから要
求された情報に対応したアドレスを保持するアドレスバ
ッファに記憶されたアドレスを構成する第1のタグを保
持するバッファとを備え、上記プロセッサから供給され
る、要求された情報に対応したアドレスを構成する第2
のタグと上記第1のタグとを比較し、不一致の場合に上
記タグメモリに記憶されたタグと上記第2のタグとを比
較することを特徴としている。
クセス要求に直ちに応答することができると共に、消費
電力を削減することができる。
の実施の形態について説明する。説明は、実施例を用い
て具体的に行う。図1は、この発明の一実施例であるキ
ャッシュ・メモリ制御装置の要部の電気的構成を示すブ
ロック図、図2は、同装置を適用したデータ処理装置の
要部の電気的構成を示すブロック図、図3は、同装置を
構成するキャッシュ・メモリの電気的構成を示すブロッ
ク図である。この例のデータ処理装置は、図2に示すよ
うに、プロセッサ21と、キャッシュ・メモリ制御装置
22と、バス・コントロール・ユニット23と、システ
ムバス24と、主記憶装置25とから概略構成されてい
る。プロセッサ21は、データ処理装置の各部を制御し
てデータ処理を行うと共に、キャッシュ・メモリ制御装
置22に対して、命令やデータ等のある情報のアクセス
を要求するアクセス要求信号RQを供給し、その出力タ
イミングで当該情報のアドレス信号ADを供給する。ま
た、プロセッサ21は、分岐命令や不連続なデータ等、
主記憶装置25の不連続的な記憶領域に記憶された情報
のアクセス要求をする場合(これを不連続アクセス時と
呼ぶ)には、キャッシュ・メモリ制御装置22に対し
て、上記信号に加えてその旨を示す不連続アクセス信号
TFを供給する。これにより、キャッシュ・メモリ制御
装置22は、ヒットの場合には、プロセッサ21に対し
て、その旨を示すアクノリッジ信号AKを供給し、その
出力タイミングでアクセス要求された情報を情報信号D
Tとして供給する。また、キャッシュ・メモリ制御装置
22は、ミス・ヒットの場合には、主記憶装置25から
当該情報を獲得するために、バス・コントロール・ユニ
ット23に対して、当該情報のアクセスを要求するアク
セス要求信号BRQを供給し、その出力タイミングで当
該情報のアドレス信号BADを供給する。これにより、
バス・コントロール・ユニット23は、キャッシュ・メ
モリ制御装置22に対して、アドレス信号BADを受け
取ったことを示すアクノリッジ信号BAKを供給すると
共に、システム・バス24を介して主記憶装置25から
当該情報を読み出した後、キャッシュ・メモリ制御装置
22に対して、その旨を示すレディ信号BRYを供給
し、その出力タイミングで当該情報を情報信号BDTと
して供給する。この場合、バス・コントロール・ユニッ
ト23は、キャッシュ・メモリ制御装置22に対して、
何番目のバイトの情報かを示す4ビットのバイト信号B
DLを供給する。
に示すように、キャッシュ・メモリ31と、タグ・メモ
リ321及び322と、アドレス生成回路33と、比較
器341〜3410と、タグ・バッファ351及び35
2と、ネクスト・バッファ361及び362と、ブラン
チ・バッファ371〜374と、ラスト・バッファ38
と、バックアップ・バッファ39と、アドレス入力バッ
ファ40と、アドレス出力バッファ41と、情報バッフ
ァ421〜424と、セレクタ43〜46と、インクリ
メンタ47と、LRU制御部48とから概略構成されて
いる。
量を64MBであるとし、キャッシュ・メモリ31の記
憶容量を8kBであるとする。キャッシュ・メモリ31
は、図3に示すように、それぞれ記憶容量が4kBであ
る2個のウェイ(way)51 1及び512からなり、各
ウェイ51はそれぞれ256個のエントリ(entry)に
分割され、各エントリにはビット長が1ワード(wor
d)、即ち、32ビット(何故なら、1ワード;4バイ
ト、1バイト;8ビット)の情報が4個記憶される。図
3の各行はラインと呼ばれ、1ラインのビット長は12
8ビット(=32×4)となる。そして、主記憶装置2
5もこのようなキャッシュメモリ31の構成に対応し
て、4kB毎の16384(=226/212)個のブ
ロック(何故なら、64MB;226、4kB;
212)に分割されている。また、各情報をアクセスす
るためにプロセッサ21から供給されるアドレス信号A
Dのビット長は26ビットであり、下位第2ビット及び
第3ビット目の2ビットが1ラインを構成する4個ある
情報のいずれか1個を選択するための情報選択信号とな
り、下位第4ビット〜下位第11ビットの中位8ビット
が256個あるエントリのいずれか1個を選択するため
のインデックス(index)信号となり、下位第12ビッ
ト〜下位第25ビットの上位8ビットが主記憶装置25
の16384個あるブロックのいずれか1個を選択する
ためのタグ信号となる。したがって、各ウェイ511及
び512において、プロセッサ21から供給されたアド
レス信号ADの中位ビットを構成するインデックス信号
に応じて読み出された1ライン分の情報がレジスタ52
1及び522に一時記憶された後、読み出された1ライ
ン分の情報に対応したタグと供給されたアドレス信号A
Dの上位ビットを構成するタグとが比較器531及び5
32において比較され、一致した場合にウェイ選択信号
が出力される。レジスタ521及び522からは、情報
選択信号に応じて1ラインを構成する4個の情報のう
ち、1個が選択されてウェイ・セレクタ54に供給され
る。これにより、ウェイ・セレクタ54において、ウェ
イ選択信号に基づいて、レジスタ521及び522から
1ワードの情報が選択されて出力される。
22は、それぞれ図3に示すウェイ511及び512に
対応して設けられており、256エントリにそれぞれ1
4ビットのタグが記憶される。アドレス生成回路33
は、ミス・ヒットの場合に、プロセッサ21からアクセ
ス要求された情報を主記憶装置25から読み出すための
アドレスを生成する。
サ21から供給されたある情報のアクセス要求に対応し
たアドレス信号ADが一時保持される。ラスト・バッフ
ァ38には、アドレス入力バッファ40に一時保持され
た最新のアドレス信号ADの一部である最新のタグ(こ
れをラスト・タグLTGと呼ぶ)が一時保持される。ア
ドレス出力バッファ41には、ミス・ヒットの場合に、
アドレス生成回路33において生成されたアドレスが一
時保持される。情報バッファ421〜424には、ミス
・ヒットの場合に、主記憶装置25から読み出された情
報が一時保持される。このように、キャッシュ・メモリ
31に新たに情報を補充するために主記憶装置25から
情報を読み出すことを、キャッシュ・フィル(cache fi
ll)と呼ぶ。また、情報バッファ42が4個設けられて
いるのは、それぞれの記憶容量が1ワード分であり、主
記憶装置25から一度に読み出される情報量が、4ワー
ドからなる1ライン分だからである。バックアップ・バ
ッファ39には、キャッシュ・フィル時に情報バッファ
421〜424に一時保持された情報の属するラインの
先頭のアドレスが一時保持される。ブランチ・バッファ
371〜374には、不連続アクセス時にプロセッサ2
1から供給されたアドレス信号ADの一部であるタグが
一時保持される。この実施例では、ブランチ・バッファ
37の数を4個とするが、これに限定されない。ブラン
チ・バッファ37の個数が多いほど、不連続アクセス時
におけるミス・ヒットとなる確率を低減できる。ネクス
ト・バッファ361及び362は、タグ・メモリ321
及び322に対応して設けられ、プロセッサ21から情
報の連続的なアクセス要求があった場合に、次にアクセ
ス要求されると予測される情報のアドレス信号ADの一
部であるタグ(これをネクスト・タグNTGと呼ぶ)が
タグ・メモリ321及び322から予め読み出され、一
時保持される。タグ・バッファ351及び352は、タ
グ・メモリ321及び322に対応して設けられ、タグ
・メモリ321及び322からそれぞれ読み出されたタ
グが一時保持される。以上説明した各バッファ351及
び352、361及び362、371〜37 4、38〜
41、421〜424は、ラッチやフリップフロップ等
からなる。
321及び322に対応して設けられ、それぞれタグ・
バッファ351及び352に一時保持されたタグと、ア
ドレス入力バッファ40に一時保持されたアドレス信号
ADの一部であるタグとを比較し、一致した場合にヒッ
ト情報をLRU制御部48に供給する。比較器343及
び344は、それぞれネクスト・バッファ361及び3
62に一時保持されたネクスト・タグNTGと、プロセ
ッサ21から供給されたアドレス信号ADの一部である
タグとを比較し、一致した場合にヒット情報をLRU制
御部48に供給する。比較器345〜348は、それぞ
れブランチ・バッファ371〜374に一時保持された
タグと、プロセッサ21から供給されたアドレス信号A
Dの一部であるタグとを比較し、一致した場合にヒット
情報をLRU制御部48に供給する。比較器349は、
ラスト・バッファ38に一時保持されたラスト・タグL
TGと、プロセッサ21から供給されたアドレス信号A
Dの一部であるタグとを比較し、一致した場合にヒット
情報をLRU制御部48に供給する。比較器34
1 0は、バックアップ・バッファ39に一時保持された
アドレスと、プロセッサ21から供給されたアドレス信
号ADとを比較し、一致した場合にヒット情報をLRU
制御部48に供給する。
されたアドレス信号ADと、アドレス入力バッファ40
に一時保持されたアドレス信号ADと、アドレス生成回
路33において生成されたアドレスとを入力し、いずれ
か1つを選択してキャッシュ・メモリ31に供給する。
セレクタ44は、情報バッファ421〜424に一時保
持された情報を入力し、いずれか1つを選択してキャッ
シュ・メモリ31に供給する。セレクタ45は、キャッ
シュ・メモリ31から読み出された情報と、情報バッフ
ァ421〜424に一時保持された情報とを入力し、い
ずれか1つを選択して情報信号DTとしてプロセッサ2
1に供給する。インクリメンタ47は、プロセッサ21
から情報の連続的なアクセス要求があった場合に、ネク
スト・タグNTGをタグ・メモリ321及び322から
予め読み出すために、アドレス入力バッファ40に一時
保持された現在のアドレス信号ADのインデックスの値
に+1をインクリメントする。セレクタ46は、プロセ
ッサ21から供給されたアドレス信号ADと、アドレス
入力バッファ40に一時保持されたアドレス信号AD
と、インクリメンタ47から供給されたアドレスとを入
力し、いずれか1つを選択してタグ・メモリ32 1及び
322に供給する。LRU制御部48は、LRUメモリ
48aを有し、各比較器341〜3410から供給ヒッ
ト情報に基づいて、LRU情報を生成してLRUメモリ
48aのアドレス入力バッファ40に一時保持されたア
ドレスに記憶する。
装置の動作について、図4に示すフロー・チャート、図
5及び図6に示すタイミング・チャートを参照して説明
する。この実施例では、キャッシュ・メモリ31及びそ
の周辺回路の制御(キャッシュ制御と呼ぶ)と、タグ・
メモリ321及び322並びにその周辺回路の制御(タ
グ制御と呼ぶ)とは、それぞれ独立して並行的になされ
る。したがって、図4に示すフロー・チャートも、時間
の経過に応じて各処理が1つづつ実行される通常のフロ
ー・チャートとは異なる。まず、キャッシュ制御におい
ては、アイドル状態IDLEと、バッファ・チェック状
態BFCHと、タグ・チェック状態TGCHと、キャッ
シュ・フィル状態FILLとの4つの状態がある。アイ
ドル状態IDLEは、キャッシュ・メモリ31及びその
周辺回路に対して何等の制御も行わない状態である。バ
ッファ・チェック状態BFCHは、比較器343〜34
10において、ネクスト・バッファ361及び362、
ブランチ・バッファ371〜374、ラスト・バッファ
38並びにバックアップ・バッファ39に一時保持され
ているタグやアドレスと、プロセッサ21から供給され
たアドレス信号ADやその一部であるタグとを比較し、
いずれかの比較器34においてヒットした場合には、当
該タグやアドレスに対応した情報をプロセッサ21に供
給し、ミス・ヒットの場合には、後述するタグ・チェッ
ク状態TGCHに遷移する状態である。タグ・チェック
状態TGCHは、比較器341及び342において、タ
グ・バッファ351及び352に一時保持されているタ
グと、アドレス入力バッファ40に一時保持されたアド
レス信号ADの一部であるタグとを比較し、ヒットした
場合には、当該タグに対応した情報をプロセッサ21に
供給し、ミス・ヒットの場合には、後述するキャッシュ
・フィル状態に遷移する状態である。
・ヒットの場合に、プロセッサ21からアクセス要求さ
れた情報について、プログラム21から供給されたアド
レス信号ADに基づいてアドレス生成回路33において
アドレスを生成してバス・コントロール・ユニット23
に供給することによりアクセス要求し、バス・コントロ
ール・ユニット23から当該情報が供給されると、情報
バッファ421〜42 4に一時保持すると共に、キャッ
シュ・メモリ31に記憶し、さらに当該情報の属するラ
インの先頭のアドレスをバックアップ・バッファ39に
一時保持する状態である。このように、バス・コントロ
ール・ユニット23から供給された情報を情報バッファ
421〜424に一時保持すると共に、当該情報の属す
るラインの先頭のアドレスをバックアップ・バッファ3
9に一時保持することにより、情報バッファ421〜4
24に一時保持されている情報と、バックアップ・バッ
ファ39に一時保持されているアドレスとの対応がとれ
るため、比較器3410においてヒットした場合には、
対応する情報をキャッシュ・メモリ31から読み出す必
要がなく、直接情報バッファ421〜424から読み出
すことができる。これにより、キャッシュ・メモリ31
へのアクセス頻度を低減でき、消費電力の削減を実現で
きる。
リード状態TGRDと、ネクスト・タグ・リード状態N
TRDと、LRU情報ライト状態LRWTとの3つの状
態がある。タグ・リード状態TGRDは、ミス・ヒット
の場合に、タグ・メモリ32 1及び322からタグを読
み出し、タグ・バッファ351及び352に一時保持す
る状態である。ネクスト・タグ・リード状態NTRD
は、インクリメンタ47において、アドレス入力バッフ
ァ40に一時保持されている現在のアドレス信号ADの
インデックスの値に+1をインクリメントし、その新た
なアドレスに基づいて、ネクスト・タグNTGをタグ・
メモリ321及び322から予め読み出してネクスト・
バッファ361及び362に一時保持すると共に、アド
レス入力バッファ40に一時保持されている現在のアド
レス信号ADの一部であるタグを、プロセッサ21から
情報の連続的なアクセス要求がなかった場合にはブラン
チ・バッファ371〜374のいずれか1個に一時保持
し、それ以外の場合にはラスト・バッファ38に一時保
持する状態である。LRU情報ライト状態LRWTは、
LRU制御部48において、比較器341〜3410か
ら供給されるヒット情報に基づいてLRUメモリ48a
に記憶されているLRU情報を更新する状態である。
3つの処理の流れがある。まず、第1の処理の流れは、
図4に示すステップSP1→SP2→SP4→SP6の
流れと、これと並行するステップSP7→SP8→SP
9の流れであり、状態は、キャッシュ制御ではアイドル
状態IDLE→バッファ・チェック状態BFCH→キャ
ッシュ・フィル状態FILLと遷移し、タグ制御ではタ
グ・リード状態TGRD→ネクスト・タグ・リード状態
NTRD→LRU情報ライト状態LRWTと遷移する。
そして、タグ・チェック状態TGCHとネクスト・タグ
・リード状態NTRDとが並行し、キャッシュ・フィル
状態FILLとLRU情報ライト状態LRWTとが並行
してそれぞれ処理される。このような処理がなされるの
は、プロセッサ21からアクセス要求された情報がキャ
ッシュ・メモリ31に記憶されておらず、プロセッサ2
1から供給されたアドレス信号ADやその一部であるタ
グも、図1に示すネクスト・バッファ361及び3
62、ブランチ・バッファ371〜374、ラスト・バ
ッファ38、バックアップ・バッファ39並びにタグ・
メモリ321及び322のいずれにも記憶されていない
ため、キャッシュ・フィルを行う場合である。この場合
には、キャッシュ制御において、バッファ・チェック状
態BFCHからタグ・チェック状態TGCHへ遷移する
際に、タグ制御において、タグ・リード状態TGRDが
起動され、その後、1サイクルずつ、ネクスト・タグ・
リード状態NTRD及びLRU情報ライト状態LRWT
が順次起動される。
テップSP1→SP2→SP4→SP5の流れと、これ
と並行するステップSP7→SP8→SP9の流れであ
り、状態は、キャッシュ制御ではアイドル状態IDLE
→バッファ・チェック状態BFCH→タグ・チェック状
態TGCHと遷移し、タグ制御ではタグ・リード状態T
GRD→ネクスト・タグ・リード状態NTRD→LRU
情報ライト状態LRWTと遷移する。そして、タグ・チ
ェック状態TGCHとネクスト・タグ・リード状態NT
RDとが並行し、次にプロセッサ21からアクセス要求
された情報に関するバッファ・チェック状態BFCHと
LRU情報ライト状態LRWTとが並行してそれぞれ処
理される。このような処理がなされるのは、プロセッサ
21からアクセス要求された情報がキャッシュ・メモリ
31に記憶されており、プロセッサ21から供給された
アドレス信号ADやその一部であるタグは、図1に示す
ネクスト・バッファ361及び362、ブランチ・バッ
ファ371〜374、ラスト・バッファ38並びにバッ
クアップ・バッファ39のいずれにも記憶されてはいな
いが、タグ・メモリ321又は322のいずれかには記
憶されている場合である。この場合にも、キャッシュ制
御において、バッファ・チェック状態BFCHからタグ
・チェック状態TGCHへ遷移する際に、タグ制御にお
いて、タグ・リード状態TGRDが起動され、その後、
1サイクルずつ、ネクスト・タグ・リード状態NTRD
及びLRU情報ライト状態LRWTが順次起動される。
テップSP1→SP2→SP3の流れと、この後に起動
されるステップSP8→SP9の流れであり、状態は、
キャッシュ制御ではアイドル状態IDLE→バッファ・
チェック状態BFCHと遷移し、タグ制御ではネクスト
・タグ・リード状態NTRD→LRU情報ライト状態L
RWTと遷移する。このような処理がなされるのは、プ
ロセッサ21からアクセス要求された情報がキャッシュ
・メモリ31に記憶されており、かつ、図1に示すネク
スト・バッファ361及び362、ブランチ・バッファ
371〜374、ラスト・バッファ38、あるいはバッ
クアップ・バッファ39のいずれかに、プロセッサ21
から供給されたアドレス信号ADやその一部であるタグ
が記憶されている場合である。この場合には、1クロッ
クの間にアクセス要求及びそれに応じた情報の供給が可
能となり、従来に比べてプロセッサ21からのアクセス
要求に対する応答を高速化することができる。
の概略について、図4に示すフロー・チャートを参照し
て説明する。まず、キャッシュ制御として、アイドル状
態IDLEの後、プロセッサ21からのアクセス要求が
あるか否かを判断する(ステップSP1)。ステップS
P1の判断結果が「NO」の場合には、アイドル状態I
DLEに戻る。一方、ステップSP1の判断結果が「Y
ES」の場合、即ち、プロセッサ21からのアクセス要
求がある場合には、キャッシュ制御として、バッファ・
チェック状態BFCHへ遷移する。これにより、比較器
343〜3410において、ネクスト・バッファ361
及び362、ブランチ・バッファ371〜374、ラス
ト・バッファ38並びにバックアップ・バッファ39に
一時保持されているアドレスやタグと、プロセッサ21
から供給されたアドレス信号ADやその一部であるタグ
とが比較され、いずれかの比較器34からヒット情報が
出力されたか否かを判断する(ステップSP2)。この
判断結果が「YES」の場合には、セレクタ45は、キ
ャッシュ・メモリ31から読み出された情報を選択して
情報信号DTとしてプロセッサ21に供給する(ステッ
プSP3)。この後、キャッシュ制御としてはステップ
SP1へ戻り、タグ制御としては、ネクスト・タグ・リ
ード状態NTRDが起動される。これにより、インクリ
メンタ47において、アドレス入力バッファ40に一時
保持されている現在のアドレス信号ADのインデックス
の値に+1がインクリメントされ、新たなアドレスに基
づいて、ネクスト・タグNTGがタグ・メモリ321及
び322から読み出されてネクスト・バッファ361及
び362に一時保持されると共に、アドレス入力バッフ
ァ40に一時保持されている現在のアドレス信号ADの
一部であるタグが、プロセッサ21から情報の連続的な
アクセス要求がなかった場合にはブランチ・バッファ3
71〜374のいずれか1個に一時保持され、それ以外
の場合にはラスト・バッファ38にラスト・タグLTG
として一時保持される(ステップSP8)。さらに、L
RU制御部48において、比較器341〜3410から
供給されるヒット情報に基づいてLRUメモリ48aに
記憶されているLRU情報を更新される(ステップSP
9;LRU情報ライト状態LRWT)。この後、タグ制
御としてステップSP1へ戻る。以上が第3の処理の流
れである。
O」の場合、即ち、図1に示すネクスト・バッファ36
1及び362、ブランチ・バッファ371〜374、ラ
スト・バッファ38並びにバックアップ・バッファ39
のいずれにもプロセッサ21から供給されたアドレス信
号ADやその一部であるタグが記憶されていない場合に
は、キャッシュ制御としてタグ・チェック状態TGCH
へ遷移すると共に、タグ制御としてタグ・リード状態T
GRDが起動される。これにより、比較器341及び3
42において、タグ・バッファ351及び352に一時
保持されているタグと、アドレス入力バッファ40に一
時保持されたアドレス信号ADの一部であるタグとが比
較され、ヒット情報が出力されたか否かを判断する(ス
テップSP4)。この判断結果が「YES」の場合に
は、セレクタ45は、キャッシュ・メモリ31から読み
出された情報を選択して情報信号DTとしてプロセッサ
21に供給する(ステップSP5)。以上がタグ・チェ
ック状態TGCHである。この後、キャッシュ制御とし
てステップSP1へ戻る。これと並行して、タグ・メモ
リ321及び322からタグが読み出され、タグ・バッ
ファ351及び352に一時保持された後(ステップS
P7;タグ・リード状態TGRD)、インクリメンタ4
7において、アドレス入力バッファ40に一時保持され
ている現在のアドレス信号ADのインデックスの値に+
1がインクリメントされ、新たなアドレスに基づいて、
ネクスト・タグNTGがタグ・メモリ321及び322
から読み出されてネクスト・バッファ361及び362
に一時保持されると共に、アドレス入力バッファ40に
一時保持されている現在のアドレス信号ADの一部であ
るタグが、プロセッサ21から情報の連続的なアクセス
要求がなかった場合にはブランチ・バッファ371〜3
74のいずれか1個に一時保持され、それ以外の場合に
はラスト・バッファ38にラスト・タグLTGとして一
時保持される(ステップSP8;ネクスト・タグ・リー
ド状態NTRD)。さらに、LRU制御部48におい
て、比較器341〜3410から供給されるヒット情報
に基づいてLRUメモリ48aに記憶されているLRU
情報を更新される(ステップSP9;LRU情報ライト
状態LRWT)。この後、タグ制御としてステップSP
1へ戻る。以上が第2の処理の流れである。
O」の場合、即ち、比較器341及び342において、
タグ・バッファ351及び352に一時保持されている
タグと、アドレス入力バッファ40に一時保持されたア
ドレス信号ADの一部であるタグとが比較され、ヒット
情報が出力されなかった場合には、キャッシュ制御とし
てキャッシュ・フィル状態FILLに遷移する。これに
より、バス・コントロール・ユニット23に対してプロ
セッサ21からアクセス要求された情報についてアクセ
ス要求がなされ、バス・コントロール・ユニット23か
ら当該情報が供給されると、情報バッファ421〜42
4に一時保持されると共に、キャッシュ・メモリ31に
記憶され、さらに当該情報が属するラインの先頭のアド
レスがバックアップ・バッファ39に一時保持される
(ステップSP6)。この後、キャッシュ制御としてス
テップSP1へ戻る。なお、タグ制御については、上記
した第2の処理の流れと同様であるので、その説明を省
略する。以上が第1の処理の流れである。
のタイミングについて、図5及び図6に示すタイミング
・チャートを参照して説明する。まず、上記した第1の
処理の流れについて、図5に示すタイミング・チャート
を参照して説明する。第1のサイクルでは、キャッシュ
制御において、アクセス要求信号RQ(図5(8)参
照)の出力タイミングでプロセッサ21から値「0x…
0001」のアドレス信号ADが供給され(図5(7)
参照)、バッファ・チェック状態BFCHが起動される
がミス・ヒットとなるので(図5(3)参照)、タグ制
御においてタグ・リード状態TGRDが起動される(図
5(2)参照)。第2のサイクルでは、キャッシュ制御
において、タグ・チェック状態TGCHに遷移するがミ
ス・ヒットとなり(図5(3)参照)、これに並行して
タグ制御においてネクスト・タグ・リード状態NTRD
に遷移する(図5(2)参照)。この時、プロセッサ2
1から供給されたアドレス信号ADの値「0x…000
1」がアドレス入力バッファ40に一時保持される(図
5(12)参照)。
いて、キャッシュ・フィル状態FILLに遷移し、アド
レス生成回路33が、プロセッサ21から供給されたア
ドレス信号ADの値「0x…0001」に基づいて、ア
ドレス信号ADの値「0x…0001」の情報が属する
ラインの先頭のアドレスの値「0x…0000」から4
個分のアドレスの値を1サイクル毎にインクリメントし
て生成するので、これらのアドレスの値がアドレス出力
バッファ41に一時保持された後、アドレス信号BAD
として、アクセス要求信号BRQ(図5(14)参照)
の出力タイミングで、バス・コントロール・ユニット2
3に供給される(図5(13)参照)。これにより、略
半サイクル経過後、バス・コントロール・ユニット23
からアドレス信号BADを受け取ったことを示すアクノ
リッジ信号BAKが供給される(図5(15)参照)。
一方、タグ制御においては、ネクスト・タグ・リード状
態NTRDからLRU情報ライト状態LRWTに遷移す
るが(図5(2)参照)、この際、アドレスの値「0x
…0001」の情報が属するライン(インデックス番号
「00」)の次のライン(インデックス番号「01」)
のタグがネクスト・タグNTGとしてネクスト・バッフ
ァ361又は362に一時保持される(図5(4)参
照)と共に、アドレス入力バッファ40に一時保持され
ている現在のアドレス信号ADの一部であるタグが、不
連続アクセス信号TFがアクティブではないので(図5
(9)参照)、ラスト・バッファ38にラスト・タグL
TGとして一時保持される(図5(5)参照)。
御において、キャッシュ・フィル状態FILLのまま
で、バス・コントロール・ユニット23が、システム・
バス24を介して主記憶装置25からキャッシュ・メモ
リ制御装置22がアクセス要求した1ライン分の情報I
NF0〜INF3を読み出した後、キャッシュ・メモリ
制御装置22に対して、主記憶装置25から情報を読み
出した旨を示すレディ信号BRY(図5(16)参照)
の出力タイミングで当該1ライン分の情報INF0〜I
NF3を情報信号BDTとして1サイクル毎に供給する
ので、これらの情報INF0〜INF3が情報バッファ
421〜424に順次保持される(図5(17)〜(2
0)参照)。また、第5〜第8のサイクルでは、キャッ
シュ制御において、アドレス生成回路33が、プロセッ
サ21から供給されたアドレス信号ADの値「0x…0
001」に基づいて、アドレス信号ADの値「0x…0
001」の情報INF1が属するラインの、キャッシュ
・メモリ31に記憶すべき先頭のアドレスの値から4個
分のアドレスの値ADD0〜ADD3を1サイクル毎に
インクリメントして生成するので、これらのアドレスの
値ADD0〜ADD3がアドレス信号CADとしてセレ
クタ43を介してキャッシュ・メモリ31に供給される
と共に、各アドレスの値ADD0〜ADD3に対応した
情報INF0〜INF3が情報バッファ421〜424
から順次読み出されてセレクタ44を介して情報信号C
DTとしてキャッシュ・メモリ31に供給され、記憶さ
れる(図5(22)参照)。
いて、再びプロセッサ21から値「0x…0001」の
アドレス信号ADが供給されると(図5(7)参照)、
再びバッファ・チェック状態BFCHが起動されるが、
今度は第8のサイクルまでにキャッシュ・フィルがなさ
れており、このキャッシュ・フィルの完了に伴って、プ
ロセッサ21から供給されたアドレス信号ADの値「0
x…0001」に基づいてアドレス生成回路33がキャ
ッシュ・フィル時に生成した、アドレス信号ADの値
「0x…0001」の情報が属するラインの先頭のアド
レスの値「0x…0000」がバックアップ・バッファ
39に一時保持される(図5(6)参照)ので、比較器
3410においてヒットとなる(図5(3)参照)。こ
れにより、キャッシュ・メモリ制御装置22は、アクセ
ス要求された情報INF1を直接情報バッファ422か
ら読み出した後、プロセッサ21に対して、ヒットした
旨を示すアクノリッジ信号AK(図5(10)参照)の
出力タイミングでセレクタ45を介して情報信号DTと
して供給する(図5(11)参照)。第10及び第11
のサイクルでは、プロセッサ21から供給されるアドレ
ス信号ADの値が1ずつ更新される(図5(7)参照)
以外は、第9のサイクルと同様であるので、その説明を
省略する。また、上記した第3の処理の流れについて
も、情報が情報バッファ421〜424に記憶されてい
ない場合にはキャッシュ・メモリ31から読み出される
以外は、上記第9〜第11のサイクルと同様であるの
で、その説明を省略する。
て、図6に示すタイミング・チャートを参照して説明す
る。第1のサイクルでは、キャッシュ制御において、ア
クセス要求信号RQ(図6(8)参照)の出力タイミン
グでプロセッサ21から値「0x…0000」のアドレ
ス信号ADが供給される(図6(7)参照)と共に、前
回アクセス要求された情報とは不連続的な記憶領域に記
憶された情報のアクセスが要求されたため、その旨を示
す不連続アクセス信号TFがアクティブで供給されてい
る(図6(9)参照)。これにより、バッファ・チェッ
ク状態BFCHが起動されるがミス・ヒットとなるので
(図6(3)参照)、タグ制御においてタグ・リード状
態TGRDが起動される(図6(2)参照)。
御において、タグ・チェック状態TGCHに遷移する
が、第1のサイクルでタグ・メモリ321及び322か
ら値「0x…0000」のアドレス信号ADに対応した
タグが読み出され、タグ・バッファ351及び352に
一時保持されているので、比較器341又は342にお
いてヒットとなる(図6(3)参照)。これにより、プ
ロセッサ21からアドレス信号ADの値が値「0x…0
000」から1サイクル毎に1ずつ更新されて供給され
ると(図6(7)参照)、それらが直接キャッシュ・メ
モリ31から読み出すべき情報の4個分のアドレスの値
ADD0〜ADD3となり(図6(13)参照)、アド
レス信号DADとしてセレクタ43を介してキャッシュ
・メモリ31に供給される(図6(13)参照)。した
がって、キャッシュ・メモリ31から各アドレスの値A
DD0〜ADD3に対応した情報INF0〜INF3が
情報信号DDTとして順次読み出されるので(図6(1
4)参照)、プロセッサ21に対して、ヒットした旨を
示すアクノリッジ信号AK(図6(10)参照)の出力
タイミングでアクセス要求された情報INF0〜INF
3が情報信号DTとして順次供給される(図6(11)
参照)。なお、第3のサイクル以降は、キャッシュ制御
において、バッファ・チェック状態BFCHに遷移する
が、後述するように、第3のサイクルでタグ(インデッ
クス番号「00」)がブランチ・バッファ371にブラ
ンチ・タグBTGとして一時保持される(図6(6)参
照)ので、比較器345においてヒットとなる(図6
(3)参照)。
いて、ネクスト・タグ・リード状態NTRDに遷移する
(図6(2)参照)。この時、プロセッサ21から供給
されたアドレス信号ADの値「0x…0000」がアド
レス入力バッファ40に一時保持される(図6(12)
参照)。第3のサイクルでは、タグ制御において、ネク
スト・タグ・リード状態NTRDからLRU情報ライト
状態LRWTに遷移するが(図6(2)参照)、この
際、アドレスの値「0x…0000」の情報が属するラ
イン(インデックス番号「00」)の次のライン(イン
デックス番号「01」)のタグがネクスト・タグNTG
としてネクスト・バッファ361又は36 2に一時保持
される(図6(4)参照)と共に、アドレス入力バッフ
ァ40に一時保持されている現在のアドレス信号ADの
一部であるタグ(インデックス番号「00」)が、不連
続アクセス信号TFがアクティブであるので(図6
(9)参照)、ブランチ・バッファ371にブランチ・
タグBTGとして一時保持される(図6(6)参照)。
御に関しては、キャッシュ・メモリ31から順次読み出
される情報が、情報INF0〜INF3が構成するライ
ンの次のラインを構成する情報INF4〜INF7であ
り、それに対応してプロセッサ21から供給されるアド
レス信号ADの値が1ずつ更新される以外は、上記した
第3〜第5のサイクルと同様であるので、その説明を省
略する。また、第7のサイクルでは、タグ制御におい
て、ネクスト・タグ・リード状態NTRDに遷移する
(図6(2)参照)。この時、プロセッサ21から供給
されたアドレス信号ADの値「0x…0100」がアド
レス入力バッファ40に一時保持される(図6(12)
参照)。第8のサイクルでは、タグ制御において、ネク
スト・タグ・リード状態NTRDからLRU情報ライト
状態LRWTに遷移するが(図6(2)参照)、この
際、アドレスの値「0x…0100」の情報が属するラ
イン(インデックス番号「01」)の次のライン(イン
デックス番号「02」)のタグがネクスト・タグNTG
としてネクスト・バッファ361又は362に一時保持
される(図6(4)参照)と共に、アドレス入力バッフ
ァ40に一時保持されている現在のアドレス信号ADの
一部であるタグ(インデックス番号「01」)が、不連
続アクセス信号TFがアクティブではないので(図6
(9)参照)、ラスト・バッファ38にラスト・タグL
TGとして一時保持される(図6(5)参照)。
ら値「0x…0010」のアドレス信号ADが供給され
る(図6(7)参照)が、このアドレス信号ADの値
「0x…0010」は第9のサイクルで供給されたアド
レス信号ADの値「0x…0111」とは不連続である
ので、その旨を示す不連続アクセス信号TFがアクティ
ブで供給される(図6(9)参照)。キャッシュ制御に
おいては、第3のサイクルでタグ(インデックス番号
「00」)がブランチ・バッファ371にブランチ・タ
グBTG0として一時保持されている(図6(6)参
照)ので、比較器34 5においてヒットとなる(図6
(3)参照)。この他の処理は上記した第3のサイクル
以降の処理と同様であるので、その説明を省略する。第
11及び第12のサイクルでは、キャッシュ制御に関し
ては、上記した第10のサイクルの処理と同様である。
タグ制御に関しては、第11のサイクルでは、ネクスト
・タグ・リード状態NTRDに遷移し(図6(2)参
照)、インクリメンタ47において、アドレス入力バッ
ファ40に一時保持されている現在のアドレス信号AD
のインデックスの値「01」に+1がインクリメントさ
れ、新たなアドレスに基づいて、新たなタグ(インデッ
クス番号「02」)がタグ・メモリ321及び322か
ら読み出されるが、現在ネクスト・バッファ361又は
362にネクスト・タグNTGとして既にインデックス
番号「02」のタグが一時保持されている(図6(4)
参照)ので、この場合には、インクリメンタ47におい
て、現在のネクスト・タグNTGのインデックスの値
「02」に+1がインクリメントされ、新たなアドレス
に基づいて、新たなタグ(インデックス番号「03」)
がタグ・メモリ321及び322から読み出される。こ
の時、プロセッサ21から供給されたアドレス信号AD
の値「0x…0010」がアドレス入力バッファ40に
一時保持される(図6(12)参照)。また、第12の
サイクルでは、LRU情報ライト状態LRWTに遷移し
(図6(2)参照)、この際、第11のサイクルでタグ
・メモリ321及び322から読み出されたインデック
ス番号「03」のタグがネクスト・タグNTGとしてネ
クスト・バッファ361及び362に一時保持される
(図6(4)参照)と共に、アドレス入力バッファ40
に一時保持されている現在のアドレス信号ADの一部で
あるタグ(インデックス番号「00」)が、第10のサ
イクルで不連続アクセス信号TFがアクティブで供給さ
れたので(図6(9)参照)、ブランチ・バッファ37
2にブランチ・タグBTG1として一時保持される(図
6(6)参照)。
ッシュ制御とタグ制御とをそれぞれ独立に並行して処理
するようにしたので、従来に比べてプロセッサ21から
のアクセス要求に対する応答を高速で処理することがで
きる。特に、上記した第3の処理の流れ、即ち、ヒット
し続ける場合には、図5の第9〜第11のサイクルで示
すように、プロセッサ21からのアクセス要求に対し
て、1クロック以内で当該アクセス要求に応じた情報の
供給が可能となり、一層応答の高速処理が可能となる。
また、この例の構成によれば、ミス・ヒットの場合に
は、キャッシュ・フィルされるまではキャッシュ・メモ
リ31にアクセスされないので、従来のように、ヒッ
ト、ミス・ヒットにかかわらずキャッシュ・メモリにア
クセスする場合に比べて、消費電力を削減することがで
きる。特に、キャッシュ・フィル直後は主記憶装置25
から獲得された情報が情報バッファ421〜424に一
時保持されているため、キャッシュ・メモリ31にアク
セスせず、直接所望の情報が情報バッファ421〜42
4からプロセッサ21に供給されるので、その分消費電
力が低減できると共に、応答も高速で処理することがで
きる。さらに、この例の構成によれば、アクセス要求さ
れる可能性の高いタグやアドレスを予め各バッファ35
1,352、361,362、371〜374、38〜
40に保持するようにしたので、それだけタグ・メモリ
351及び352にアクセスする回数を低減でき、これ
によっても消費電力を削減することができると共に、応
答も高速で処理することができる。
バッファ371〜374を設け、不連続アクセス時のタ
グを保持するようにしたので、ミス・ヒットの確率を低
減できると共に、その分タグ・メモリ351及び352
にアクセスする回数を低減でき、これによっても消費電
力を削減することができ、さらに、応答も高速で処理す
ることができる。ここで、図7に、不連続アクセスの例
として、多重ループを有するプログラムの一部を示す。
図7の例は4重ループであり、キャッシュ・メモリ31
に上記プログラムについて何の情報も記憶されていない
状態でプロセッサ21から情報のアクセス要求があった
とすると、命令コードAから命令コードEまではキャッ
シュ・フィルする必要があるので、タグ・メモリ351
及び352が常時アクセスされ、電力が消費されるが、
命令コードEに関して、例えば、ブランチ・バッファ3
71に対応するタグを保持すれば、命令コードDから命
令コードEまでのループが処理されている間はタグ・メ
モリ351及び352はアクセスされず、電力も消費さ
れない(図8(1)参照)。同様に、命令コードF〜H
に関しても、例えば、ブランチ・バッファ372〜37
4に対応するタグを保持すれば、各ループの最初の処理
の時だけタグ・メモリ351及び352がアクセスさ
れ、電力が消費されるが、それ以外の時はタグ・メモリ
351及び352はアクセスされず、電力も消費されな
い(図8(1)参照)。これに対し、従来では、不連続
アクセス時に何等対処していないので、タグ・メモリが
常時アクセスされ、常時電力が消費される(図8(2)
参照)。
詳述してきたが、具体的な構成はこの実施例に限られる
ものではなく、この発明の要旨を逸脱しない範囲の設計
の変更等があってもこの発明に含まれる。例えば、上述
の実施例においては、主記憶装置のブロックをキャッシ
ュ・メモリのブロックのいずれに対応させるかを決定す
るマッピング(mapping)方式の1つとして、主記憶装
置とキャッシュ・メモリとを同数のセットと呼ばれるグ
ループに分割し同一セット間でのみマッピングを許すセ
ット・アソシエイティブ方式(set associative metho
d)を採用した例を示したが、これに限定されず、セッ
ト・アソシエイティブ方式でセットの数が1個の場合の
ダイレクト・マップ・インデックス方式(direct map i
ndex method)や、主記憶装置とキャッシュ・メモリと
を論理的にある固定長のセクタに分割し主記憶装置のセ
クタとキャッシュ・メモリのセクタ間は連想的にマッピ
ングするセクタ方式(sector method)を採用してもも
ちろん良い。また、上述の実施例においては、図3に示
すように、キャッシュ・メモリ31が2ウェイ、1ライ
ン当たり4ワード、1ウェイ当たり256エントリの構
成を有する例を示したが、これに限定されず、ウェイ
数、1ライン当たりのワード数、1ウェイ当たりのエン
トリ数は任意に設定して良い。そして、これらウェイ数
や1ライン当たりのワード数に対応して、各バッファ3
51,352、361,362、421〜424の個数
が設定されるのはいうまでもない。
シュ・メモリ31には、命令とデータの両方(これらを
総称して情報と呼んだ)が一時記憶される例を示した
が、これに限定されず、命令だけが記憶される命令キャ
ッシュ・メモリとデータだけが記憶される情報キャッシ
ュ・メモリとを別々に設けるように構成しても良い。ま
た、上述の実施例では、バッファ・チェック状態BFC
Hにおいて、ネクスト・バッファ361及び362、ブ
ランチ・バッファ371〜374、ラスト・バッファ3
8並びにバックアップ・バッファ39に一時保持されて
いるアドレスやタグと、プロセッサ21から供給された
アドレス信号ADやその一部であるタグとを比較し、い
ずれかの比較器34からヒット情報が出力されたか否か
を判断しているが、これに限定されない。例えば、タグ
・バッファ351及び352にもタグが一時保持されて
いるので、このタグとプロセッサ21から供給されたア
ドレス信号AD一部であるタグとを比較し、比較器34
1又は342からヒット情報が出力されるか否かを判断
しても良い。さらに、上述の実施例のタグ制御におい
て、ネクスト・タグ・リード状態NTRDからLRU情
報ライト状態LRWTに遷移する際に、タグ・メモリ3
21及び322に記憶されているタグを各バッファ36
1,362、371〜374、38及び39にコピーす
るようにしても良い。このように構成すれば、ヒットす
る確率が高くなるので、プロセッサからのアクセス要求
に対する応答をより高速にすることができる。
よれば、プロセッサからのアクセス要求に直ちに応答す
ることができる。しかも、消費電力を削減することがで
きる。これにより、この発明によるキャッシュ・メモリ
制御装置を適用したデータ処理装置の価格を安価にする
ことができると共に、小型化も可能となる。
制御装置の要部の電気的構成を示すブロック図である。
的構成を示すブロック図である。
構成を示すブロック図である。
ためのタイミング・チャートである。
イミング・チャートである。
示す図である。
の消費電流が流れる時間的な割合を説明するための図で
あり、(1)が同装置を用いた場合、(2)が従来の装
置を用いた場合である。
データ処理装置の要部の電気的構成例を示すブロック図
である。
点を説明するためのタイミング・チャートである。
ァ、第4のバッファ) 371〜374 ブランチ・バッファ(第1のバッフ
ァ、第4のバッファ) 38 ラスト・バッファ(第1のバッファ、
第4のバッファ) 39 バックアップ・バッファ(第3のバッ
ファ) 421〜424 情報バッファ(第2のバッファ)
Claims (14)
- 【請求項1】 プロセッサから要求された情報をキャッ
シュ・メモリ又は主記憶装置から読み出して前記プロセ
ッサに供給するキャッシュ・メモリ制御方法において、 前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグが記憶されるタグ・メモリ
と、該タグ・メモリから読み出されたタグが一時保持さ
れる少なくとも1個のバッファとを備え、 前記プロセッサから供給される、要求する情報に対応し
たアドレスに基づいて、次に前記プロセッサが要求する
と予想される情報に対応したアドレスを構成するタグを
少なくとも1個前記タグ・メモリから読み出して前記バ
ッファに一時保持し、次に前記プロセッサから供給され
るアドレスを構成するタグを、前記タグ・メモリから読
み出す前に、前記バッファに一時保持されているタグと
比較し、比較結果にかかわらず、前記バッファに前記次
に前記プロセッサから供給されたアドレスを構成するタ
グに隣接したタグを一時保持させること特徴とするキャ
ッシュ・メモリ制御方法。 - 【請求項2】 前記次に前記プロセッサが要求すると予
想される情報に対応したアドレスを構成するタグは、前
記プロセッサが現在要求している情報に対応したタグ、
該タグに隣接するタグ、前記プロセッサが過去に要求し
た情報に対応したタグ、前記主記憶装置の不連続な記憶
領域に記憶された情報が前記プロセッサから要求された
場合の当該情報に対応したアドレスを構成するタグのう
ち、いずれか1個又はこれらの組み合わせであることを
特徴とする請求項1記載のキャッシュ・メモリ制御方
法。 - 【請求項3】 プロセッサから要求された情報をキャッ
シュ・メモリ又は主記憶装置から読み出して前記プロセ
ッサに供給するキャッシュ・メモリ制御方法において、
前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグが記憶されるタグ・メモリ
と、 該タグ・メモリから読み出されたタグが一時保持される
第1のバッファと、 前記主記憶装置から読み出された情報が一時保持される
第2のバッファと、 該第2のバッファに一時保持されている情報のアドレス
が一時保持される第3のバッファと、 前記プロセッサから次に要求されると予想される情報の
タグが前記タグ・メモリから読み出されて一時保持され
る第4のバッファとを備え、 前記プロセッサから供給された、要求する情報に対応し
たアドレス又は該アドレスを構成するタグと、前記第3
のバッファに一時保持されているアドレス又は前記第1
のバッファに一時保持されているタグとが一致した場合
には、前記キャッシュ・メモリ又は前記第2のバッファ
から当該情報を読み出して前記プロセッサに供給し、一
致しなかった場合には、前記プロセッサから供給された
アドレスを構成するタグを前記タグ・メモリから読み出
して前記第1のバッファに一時保持する第1の処理と、
前記プロセッサから供給されたアドレスを構成するタグ
と、前記第1の処理で前記第1のバッファに一時保持さ
れたタグとが一致した場合には、前記キャッシュ・メモ
リから当該情報を読み出して前記プロセッサに供給し、
一致しなかった場合には、前記プロセッサから供給され
たアドレスに基づいて前記主記憶装置から当該情報を読
み出し、前記第2のバッファ及び前記キャッシュ・メモ
リに一時保持すると共に、前記第3のバッファに前記第
2のバッファに一時保持した情報のアドレスを一時保持
する第2の処理と、前記プロセッサから供給された、要
求する情報に対応したアドレス又は該アドレスを構成す
るタグと、前記第3のバッファに一時保持されているア
ドレス又は前記第1のバッファに一時保持されているタ
グとの比較結果にかかわらず、前記プロセッサから次に
要求されると予想される情報のタグを前記タグ・メモリ
から読み出して前記第4のバッファに一時保持する第3
の処理を有し、 前記第1の処理では、前記プロセッサから供給されたア
ドレス又は該アドレスを構成するタグと、前記第3のバ
ッファに一時保持されているアドレス又は前記第1又は
第4のバッファに一時保持されているタグのいずれかと
が一致するか否かを判断することを特徴とするキャッシ
ュ・メモリ制御方法。 - 【請求項4】 プロセッサから要求された情報をキャッ
シュ・メモリ又は主記憶装置から読み出して前記プロセ
ッサに供給するキャッシュ・メモリ制御方法において、
前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグが記憶されるタグ・メモリ
と、 該タグ・メモリから読み出されたタグが一時保持される
タグ・バッファと、前記主記憶装置から読み出された情
報が一時保持される情報バッファと、該情報バッファに
一時保持されている情報のアドレスが一時保持されるバ
ックアップ・バッファと、 最新のタグが一時保持されるラスト・バッファと、 前記プロセッサから供給された、要求する情報に対応し
たアドレスを構成するタグに隣接するタグが一時保持さ
れるネクスト・バッファと、 前記主記憶装置の不連続な記憶領域に記憶された情報が
前記プロセッサから要求された場合に当該情報に対応し
たアドレスを構成するタグが一時保持されるブランチ・
バッファとを備え、 前記プロセッサから供給されたアドレス又は該アドレス
を構成するタグと、前記バックアップ・バッファに一時
保持されているアドレス又は、前記ラスト・バッファ、
前記ネクスト・バッファ、あるいは前記ブランチ・バッ
ファに一時保持されているタグのいずれかとが一致した
場合には、前記キャッシュ・メモリ又は前記情報バッフ
ァから当該情報を読み出して前記プロセッサに供給する
第1の処理と、 前記プロセッサから供給されたアドレスを構成するタグ
と、前記タグ・バッファに一時保持されているタグとが
一致した場合には、前記キャッシュ・メモリから当該情
報を読み出して前記プロセッサに供給する第2の処理
と、 前記プロセッサから供給されたアドレスに基づいて前記
主記憶装置から当該情報を読み出し、前記情報バッファ
及び前記キャッシュ・メモリに一時保持すると共に、前
記バックアップ・バッファに前記情報バッファに一時保
持した情報のアドレスを一時保持する第3の処理と、 前記プロセッサから供給されたアドレスを構成するタグ
を前記タグ・メモリから読み出して前記タグ・バッファ
に一時保持する第4の処理と、 前記プロセッサから供給されたアドレス又は該アドレス
を構成するタグと、前記ネクストバッファ、前記ブラン
チバッファ、前記ラストバッファ、及び前記バックアッ
プバッファに記憶されたタグの比較結果にかかわらず、
前記プロセッサから供給されたアドレスを構成するタグ
に隣接するタグを前記タグ・メモリから読み出して前記
ネクスト・バッファに一時保持すると共に、当該情報に
対応したアドレスを構成するタグを、前記主記憶装置の
不連続な記憶領域に記憶された情報が前記プロセッサか
ら要求された場合には前記ブランチ・バッファに一時保
持し、それ以外の場合には前記ラスト・バッファに一時
保持する第5の処理とを有することを特徴とするキャッ
シュ・メモリ制御方法。 - 【請求項5】 前記第1乃至第3の処理と、前記第4及
び第5の処理とはそれぞれ独立して並行に処理されるこ
とを特徴とする請求項4記載のキャッシュ・メモリ制御
方法。 - 【請求項6】 前記キャッシュ・メモリは複数個のウェ
イからなり、各ウェイは複数個の情報が記憶される複数
個のエントリからなり、 前記ネクスト・バッファ及び前記タグ・バッファは、そ
れぞれ前記ウェイの個数分設けられ、前記情報バッファ
は1個のエントリに記憶される情報の個数分設けられ、
前記第3の処理では、前記主記憶装置から当該情報が属
するエントリを構成するすべての情報が読み出され、前
記複数個の情報バッファに一時保持されることを特徴と
する請求項4又は5記載のキャッシュ・メモリ制御方
法。 - 【請求項7】 プロセッサから要求された情報をキャッ
シュ・メモリ又は主記憶装置から読み出して前記プロセ
ッサに供給するキャッシュ・メモリ制御装置において、 前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグが記憶されるタグ・メモリ
と、 前記タグ・メモリから読み出されたタグが一時保持され
る少なくとも1個のバッファと、 前記プロセッサから供給される、要求する情報に対応し
たアドレスに基づいて、次に前記プロセッサが要求する
と予想される情報に対応したアドレスを構成するタグが
前記タグ・メモリから読み出されて一時保持される少な
くとも1個のバッファと、 次に前記プロセッサから供給されるアドレスを構成する
タグを、前記タグ・メモリから読み出す前に、前記バッ
ファに一時保持されているタグと比較する比較器と、 前記比較器の比較結果にかかわらず、前記バッファに前
記次に前記プロセッサから供給されたアドレスを構成す
るタグに隣接したタグを一時保持させる制御手段とを備
えてなることを特徴とするキャッシュ・メモリ制御装
置。 - 【請求項8】 前記次に前記プロセッサが要求すると予
想される情報に対応したアドレスを構成するタグは、前
記プロセッサが現在要求している情報に対応したタグ、
該タグに隣接するタグ、前記プロセッサが過去に要求し
た情報に対応したタグ、前記主記憶装置の不連続な記憶
領域に記憶された情報が前記プロセッサから要求された
場合の当該情報に対応したアドレスを構成するタグのう
ち、いずれか1個又はこれらの組み合わせであることを
特徴とする請求項7記載のキャッシュ・メモリ制御装
置。 - 【請求項9】 プロセッサから要求された情報をキャッ
シュ・メモリ又は主記憶装置から読み出して前記プロセ
ッサに供給するキャッシュ・メモリ制御装置において、 前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグが記憶されるタグ・メモリ
と、 該タグ・メモリから読み出されたタグが一時保持される
第1のバッファと、前記主記憶装置から読み出された情
報が一時保持される第2のバッファと、該第2のバッフ
ァに一時保持されている情報のアドレスが一時保持され
る第3のバッファと、 前記プロセッサから次に要求されると予想される情報の
タグが前記タグ・メモリから読み出されて一時保持され
る第4のバッファと、前記プロセッサから供給された、
要求する情報に対応したアドレスを構成するタグと、前
記第1のバッファに一時保持されているタグとを比較
し、一致した場合にはヒット信号を出力する第1の比較
器と、 前記プロセッサから供給されたアドレスと、前記第3の
バッファに一時保持されているアドレスとを比較し、一
致した場合にはヒット信号を出力する第2の比較器と、 前記プロセッサから供給されたアドレスを構成するタグ
と、前記第4のバッファに一時保持されているタグとを
比較し、一致した場合にはヒット信号を出力する第3の
比較器とを備え、 前記第1又は第2の比較器から前記ヒット信号が出力さ
れた場合には、前記キャッシュ・メモリ又は前記第2の
バッファから当該情報を読み出して前記プロセッサに供
給し、 前記第1又は第2の比較器から前記ヒット信号が出力さ
れなかった場合には、前記プロセッサから供給されたア
ドレスを構成するタグを前記タグ・メモリから読み出し
て前記第1のバッファに一時保持し、 前記第1の比較器から前記ヒット信号が出力された場合
には、前記キャッシュ・メモリから当該情報を読み出し
て前記プロセッサに供給し、 前記第1の比較器から前記ヒット信号が出力されなかっ
た場合には、前記プロセッサから供給されたアドレスに
基づいて前記主記憶装置から当該情報を読み出し、前記
第2のバッファ及び前記キャッシュ・メモリに一時保持
すると共に、前記第3のバッファに前記第2のバッファ
に一時保持した情報のアドレスを一時保持し、 前記第1乃至第3の比較器から前記ヒット信号が出力さ
れた場合には、前記キャッシュ・メモリ又は前記第2の
バッファから当該情報を読み出して前記プロセッサに供
給すると共に、前記プロセッサから次に要求されると予
想される情報のタグを前記タグメモリから読み出して前
記第4のバッファに一時保持し、 前記第1乃至第3の比較器から前記ヒット信号が出力さ
れなかった場合には、前記プロセッサから供給されたア
ドレスを構成するタグを前記タグ・メモリから読み出し
て前記第1のバッファに一時保持すると共に、前記プロ
セッサから次に要求されると予想される情報のタグを前
記タグ・メモリから読み出して前記第4のバッファに一
時保持し、 前記第1の比較器から前記ヒット信号が出力された場合
には、前記キャッシュ・メモリから当該情報を読み出し
て前記プロセッサに供給し、 前記第1の比較器から前記ヒット信号が出力されなかっ
た場合には、前記プロセッサから供給されたアドレスに
基づいて前記主記憶装置から当該情報を読み出し、前記
第2のバッファ及び前記キャッシュ・メモリに一時保持
すると共に、前記第3のバッファに前記第2のバッファ
に一時保持した情報のアドレスを一時保持することを特
徴とするキャッシュ・メモリ制御装置。 - 【請求項10】 プロセッサから要求された情報をキャ
ッシュ・メモリ又は主記憶装置から読み出して前記プロ
セッサに供給するキャッシュ・メモリ制御装置におい
て、 前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグが記憶されるタグ・メモリ
と、 該タグ・メモリから読み出されたタグが一時保持される
タグ・バッファと、 前記主記憶装置から読み出された情報が一時保持される
情報バッファと、 該情報バッファに一時保持されている情報のアドレスが
一時保持されるバックアップ・バッファと、 最新のタグが一時保持されるラスト・バッファと、 前記プロセッサから供給された、要求する情報に対応し
たアドレスを構成するタグに隣接するタグが一時保持さ
れるネクスト・バッファと、 前記主記憶装置の不連続な記憶領域に記憶された情報が
前記プロセッサから要求された場合に当該情報に対応し
たアドレスを構成するタグが一時保持されるブランチ・
バッファと、 前記プロセッサから供給された、要求する情報に対応し
たアドレスを構成するタグと、前記タグ・バッファ、前
記ラスト・バッファ、前記ネクスト・バッファ、前記ブ
ランチ・バッファにそれぞれ一時保持されているタグと
を比較し、一致した場合にはそれぞれヒット信号を出力
する第1乃至第4の比較器と、 前記プロセッサから供給されたアドレスと、前記バック
アップ・バッファに一時保持されているアドレスとを比
較し、一致した場合にはヒット信号を出力する第5の比
較器とを備え、 前記第2乃至第5の比較器から前記ヒット信号が出力さ
れた場合には、前記キャッシュ・メモリ又は前記情報バ
ッファから当該情報を読み出して前記プロセッサに供給
する第1の状態と、 前記第1の比較器から前記ヒット信号が出力された場合
には、前記キャッシュ・メモリから当該情報を読み出し
て前記プロセッサに供給する第2の状態と、 前記プロセッサから供給されたアドレスに基づいて前記
主記憶装置から当該情報を読み出し、前記情報バッファ
及び前記キャッシュ・メモリに一時保持すると共に、前
記バックアップ・バッファに前記情報バッファに一時保
持した情報のアドレスを一時保持する第3の状態と、 前記プロセッサから供給されたアドレスを構成するタグ
を前記タグ・メモリから読み出して前記タグ・バッファ
に一時保持する第4の状態と、 前記プロセッサから供給されたアドレスを構成するタグ
に隣接するタグを前記タグ・メモリから読み出して前記
ネクスト・バッファに一時保持すると共に、当該情報に
対応したアドレスを構成するタグを、前記主記憶装置の
不連続な記憶領域に記憶された情報が前記プロセッサか
ら要求された場合には前記ブランチ・バッファに一時保
持し、それ以外の場合には前記ラスト・バッファに一時
保持する第5の状態とが存在することを特徴とするキャ
ッシュ・メモリ制御装置。 - 【請求項11】 前記第1乃至第3の状態と、前記第4
及び第5の状態とはそれぞれ独立して並行に実行される
ことを特徴とする請求項10記載のキャッシュ・メモリ
制御装置。 - 【請求項12】 前記キャッシュ・メモリは複数個のウ
ェイからなり、各ウェイは複数個の情報が記憶される複
数個のエントリからなり、 前記ネクスト・バッファ、前記タグ・バッファ、第1及
び第3の比較器は、それぞれ前記ウェイの個数分設けら
れ、前記情報バッファは1個のエントリに記憶される情
報の個数分設けられ、前記ブランチ・バッファ及び第4
の比較器は所定個数設けられ、前記第3の状態では、前
記主記憶装置から当該情報が属するエントリを構成する
すべての情報が読み出され、前記複数個の情報バッファ
に一時保持されることを特徴とする請求項10又は11
記載のキャッシュ・メモリ制御装置。 - 【請求項13】 プロセッサから要求された情報をキャ
ッシュメモリ又は主記憶装置から読み出して前記プロセ
ッサに供給するキャッシュ・メモリ制御方法において、 前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグを記憶するタグメモリと、 前記タグメモリから読み出された第1のタグを保持する
バッファとを備え、 前記プロセッサから供給される、要求された情報に対応
したアドレスを構成する第2のタグと前記第1のタグと
を比較し、不一致の場合に前記タグメモリに記憶された
タグと、前記第2のタグとを比較すると共に、前記第1
のタグと第2のタグとの比較結果にかかわらず前記バッ
ファに前記第2のタグに隣接するタグを記憶することを
特徴とするキャッシュ・メモリ制御方法。 - 【請求項14】 プロセッサから要求された情報をキャ
ッシュメモリ又は主記憶装置から読み出して前記プロセ
ッサに供給するキャッシュ・メモリ制御方法において、 前記キャッシュ・メモリに記憶されている情報に対応し
たアドレスを構成するタグを記憶するタグメモリと、 前記プロセッサから情報の連続的なアクセスが無かった
場合に、前記プロセッサから要求された情報に対応した
アドレスを保持するアドレスバッファに記憶されたアド
レスを構成する第1のタグを保持するバッファとを備
え、 前記プロセッサから供給される、要求された情報に対応
したアドレスを構成する第2のタグと前記第1のタグと
を比較し、不一致の場合に前記タグメモリに記憶された
タグと前記第2のタグとを比較することを特徴とするキ
ャッシュ・メモリ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28184398A JP3439350B2 (ja) | 1998-10-02 | 1998-10-02 | キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置 |
DE19947055A DE19947055A1 (de) | 1998-10-02 | 1999-09-30 | Verfahren und Vorrichtung zur Steuerung eines Cache-Speichers |
US09/409,881 US6412059B1 (en) | 1998-10-02 | 1999-10-01 | Method and device for controlling cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28184398A JP3439350B2 (ja) | 1998-10-02 | 1998-10-02 | キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000112820A JP2000112820A (ja) | 2000-04-21 |
JP3439350B2 true JP3439350B2 (ja) | 2003-08-25 |
Family
ID=17644792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28184398A Expired - Fee Related JP3439350B2 (ja) | 1998-10-02 | 1998-10-02 | キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6412059B1 (ja) |
JP (1) | JP3439350B2 (ja) |
DE (1) | DE19947055A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3732397B2 (ja) * | 2000-10-05 | 2006-01-05 | 株式会社日立製作所 | キャッシュシステム |
JP2002196981A (ja) * | 2000-12-22 | 2002-07-12 | Fujitsu Ltd | データ処理装置 |
KR100940260B1 (ko) * | 2003-07-14 | 2010-02-04 | 삼성전자주식회사 | 다이나믹 주파수 스케일링에 따라 동작 모드의 제어가가능한 반도체 시스템 및 동작 모드 제어 방법 |
US7117290B2 (en) * | 2003-09-03 | 2006-10-03 | Advanced Micro Devices, Inc. | MicroTLB and micro tag for reducing power in a processor |
US6961276B2 (en) * | 2003-09-17 | 2005-11-01 | International Business Machines Corporation | Random access memory having an adaptable latency |
US20080178497A1 (en) * | 2007-01-29 | 2008-07-31 | Dimauro Anthony R | System and method for expeditious snowplow mounting |
JP2011065503A (ja) * | 2009-09-18 | 2011-03-31 | Renesas Electronics Corp | キャッシュメモリシステム及びキャッシュメモリのway予測の制御方法 |
JP2011150684A (ja) * | 2009-12-21 | 2011-08-04 | Sony Corp | キャッシュメモリおよびキャッシュメモリ制御装置 |
KR101645003B1 (ko) | 2010-02-12 | 2016-08-03 | 삼성전자주식회사 | 메모리 제어기 및 그 메모리 제어기가 탑재된 컴퓨팅 장치 |
US9460016B2 (en) * | 2014-06-16 | 2016-10-04 | Analog Devices Global Hamilton | Cache way prediction |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04160543A (ja) | 1990-10-24 | 1992-06-03 | Mitsubishi Electric Corp | キャッシュ装置 |
EP0485690B1 (en) | 1990-11-13 | 1999-05-26 | International Business Machines Corporation | Parallel associative processor system |
US5394530A (en) * | 1991-03-15 | 1995-02-28 | Nec Corporation | Arrangement for predicting a branch target address in the second iteration of a short loop |
SE469402B (sv) * | 1991-05-02 | 1993-06-28 | Swedish Inst Of Computer Scien | Foerfarande foer att haemta data till ett cache-minne |
WO1993018459A1 (en) * | 1992-03-06 | 1993-09-16 | Rambus Inc. | Prefetching into a cache to minimize main memory access time and cache size in a computer system |
IE940855A1 (en) * | 1993-12-20 | 1995-06-28 | Motorola Inc | Data processor with speculative instruction fetching and¹method of operation |
GB2293668B (en) | 1994-09-30 | 1999-09-29 | Advanced Risc Mach Ltd | Accessing data memories |
US5740416A (en) * | 1994-10-18 | 1998-04-14 | Cyrix Corporation | Branch processing unit with a far target cache accessed by indirection from the target cache |
US5732242A (en) * | 1995-03-24 | 1998-03-24 | Silicon Graphics, Inc. | Consistently specifying way destinations through prefetching hints |
US5737550A (en) * | 1995-03-28 | 1998-04-07 | Advanced Micro Devices, Inc. | Cache memory to processor bus interface and method thereof |
US5809529A (en) * | 1995-08-23 | 1998-09-15 | International Business Machines Corporation | Prefetching of committed instructions from a memory to an instruction cache |
JP3032468B2 (ja) | 1996-06-26 | 2000-04-17 | 株式会社東芝 | 温度補償構造を有する磁気回路及び非可逆回路素子 |
US5953512A (en) * | 1996-12-31 | 1999-09-14 | Texas Instruments Incorporated | Microprocessor circuits, systems, and methods implementing a loop and/or stride predicting load target buffer |
US5956746A (en) * | 1997-08-13 | 1999-09-21 | Intel Corporation | Computer system having tag information in a processor and cache memory |
US6101577A (en) * | 1997-09-15 | 2000-08-08 | Advanced Micro Devices, Inc. | Pipelined instruction cache and branch prediction mechanism therefor |
US6134633A (en) * | 1997-10-31 | 2000-10-17 | U.S. Philips Corporation | Prefetch management in cache memory |
-
1998
- 1998-10-02 JP JP28184398A patent/JP3439350B2/ja not_active Expired - Fee Related
-
1999
- 1999-09-30 DE DE19947055A patent/DE19947055A1/de not_active Ceased
- 1999-10-01 US US09/409,881 patent/US6412059B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20020056026A1 (en) | 2002-05-09 |
JP2000112820A (ja) | 2000-04-21 |
DE19947055A1 (de) | 2000-04-06 |
US6412059B1 (en) | 2002-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5813031A (en) | Caching tag for a large scale cache computer memory system | |
US6138209A (en) | Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof | |
US7899993B2 (en) | Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme | |
US6976126B2 (en) | Accessing data values in a cache | |
US20080052488A1 (en) | Method for a Hash Table Lookup and Processor Cache | |
JPH06231044A (ja) | キャッシュ・メモリを有するデータ処理システム | |
US6745291B1 (en) | High speed LRU line replacement system for cache memories | |
JP3439350B2 (ja) | キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置 | |
CN100377117C (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
US6826670B2 (en) | Accessing memory units in a data processing apparatus | |
US6240489B1 (en) | Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system | |
JP4071942B2 (ja) | データ処理装置及びデータプロセッサ | |
US20060265551A1 (en) | Handling of cache accesses in a data processing apparatus | |
US6686920B1 (en) | Optimizing the translation of virtual addresses into physical addresses using a pipeline implementation for least recently used pointer | |
TW200304594A (en) | System and method of data replacement in cache ways | |
JP2004151962A (ja) | キャッシュメモリ、プロセッサ及びキャッシュ制御方法 | |
EP1163588A1 (en) | Set-associative cache-management method using parallel reads and serial reads initiated while processor is waited | |
US7900019B2 (en) | Data access target predictions in a data processing system | |
JP3583844B2 (ja) | キャッシュメモリ方式 | |
US6226731B1 (en) | Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array | |
JPH0210446A (ja) | バッファ記憶装置 | |
US6594750B1 (en) | Method and apparatus for handling an accessed bit in a page table entry | |
JPH01205250A (ja) | キャッシュメモリの制御方法 | |
JPH08227376A (ja) | コンピュータシステム及びその動作方法 | |
JP2004145780A (ja) | マルチプロセッサ・キャッシュ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080613 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090613 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100613 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100613 Year of fee payment: 7 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100613 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100613 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140613 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |