JPH06318177A - キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム - Google Patents

キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム

Info

Publication number
JPH06318177A
JPH06318177A JP5124787A JP12478793A JPH06318177A JP H06318177 A JPH06318177 A JP H06318177A JP 5124787 A JP5124787 A JP 5124787A JP 12478793 A JP12478793 A JP 12478793A JP H06318177 A JPH06318177 A JP H06318177A
Authority
JP
Japan
Prior art keywords
cache
instruction
data
array
memory
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
JP5124787A
Other languages
English (en)
Inventor
N Patel Rajiv
ラジヴ・エヌ・パテル
Maramii Adam
アダム・マラミイ
M Hayes Norman
ノーマン・エム・ヘイーズ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06318177A publication Critical patent/JPH06318177A/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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

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)【要約】 (修正有) 【目的】 同じクロック・サイクルにおける読み取り及
び書き込み操作を可能にし、さらに、CPUの遊休時間
を短縮する、キャッシュ・メモリアクセス。 【構成】 キャッシュ・アレイ、キャッシュ・タグ及び
比較装置、及び、キャッシュ・マルチプレクサが、キャ
ッシュ・メモリに対して設けられる。キャッシュ・タグ
及び比較装置は、キャッシュ・タグ・アレイ、キャッシ
ュ・ミス・バッファ、及び、制御論理回路から構成され
る。キャッシュ・ミス・バッファは、進行中のキャッシ
ュ充填の現在の状況を識別するキャッシュ・ミス記述情
報を備えている。制御論理回路は、タグ突き合わせ操作
を実施するための複数の組み合わせ論理回路から構成さ
れる。タグ突き合わせ操作の結果に従って、さらに、ア
クセス・アドレスが、現在キャッシュ充填が行われてい
るメモリ・ブロック・フレームの一部をなす場合におけ
る現在のキャッシュ充填の状況に従って、制御論理回路
は、キャッシュ・アレイ、キャッシュ・マルチプレク
サ、主メモリ、及び、命令/データ宛先に適合する信号
を送る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・システ
ム及びそのキャッシュ・メモリの分野に関するものであ
る。とりわけ、本発明は、キャッシュ・ミスに関するも
のである。
【0002】
【従来の技術】一般に、コンピュータ・システムの中央
演算処理装置(CPU)は、主メモリよりもかなり高速
度で動作する。主メモリからのデータまたは命令を待つ
間におけるCPUの頻繁な遊休状態を回避するため、主
メモリよりも高速度で動作可能なキャッシュ・メモリを
利用して、主メモリとCPUの間におけるデータ及び命
令のバッファリングを行うことが多い。主メモリの記憶
場所に納められたデータ及び命令のマッピングが、キャ
ッシュ・メモリのブロック・フレームに対して行われ
る。各ブロック・フレームは、複数のデータ及び命令を
納める複数の記憶場所に対応した、複数のブロック・オ
フセットから構成される。CPU全体の性能をさらに向
上させるため、コンピュータ・システムには、データに
関するキャッシュ・メモリと、命令に関するキャッシュ
・メモリといった、独立したキャッシュ・メモリを利用
するものもある。
【0003】しかし、独立したキャッシュ・メモリの利
用は、この問題の完全な解決にはならない。キャッシュ
の読み取りミスが生じると、すなわち、CPUが要求す
るデータまたは命令が、キャッシュ・メモリになけれ
ば、キャッシュ・メモリは、主メモリからそのデータま
たは命令を検索しなければならない。これを行うには、
要求されたデータまたは命令を含むデータまたは命令の
全ブロック・フレームを検索することになるのが普通で
あり、CPUは、検索が終了するまで遊休状態になる。
他のキャッシュの性能問題及び改良技法については、
J.L.Hennessy及びD.A.Patters
onによるComputer Architectur
e−A Quantative Approach,p
p454−461(Morgan Kaufmann,
1990年刊行)参照のこと。
【0004】置換ブロック・フレームによってキャッシ
ュ・メモリを充填するのに要する時間量は、ブロック・
サイズ、及び、キャッシュ・メモリ・主メモリ階層間の
転送速度によって決まる。例えば、ブロック・サイズが
8ワードで、主メモリの速度が、2ブロック・オフセッ
ト/3クロック・サイクルの場合、メモリ・アクセスが
パイプ・ライン式であると仮定すると、置換ブロック・
フレームでキャッシュ・メモリを充填するには、11ク
ロック・サイクルかかることになる。ブロック・フレー
ムのサイズを縮小したり、あるいは、部分ブロックを充
填したとしても、将来のキャッシュ読み取りミスの確率
が高まるので、キャッシュ読み取りミスの際、CPUの
遊休時間は、必ずしも短縮されるとは限らない。
【0005】キャッシュ読み取りミスの発生時に、キャ
ッシュ・メモリを待つCPUの遊休時間量を最小限に抑
えるため、さまざまな技法が利用されてきた。共通して
実施されることの1つが、早期の再開である、すなわ
ち、要求したデータまたは命令が到着すると、全ブロッ
クの書き込みが完了するのを待たずに、すぐにCPUに
送られる。従って、CPUは、置換ブロック・フレーム
の残りが書き込まれている間に、その実行を再開するこ
とができる。
【0006】早期再開技法のもう1つの改良点は、ま
ず、要求したデータ及び命令を検索し、置換ブロック・
フレーム内における要求したデータ及び命令より前の全
てのデータ及び命令をスキップするように主メモリに対
して要求する、順序通りではない取り出しである。早期
再開と同様、検索されたデータまたは命令は、検索する
とすぐCPUに送られる。やはり、CPUは、置換ブロ
ック・フレームの残りが検索されている間に、その実行
を再開することができる。要求されたデータまたは命令
の検索後、主メモリは、要求されたデータまたは命令の
後の要求されたデータまたは命令から開始して、置換ブ
ロック・フレーム内における残りのデータ及び命令の検
索を続行し、ループをたどって、ブロック・フレームの
終端に達するまで、ブロック・フレームの始端において
前にスキップしたデータまたは命令を検索する。従っ
て、CPUは、主メモリから最初のデータまたは命令を
検索すると、すぐに、実行を再開することができる。
【0007】しかし、従来のキャッシュ・メモリでは、
一般に、同じクロック・サイクルにおいて、それらに対
して読み取り及び書き込み操作を実施することはできな
い。このため、置換ブロック・フレームの残りを充填し
ようとしている間に、CPUからの別の要求を取り扱う
のは厄介なことになる。結果として、CPUは、データ
または命令の実行後、再び、遊休状態になり、残りの検
索が完了するのを待つことになる。CPUが要求した後
続のデータまたは命令が、既にキャッシュ・メモリ内に
ある場合でも、あるいは、残りのデータまたは命令の一
部が検索中であっても、CPUは、遊休状態になり、待
機する。従って、CPUが、置換ブロック・フレームの
残りが書き込まれる前に、その実行を完了しそうな場合
には、早期再開及び順序通りではない取り出しの利点
は、制限されることになる。これは、典型的な命令の実
行に必要なクロック・サイクル数が少ない、例えば、R
ISCコンピュータのような、とりわけ、各クロック・
サイクル毎に2つ以上の命令を実行するスーパー・スケ
ーラRISCコンピュータのようなコンピュータ・シス
テムにおいては、特に生じやすい。
【0008】
【発明が解決しようとする課題】今日、最新のキャッシ
ュ・メモリは、同じクロック・サイクルにおいて、それ
らに対して読み取り及び書き込み操作を可能にするもの
もあり、従って、キャッシュ・ミス・ペナルティ、とり
わけ、CPUの遊休状態をさらに減少させ、キャッシュ
及びシステム全体の性能を向上させるための新たな状況
が得られる。キャッシュ・メモリに納められたデータま
たは命令に対する後続の要求は、クロック・サイクルの
第2半期に満たすことができる。課題は、追加ハードウ
ェアにあまり投資せずに、データまたは命令がキャッシ
ュ・メモリに納められていることを知って、キャッシュ
・メモリからのその読み取りとクロック・サイクルの第
2半期を同期させることである。同様に、主メモリから
検索中のデータまたは命令に対する後続の要求を満たす
上で課題となるのは、追加ハードウェアにあまり投資せ
ずに、データまたは命令がいつ検索されるかを知って、
CPUに対するその直接転送とその検索を同期させるこ
とである。
【0009】従って、同じクロック・サイクルにおける
読み取り及び書き込み操作を可能にし、さらに、CPU
の遊休時間を短縮する、キャッシュ・メモリからデータ
を取り出すための新しいアプローチを提供することが望
ましい。該アプローチは、とりわけ、キャッシュ・ミス
・ペナルティが減少する場合に望ましい。該アプローチ
は、キャッシュ・メモリの充填時において、取り出され
るデータが、現在キャッシング中のメモリ・ブロック・
フレームの一部をなす場合に、CPUを遊休状態のまま
にして、キャッシュ・メモリの充填が完了するのを待た
せなくてもすむようにして、CPUが取り出す後続のデ
ータをCPUに戻すことができる場合にも望ましい。
【0010】後述のように、これらの目的及び所望の結
果は、先行技術の欠点を克服し、CPUの遊休時間をさ
らに短縮する、CPUのためにデータを取り出す方法を
提供する、本発明の目的及び所望の結果に含まれるもの
である。
【0011】
【課題を解決するための手段】キャッシュ・ミス・ペナ
ルティをさらに減少させる、命令/データのキャッシン
グ方法及び装置が開示される。本発明では、キャッシュ
・メモリに対して、キャッシュ・アレイ、キャッシュ・
タグ、及び、比較装置が設けられる。これらの構成要素
は、互いに協働して、キャッシュ・ミス・ペナルティを
さらに減少させるやり方で、実行するための命令/デー
タを提供する。
【0012】実施例の1つでは、キャッシュ・アレイ
は、それぞれ、主メモリに記憶された命令/データの部
分集合を記憶するための複数のキャッシュ行を備えた、
複数のキャッシュ集合から構成される。キャッシュ・ア
レイに対して実施される各操作、すなわち、読み取りま
たは書き込みは、完了するのに半クロック・サイクルし
かかからない。従って、1クロック・サイクルでは、キ
ャッシュ・アレイに対して2つまでのキャッシュ操作を
実施することが可能である。
【0013】キャッシュ・タグ及び比較装置は、キャッ
シュ・タグ・アレイ、キャッシュ・ミス・バッファ、及
び、制御論理回路から構成される。実施例の1つでは、
キャッシュ・タグ・アレイは、複数の対応するキャッシ
ュ集合項目から構成される。各キャッシュ集合項目は、
対応するキャッシュ集合の各キャッシュ行毎に、アドレ
ス・タグ及びいくつかの制御ビットから構成される。こ
れらの構成要素は、協力して、どのメモリ・ブロック・
フレームが現在キャッシングされており、それらがキャ
ッシュ・アレイのどこにキャッシングされるのかを明ら
かにする。キャッシュ・アレイと同様、キャッシュ・タ
グ・アレイに対する各操作、すなわち、読み取りまたは
書き込みは、完了するのに半クロック・サイクルしかか
からない。その現在のところ望ましい形態の場合、キャ
ッシュ・ミス・バッファは、使用可能標識、アドレス・
タグ、索引、いくつかの有効ビット、及び、ブロック値
を記憶するためのいくつかの記憶場所から構成される。
これらの構成要素は、協力して、進行中のキャッシュの
現在の状態を明らかにする。制御論理回路は、タグ突き
合わせ操作を実施するための複数の組み合わせ論理回路
から構成される。選択されたキャッシュ集合項目のアド
レス・タグに対して実施される標準的なタグ突き合わせ
操作に加えて、制御論理回路は、条件付きで、アクセス
するアドレスとキャッシュ・ミス・バッファに記憶され
ているアドレス・タグとのタグ突き合わせ操作も実施す
る。タグ突き合わせ操作の結果に従って、また、取り出
される命令/データが、現在キャッシュ充填が進行中の
前記メモリ・ブロック・フレームの一部をなすものと判
定された場合には、命令/データの検索及び記憶が選択
されたキャッシュ行において行われているか否かに従っ
て、制御論理回路は、キャッシュ・アレイ、主メモリ、
及び、命令/データ宛先に対して適合する信号を提供す
る。
【0014】結果として、現在キャッシュ充填が進行中
の前記メモリ・ブロック・フレームの一部をなす命令/
データを要求する命令/データは、現在のキャッシュ充
填の完了を待たなくてもすむようにして、満たすことが
可能になるので、キャッシュ・ミス・ペナルティ及び機
能装置の遊休時間がさらに減少することになる。
【0015】
【実施例】キャッシュ・ミス・ペナルティをさらに減少
させる、命令/データのキャッシング方法及び装置が開
示される。説明を目的とした以下の解説において、本発
明の理解を完全なものにするため、特定の数、材料、及
び、構成が示される。ただし、当該技術の熟練者には明
らかなように、本発明は、特定の細部にこだわらなくて
も実施可能である。他の場合については、本発明を不必
要に曖昧にしないため、周知のシステムは略図またはブ
ロック図で示される。
【0016】図1を参照すると、本発明の教示を取り入
れた典型的なプロセッサを表した機能ブロック図が示さ
れている。命令キャッシュ34、データ・キャッシュ3
6、共用メモリ管理装置38、書き込みバッファ40、
及び、キャッシュ・コヒーレント・バス・インターフェ
イス装置42から構成される典型的なプロセッサ10
が、示されている。データ・キャッシュ36は、書き込
みバッファ40にも結合されている。共用メモリ管理装
置38及び書き込みバッファ40は、キャッシュ・コヒ
ーレント・バス・インターフェイス装置42にも結合さ
れており、該インターフェイス装置は、さらに、主メモ
リ(不図示)に結合されている。これらの構成要素は、
互いに、協働して、キャッシュ・ミス・ペナルティをさ
らに減少させる、とりわけ、機能装置の遊休時間を短縮
させるようなやり方で、実行するための命令及びデータ
を提供する。
【0017】共用メモリ管理装置38、書き込みバッフ
ァ40及び、キャッシュ・コヒーレント・バス・インタ
ーフェイス装置42は、ほとんどのプロセッサにおいて
見受けられる、広い範躊によるこうした構成要素を表す
ことを意図したものである。その基本機能及び構成要素
については周知のところであり、これ以上の説明は行わ
ない。命令キャッシュ34及びデータ・キャッシュ36
については、図2〜図5に関連してさらに詳細に後述す
ることにする。
【0018】引き続き、図1を参照すると、プロセッサ
は、さらに、プログラム・カウンタ12、命令待ち行列
14及び、命令制御装置16から構成される。プログラ
ム・カウンタ12、命令待ち行列14及び、命令制御装
置16は、互いに結合されている。さらに、プログラム
・カウンタ12は、共用メモリ管理装置38及び命令キ
ャッシュ34にも結合されており、一方、命令待ち行列
14は、命令キャッシュ34にも結合されている。これ
らは、互いに協働して、実行のための命令を送り出す。
【0019】プログラム・カウンタ12、命令待ち行列
14、及び、命令制御装置16は、ほとんどのプロセッ
サにおいて見受けられる、広い範躊によるこうした構成
要素を表すことを意図したものである。その基本機能及
び構成については周知のところであり、これ以上の説明
は行わない。
【0020】さらに図1を参照すると、プロセッサ10
は、さらに、整数装置レジスタ・ファイル18、整数機
能装置20、浮動小数点命令待ち行列24、浮動小数点
制御装置26、浮動小数点装置レジスタ・ファイル2
8、浮動小数点機能装置30、及び、マルチプレクサ3
2を備えている。整数装置レジスタ・ファイル18は、
命令制御装置16及び整数機能装置20に結合されてお
り、整数機能装置20は、さらに、共用メモリ管理装置
38及びデータ・キャッシュ36に結合されている。浮
動小数点命令待ち行列24は、命令制御装置16及び浮
動小数点制御装置26に結合されており、浮動小数点制
御装置26は、さらに、浮動小数点装置レジスタ・ファ
イル28に結合されている。浮動小数点装置レジスタ・
ファイル28は、また、直接、及び、マルチプレクサを
通じて間接的に、浮動小数点機能装置30、データ・キ
ャッシュ36にも結合されている。浮動小数点装置は、
マルチプレクサ32を通じて間接的にデータ・キャッシ
ュ36にも結合されている。これらの構成要素は、互い
に協働して整数及び浮動小数点の結果を生成する。
【0021】整数装置レジスタ・ファイル18、整数機
能装置20、浮動小数点命令待ち行列24、浮動小数点
制御装置26、浮動小数点装置レジスタ・ファイル2
8、浮動小数点機能装置30、及び、マルチプレクサ3
2は、ほとんどのプロセッサにおいて見受けられる、広
い範躊によるこうした構成要素を表すことを意図したも
のである。その基本機能及び構成については周知のとこ
ろであり、これ以上の説明は行わない。
【0022】本発明に関する理解を容易にするため、本
発明の説明は、典型的なプロセッサ10に関連して行っ
ているが、後続の説明から明らかなように、本発明は、
別のアーキテクチャによるプロセッサを用いて実施する
ことも可能である。とりわけ、本発明は、キャッシュ・
メモリを命令キャッシュとデータ・キャッシュに分割せ
ずに実施することが可能である。
【0023】次に、図2を参照すると、図1のメモリ管
理装置、命令キャッシュ、及び、データ・キャッシュを
表した機能ブロック図が示されている。命令キャッシュ
・アレイ44、命令キャッシュ・タグ及び比較装置4
6、及び、マルチプレクサ48から構成される命令キャ
ッシュが示されている。命令キャッシュ・アレイ44、
命令キャッシュ・タグ及び比較装置46は、プログラム
・カウンタ及びマルチプレクサ48に結合されており、
マルチプレクサ48は、さらに、命令待ち行列に結合さ
れている。命令キャッシュ・アレイ44は、キャッシュ
・コヒーレント・バス・インターフェイス装置を介し
て、主メモリにも結合され、命令キャッシュ・タグ及び
比較装置46は、マルチプレクサ60を介して、メモリ
管理装置38にも結合されている。これらの構成要素
は、互いに、協働し、キャッシュ・ミス・ペナルティを
減少させる、とりわけ、機能装置の遊休時間を短縮する
やり方で、命令待ち行列に命令を与える。
【0024】命令キャッシュ・アレイ44は、主メモリ
に記憶される命令の部分集合を集合を連想させるやり方
で記憶するための複数のキャッシュ行から構成される。
命令キャッシュ・アレイ44は、主メモリから命令を、
命令キャッシュ・タグ及び比較装置46からはキャッシ
ュ行選択信号を入力として受信する。命令キャッシュ・
アレイ44は、これに応答して、受信した命令を選択さ
れたキャッシュ行に記憶する。キャッシュ行の選択は、
任意の周知のやり方で実施することができる。本発明の
説明は、集合を連想させるマッピングを利用した命令キ
ャッシュ・アレイに関連して行っているが、もちろん、
本発明は、他のマッピング技法を利用した命令キャッシ
ュ・アレイを用いて実施することも可能である。
【0025】さらに、本発明の命令キャッシュ・アレイ
44は、プログラム・カウンタ論理回路から入力として
仮想アドレスを受信する。これに応答して、命令キャッ
シュ・アレイ44は、各仮想アドレス毎に、マルチプレ
クサ48に対する仮想アドレスに対応するキャッシュ行
の集合に記憶されている命令を出力する。本発明の説明
は、仮想アドレスを利用したキャッシュ行集合の初期選
択、及び、物理的アドレスを利用したタグ突き合わせに
関連して行っているが、もちろん、本発明は、こうした
命令キャッシュ行集合の初期選択、及び、物理的アドレ
スを利用したタグ突き合わせ操作を行わなくても実施可
能である。
【0026】命令キャッシュ・アレイ44に対する読み
取りまたは書き込みといった各キャッシュ操作は、完了
するのに半クロック・サイクルしかかからない。従っ
て、1クロック・サイクルでは、命令キャッシュ・アレ
イ44に対して2つのキャッシュ操作を実施することが
可能である。すなわち、命令キャッシュ・アレイ44に
対するキャッシュ読み取り操作をクロック・サイクルの
第1半期に実施し、引き続き、クロック・サイクルの第
2半期にキャッシュ書き込み操作を実施することが可能
である。
【0027】命令キャッシュ・タグ及び比較装置46
は、入力として、プログラム・カウンタ論理回路からの
仮想アドレスを受信し、また、メモリ管理装置からの物
理的アドレスとキャッシュ・コヒーレント・バス・イン
ターフェイス装置からのスヌープ・アドレスのいずれか
を受信する。これに応答して、各入力集合毎に、命令キ
ャッシュ・タグ及び比較装置46は、命令待ち行列、命
令キャッシュ・マルチプレクサ48、及び、主メモリに
対して適合する信号を出力する。命令キャッシュ・タグ
及び比較装置46については、図3〜図5に関連してさ
らに詳細に後述する。本発明の説明は、入力としてスヌ
ープ・アドレスを受信する命令キャッシュ・タグ及び比
較装置46に関して行っているが、もちろん、本発明
は、単一命令キャッシュ・メモリを備えたコンピュータ
・システム及びスヌープ・アドレスを備えていないコン
ピュータ・システムによって実施することも可能であ
る。
【0028】データ・キャッシュ・アレイ50及びデー
タ・キャッシュ・タグ及び比較装置52は、整数機能装
置及びマルチプレクサ54に結合されており、マルチプ
レクサ54は、さらに、整数及び浮動小数点装置レジス
タ・ファイル、及び、整数及び浮動小数点機能装置に結
合されている。データ・キャッシュ・アレイ50は、キ
ャッシュ・コヒーレント・バス・インターフェイス装置
にも結合されており、データ・キャッシュ・タグ及び比
較装置52は、マルチプレクサ62を介して、メモリ管
理装置38にも結合されている。これらの構成要素は、
互いに協働し、キャッシュ・ミス・ペナルティを減少さ
せる、とりわけ、機能装置の遊休時間を短縮するやり方
で、整数及び浮動小数点装置レジスタ・ファイル、及
び、整数及び浮動小数点機能装置にデータを提供する。
【0029】命令キャッシュ・アレイ44と同様、デー
タ・キャッシュ・アレイ50は、主メモリに記憶される
データの部分集合を集合を連想させるやり方で記憶する
ための複数のキャッシュ行から構成される。データ・キ
ャッシュ・アレイ50は、主メモリからデータを、デー
タ・キャッシュ・タグ及び比較装置52からはキャッシ
ュ行選択信号を入力として受信する。データ・キャッシ
ュ・アレイ50は、これに応答して、受信したデータを
選択されたキャッシュ行に記憶する。キャッシュ行の選
択は、やはり、任意の周知のやり方で実施することがで
きる。同様に、本発明の説明は、集合を連想させるマッ
ピングを利用したデータ・キャッシュ・アレイに関連し
て行っているが、もちろん、本発明は、他のマッピング
技法を利用したデータ・キャッシュ・アレイを用いて実
施することも可能である。
【0030】さらに、データ・キャッシュ・アレイ50
は、整数機能装置から入力として仮想アドレスを受信す
る。これに応答して、データ・キャッシュ・アレイ50
は、各仮想アドレス毎に、マルチプレクサ54に対する
仮想アドレスに対応するキャッシュ行の集合に記憶され
ているデータを出力する。同様に、本発明の説明は、仮
想アドレスを利用したキャッシュ行集合の初期選択、及
び、物理的アドレスを利用したタグ突き合わせに関連し
て行っているが、もちろん、本発明は、こうしたデータ
・キャッシュ行集合の初期選択、及び、物理的アドレス
を利用したタグ突き合わせ操作を行わなくても実施可能
である。
【0031】命令キャッシュ・タグ・アレイ44と同
様、データ・キャッシュ・アレイ50に対する読み取り
または書き込みといった各キャッシュ操作は、完了する
のに半クロック・サイクルしかかからない。従って、1
クロック・サイクルでは、データキャッシュ・アレイ5
0に対して2つのキャッシュ操作を実施することが可能
である。すなわち、データ・キャッシュ・アレイ50に
対するキャッシュ書き込み操作をクロック・サイクルの
第1半期に実施し、引き続き、クロック・サイクルの第
2半期にキャッシュ読み取り操作を実施することが可能
である。
【0032】データ・キャッシュ・タグ及び比較装置5
2は、入力として、整数機能装置からの仮想アドレスを
受信し、また、メモリ管理装置からの物理的アドレスと
キャッシュ・コヒーレント・バス・インターフェイス装
置からのスヌープ・アドレスのいずれかを受信する。こ
れに応答して、各入力集合毎に、データ・キャッシュ・
タグ及び比較装置46は、レジスタ・ファイルまたは機
能装置、データ・キャッシュ・マルチプレクサ52、及
び、主メモリに対して適合する信号を出力する。データ
・キャッシュ・タグ及び比較装置52については、図3
〜図5に関連してさらに詳細に後述する。本発明の説明
は、入力としてスヌープ・アドレスを受信するデータ・
キャッシュ・タグ及び比較装置52に関して行っている
が、もちろん、本発明は、単一データ・キャッシュ・メ
モリを備えたコンピュータ・システム及びスヌープ・ア
ドレスを備えていないコンピュータ・システムによって
実施することも可能である。
【0033】図2には、互いに結合された、マルチプレ
クサ56、及び、完全連想アドレス変換バッファ58か
ら構成されるメモリ管理装置38も示されている。さら
に、マルチプレクサ56は、プログラム・カウンタ及び
整数機能装置にも結合されており、アドレス変換バッフ
ァは、それぞれ、マルチプレクサ60及び62を介して
命令及びデータ・キャッシュ34及び36にも結合され
ている。これらの構成要素は、互いに、協働し、命令及
びデータ・キャッシュ34及び36のために、仮想アド
レスを物理的アドレスに変換する。マルチプレクサ56
アドレス変換バッファ58は、ほとんどのプロセッサに
おいて見受けられる、広い範躊によるこうした構成要素
を表すことを意図したものである。その構成及び機能に
ついては周知のところであり、これ以上の説明は行わな
い。
【0034】次に、図3に参照すると、図2の命令/デ
ータ・キャッシュ・タグ及び比較装置を表した機能ブロ
ック図が示されている。キャッシュ・タグ・アレイ6
4、キャッシュ・ミス・バッファ66、及び、制御論理
回路68から構成される命令/データ・キャッシュ・タ
グ及び比較装置46または52が示されている。キャッ
シュ・タグ・アレイ64及びキャッシュ・ミス・バッフ
ァ66は、制御論理回路68に結合されている。さら
に、キャッシュ・タグ・アレイ64は、仮想アドレス入
力源、すなわち、プログラム・カウンタ論理回路または
整数機能装置に結合される。制御論理回路68は、キャ
ッシュ・コヒーレント・バス・インターフェイス装置を
介して、命令/データ・キャッシュ・アレイ、命令/デ
ータ・キャッシュ・マルチプレクサ、命令/データ宛
先、物理的アドレス源、及び、主メモリにも結合されて
いる。命令/データ宛先は、命令待ち行列、レジスタ・
ファイル及び、機能装置である。物理的アドレス源は、
メモリ管理装置及び他の命令/データ・キャッシュ・メ
モリである。これらの構成要素は、互いに協働し、主メ
モリに対してメモリ読み取り信号、キャッシュ・アレイ
に対してキャッシュ行選択信号、キャッシュ・マルチプ
レクサに対して入力行選択信号、及び、命令/データ宛
先に対して命令/データ有効信号を提供する。
【0035】命令/データ・キャッシュ・タグ・アレイ
64は、複数の対応する命令/データ・キャッシュ集合
項目から構成される。各命令/データ・キャッシュ集合
項目は、対応する命令/データ・キャッシュ集合の各キ
ャッシュ行毎にアドレス・タグ及びいくつかの制御ビッ
トから構成される。命令/データ・キャッシュ・アレイ
と同様、命令/データ・キャッシュ・タグ・アレイ64
に対する各キャッシュ操作は、やはり、完了するのに半
クロック・サイクルしかかからない。キャッシュ操作の
完了クロック速度を除けば、命令/データ・キャッシュ
・タグ・アレイ64は、ほとんどのプロセッサにおいて
見受けられる、広い範躊によるタグ・アレイを表すこと
を意図したものである。その構成及び基本機能について
は周知のところであり、これ以上の説明は行わない。
【0036】命令/データ・キャッシュ・ミス・バッフ
ァ66は、複数の記憶場所から構成される。命令/デー
タ・キャッシュ・ミス・バッファ66は、入力として、
キャッシュ・ミス記述情報を受信する。これに応答し
て、命令/データ・キャッシュ・ミス・バッファ66
は、それらを適合する記憶場所に記憶する。さらに、命
令/データ・キャッシュ・ミス・バッファ66は、入力
として、読み取り信号を受信する。これに応答して、命
令/データ・キャッシュ・ミス・バッファ66は、記憶
される、適合するキャッシュ・ミス情報を出力する。命
令/データ・キャッシュ・タグ・アレイ64と同様、命
令/データ・キャッシュ・ミス・バッファ66に対する
各キャッシュ操作は、やはり、完了するのに半クロック
・サイクルしかかからない。キャッシュ・ミス記述情報
については、図4に関連してさらに詳細に後述すること
にする。命令/データ・キャッシュ・ミス・バッファ6
6が命令/データ・キャッシュ・タグ及び比較制御論理
回路と協働するやり方については、図5に関連して、さ
らに詳述することにする。
【0037】命令/データ・キャッシュ・タグ及び比較
制御論理回路68は、入力として、命令/データ・キャ
ッシュ・タグ・アレイからの命令/データ・アドレス・
タグ、命令/データ・キャッシュ・ミス・バッファから
の命令/データ・キャッシュ・ミス記述情報、及び、メ
モリ管理装置からの物理的アドレスとキャッシュ・コヒ
ーレント・バス・インターフェイス装置からのスヌープ
・アドレスのいずれかを受信する。これに応答して、命
令/データ・キャッシュ・タグ及び比較制御論理回路6
8は、タグ突き合わせ操作を実施し、命令/データ・キ
ャッシュ・アレイ、命令/データ・キャッシュ・マルチ
プレクサ、主メモリ、命令待ち行列、レジスタ・ファイ
ル、及び、機能装置に適合する信号を出力する。命令/
データ・キャッシュ・タグ及び比較制御論理回路につい
ては、図5に関連して、さらに詳細に後述することにす
る。
【0038】次に、図4を参照すると、図3の命令/デ
ータ・キャッシュ・ミス・バッファに記憶された命令/
データ・キャッシュ・ミス記述情報を表したブロック図
が示されている。アドレス・タグ70、索引72、いく
つかの有効ビット74、ブロック値76、及び、使用可
能標識78から構成される命令/データ・キャッシュ・
ミス記述情報が示されている。これらが、互いに、協働
して、キャッシュ充填の現在の状況を表す。
【0039】使用可能標識78は、キャッシュ充填が進
行中の場合に、セットされる。使用可能標識78が、セ
ットされる場合、命令/データ・キャッシュ・ミス・バ
ッファ66に記憶されているキャッシュ・ミス記述情報
が、タグ突き合わせ操作に含められる。アドレス・タグ
70は、進行中のキャッシュ充填によって、主メモリか
ら検索されているメモリ・ブロック・フレームを識別す
る。索引72は、メモリ・ブロック・フレームが進行中
のキャッシュ充填によって記憶されている命令/データ
・キャッシュ集合を識別する。ブロック値76は、メモ
リ・ブロック・フレームが進行中のキャッシュ充填によ
って記憶されているのが、その命令/データ・キャッシ
ュ集合のどのキャッシュ行かを識別する。索引72及び
ブロック値76によって識別された命令/データ・キャ
ッシュ集合のキャッシュ行に、対応するブロック・オフ
セットが記憶されていた場合には、有効ビット74がセ
ットされる。
【0040】次に、図5を参照すると、図3の命令/デ
ータ・キャッシュ・タグ及び比較装置の制御論理に関す
る論理の流れを表した流れ図が示されている。まず、ブ
ロック82において、制御論理回路が、命令/データ・
キャッシュ・タグ・アレイから同時にいくつかのアドレ
ス・タグを読み取る。アドレス・タグは、仮想アドレス
によってインデクシングを施された命令/データ・キャ
ッシュ集合項目から読み取られる。次に、ブロック84
において、制御論理回路は、これらのアドレス・タグに
対するタグ突き合わせ操作を実施する。整合すると(キ
ャッシュ・ヒット)、ブロック100において、制御論
理回路は、命令/データ・キャッシュ・マルチプレクサ
に入力行選択信号を加える。さらに、ブロック98にお
いて、制御論理回路は、命令待ち行列、レジスタ・ファ
イルの1つ、または、機能装置の1つに命令/データ有
効信号を加える。
【0041】整合しなければ、分岐84bをたどり、ブ
ロック86において、制御論理回路は、命令/データ・
キャッシュ・ミス・バッファからキャッシュ・ミス記述
情報を読み取る。次に、ブロック87において、制御論
理回路は、チェックを行い、使用可能標識がセットされ
ているか否かを確認する。使用可能標識がセットされて
いれば、分岐87aをたどり、ブロック88において、
制御論理回路は、キャッシュ充填が進行中のアドレス・
タグに対してタグ突き合わせ操作を実施する。
【0042】使用可能標識がセットされていなければ、
分岐87bをたどり、あるいは、追加タグ突き合わせに
失敗すれば、分岐88bをたどり(キャッシュ・ミ
ス)、ブロック94において、制御論理回路は、読み取
り信号及び物理的アドレスを主メモリに送る。また、制
御論理回路は、ブロック96において、書き込み及びキ
ャッシュ行選択信号を命令/データ・キャッシュ・アレ
イに送り、キャッシュ・ミス記述情報を更新して、命令
/データ・キャッシュ・ミス・バッファにおける使用可
能標識を使用可能にする。さらに、ブロック98におい
て、制御論理回路は、命令待ち行列、レジスタ・ファイ
ルの1つ、または、機能装置の1つに命令/データ有効
信号を加える。
【0043】使用可能標識がセットされており、追加タ
グ突き合わせ操作がうまくいった場合には、分岐88a
をたどり(キャッシュ・ミス、ただし、命令/データが
キャッシュ充填が進行中のメモリ・ブロック・フレーム
の一部をなしている)、ブロック90において、制御論
理回路は、さらに、有効ビットを検査し、特定の命令/
データが主メモリから検索され、選択されたキャッシュ
行に記憶されているか否かを確認する。該命令/データ
が検索され、記憶されている場合、分岐90aをたど
り、ブロック100において、制御論理回路は、命令/
データ・キャッシュ・マルチプレクサに入力行選択信号
を送る。
【0044】該命令/データが検索されておらず、選択
されたキャッシュ行に記憶されていない場合、ブロック
92において、制御論理回路は、さらに、有効ビットを
利用して、その命令/データが、主メモリから戻される
次の命令/データであるか否かを確かめる。該命令/デ
ータが、次に戻される命令/データでなければ、分岐9
2bをたどり、制御論理回路は、該命令/データが次に
戻される命令/データになるまで、この確認を繰り返
す。該命令/データが次に戻される命令/データになる
ことが確認されると、分岐92aをたどり、ブロック9
8において、制御論理回路は、命令待ち行列、レジスタ
・ファイルの1つ、または、機能装置の1つに命令/デ
ータ有効信号を送る。
【0045】制御論理回路の論理の流れについては、独
立したステップとして、ブロック82及び86における
タグ・アレイの読み取り及びキャッシュ・ミス・バッフ
ァの読み取りと、ブロック84及び88における第1と
第2のタグ突き合わせに関して解説してきたが、もちろ
ん、操作上、ブロック82及び86において、タグ・ア
レイ及びキャッシュ・ミス・バッファを同時に読み取る
こともできるし、ブロック84及び88において、第1
と第2のタグ突き合わせを同時に実行することも可能で
ある。
【0046】本発明の説明は、現在のところ望ましい実
施例及び代替実施例に関連して行ってきたが、当該技術
の熟練者には明らかなように、本発明は、解説の実施例
に制限されるものではない。本発明の方法及び装置は、
付属の請求項の精神及び範囲内において、修正及び変更
を加えて実施することが可能である。従って、解説は、
本発明に制限を加えるものではなく、例示のためのもの
とみなすべきである。
【図面の簡単な説明】
【図1】本発明の教示を取り入れたプロセッサを表した
機能ブロック図である。
【図2】図1のプロセッサの命令及びデータ・キャッシ
ュ、及び、メモリ管理装置を表した機能ブロック図であ
る。
【図3】図2の命令/データ・キャッシュの命令/デー
タ・キャッシュ・タグ及び比較装置を表した機能ブロッ
ク図である。
【図4】図3の命令/データ・キャッシュ・タグ及び比
較装置のキャッシュ・ミス・バッファを表したブロック
図である。
【図5】図3の命令/データ・キャッシュ・タグ及び比
較装置の制御論理回路に関する論理の流れを表した流れ
図である。
【符号の説明】
10 プロセッサ 12 プログラム・カウンタ 14 命令待ち行列 16 命令制御装置 18 整数装置レジスタ・ファイル 20 整数機能装置 24 浮動小数点命令待ち行列 26 浮動小数点制御装置 28 浮動小数点装置レジスタ・ファイル 30 浮動小数点機能装置 32 マルチプレクサ 34 命令キャッシュ 36 データ・キャッシュ 38 共用メモリ管理装置 40 書き込みバッファ 42 キャッシュ・コヒーレント・バス・インターフェ
イス装置 44 命令キャッシュ・アレイ 46 命令キャッシュ・タグ及び比較装置 48 マルチプレクサ 50 データ・キャッシュ・アレイ 52 データ・キャッシュ・タグ及び比較装置 54 マルチプレクサ 56 マルチプレクサ 58 連想アドレス変換バッファ 60 マルチプレクサ 62 マルチプレクサ 64 キャッシュ・タグ・アレイ 66 キャッシュ・ミス・バッファ 68 制御論理回路
フロントページの続き (72)発明者 アダム・マラミイ アメリカ合衆国 01890 マサチューセッ ツ州・ウィンチェスター・ワイルドウッド ストリート・39 (72)発明者 ノーマン・エム・ヘイーズ アメリカ合衆国 94087 カリフォルニア 州・サニーヴェイル・メリマック ドライ ブ・1121

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・システムでのキャッシ
    ュ・ミス・ペナルティをさらに減少させる命令/データ
    のキャッシング方法において、 a) 前記コンピュータ・システムの主メモリの複数の
    メモリ・ブロック・フレームをキャッシュ・アレイの複
    数のキャッシュ行に記憶するステップと、 b) 前記キャッシングしたメモリ・ブロック・フレー
    ムに関する複数のアドレス・タグを前記キャッシュ行に
    対応するキャッシュ・タグ・アレイの複数のキャッシュ
    ・タグ項目に記憶するステップと、 c) 進行中のメモリ・ブロック・フレームのキャッシ
    ュ充填に関するキャッシュ充填記述情報をキャッシュ・
    ミス・バッファに記憶するステップと、 d) 前記キャッシングしたメモリ・ブロック・フレー
    ムに関する前記アドレス・タグ及び前記キャッシュ充填
    記述情報を利用して、命令/データ要求に関するキャッ
    シュ・ヒット/ミスを判定するステップと、 e) これに応じて、前記キャッシュ・アレイ、前記主
    メモリ、及び、前記命令/データ要求によって要求され
    る命令/データの宛先に適合する信号を提供するステッ
    プとから構成され、この結果、要求される前記命令/デ
    ータが、前記キャッシュ充填が進行中の前記メモリ・ブ
    ロック・フレームの一部をなす場合、前記キャッシュ充
    填の完了を待たなくてもすむようにして、前記命令/デ
    ータ要求が満たされるようにして、キャッシュ・ミス・
    ペナルティがさらに減少することを特徴とする方法。
  2. 【請求項2】コンピュータ・システムでのキャッシュ・
    ミス・ペナルティをさらに減少させる命令/データのキ
    ャッシング装置 a) 前記コンピュータ・システムの主メモリに結合さ
    れた、前記主メモリの複数のメモリ・ブロック・フレー
    ムを記憶するための、複数のキャッシュ行から構成され
    るキャッシュ・アレイと、 b) 前記キャッシングしたメモリ・ブロック・フレー
    ムに関する複数のアドレス・タグを記憶するための、前
    記キャッシュ行に対応する複数のキャッシュ・タグ項目
    から構成されるキャッシュ・タグ・アレイと、 c) 進行中のメモリ・ブロック・フレームのキャッシ
    ュ充填に関するキャッシュ充填記述情報を記憶するため
    のキャッシュ・ミス・バッファと、 d) 前記主メモリ、前記キャッシュ・アレイ、前記キ
    ャッシュ・タグ・アレイ、及び、前記キャッシュ・ミス
    ・バッファに結合されて、前記キャッシングしたメモリ
    ・ブロック・フレームに関する前記アドレス・タグ及び
    前記キャッシュ充填記述情報を利用して、命令/データ
    要求に関するキャッシュ・ヒット/ミスを判定し、これ
    に応じて、前記キャッシュ・アレイ、前記主メモリ、及
    び、前記命令/データ要求によって要求される命令/デ
    ータの宛先に適合する信号を提供する制御論理回路とか
    ら構成され、要求される前記命令/データが前記キャッ
    シュ充填が進行中の前記メモリ・ブロック・フレームの
    一部をなす場合、前記キャッシュ充填の完了を待たず
    に、前記命令/データ要求が満たされるようにして、キ
    ャッシュ・ミス・ペナルティを減少させることを特徴と
    する命令/データのキャッシング装置。
  3. 【請求項3】 a) 少なくとも実行機能装置と、 b) 主メモリと、 c) 前記少なくとも実行機能装置及び前記主メモリに
    結合されて、命令及びデータのキャッシングを行うキャ
    ッシュ・メモリから構成され、 前記キャッシュ・メモリが、少なくとも1つのキャッシ
    ュ・アレイ、少なくとも1つのキャッシュ・タグ・アレ
    イ、少なくとも1つのキャッシュ・ミス・バッファ、及
    び、少なくとも1つのキャッシュ制御論理回路から成
    り、 前記キャッシュ・メモリが、前記進行中のキャッシュ充
    填の完了を待たずにキャッシュ充填が進行中の前記メモ
    リ・ブロック・フレームの一部をなす命令/データを要
    求する命令/データ要求を満たすことを特徴とするコン
    ピュータ・システム。
JP5124787A 1992-04-29 1993-04-30 キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム Pending JPH06318177A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/875,983 US5353426A (en) 1992-04-29 1992-04-29 Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
US875983 1992-04-29

Publications (1)

Publication Number Publication Date
JPH06318177A true JPH06318177A (ja) 1994-11-15

Family

ID=25366713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5124787A Pending JPH06318177A (ja) 1992-04-29 1993-04-30 キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム

Country Status (3)

Country Link
US (1) US5353426A (ja)
JP (1) JPH06318177A (ja)
KR (1) KR100278328B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102435A (ja) * 1997-06-05 1999-04-13 Digital Equip Corp <Dec> ノンブロッキング・パイプライン・キャッシュ
KR100618057B1 (ko) * 1997-12-22 2006-08-30 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 전자 회로 및 전자 회로를 사용하여 정보를 처리하는 방법

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US5551000A (en) * 1993-03-18 1996-08-27 Sun Microsystems, Inc. I/O cache with dual tag arrays
US5712998A (en) * 1993-07-13 1998-01-27 Intel Corporation Fast fully associative translation lookaside buffer with the ability to store and manage information pertaining to at least two different page sizes
US5555392A (en) * 1993-10-01 1996-09-10 Intel Corporation Method and apparatus for a line based non-blocking data cache
US5751986A (en) * 1994-03-01 1998-05-12 Intel Corporation Computer system with self-consistent ordering mechanism
US6021471A (en) * 1994-11-15 2000-02-01 Advanced Micro Devices, Inc. Multiple level cache control system with address and data pipelines
US5566317A (en) * 1994-06-14 1996-10-15 International Business Machines Corporation Method and apparatus for computer disk drive management
US5897654A (en) * 1995-02-10 1999-04-27 International Business Machines Corporation Method and system for efficiently fetching from cache during a cache fill operation
US5687350A (en) * 1995-02-10 1997-11-11 International Business Machines Corporation Protocol and system for performing line-fill address during copy-back operation
US5802588A (en) * 1995-04-12 1998-09-01 Advanced Micro Devices, Inc. Load/store unit implementing non-blocking loads for a superscalar microprocessor and method of selecting loads in a non-blocking fashion from a load/store buffer
US6076150A (en) * 1995-08-10 2000-06-13 Lsi Logic Corporation Cache controller with improved instruction and data forwarding during refill operation
US5905902A (en) * 1995-09-28 1999-05-18 Intel Corporation Programmable state machine employing a cache-like arrangement
US5751983A (en) * 1995-10-03 1998-05-12 Abramson; Jeffrey M. Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations
US6088783A (en) * 1996-02-16 2000-07-11 Morton; Steven G DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US6317819B1 (en) 1996-01-11 2001-11-13 Steven G. Morton Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
US6026476A (en) * 1996-03-19 2000-02-15 Intel Corporation Fast fully associative translation lookaside buffer
US5781916A (en) * 1996-03-25 1998-07-14 Motorola, Inc. Cache control circuitry and method therefor
US5754885A (en) * 1996-04-04 1998-05-19 International Business Machines Corporation Apparatus and method for selecting entries from an array
US5915262A (en) * 1996-07-22 1999-06-22 Advanced Micro Devices, Inc. Cache system and method using tagged cache lines for matching cache strategy to I/O application
US6065100A (en) * 1996-11-12 2000-05-16 Micro-Design International Caching apparatus and method for enhancing retrieval of data from an optical storage device
US5870576A (en) * 1996-12-16 1999-02-09 Hewlett-Packard Company Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
US6003119A (en) * 1997-05-09 1999-12-14 International Business Machines Corporation Memory circuit for reordering selected data in parallel with selection of the data from the memory circuit
US6122710A (en) * 1998-02-17 2000-09-19 International Business Machines Corporation Dynamic word line driver for cache
US6442647B1 (en) 1998-08-21 2002-08-27 International Business Machines Corporation Method and apparatus for utilization of plural commands to improve read response times of data from a disk track
KR100505633B1 (ko) * 1999-03-24 2005-08-03 삼성전자주식회사 캐시 메모리의 데이터 독출 장치 및 방법
US6658462B1 (en) 1999-08-26 2003-12-02 International Business Machines Corporation System, method, and program for balancing cache space requirements with retrieval access time for large documents on the internet
US6473834B1 (en) 1999-12-22 2002-10-29 Unisys Method and apparatus for prevent stalling of cache reads during return of multiple data words
US6415357B1 (en) 1999-12-23 2002-07-02 Unisys Corporation Caching method and apparatus
US6801209B1 (en) * 1999-12-30 2004-10-05 Intel Corporation Method and apparatus for storing data in a block-based memory arrangement
US6757817B1 (en) * 2000-05-19 2004-06-29 Intel Corporation Apparatus having a cache and a loop buffer
US7203817B2 (en) * 2001-09-24 2007-04-10 Broadcom Corporation Power consumption reduction in a pipeline by stalling instruction issue on a load miss
US7034849B1 (en) * 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
US6697076B1 (en) * 2001-12-31 2004-02-24 Apple Computer, Inc. Method and apparatus for address re-mapping
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US6751707B2 (en) 2002-05-06 2004-06-15 Sony Computer Entertainment Inc. Methods and apparatus for controlling a cache memory
KR100456215B1 (ko) * 2002-11-11 2004-11-06 주식회사 에이디칩스 블럭 버퍼링을 사용하는 캐쉬 메모리 장치 및 그 제어방법
US7752354B2 (en) * 2005-02-11 2010-07-06 International Business Machines Corporation Auxiliary mechanism to manage instruction restart and restart coming in a lookahead processor
US9098296B2 (en) * 2012-06-17 2015-08-04 Freescale Semiconductor, Inc. Method for reducing memory latency in processor
US9983875B2 (en) 2016-03-04 2018-05-29 International Business Machines Corporation Operation of a multi-slice processor preventing early dependent instruction wakeup
US10037211B2 (en) 2016-03-22 2018-07-31 International Business Machines Corporation Operation of a multi-slice processor with an expanded merge fetching queue
US10346174B2 (en) 2016-03-24 2019-07-09 International Business Machines Corporation Operation of a multi-slice processor with dynamic canceling of partial loads
US10761854B2 (en) 2016-04-19 2020-09-01 International Business Machines Corporation Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor
US10037229B2 (en) 2016-05-11 2018-07-31 International Business Machines Corporation Operation of a multi-slice processor implementing a load/store unit maintaining rejected instructions
US10606600B2 (en) 2016-06-03 2020-03-31 International Business Machines Corporation Fetched data in an ultra-short piped load store unit
US10042647B2 (en) 2016-06-27 2018-08-07 International Business Machines Corporation Managing a divided load reorder queue
US10318419B2 (en) 2016-08-08 2019-06-11 International Business Machines Corporation Flush avoidance in a load store unit
CN112394887A (zh) * 2019-08-17 2021-02-23 森大(深圳)技术有限公司 Onepass打印数据高效率处理方法、装置、设备及存储介质
CN112527390B (zh) * 2019-08-28 2024-03-12 武汉杰开科技有限公司 数据获取方法、微处理器及具有存储功能的装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4768148A (en) * 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US5253358A (en) * 1989-05-19 1993-10-12 Compaq Computer Corporation Cache memory expansion and transparent interconnection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102435A (ja) * 1997-06-05 1999-04-13 Digital Equip Corp <Dec> ノンブロッキング・パイプライン・キャッシュ
KR100618057B1 (ko) * 1997-12-22 2006-08-30 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 전자 회로 및 전자 회로를 사용하여 정보를 처리하는 방법

Also Published As

Publication number Publication date
KR930022210A (ko) 1993-11-23
US5353426A (en) 1994-10-04
KR100278328B1 (ko) 2001-01-15

Similar Documents

Publication Publication Date Title
JPH06318177A (ja) キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
US6185660B1 (en) Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss
JP3577331B2 (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
US6725337B1 (en) Method and system for speculatively invalidating lines in a cache
JP3412575B2 (ja) 命令履歴キャッシングを使用して推測的に命令を実行する回路、データ処理システム、およびそのための方法
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
JP3683739B2 (ja) オーバラップしたl1およびl2メモリ・アクセス方法および装置
US6263404B1 (en) Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system
US6012134A (en) High-performance processor with streaming buffer that facilitates prefetching of instructions
JPH10232827A (ja) 先取りキャッシュ書戻しの方法と装置
JPH0863393A (ja) 多レベル・キャッシュ内のキャッシュ・ミス発生に伴う新しいワード・フラグメントの書き込み方法
JPH07253926A (ja) キャッシュ・ミスによる時間ペナルティ減少方法
JPH1074166A (ja) 多重レベル・ダイナミック・セット予測方法および装置
JP2737820B2 (ja) メモリアクセス方法およびシステム
US5737749A (en) Method and system for dynamically sharing cache capacity in a microprocessor
JPH0836491A (ja) パイプライン・ストア命令を実行する装置及びその方法
EP0543487B1 (en) Method and cache memory controller for fetching data for a CPU that further reduces CPU idle time
JP3407808B2 (ja) コンピュータシステム
JP3431878B2 (ja) マルチスレッド・プロセッサの命令キャッシュ
US6976128B1 (en) Cache flush system and method
US6516388B1 (en) Method and apparatus for reducing cache pollution
US20020188805A1 (en) Mechanism for implementing cache line fills
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040302

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040622