JPH0764862A - 高速キャッシュ・ミス予測のための方法及び装置 - Google Patents

高速キャッシュ・ミス予測のための方法及び装置

Info

Publication number
JPH0764862A
JPH0764862A JP6111184A JP11118494A JPH0764862A JP H0764862 A JPH0764862 A JP H0764862A JP 6111184 A JP6111184 A JP 6111184A JP 11118494 A JP11118494 A JP 11118494A JP H0764862 A JPH0764862 A JP H0764862A
Authority
JP
Japan
Prior art keywords
address
cache miss
cache
addresses
pattern
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
JP6111184A
Other languages
English (en)
Inventor
Charles P Ryan
チャールズ・ピー・ライアン
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.)
BULL H N INF SYST Inc
Bull HN Information Systems Inc
Original Assignee
BULL H N INF SYST Inc
Bull HN Information Systems 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 BULL H N INF SYST Inc, Bull HN Information Systems Inc filed Critical BULL H N INF SYST Inc
Publication of JPH0764862A publication Critical patent/JPH0764862A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

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)

Abstract

(57)【要約】 【目的】 キャッシュ・メモリに対してオペランドを要
求をしたときのキャッシュ・ミス率を低下させる。 【構成】 最新の複数のキャッシュ・ミス・アドレスを
先入れ先出し式スタック60〜65に格納しておきそれ
らアドレスの間に存在するパターンを探索する。検出さ
れたパターンを用いて後続するはずのキャッシュ・ミス
のアドレスを予測し、その予測アドレスによって特定さ
れる信号を主記憶装置からキャッシュ・メモリへ先取り
する。これを実行する装置は、スタック内に格納してあ
るアドレスを評価する減算回路66、67、69、7
0、72、73と、少なくとも2つの減算回路の出力が
同一か否かを判定する比較回路68、71、74とを備
え、比較回路から送出されるパターン情報がスタック内
の1つのアドレスと加え合わされて予測アドレスが発生
される。複数のパターンの同時探索によって効率を高め
ており、複数のパターンが同時に検出されたときには優
先順位回路によって最優先のパターンを選択する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュ・メモリ機
構を備えたデータ処理システムの中央処理装置の分野に
関し、より詳しくは、キャッシュ・メモリに対するオペ
ランド呼出し要求に関するキャッシュ・ミスを非常な高
速で選択的に予測し、そしてその情報を用いて主記憶装
置からキャッシュ・メモリへデータ転送を行なうことに
より、キャッシュ・ヒット率を向上させるための方法及
び装置に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】システ
ムの動作速度を高速化するために処理装置と主記憶装置
との間に高速キャッシュ・メモリを備え、このキャッシ
ュ・メモリに、主記憶装置に格納されている情報のうち
の動的に変化する部分集合を格納しておくということ
が、当業界において公知となっている。簡潔に述べるな
らば、キャッシュ・メモリには主記憶装置に格納されて
いる情報のうちの動的に変化する一部分の情報を格納す
るようにし、しかも、格納するその一部分の情報を適宜
選択及び更新して、近い将来に実行される動作において
処理装置から要求される命令ないしデータがその一部分
の情報の中に包含されている確率を高めるようにしてい
る。ある動作の実行に関して「キャッシュ・ヒット」し
たならば、処理装置は、必要な情報を得るために主記憶
装置にアクセスせねばならない場合と比べてはるかに高
速で、その情報を入手することができる。従って、多く
の高速データ処理システムにとって「キャッシュ・ミス
率」は、そのシステムの動作速度に対する重大な制約要
因のうちの1つであり、従って「キャッシュ・ミス率」
の値をできる限り低く押える必要がある。
【0003】キャッシュ・ミス率の値を低く押えるため
の要点が、夫々の時点において主記憶装置からキャッシ
ュ・メモリの中へ取り出しておく情報を適切に選択する
ことにあるのは明らかである。命令ブロックに関してい
えば、キャッシュ・メモリの中へ一時的に取り出してお
く命令ブロックを選択するための方法には幾つもの方法
があり、それら方法によれば、プログラミングの際に一
連の命令が多少なりとも1本の道筋に沿って用いられる
ようすることによって統計的に高い効果を得ることがで
きる。しかしながら、オペランド情報に関しては、ある
瞬間にキャッシュ・メモリの中に取り出して格納してお
くオペランド情報の選択は、それよりもはるかに非効果
的にしか行なわれておらず、一般的には、キャッシュ・
ミスが発生したアドレス(キャッシュ・ミス・アドレ
ス)を包含している連続した複数のブロックのうちの、
1つないし幾つかのブロックを転送するという方式にと
どまっていた。この方式では、キャッシュ・ミス率を僅
かにしか低下させることができず、また、キャッシュ・
メモリ容量の利用効率も良くなかった。
【0004】従って当業者には容易に理解されるよう
に、キャッシュ・メモリの中に一時的に格納しておくオ
ペランド情報を選択する手段であって、キャッシュ・ミ
ス率を大幅に低下させることができる手段を提供するこ
とが強く望まれていた。この目的を達成したのが、米国
特許第5093777号に開示され且つその請求の範囲
に記載されている発明である。この米国特許第5093
777号は、Charles P.Ryan が1989年6月12日
に出願した米国特許出願第07/364943号に対し
て付与された特許であり、その発明の名称は「METHOD A
ND APPARATUS FORPREDICTING ADDRESS OF A SUBSEQUENT
CACHE REQUEST UPON ANALYZING ADDRESSPATTERNS STOR
ED IN SEPARATE MISS STACK (個別ミス・スタックの中
に格納してあるアドレスのパターンを解析することによ
り後続のキャッシュ要求のアドレスを予測するための方
法及び装置)」である。同米国特許の発明は、上記目的
を達成するために、最新の複数のキャッシュ・ミスのア
ドレスを格納しておくと共にそれらアドレスの間に存在
するオペランド・パターンを探索するようにした、キャ
ッシュ・メモリの中に備えた特殊目的装置を使用してい
る。探索によってオペランド・パターンが検出されたな
らば、その検出されたオペランド・パターンを利用し
て、予測キャッシュ・ミス・アドレスを包含しているブ
ロックを主記憶装置から先取りし、それによって、何も
しなければ続いて発生するはずのキャッシュ・ミスの発
生を事前に防止するようにしている。
【0005】この米国特許第5093777号に開示さ
れ且つその請求の範囲に記載されている発明に対する更
なる改良を目的としたその他の様々な発明が存在してお
り、本願発明に対するそれら発明の周辺的関連性を明ら
かにするために、以下にそれら発明について説明する。
【0006】ある種の動作状態においては、米国特許第
5093777号に開示され且つその請求の範囲に記載
されている処理手順を常時使用するようにしていると、
長期的キャッシュ・ミス率が却って高くなる(即ち、長
期的キャッシュ・ヒット率が却って低下する)ことがあ
る。一般的に、キャッシュ・メモリ機構を用いた処理装
置では、ある程度以上の長さの期間に亙って同一種類の
処理だけを実行し続けていると、その処理の実行を開始
してからある時間が経過した後にはキャッシュ・ヒット
率がある一定の値に落ち着くようになる。そうなってか
ら別の種類の処理へ移行すると、それまでとは異なった
命令及びデータをキャッシュ・メモリへロードせねばな
らないためにキャッシュ・ヒット率が一時的に甚だしく
低下し、その後に、新たな種類の処理に「慣れる」に従
ってキャッシュ・ヒット率が次第に上昇してくる。この
ときキャッシュ・ミス予測機構を機能させておけば、一
時的低下の直後のキャッシュ・ヒット率上昇の、その上
昇速度を速めることができる。しかしながら、キャッシ
ュ・ミス予測機構を使用している場合のキャッシュ・ヒ
ット率は、キャッシュ・ミス予測機構を使用していない
場合に長期間の動作の後に到達し得るレベルにまでに到
達することなく頭打ちとなってしまう。そのような事態
が生じる原因は、キャッシュ・ミス予測機構が、次に発
生するはずのキャッシュ・ミスの判定とそれに事前対処
するための主記憶装置からのロードとを絶えず実行して
いるため、ロードされたブロックが実際には使用され
ず、却って、より重要なブロックがキャッシュ・メモリ
から追い出されてしまうことにある。
【0007】実行する処理の種類が変化した後に、ずっ
とキャッシュ・ミス予測機構を使用し続けることに伴っ
て発生する、このキャッシュ・ヒット率の頭打ちという
欠点を克服したのが、Charles P. Ryan が1992年2
月26日付で出願した米国特許出願第07/84168
7号に開示され且つその請求の範囲に記載されている発
明である。同米国特許出願は、その発明の名称を「SELE
CTIVELY ENABLED CACHE MISS PREDICTION METHOD AND A
PPARATUS(選択的にイネーブルするようにしたキャッシ
ュ・ミス予測のための方法及び装置)」という。同米国
特許出願の発明は上述の欠点を克服するために、実行す
る処理の種類が変化した直後に生じるキャッシュ・メモ
リの「取込みラッシュ」の間だけ選択的にキャッシュ・
ミス予測機構をイネーブルしてキャッシュ・ヒット率の
一時的低下からの初期回復速度を速め、その後には、タ
イマの時間切れと共に、或いはキャッシュ・ヒット率の
値が所定のスレショルド値に到達すると共に、キャッシ
ュ・ミス予測機構をディスエーブルし、それによってキ
ャッシュ・ヒット率の値が、それ以後の通常の処理手順
の実行を通して、キャッシュ・ミス予測機構を動作させ
続けた場合のキャッシュ・ヒット率の値よりも更に高い
値に落ち着くようにしている。
【0008】しかしながら、動作状態の如何によって
は、処理の種類が変化した直後のキャッシュ・メモリへ
の取込みラッシュの期間が経過した後であっても、キャ
ッシュ・ミス予測機構を動作させ続けることが有利な場
合がある。そのような動作状態の一例を挙げるならば、
例えば、処理に使用するオペランド・データ(行列、ベ
クトル、ないしはストリング)が非常に大きな(キャッ
シュ・メモリの容量を超える程の大きな)データ集合で
あって、そのデータ集合の中のデータを定期的に繰り返
して使用するような場合である。このような動作特性に
とって有利なようにしたのが、Charles P. Ryan が19
92年3月13日付で出願した米国特許出願第07/8
50713号に開示されている発明である。同米国特許
出願は、その発明の名称を「ADAPTIVE CACHE MISS PRED
ICTION MECHANISM(適応性キャッシュ・ミス予測機
構)」という。この米国特許出願の発明は上述の特徴を
達成するために、最新の複数のキャッシュ・ミスのアド
レスを格納しておくと共にそれらアドレスの間に存在す
るアドレス・パターンを探索するようにした特殊目的装
置を使用している。探索によってアドレス・パターンが
検出されたならば、その検出されたアドレス・パターン
を利用して、予測キャッシュ・ミス・アドレスを包含し
ているブロックを主記憶装置から先取りし、それによっ
て、何もしなければ続いて発生するはずのキャッシュ・
ミスの発生を、事前に防止するようにしている。このキ
ャッシュ・ミス予測機構は適応性回路によって適応性を
もって選択的にイネーブルするようにしてあり、その適
応性回路は、オペランド呼出し要求に関するキャッシュ
・ヒット率の値の短期的履歴記録を生成して、キャッシ
ュ・ヒット率の値の上昇傾向及び低下傾向に応答して、
キャッシュ・ミス予測機構をイネーブル及びディスエー
ブルするように機能するものである。
【0009】この米国特許出願第07/850713号
に開示されているキャッシュ・ミス予測回路は、主記憶
装置のアドレス空間が1本の道筋の上に連続して並んで
いる環境で動作させるのに最も適したものである。しか
しながら、多くの処理装置は主記憶装置のアドレス空間
をページング方式の構成にしてあり、そのページの大き
さは一般的に1024〜4096バイトの範囲内の大き
さである。主記憶装置をページング方式とした環境で
は、通常の処理動作に伴って生成されるメモリ・アドレ
スは仮想アドレスであるため、そのアドレスを仮想アド
レスから物理アドレスへ変換する必要がある。この変換
を行なうためには、一般的に、そのアドレスを2つのフ
ィールドに分解する。低位の方の幾つかのビットは1つ
のページの中でのアドレスを表わしており、それらビッ
トは変換されない。残りの全てのビット、即ち、高位の
方のビットは、処理装置の中のページング装置によって
仮想アドレス空間から物理アドレス空間へ変換される
が、この変換は、走らせているプログラムからは見えな
いようにして行なわれる。主記憶装置をページング方式
とすることの主目的は、主記憶装置よりはるかに大きな
仮想記憶装置にアドレスできるようにすることにある
が、ただし、重要な二次的目的として、主記憶装置のペ
ージのうちの選択されたページの機密保護を容易にする
ことや、主記憶装置のページのうちのあるページが障害
を発生したときにも、動作を続行できるようにするとい
うことがある。
【0010】前述の米国特許第5093777号に開示
されている方法及び装置には更に、その固有の欠点とし
て、複数のパターンの探索が常に同じ順序で行なわれる
という欠点があった。例えば、あるパターンが、探索を
行なう8種類のパターンのうちの最後のものであったな
らば、そのパターンを発見するまでに常に7回の余計な
探索サイクルが必要とされる。このことは、次に発せら
れる要求を先取りするという利点に対して悪影響を及ぼ
すものである。この欠点に取組んで克服したのが、米国
特許出願第07/906618号に開示され且つその請
求の範囲に記載されている発明である。この米国特許出
願第07/906618号は、CharlesP. Ryan が19
92年6月30日付で出願したものであり、発明の名称
を「PATTERN SEARCH OPTIMIZER FOR CACHE MISS PREDIC
TION METHOD AND APPARATUS (キャッシュ・ミス予測の
方法及び装置のためのパターン探索最適化)」という。
この米国特許出願の発明はその目的を達成するために、
最新の複数のキャッシュ・ミスのアドレスを格納してお
くと共にそれらアドレスの間に存在するアドレス・パタ
ーンを探索するようにした特殊目的装置を使用してい
る。探索によってアドレス・パターンが検出されたなら
ば、その検出されたアドレス・パターンを利用して、予
測キャッシュ・ミス・アドレスを包含しているブロック
を主記憶装置から先取りし、それによって、何もしなけ
れば続いて発生するはずのキャッシュ・ミスの発生を事
前に防止するようにしている。この特殊目的装置は、そ
の効率を向上させるために、複数のパターンの探索を試
みる際の、その探索の順序をレジスタ・スタックの中に
格納するようにし、そして、最も新しく発見されたパタ
ーンのパターン選択値をそのレジスタ・スタックのトッ
プに入れるためのロジック回路を備えており、新たにパ
ターン選択値がレジスタ・スタックに入れられるたび
に、その他のパターン選択値がレジスタ・スタック内に
おいてプッシュ・ダウンされるようにしている。
【0011】前述の米国特許第5093777号に開示
されている方法及び装置には、更に別の欠点もあった。
それは、処理動作が物理アドレスによって行なわれてい
るために、主記憶装置内のページの境界を超える際に無
効予測が行なわれたり、或いはシステムに問題を生じさ
せるおそれのある予測が行なわれたりすることがあると
いうことであった。例えば、あるパターンが、物理記憶
装置である主記憶装置の中の、次のページへと続いて行
くパターンであれば、そのパターンが、他のユーザに割
当てられている記憶空間(その記憶空間は機密記憶空間
である場合もある)や、他のプロセスに割当てられてい
る記憶空間へ入り込んでしまうことがあり得る。また、
続く次のページが、損傷したページであったり、不使用
ページとされていることもあり得る。また、続く次のペ
ージに包含されている情報が、現時点ではキャッシュ・
メモリの中に取り込んでおく価値のない情報であること
もあり得る。予測プロセスを実行した結果、ページの境
界を超えて、他のユーザないし他のプロセスに割当てら
れている記憶領域や、損傷している記憶領域の中へ入り
込んでしまったならば、処理装置は、その結果として生
じる無効状態からの回復処理を行なってからでなければ
通常の処理を続行することができず、その回復処理動作
のために過重な性能上の犠牲を強いられるおそれがあ
る。この欠点に取組んで克服したのが、米国特許出願第
07/921825号に開示され、且つその請求の範囲
に記載されている発明である。同米国特許出願は、Char
les P. Ryan が1992年7月29日付で出願したもの
であり、その発明の名称を「CACHE MISS PREDICTION ME
THOD AND APPARATUS FOR USE WITH PAGED MAIN MEMORY
INA DATA PROCESSING SYSTEM (データ処理システムに
おけるページング方式の主記憶装置に用いるキャッシュ
・ミス予測の方法及び装置)」という。同米国特許出願
の発明はその目的を達成するために、最新の複数のキャ
ッシュ・ミスのアドレスを格納しておくと共にそれらア
ドレスの間に存在するアドレス・パターンを探索するよ
うにした特殊目的装置を使用している。探索によってア
ドレス・パターンが検出されたならば、その検出された
アドレス・パターンを利用して、予測キャッシュ・ミス
・アドレスを包含しているブロックを主記憶装置から先
取りし、それによって、何もしなければ続いて発生する
はずのキャッシュ・ミスの発生を事前に防止するように
している。そして、ページング方式の主記憶装置を含ん
でいる環境で動作しているその専用目的装置の効率を向
上させるために、先取りを行なったならばページの境界
を超えてしまう場合には、その先取りを禁止するように
機能するロジック回路を付加している。
【0012】当業者には容易に理解されるように、以上
に説明した幾つもの発明は、個別に採用することもでき
れば、様々な組合せで採用することもでき、それによっ
て、価格、規模、速度、等々が夫々に異なった様々な種
類のシステムにおけるオペランド・キャッシュ機構を効
果的に確立することができる。しかしながら最大限の速
度が要求される用途においては、それら発明のいずれ
も、複数のパターンの探索が1つずつ順番に行なわれて
行くということが制約となっている。本発明は、それら
発明に固有の、この速度上の制約に取組んで克服するこ
とを目指したものである。
【0013】従って本発明の広い目的は、データ処理シ
ステムにおける改良したキャッシュ・メモリを提供する
ことにある。
【0014】本発明の更なる目的は、オペランド・ブロ
ックが要求される動作におけるキャッシュ・ミス率が低
いことを特に特徴とするキャッシュ・メモリを提供する
ことにある。
【0015】本発明のより具体的な目的の1つは、キャ
ッシュ・ミス予測を非常な高速で行なうことによってシ
ステムの動作速度を大幅に向上させることのできるキャ
ッシュ・ミス予測のための方法及び装置を組み入れたキ
ャッシュ・メモリを提供することにある。
【0016】本発明の更に具体的な目的の1つは、最近
の複数のキャッシュ・ミス・アドレスを調べる際に、同
時に複数のアドレス・パターンの有無について調べ、そ
れによって、何もしなければ次に発生するはずのキャッ
シュ・ミス・アドレスを判定するための基礎とすべき1
つの選択されたパターンを求めるようにしたキャッシュ
・ミス予測のための方法及び装置を提供することにあ
る。
【0017】
【課題を解決するための手段】簡潔に述べるならば、本
発明の以上の目的並びにその他の目的を達成するため
に、最新の複数のキャッシュ・ミスのアドレスを格納し
ておくと共にそれらアドレスの間に存在するアドレス・
パターンを探索するようにした特殊目的装置を使用して
いる。探索によってアドレス・パターンが検出されたな
らば、その検出されたアドレス・パターンを利用して、
予測キャッシュ・ミス・アドレスを包含しているブロッ
クを主記憶装置から先取りし、それによって、何もしな
ければ続いて発生するはずのキャッシュ・ミスの発生を
事前に防止するようにしている。そして、この方法及び
装置の効率を高めるために、複数のパターンを同時に探
索するようにし、また、最近の複数のキャッシュ・ミス
・アドレスの所与の集合に関して2つ以上のパターンが
検出された場合に備えて、優先順位に従って選択を行な
う優先順位回路を備えるようにしている。
【0018】
【実施例】以下に図面を参照しつつ、本発明の実施例に
ついて説明して行く。先ず図1について説明すると、同
図は、キャッシュ・メモリ機構を組み込んだデータ処理
システムのハイレベルのブロック図を示したものであ
る。当業者には明らかなように、図1のブロック図はあ
くまでも具体的な一例を提示するものに過ぎず、実際に
は図1のブロック図に示されたものに、更に様々な変更
が加えられることになる。この図1のブロック図の果た
す役目は、本発明を詳細に論じるために全体像の一例を
提供することだけである。図示のデータ処理システムは
主記憶装置13を含んでおり、この主記憶装置13に
は、中央処理装置14が目的とする処理を実行する際に
必要とするデータの信号群(例えば情報ワード等であ
り、命令とオペランドとの両方がある)が格納されてい
る。格納されている信号群のうち、短期間のうちに中央
処理装置14によって必要されることになる可能性が高
い信号群は、主記憶装置13から(或いはユーザ装置1
5から)システム・インターフェース装置11を介して
キャッシュ・メモリ装置12へ転送される。(当業者に
は明らかなように、データ処理システムの様々なアーキ
テクチャのうちには信号群の転送をシステム・バスを介
して行なうようにしたアーキテクチャもあり、そのよう
なアーキテクチャでは、システム・バスとの間で相互作
用を行なう構成要素の各々にインターフェース装置が必
要である)。キャッシュ・メモリ装置12へ転送された
信号群は、中央処理装置14から要求があるまで、この
キャッシュメモリ装置12の中に格納されている。該当
する信号群を取り出すために、一般的に、中央処理装置
14にはアドレス変換装置16が備えられており、この
アドレス変換装置16は、中央処理装置14が取り出す
べき信号群を特定するのに使用した仮想アドレスを、デ
ータ処理システムのうちのこの中央処理装置14以外の
部分がその信号群を特定するのに使用する、その信号群
に対応した実アドレスへ変換するものである。
【0019】キャッシュ・メモリ装置14に一時的に格
納される情報には命令とオペランドとの両方があり、そ
れらは、別々のセクションに分けて格納するようにして
も良く、また、それらを区別せずに一様に格納するよう
にしても良い。ただし、本発明を実施する上で、オペラ
ンド情報に関してだけ本発明の動作が起動されるように
したい場合には、命令とオペランドとを、キャッシュ・
メモリ装置14の中の別々の(少なくとも命令のアドレ
スとオペランドのアドレスとが混じり合うことがないと
いう意味において別々の)記憶セクションに格納するよ
うにするのが良い。
【0020】本発明の1つの局面であるキャッシュ・ミ
ス予測機構は、オペランド呼出し要求の結果として発生
した複数のキャッシュ・ミスの間に存在するパターンを
認識し、その認識によって検出したパターンを利用する
ものである。極めて単純な具体例を挙げるならば、例え
ば、検出されたあるパターンが、3つの連続したキャッ
シュ・ミス・アドレスA、B、Cから成り、それらアド
レスが、実際に連続したオペランド・アドレスであっ
て、それらアドレスに続く次のアドレスがDであるとい
う場合である。このようなパターンが発生することがあ
るのは、例えば、データの1つのカラム(列)の中の、
連続する複数のロー(行)を次々とアクセスして行くこ
とを必要とするデータ操作手順等においてである。この
パターンが検出されたならば、すぐにも信号群Dがアク
セスされる可能性が高いのであるから、その信号群Dを
キャッシュ・メモリ装置14の中へ先取りしておくのが
適切である。
【0021】ここで先ず、前述の米国特許第50937
77号に開示され、且つその請求の範囲に記載されてい
る従来例の発明を明らかにするために、図2に示した比
較的簡単な配線による構成の説明をしておく。同図にお
いて、ミス・スタック20は最新の16個のキャッシュ
・ミスのアドレスを保持しており、それら16個のキャ
ッシュ・ミス・アドレスのうちの最も古いものは、アド
レスPで表わされており、このスタックへ新たに入れら
れるエントリは、このスタックのトップへ入れられる。
4個の4入力電子スイッチ21、22、23、24は、
ライン25を介して供給されるシフト・パターン信号に
よって、一斉に駆動されるようにしてあり、その駆動の
態様は次のとおりである。先ず、第1状態では、それら
4個の電子スイッチの夫々の出力にアドレスA、B、
C、Dが送出されている。第2状態では、それら出力に
アドレスB、D、F、Hが送出されており、第3状態で
は、それら出力にアドレスC、F、I、Lが送出されて
おり、そして第4状態では、それら出力にアドレスD、
H、L、Pが送出されている。減算回路26、27、2
8は、それら電子スイッチ21、22、23、24のの
夫々の出力を入力として受け取るように接続されてお
り、より詳しく述べるならば、減算回路26の出力は、
電子スイッチ21の出力から電子スイッチ22の出力を
減じたものとなるように、減算回路27の出力は、電子
スイッチ22の出力から電子スイッチ23の出力を減じ
たものとなるように、そして、減算回路28の出力は、
電子スイッチ23の出力から電子スイッチ24の出力を
減じたものとなるように、それら減算回路を接続してあ
る。
【0022】減算回路26の出力は、加算回路31の一
方の入力に供給されており、この加算回路31の他方の
入力は、電子スイッチ21の出力によって駆動されてい
る。減算回路26の出力は更に、比較回路29の一方の
入力へも供給されている。減算回路27の出力は、比較
回路29の他方の入力へ供給されていると共に、もう1
つの比較回路30の一方の入力へも供給されており、こ
の比較回路30の他方の入力は、減算回路28の出力に
よって駆動されている。比較回路29の出力と比較回路
30の出力とは、ANDゲート32の2つの入力へ夫々
に供給されており、このANDゲート32が先取りイネ
ーブル信号を選択的に発生する。
【0023】次に、図2に示した以上の回路の動作につ
いて説明する。既述の如く、ミス・スタック20は最新
の16個のキャッシュ・ミスのアドレスを保持してお
り、それら16個のキャッシュ・ミス・アドレスのうち
では、アドレスAが最も新しく発生したキャッシュ・ミ
スのアドレスである。このアドレスAによって特定され
る信号群の呼出し要求が発せられたためにキャッシュ・
ミスが発生したならば、それが発生した時点で、ミス・
スタックの中に存在している複数のアドレスの間のパタ
ーンを探索するための回路動作が開始される。このとき
には、電子スイッチ21、22、23、24は、それら
電子スイッチの第1状態にあり、この状態では、電子ス
イッチ21はアドレスAを通過させているため、この電
子スイッチ21の出力にはアドレスAが送出されてお
り、また、電子スイッチ22の出力にはアドレスBが送
出されており、電子スイッチ23の出力にはアドレスC
が送出されており、また、電子スイッチ24の出力には
アドレスDが送出されている。ここで、AとBの間の差
分、BとCの間の差分、それにCとDの間の差分が全て
等しくはなかったものとすれば、減算回路26の出力、
減算回路27の出力、それに減算回路28の出力が全て
等しくなることはないため、比較回路29と30との一
方もしくは両方が不等信号を発生し、従ってANDゲー
ト32はイネーブルされず、このANDゲート32がイ
ネーブルされないということによって「該当パターン不
在」状態であることが表示される。
【0024】続いて上記の4個の電子スイッチは、それ
ら電子スイッチの第2状態へ遷移させられ、この第2状
態になったならば、それら4個の電子スイッチは、夫々
の出力にアドレスB、D、F、Hを送出するようにな
る。ここで、(B−D)=(D−F)=(F−H)であ
ったものとすれば、即ち、それらアドレス離隔量の間に
シーケンシャル・パターンが検出されたものとすれば、
比較回路29と30との両方が同等信号を送出するた
め、ANDゲート32が完全にイネーブルされて、この
ANDゲート32から先取りイネーブル信号が送出され
るようになる。このとき同時に、加算回路31からの出
力は、予測アドレス(B+(B−D))になる。この予
測アドレスは、検出されたパターンを先へ延長したもの
であり、それゆえ、これによって先取りされる信号群
は、中央処理装置から要求される確率が高く、従ってキ
ャッシュ・ミス率を低下させるものであることが分か
る。
【0025】一方、上記のアドレスの組合せ[B・D・
F・H]の間にパターンが検出されなかった場合には、
上記の4個の電子スイッチは、それら電子スイッチの次
の状態へ遷移させられ、その状態において、アドレスの
組合せ[C・F・I・L]に関してパターンの有無が調
べられ、そして、もし必要とあらば更に、アドレスの組
合せ[D・H・L・P]に関してもパターンの有無が調
べられる。以上のいずれの場合にもパターンが検出され
なかった場合には、図示の回路は次のキャッシュ・ミス
が発生するのを待つ。そして次のキャッシュ・ミスが発
生したならば、新たなエントリがミス・スタックのトッ
プに入れられ、アドレスPがミス・スタックのボトムか
ら押し出されて、その後に、該当パターンの探索が再び
開始される。
【0026】以上の説明は、先に言及した米国特許第5
093777号(同米国特許の内容はこの言及をもって
本開示に組み込まれるものとする)に開示され、且つそ
の請求の範囲に記載されている発明の実施例のうちの、
比較的簡明な実施例に関するものである。米国特許第5
093777号は(先に説明した、それを更に発展させ
た幾つかの発明と共に)、本発明に最も近い公知の従来
例を代表するものであり、本発明は、この米国特許第5
093777号に採用されている複数の原理のうちの幾
つかを採用しているが、ただしその他の点については基
本的に異なったものである。本明細書の「従来の技術及
び発明が解決しようとする課題」の項で説明した従来例
の特許文献中に開示されている様々な発明は全て顕著な
利点を有するものであるが、ただし、それら従来例の発
明はいずれも、オペランド・アドレスに関する複数のア
ドレス・パターンの探索を1つずつ順番に行なってお
り、このことは、最大限の動作速度が求められている場
合には重大な欠点となりかねない。本発明は、それら従
来例の発明に固有の動作速度に関する制約に取組んでそ
れを克服するものである。ただし、先に言及した従来例
の特許文献中に開示されているそれら発明のうちの幾つ
かは、本発明と併せて利用し得るものであることに注意
されたい。
【0027】次に、図3について説明する。同図は、本
発明を説明するための、簡明化したロジック回路図であ
る。一連の複数のレジスタ60、61、61、63、6
4、65によって先入れ先出し式スタックを構成してあ
り、このスタックは、最新の複数のキャッシュ・ミスの
オペランド・アドレスを格納しておくためのものである
(図示の具体例では、スタックに格納するのは、最新の
6個のキャッシュ・ミスのアドレス並びに「現在」キャ
ッシュ・ミスのアドレスであり、それらアドレスのうち
の「現在」キャッシュ・ミスのアドレスを、このスタッ
クの中の現在トップ・エントリであると見なすようにし
ている)。また、複数の減算回路66、67、69、7
0、72、73によって減算器回路アレイを構成してあ
り、それら減算回路の各々は第1入力と第2入力とを持
ち、それら2つの入力は、格納されているキャッシュ・
ミス・アドレスのうちの2つのアドレスを表わしてい
る。更に詳細に述べるならば、減算回路66へは「現
在」キャッシュ・ミス・アドレスとレジスタ60からの
キャッシュ・ミス・アドレスAとが供給されている。ま
た、減算回路67へはキャッシュ・ミス・アドレスA及
びBが供給されており、減算回路69へは「現在」キャ
ッシュ・ミス・アドレスとキャッシュ・ミス・アドレス
Bとが供給されており、減算回路70へはキャッシュ・
ミスB及びDが供給されており、減算回路72へは「現
在」キャッシュ・ミス・アドレスとキャッシュ・ミス・
アドレスCとが供給されており、そして減算回路73へ
は、キャッシュ・ミス・アドレスC及びFが供給されて
いる。
【0028】減算回路66からの差分出力と減算回路6
7からの差分出力とは、夫々、比較回路68の第1入力
と第2入力とへ供給されている。同様に、減算回路69
からの出力と減算回路70からの出力とは比較回路71
へ供給されており、減算回路72からの出力と減算回路
73からの出力とは比較回路74へ供給されている。更
に加えて、減算回路66からの出力、減算回路69から
の出力、及び減算回路72からの出力は、電子スイッチ
75の個別の入力へも供給されており、この電子スイッ
チ75は切換動作を行なうことにより、みずからの複数
の入力のうちから選択した1つの入力を通過させて、そ
の入力をみずからの出力へ送出する機能を有する。
【0029】比較回路68、71、74の各々からの出
力は、ORゲート78の複数の入力へ個別に供給されて
いると共に、優先順位エンコーダ76の入力へも供給さ
れている。この優先順位エンコーダ76出力は、電子ス
イッチ75へ制御信号として供給されており、この制御
信号は、電子スイッチ75の複数の入力へ供給されてい
る入力信号のうちから、この電子スイッチ75を通過さ
せて出力へ送出させるべき1つの信号を選択する制御信
号である。以上から、以下のa)〜c)が明らかであ
る。 a)「現在」キャッシュ・ミス・アドレス(CCMA)
とキャッシュ・ミス・アドレスA(CMAA)との間の
差分(これは減算回路66の出力である)がCMAAと
CMABとの間の差分(これは減算回路67の出力であ
る)と等しければ、比較回路68が優先順位エンコーダ
76へ「同等」信号を送出する。 b)「現在」キャッシュ・ミス・アドレス(CCMA)
とキャッシュ・ミス・アドレスB(CMAB)との間の
差分(これは減算回路69の出力である)がCMABと
CMADとの間の差分(これは減算回路70の出力であ
る)と等しければ、比較回路71が優先順位エンコーダ
76へ「同等」信号を送出する。 c)「現在」キャッシュ・ミス・アドレス(CCMA)
とキャッシュ・ミス・アドレスC(CMAC)との間の
差分(これは減算回路72の出力である)がCMACと
CMAFとの間の差分(これは減算回路73の出力であ
る)に等しければ、比較回路74が優先順位エンコーダ
76へ「同等」信号を送出する。
【0030】比較回路68、71、及び74の各々から
の出力は更に、ORゲート78の個別の入力へも供給さ
れており、そのためこのORゲート78は、それら比較
回路のうちの少なくとも1つが「同等」状態を検出して
いるときには、「先取りイネーブル」信号を送出してい
る。
【0031】ここでは取り敢えず、優先順位エンコーダ
76及び電子スイッチ75の動作を無視して説明するこ
とにし、また具体例の状況として、比較回路68が「同
等」状態を検出している状況、即ち、(CCMA−CM
AA)=(CMAA−CMAB)の状況にあるものとす
る。このような状況が生じ得るのは、例えば、CCMA
とCMAAとの間の差分が「1」であると共に、CMA
AとCMABとの間の差分も「1」である場合であり、
これは、進行中の一連のオペランド・アドレスに該当す
る明瞭なパターンを示している。また、この場合には、
加算回路77において、CCMAとCMAAとの間の差
分(離隔量にして「1」)がCCMAに加えられること
によって予測アドレスが算出され、これにより、何もし
なければ発生するはずのそのパターンの続きの部分のキ
ャッシュ・ミスの発生が事前に防止される。また、上に
示したb)及びc)の状況においても、同様の解析が行
なわれる。
【0032】優先順位エンコーダ76及び電子スイッチ
75は、2つ以上のパターンを同時に探索する場合に必
要なものであり、この、2つ以上のパターンの同時探索
を行なうということが、本発明の主たる目的に他ならな
い。優先順位エンコーダ76及び電子スイッチ75の回
路は在来の技法を用いて構成することができ、例えば図
4に例示した簡明な構成とすることができる。図4に示
した具体例では、アドレス差分の値域を一例として4ビ
ットに選択してある。
【0033】図4に関しては先ず、比較回路68の中で
行なわれているアドレス差分どうしの比較について説明
する。この比較は、減算回路66で検出されたアドレス
差分(即ち、CCMA−CMAA)と、減算回路67で
検出されたアドレス差分(即ち、CMAA−CMAB)
との比較である。それら2つの減算回路66及び67の
各ビット・ポジションは、ANDゲート80、83、8
6、89のうちの1つのANDゲートと、NORゲート
81、84、87、90のうちの1つのNORゲートと
へ供給されている。特に、それら2つの減算回路66及
び67の夫々の第0番ビットについて説明すると、それ
ら第0番ビットが共に「1」であればANDゲート80
がイネーブルされる。また、それら第0番ビットが共に
「0」であればNORゲート81がイネーブルされる。
これらいずれの場合にも、ORゲート82がイネーブル
されるため、ANDゲート92の第1入力へ向けて
「1」が送出される。しかるに、それら第0番ビットの
うちの一方が「1」で、他方が「0」である場合には、
ORゲート82はイネーブルされない。その他の、第1
番ビット、第2番ビット、それに第3番ビットに対応し
た夫々のロジックの機能もこれと同一である。以上から
明らかなように、ANDゲート92が完全にイネーブル
されるのは、減算回路66の4つのビットと減算回路6
7の4つのビットとが完全に一致したときだけである。
比較回路71及び比較回路74も、それら比較回路への
入力に対して以上に説明した比較回路68と同様に応答
する。
【0034】ANDゲート92が完全にイネーブルされ
たならば、このANDゲート92は優先順位エンコーダ
76へ向けて「1」を送出する。同様に、比較回路71
及び/または74が同等状態を検出していれば、それら
比較回路の一方もしくは両方もまた、優先順位エンコー
ダ76へ向けて「1」を送出する。この場合(即ち、2
つ以上のパターンが認識された場合)には、優先順位エ
ンコーダ76が、存在しているパターンのうちで優先順
位が最も高いパターンを、予測アドレスを決定するため
のパターンとして選択するように機能する。
【0035】比較回路68からの出力は否定回路93へ
供給されると共にORゲート95の一方の入力へも供給
されている。比較回路71からの出力は否定回路94へ
供給されると共にANDゲート96の一方の入力へも供
給されている。このANDゲート96の他方の入力は否
定回路93によって駆動されている。比較回路74から
の出力はANDゲート97の第1の入力へ供給されてお
り、このANDゲート97の第2の入力と第3の入力と
は、否定回路93と否定回路94とによって駆動されて
いる。ANDゲート96の出力は、ORゲート98の一
方の入力を駆動しており、ANDゲート97の出力は、
ORゲート95の入力とORゲート98の入力との両方
を駆動している。
【0036】ORゲート98の出力とORゲート95の
出力とは、直前のキャッシュ・ミス・アドレスと現在キ
ャッシュ・ミス・アドレスとの所与の組合せに関して検
出されたパターンのうちの最高優先順位のパターンを表
わす2つのビットであって、ORゲート98の出力が高
位桁のビット、そしてORゲート95の出力が低位桁の
ビットである。3つの比較回路68、71、74のうち
のどれ1つとして「同等」信号を送出していないときに
は、ORゲート98とORゲート95との両方が完全に
ディスエーブルされており、そのため電子スイッチ75
へ送出されている出力は「00」になっている。この状
態から比較回路68だけが「同等」信号を送出するよう
になると、ORゲート95はイネーブルされるがORゲ
ート98はディスエーブルされたままであるため、電子
スイッチ95へ送出されている出力は「01」になる。
また、比較回路71だけが「同等」信号を送出するよう
になると、ANDゲート96がイネーブルされてORゲ
ート98をイネーブルするため、電子スイッチ75へ送
出されている出力は「10」になる。また、比較回路7
4だけが「同等」信号を送出するようになると、AND
ゲート97がイネーブルされてORゲート98とORゲ
ート95との両方をイネーブルするため、電子スイッチ
75へ送出されている出力は「11」になる。
【0037】更に、比較回路68と比較回路71との2
つが「同等」信号を送出するようになると、否定回路9
3によって、ANDゲート96及び97がイネーブル状
態になることが阻止されるため、電子スイッチ75へ送
出されている出力は「01」になり、これによってパタ
ーン#1が優先することが示される。比較回路68と比
較回路74との2つが「同等」信号を送出するようにな
ったときと、3つの比較回路68、71、及び74の全
てが「同等」信号を送出するようになったときにもこれ
と同じ結果が得られ、即ち、電子スイッチ75へ送出さ
れている出力は「01」になり、それによってパターン
#1の選択が強制される。また、比較回路71と比較回
路74との2つが「同等」信号を送出するようになった
ならば、ANDゲート96は完全にイネーブルされる
が、ANDゲート97はイネーブルされないため、電子
スイッチ75へ送出されている出力は「10」になり、
それによってパターン#2の選択が強制される。
【0038】電子スイッチ75は簡単な構造のデコーダ
であり、優先順位エンコーダ76からの出力に応答して
切換動作を行なうことによって3つの減算回路66、6
9、72のうちの然るべき1つの減算回路からの入力
(図示の実施例では4ビットの入力)を、加算回路77
(図3)へ送出するように機能するものである。それら
3つの減算回路66、69、72からの入力は、AND
ゲート102、103、104の夫々の入力へ供給され
ており、それらANDゲートのうちの1つが完全にイネ
ーブルされると、ORゲート105がイネーブルされ
て、選択された1つのアドレス差分が通過して加算回路
77へ送出され、この加算回路77においてそのアドレ
ス差分が現在キャッシュ・ミス・アドレスに加算され
て、予測アドレスが算出される。優先順位エンコーダ7
6から電子スイッチ75へ入力している入力が「00」
であるときには、3つのANDゲート102、103、
104の全てがディスエーブルされている。この入力が
「01」になると、ANDゲート103だけがイネーブ
ルされて、減算回路66からの入力が加算回路77へ送
出されるようになる。この入力が「10」になると、A
NDゲート102だけがイネーブルされて、減算回路6
9からの入力が加算回路77へ送出されるようになる。
また、この入力が「11」になると、ANDゲート10
4だけがイネーブルされて、減算回路72からの入力が
加算回路77へ送出されるようになる。このような結果
が得られるのは、ORゲート95とANDゲート102
の1つの入力との間に論理的に配置した否定回路100
と、ORゲート98とANDゲート103の1つの入力
との間に論理的に配置した否定回路101とを使用して
いるからである。
【0039】当業者には容易に理解されるように、図2
及び図3のロジック回路図は幾分簡略化して示したもの
であり、というのは、2進数の多数桁の情報をあたかも
2進数の1桁の情報であるかのように図示してあるから
である。また図4も同様に、4ビット幅のアドレス差分
だけを取り扱うものとして図示してある。実際には、必
要に応じて、更に追加の次元を取り扱うための、電子ス
イッチ、ゲート、等々のアレイが用いられ、それらは完
全に在来の方法で用いることができる。更に、このキャ
ッシュ・ミス予測機構を所与のデータ処理システム環境
に組み込むためのタイミング信号及びロジックは、その
環境に適したものであれば良く、簡単な設計のロジック
を使用することができる。
【0040】
【発明の効果】以上に説明したような構成とすることに
よって、本発明の改良したキャッシュ・メモリは、オペ
ランド・ブロックが要求される動作におけるキャッシュ
・ミス率を低くすること、キャッシュ・ミス予測を非常
な高速で行なうことによってシステムの動作速度を大幅
に向上させること、及び、最近の複数のキャッシュ・ミ
ス・アドレスを調べる際に、同時に複数のアドレス・パ
ターンの有無について調べ、それによって、何もしなけ
れば次に発生するはずのキャッシュ・ミス・アドレスを
判定するための基礎とすべき1つの選択されたパターン
を求めるようにしたキャッシュ・ミス予測のための方法
及び装置を提供することを実現した。
【図面の簡単な説明】
【図1】キャッシュ・ミスを使用している、従って、本
発明を実施するための具体的な一例としての環境を構成
している、典型的なデータ処理システムの一般化したブ
ロック図である。
【図2】米国特許第5093777号に開示され、且つ
その請求の範囲に記載されているキャッシュ・ミス予測
装置の、簡単な構成の具体的な実施例のロジック回路図
である。
【図3】最も可能性の高い複数のオペランド・アドレス
のパターンを同時に調べる機能を有する、本発明の具体
的実施例のロジック回路図である。
【図4】図3に示したロジック回路のうちの一部分の、
より詳細なロジック回路図である。
【符号の説明】
12 キャッシュ・メモリ装置 13 主記憶装置 14 中央処理装置 60〜65 レジスタ(先入れ先出し式レジスタ) 66、67、69、70、72、73 減算回路 68、71、74 比較回路 75 電子スイッチ 76 優先順位エンコーダ 77 加算回路 78 ORゲート

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュ・メモリと主記憶装置とを備
    えたデータ処理システムにおける、履歴記録として保持
    した複数のキャッシュ・ミス・アドレスに基づいて後続
    のキャッシュ要求アドレスを予測する方法において、 システムのハードウェア、ファームウェア、及びソフト
    ウェアの設計段階において実行する準備ステップとし
    て、 A)ハードウェアによる設計及び構成の技法と、ファー
    ムウェアによる設計及び構成の技法と、ソフトウェアに
    よる設計及び構成の技法とのうちから選択した少なくと
    も1種類の設計及び構成の技法を用いて、複数のキャッ
    シュ・ミス・アドレスを格納するための先入れ先出し式
    ミス・スタックを構成するステップと、 システムの動作中にそのシステム内において実行するス
    テップとして、 B)前記キャッシュ・メモリに対して呼出し要求された
    情報が前記キャッシュ・メモリ内に存在していないこと
    によって発生するキャッシュ・ミスが、実際に発生する
    のを待つステップと、 C)あるキャッシュ・ミスが発生したときに、呼出し要
    求されたが存在していなかった情報のアドレスを、前記
    ミス・スタックのトップに入れるステップと、 D)前記ステップC)に続いて実行するステップであっ
    て、前記ミス・スタック内に格納されている複数のキャ
    ッシュ・ミス・アドレスの間に、少なくとも1つの所定
    アドレス・パターンが存在しているか否かを調べるステ
    ップと、 E)いずれの所定アドレス・パターンにも該当しなかっ
    た場合に前記ステップB)へ戻るステップと、 F)いずれかの所定アドレス・パターンに該当した場合
    に実行するステップであって、 1)該当アドレス・パターンと、前記ミス・スタック内
    に格納されている複数のキャッシュ・ミス・アドレスの
    うちの少なくとも1つのキャッシュ・ミス・アドレスと
    を用いて、前記主記憶装置内に格納されている信号群の
    うちの1つの信号群を特定する1つの予測アドレスを算
    出するサブステップと、 2)前記予測アドレスによって特定された前記信号群を
    前記主記憶装置から前記キャッシュ・メモリの中へ先取
    りするサブステップと、 3)前記ステップB)へ戻るサブステップと、を含んで
    いるステップF)と、を含んでいることを特徴とする方
    法。
  2. 【請求項2】 前記ステップF)の実行中に複数の所定
    アドレス・パターンに該当した場合に、それら複数の所
    定アドレス・パターンの間の所定の優先順位規定に従っ
    て、前記ステップF)の前記サブステップ1)で予測ア
    ドレスを算出するために使用する1つの該当アドレス・
    パターンを選択することを特徴とする請求項1記載の方
    法。
  3. 【請求項3】 各々がアドレスによって特定される信号
    群を主記憶装置からキャッシュ・メモリへ先取りするた
    めの予測アドレスを発生する予測アドレス発生装置にお
    いて、 A)発生の順序が連続している複数のキャッシュ・ミス
    を表わす複数のキャッシュ・ミス・アドレスを格納して
    おくための先入れ先出し式スタックと、 B)少なくとも第1及び第2の2つのペアを成す減算回
    路手段であって、それら減算回路手段の各々のペアが、
    前記先入れ先出し式スタックから、その各々の減算回路
    手段ペアに固有のアドレス・ペアを受け取り、その受け
    取ったアドレス・ペアを成している2つのアドレスの間
    の離隔量を表わす値を発生するように接続されている、
    減算回路手段と、 C)少なくとも第1及び第2の2つの比較回路手段であ
    って、それら比較回路手段の各々が、その各々の比較回
    路手段に対応した前記減算回路手段ペアから出力ペアを
    受け取り、その受け取った出力ペアに応答して、その出
    力ペアの2つの出力の間に同等状態が存在している場合
    に先取りイネーブル論理信号を送出するように接続され
    ている、比較回路手段と、 D)前記複数のキャッシュ・ミス・アドレスのうちの選
    択された1つのキャッシュ・ミス・アドレスと、前記減
    算回路手段のうちの1つの減算回路手段から送出された
    離隔量情報とを組合せることによって予測アドレスを得
    るようにした、予測アドレス発生手段と、を備え、 前記予測アドレスと前記先取りイネーブル論理信号とが
    然るべく組み合わされて送出されることによって、前記
    予測アドレスによって特定される信号群が前記主記憶装
    置から前記キャッシュ・メモリの中へ先取りされるよう
    にしてある、ことを特徴とする装置。
  4. 【請求項4】 A)前記予測アドレス発生手段が加算回
    路を含んでおり、 前記装置が更に、 B)前記加算回路の一方の入力と、各々の前記減算回路
    手段ペアの2つの減算器回路のうちの一方の減算回路の
    出力との間に、機能的に配設された電子スイッチ手段
    と、 C)複数の同等状態が同時に存在していることに応答し
    て前記電子スイッチ手段へ制御信号を送出することによ
    って、該電子スイッチ手段から前記加算回路へ離隔量情
    報信号のうちのある1組の信号だけが供給されるように
    し、その1組の信号が、前記複数のキャッシュ・ミス・
    アドレスのうちの前記選択された1つのキャッシュ・ミ
    ス・アドレスと加え合わされて、前記予測アドレスが得
    られるようにする、優先順位エンコーダと、を備えてい
    ることを特徴とする請求項3記載の装置。
  5. 【請求項5】 前記予測アドレスを算出するために用い
    られる前記複数のキャッシュ・ミス・アドレスのうちの
    前記選択された1つのキャッシュ・ミス・アドレスが、
    現在キャッシュ・ミス・アドレスであることを特徴とす
    る請求項3記載の装置。
  6. 【請求項6】 前記予測アドレスを算出するために用い
    られる前記複数のキャッシュ・ミス・アドレスのうちの
    前記選択された1つのキャッシュ・ミス・アドレスが、
    現在キャッシュ・ミス・アドレスであることを特徴とす
    る請求項4記載の装置。
JP6111184A 1993-08-24 1994-05-25 高速キャッシュ・ミス予測のための方法及び装置 Pending JPH0764862A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US111351 1993-08-24
US08/111,351 US5426764A (en) 1993-08-24 1993-08-24 Cache miss prediction apparatus with priority encoder for multiple prediction matches and method therefor

Publications (1)

Publication Number Publication Date
JPH0764862A true JPH0764862A (ja) 1995-03-10

Family

ID=22338020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6111184A Pending JPH0764862A (ja) 1993-08-24 1994-05-25 高速キャッシュ・ミス予測のための方法及び装置

Country Status (6)

Country Link
US (1) US5426764A (ja)
EP (1) EP0640921B1 (ja)
JP (1) JPH0764862A (ja)
AU (1) AU674730B2 (ja)
CA (1) CA2121221C (ja)
DE (1) DE69425095T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
JP2008510258A (ja) * 2004-08-17 2008-04-03 エヌヴィディア コーポレイション メモリへの様々なタイプのアクセスを予測するため、およびキャッシュメモリに関連付けられた予測を管理するための、システム、装置、および方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469402B (sv) * 1991-05-02 1993-06-28 Swedish Inst Of Computer Scien Foerfarande foer att haemta data till ett cache-minne
US5495591A (en) * 1992-06-30 1996-02-27 Bull Hn Information Systems Inc. Method and system for cache miss prediction based on previous cache access requests
JPH06314241A (ja) * 1993-03-04 1994-11-08 Sharp Corp 高速半導体記憶装置及び高速連想記憶装置
TW233354B (en) * 1994-03-04 1994-11-01 Motorola Inc Data processor with memory cache and method of operation
US5701426A (en) * 1995-03-31 1997-12-23 Bull Information Systems Inc. Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio
US5606682A (en) * 1995-04-07 1997-02-25 Motorola Inc. Data processor with branch target address cache and subroutine return address cache and method of operation
US6393527B1 (en) * 1998-12-18 2002-05-21 Ati International Srl Prefetch buffer with continue detect
US20060230236A1 (en) * 2005-04-08 2006-10-12 Sun Microsystems, Inc. Method and apparatus for precognitive fetching
US7805595B2 (en) * 2007-04-20 2010-09-28 Arm Limited Data processing apparatus and method for updating prediction data based on an operation's priority level
JP4829191B2 (ja) * 2007-08-30 2011-12-07 株式会社東芝 キャッシュシステム
US10042773B2 (en) * 2015-07-28 2018-08-07 Futurewei Technologies, Inc. Advance cache allocator

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093777A (en) * 1989-06-12 1992-03-03 Bull Hn Information Systems Inc. Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
AU634354B2 (en) * 1990-08-31 1993-02-18 Sun Microsystems, Inc. Method and apparatus for predictive caching
US5261071A (en) * 1991-03-21 1993-11-09 Control Data System, Inc. Dual pipe cache memory with out-of-order issue capability
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
US5367656A (en) * 1992-03-13 1994-11-22 Bull Hn Information Systems Inc. Controlling cache predictive prefetching based on cache hit ratio trend

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
JP2008510258A (ja) * 2004-08-17 2008-04-03 エヌヴィディア コーポレイション メモリへの様々なタイプのアクセスを予測するため、およびキャッシュメモリに関連付けられた予測を管理するための、システム、装置、および方法

Also Published As

Publication number Publication date
EP0640921B1 (en) 2000-07-05
CA2121221A1 (en) 1995-02-25
EP0640921A1 (en) 1995-03-01
DE69425095D1 (de) 2000-08-10
CA2121221C (en) 2004-10-19
US5426764A (en) 1995-06-20
AU5949794A (en) 1995-03-09
DE69425095T2 (de) 2001-03-22
AU674730B2 (en) 1997-01-09

Similar Documents

Publication Publication Date Title
EP0402787B1 (en) Cache miss prediction method and apparatus
US5367656A (en) Controlling cache predictive prefetching based on cache hit ratio trend
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US4980823A (en) Sequential prefetching with deconfirmation
US5701426A (en) Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio
JP2769097B2 (ja) アドレス変換方法及びデータ処理装置
KR930002328B1 (ko) 가상 어드레스의 유효 성능을 물리적 어드레스 변환으로 예측하는 방법 및 장치
CN1675626A (zh) 用于转移目标的指令高速缓冲存储器通路预测
JPS6341093B2 (ja)
US5450561A (en) Cache miss prediction method and apparatus for use with a paged main memory in a data processing system
KR20010074978A (ko) 제2 레벨 분기 예측 테이블을 이용한 분기 예측 방법 및장치
US5278963A (en) Pretranslation of virtual addresses prior to page crossing
JPH0764862A (ja) 高速キャッシュ・ミス予測のための方法及び装置
CN102112966A (zh) 用于推测式中断向量预取的设备及方法
JP3093807B2 (ja) キャッシュ
US5495591A (en) Method and system for cache miss prediction based on previous cache access requests
MX2009001747A (es) Metodos y aparatos para reducir las busquedas en una memoria cache de direccion destino de saltos.
US5649178A (en) Apparatus and method for storing and initializing branch prediction with selective information transfer
JP2000076017A (ja) 磁気ディスク制御装置
CN1270233C (zh) 远跳跃及远呼叫指令的退回分支预测机制的处理器及方法
EP0296430A2 (en) Sequential prefetching with deconfirmation
EP0349757B1 (en) Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit
CN109614146B (zh) 一种局部跳转指令取指方法及装置
JP2542565B2 (ja) 分岐予測制御方式
JPH01286058A (ja) キャッシュメモリ装置