JP2001249846A - キャッシュメモリ装置及びデータ処理システム - Google Patents

キャッシュメモリ装置及びデータ処理システム

Info

Publication number
JP2001249846A
JP2001249846A JP2000059141A JP2000059141A JP2001249846A JP 2001249846 A JP2001249846 A JP 2001249846A JP 2000059141 A JP2000059141 A JP 2000059141A JP 2000059141 A JP2000059141 A JP 2000059141A JP 2001249846 A JP2001249846 A JP 2001249846A
Authority
JP
Japan
Prior art keywords
cache
data
cache memory
memory device
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
JP2000059141A
Other languages
English (en)
Inventor
Naoto Morikawa
直人 森川
Toshihiko Kurihara
俊彦 栗原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000059141A priority Critical patent/JP2001249846A/ja
Priority to US09/797,599 priority patent/US20010032297A1/en
Publication of JP2001249846A publication Critical patent/JP2001249846A/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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • 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/6028Prefetching based on hints or prefetch instructions

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)【要約】 【課題】 キャッシュブロック競合時のキャッシュミス
を低減することことが可能で、キャッシュメモリの様子
を外部から推定することが容易なキャッシュメモリ装
置、及び、これを使用した高性能なデータ処理システ
ム。 【解決手段】 プロセッサ1と、L2メモリ、主記憶装
置等の下位メモリ9との間に、包含関係をもたない2つ
のキャッシュを有するキャッシュメモリ装置5を用意す
る。一方のキャッシュ(ネイキッドキャッシュ)6は、
データ転送がソフトウエアで明示的に制御され、他方の
キャッシュ(キャッシュミスキャッシュ)7は、キャッ
シュミスを引き起こしたデータが転送される。これによ
り、ソフトウエアに対して判りやすいキャッシュの描像
を与え、かつ、ソフトウエアで明示的に制御しきれなか
った場合のキャッシュミスペナルティを最低限におさえ
ることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
装置及びデータ処理システムに係り、特に、キャッシュ
ブロック競合時のキャッシュミスを低減することのでき
るキャッシュメモリ装置及びこれを使用したデータ処理
システムに関する。
【0002】
【従来の技術】一般に、コンピュータで利用されるデー
タは、空間的、時間的な局所性を有している。この性質
を利用して、データを高速にアクセスする方法としてキ
ャッシュメモリが利用されている。キャッシュメモリ
は、高速アクセス可能な小容量のメモリにより構成さ
れ、主記憶のデータがコピーされている。プロセッサ
は、主記憶へのアクセスをキャッシュメモリに対し行う
ことにより、メモリアクセスを高速に実行することがで
きる。
【0003】そして、キャッシュメモリは次のように動
作する。すなわち、キャッシュメモリは、プロセッサか
らのメモリアクセスに対し、まずそのデータがキャッシ
ュメモリ上に存在するか否かを調べる。キャッシュメモ
リは、データがキャッシュメモリ上に存在すれば、キャ
ッシュメモリ上のデータをプロセッサに転送する。ま
た、存在しなければ、そのデータを必要とする命令の実
行を中断させ、主記憶からキャッシュメモリにそのデー
タを含むデータブロックを転送する。このデータの転送
と平行して、プロセッサには要求するデータを転送し、
プロセッサは、中断していた命令の実行を再開させる。
【0004】前述のように、プロセッサが要求するデー
タがキャッシュメモリ上に存在すれば、プロセッサは、
キャッシュメモリのアクセス速度でデータを得ることが
できる。しかし、キャッシュメモリ上にデータがない場
合、プロセッサは、主記憶からキャッシュメモリにデー
タが転送されてくる間、命令の実行が待たされることに
なる。アクセス時にキャッシュメモリ上にデータがない
状況をキャッシュミスと呼ぶ。このキャッシュミスは、
データへの初めての参照、キャッシュメモリの容量不足
及びキャッシュブロックの競合によって生じる。
【0005】データへの初めての参照によるミスは、キ
ャッシュブロック内のデータに対する最初のアクセス時
に生じる。すなわち、最初のデータ参照時には、キャッ
シュメモリ中には主記憶のデータのコピーが存在してお
らず、主記憶からデータを転送する必要がある。
【0006】キャッシュメモリの容量不足によるミス
は、キャッシュメモリのの容量がプログラムの実行に必
要なデータブロックを収容するのに充分でない場合に、
いくつかのブロックがキャッシュから追い出されること
により生じるミスである。
【0007】キャッシュブロックの競合によるミス(競
合性ミス)は、ダイレクトマップやセットアソシアティ
ブ方式のキャッシュメモリにおいて生じるミスである。
これらの方式のキャッシュメモリは、主記憶のアドレス
とキャッシュの中のデータのセットとが対応しているた
め、同一のセットに対して複数のプロセッサからアクセ
スがある場合に競合が生じ、頻繁に使用されるデータで
あっても強制的にブロックから追い出されることがあ
る。特に、同一のセットへのアクセスが集中すると、競
合性ミスの玉突き状態(スラッシング)が発生し、キャ
ッシュ性能ひいてはデータ処理システムの性能を大幅に
低下させることになる。
【0008】前述したような競合性ミスについて、キャ
ッシュミスを低減させるための多くの提案がなされてい
る。
【0009】例えば、アソシアティブ方式について、マ
ッピングの際にスキューをかけたり、複数のマッピング
関数を使用するなどによって競合性ミスを減少させる方
法が、文献「C. Zhang, X. Zhang and Y.Yan,“Two Fas
t and High-Associativity Cache Schemes,”IEEE MICR
O, vol.17, no. 5, Sep/Oct, 1997, pp.40-49」に記載
されている。
【0010】また、ダイレクトマップドキャッシュ(メ
インキャッシュ)と主記憶との間に、小さなフルアソシ
アティブキャッシュ(ビクティムキャッシュ)を導入す
ることにより競合性ミスを減少させる方法も知られてい
る。この方法については、文献「N.Jouppi,“Improving
Direct-Mapped Cache Performance by the Additionof
a Small Fully-Associative Cache and Prfetch Buffe
rs,” Proc. 17th Int'l Symp. Computer Architectur
e, pp.364-373, May 1990」に記載されている。この文
献による方法は、競合によりメインキャッシュから追い
出されたブロックが、一時的にビクティムキャッシュに
格納され、このブロックがビクティムキャッシュに存在
している間に再度参照された場合、小さいペナルティで
データをプロセッサに転送することができる。
【0011】さらに、前述した方法を改良した方法とし
て、選択的ビクティムキャッシング方式という方式が、
文献「D. Stiliadis and A.Varma,“Selective Victim
Caching: A Method to Improve the Performance of Di
rect-Mapped Caches,” IEEETrans. Computers, Vol.4
6, No.5, MAY 1997, pp603-610.」に記載されて提案さ
れている。この方式は、主記憶から転送されたブロック
データを、メインキャッシュまたはビクティムキャッシ
ュの一方に格納するものでる。そして、データをどちら
に格納するかは、そのブロックの過去の履歴から将来の
参照可能性を判断され、参照される可能性が高いと判断
されればメインキャッシュに、そうでなければビクティ
ムキャッシュに格納される。また、ビクティムキャッシ
ュにあるデータが参照された場合、そのブロックをメイ
ンキャッシュに格納するか否かも過去の履歴から判断さ
れる。
【0012】さらに、前述の N.Jouppi の文献に示され
るプリフェッチ用のバッファの1つで、データの空間的
局所性の性質を利用するストリームバッファの技術が提
案されている。ストリームバッファは、キャッシュメモ
リと下位レベルのメモリ階層のメモリである主記憶や2
次キャッシュメモリとの間に配置される。この技術は、
プリフェッチ命令あるいはロード命令が発行され、か
つ、キャッシュメモリにそのデータが存在しない場合、
下位レベルメモリに対してデータの転送を要求し、その
際、まず、ストリームバッファにデータを転送し、次
に、ストリームバッファからキャッシュメモリにデータ
を転送するというものである。そして、このデータの転
送時、指定されたアドレスのブロックデータだけではな
く、それに続くアドレスに格納されたデータもストリー
ムバッファに転送しておく。
【0013】一般に、プリフェッチ命令あるいはロード
命令が発行されてキャッシュメモリにデータのが行われ
ていると、データの空間的局所性の性質により、次のロ
ード命令は、先にロードされたデータに近いアドレスを
持つ可能性が高い。
【0014】そこで、前述したように、下位レベルメモ
リのデータをプリフェッチあるいはロードする際、指定
されたアドレスのブロックデータだけではなく、それに
続くアドレスに格納されたデータもストリームバッファ
に転送しておくことにより、次のロード命令が示すアド
レスが、すでにストリームバッファ内に格納されている
確率が高くなる。この結果、次のロード命令によるデー
タは、下位レベルのメモリからではなく、ストリームバ
ッファからキャッシュメモリにデータを転送することが
可能となり、新たに下位レベルに対しデータ転送要求を
発行する必要がなくなり、高速なメモりアクセスが可能
となる。
【0015】また、文献「“MICROPROCESSOR REPORT,”
vol.13,Num. 5, April 19,1999, pp.6-11」には、Sony
のEmotion Engineに採用されているプリフェッチバッフ
ァ方式に関する技術が開示されている。ここに開示され
たぎじゅつは、データキャッシュと並列にスクラッチパ
ッドRAMと呼ばれるバッファ備え、データキャッシュ
に格納されるメモリ空間と、スクラッチパッドRAMに
格納されるメモリ空間とを、論理的に別空間とするもの
である。そして、ページテーブルエントリにビット(S
ビット)が用意されており、Sビットが立っていればス
クラッチパッドRAMにデータを格納するものである。
この技術は、主に、動画の画像データによるスラッシン
グを防ぐことを目的としたものである。
【0016】
【発明が解決しようとする課題】前述した従来技術によ
るキャッシュメモリは、以下に説明するような問題点を
有している。
【0017】前述のビクティムキャッシュは、メインキ
ャッシュから追い出されたデータがビクティムキャッシ
ュに転送されるため、巨大なデータを扱う場合にビクテ
ィムキャッシュから有用なデータが追い出されることが
あるという問題点を有している。また、このキャッシュ
は、空間的局所性をもつ巨大なデータがあると、時間的
局所性を持つデータがキャッシュから追い出される確率
が高く、その局所性を活用できない場合が生じるという
問題点を有している。
【0018】一方、前述したキャッシュメモリは、キャ
ッシュ制御が複雑な場合が多く、キャッシュメモリの様
子を外部から推定することが困難であった。このため、
ソフトウエアにより明示的にキャッシュメモリを制御し
ようとしてもその制御に限界があった。例えば、データ
プリフェッチにおいて、将来必要なデータをプリフェッ
チすることにより、現在必要なデータが追い出される場
合が生じたり、スラッシングの発生を完全に予防するこ
とができないという問題点を有している。
【0019】本発明の目的は、前述した従来技術の問題
点を解決し、キャッシュミス、特に、キャッシュブロッ
ク競合時のキャッシュミスを低減することことが可能
で、キャッシュメモリの様子を外部から推定することが
容易なキャッシュメモリ装置及びこれを使用したデータ
処理システムを提供することにある。
【0020】
【課題を解決するための手段】本発明によれば前記目的
は、データ処理システムを構成するプロセッサと主記憶
装置またはレベル2キャッシュメモリ等の下位メモリ装
置との間に設けられるキャッシュメモリ装置において、
ソフトウエアにより明示的に制御される第1のキャッシ
ュメモリと、キャッシュミスロード等のソフトウエアで
は制御しきれなかったデータを格納する第2のキャッシ
ュメモリとを備えることにより達成される。
【0021】また、前記目的は、前記第1、第2のキャ
ッシュメモリのデータを格納するメモリ空間が論理的に
区別されていないことにより、また、前記第1のキャッ
シュメモリには、プリフェッチ命令により前記下位メモ
リ装置から読み出されたデータが格納され、前記第2の
キャッシュメモリには、キャッシュミス時に、前記下位
メモリ装置から読み出されたデータが格納されることに
より達成される。
【0022】また、前記目的は、前記プロセッサから与
えられるデータ格納先のキャッシュメモリに関する情報
を保持する格納先識別フラグと、該フラグの情報によ
り、前記下位メモリ装置から読み出されたデータを、前
記第1、第2のキャッシュメモリの一方に格納するよう
に切り替えを行う格納先切り替えスイッチをさらに備え
ることにより達成される。
【0023】さらに、前記目的は、プロセッサと主記憶
装置またはレベル2キャッシュメモリ等の下位メモリと
の間にキャッシュメモリ装置を備えて構成されるデータ
処理システムにおいて、前記プロセッサと下位メモリと
の間に備えられるキャッシュメモリ装置が、前述したよ
うに構成されるキャッシュメモリ装置であることにより
達成される。
【0024】
【発明の実施の形態】以下、本発明によるキャッシュメ
モリ装置及びデータ処理システムの実施形態を図面を参
照して詳細に説明する。
【0025】図1は本発明の一実施形態によるキャッシ
ュメモリ装置を備えたデータ処理システムの構成の概略
を示すブロック図、図2は本発明の一実施形態によるキ
ャッシュメモリ装置の構成を示すブロック図、図3はキ
ャッシュメモリの制御動作を説明するフローチャートで
ある。図1、図2において、1はプロセッサ、2はレジ
スタファイル、3はアドレスバス、4、8はデータバ
ス、5はキャッシュメモリ装置、6はネイキッドキャッ
シュ、7はキャッシュミスキャッシュ、9はL2キャッ
シュまたは主記憶(下位メモリ)、10、15はデータ
領域、11、14はタグ領域、13はアドレスバッフ
ァ、16はマルチプレクサ、17は制御信号線、18は
データブロックバッファ、19は格納先識別フラグ、2
0は格納先切り替えスイッチである。
【0026】図1に示すは本発明の一実施形態によるキ
ャッシュメモリ装置を備えたデータ処理システムは、レ
ジスタファイル2を備えるプロセッサ1と、キャッシュ
メモリ5と、L2キャッシュメモリ装置または主記憶装
置(以下、単に下位メモリという)9とを備えて構成さ
れている。下位メモリ9としてL2キャッシュメモリ装
置を使用する場合、システムは、主記憶装置をさらに備
えて構成されることになる。また、この場合、キャッシ
ュメモリ装置5は、L1キャッシュ装置として使用され
ることになる。
【0027】図示システムに使用され、プロセッサ1と
下位メモリ9との間に置かれるキャッシュ装置5は、お
互いに主従関係や包含関係を持たない2つのキャッシュ
メモリ6、7を備えて構成される。一方のキャッシュメ
モリは、ネイキッドキャッシュ6であり、ソフトウエア
により明示的に制御され、他方のキャッシュメモリは、
キャッシュミスキャッシュメモリ7であり、キャッシュ
ミスロード等のソフトウエアによっては制御しきれなか
ったデータを格納するために使用される。なお、本発明
の実施形態は、ネイキッドキャッシュメモリ6として
は、例えば、大容量(1MB)で4ウェイセットアソシ
アティブ方式のキャッシュを使用し、また、キャッシュ
ミスキャッシュ7としては、小容量(16KB)でフル
アソシアティブ方式のキャッシュ使用することとした。
【0028】キャッシュメモリ装置5は、その詳細を図
2に示すように、前述したネイキッドキャッシュメモリ
6、キャッシュミスキャッシュメモリ7と、入力される
アドレスを保持するアドレスバッファ13と、ヒットし
たデータを選択するためのマルチプレクサ16と、下位
メモリ9からのデータを保持するデータブロックバッフ
ァ18と、格納先キャッシュの情報を保持する格納先識
別フラグ19と、格納先フラグ19の情報に基づいてデ
ータブロックバッファ18内のデータを前述した2つの
キャッシュメモリ6、7のいずれかに転送する格納先切
り替えスイッチ20とを備えて構成されている、そし
て、ネイキッドキャッシュメモリ6、キャッシュミスキ
ャッシュメモリ7とのそれぞれは、タグ領域11、14
とデータ領域10、15を有して構成されている。
【0029】次に、図3に示すフローを参照して、キャ
ッシュメモリ装置5の制御動作について説明する。な
お、ここでは、キャッシュメモリ装置5へのデータ転送
を引き起こす命令として、プリフェッチ命令及びロード
命令を想定している。
【0030】(1)プロセッサ1においてプリフェッチ
命令またはロード命令が実行されるとき、そのアドレス
は、アドレスバス3を介して転送されアドレスバッファ
13に格納される。命令がプリフェッチ命令であるか否
かが判定され、プリフェッチ命令である場合、バッファ
13のアドレスが、2つのキャッシュメモリのタグ1
1、14の内容と比較され、キャッシュヒットか否かが
判定される(ステップ31、32)。
【0031】(2)ステップ32での判定で、ネイキッ
ドキャッシュメモリ6、キャッシュミスキャッシュメモ
リ7のいずれかでヒットすれば、このプリフェッチ命令
でフェッチすべきデータがすでにキャッシュメモリ内に
存在しているので、何の処理も行わずに、ここでの処理
を終了する(ステップ33)。
【0032】(3)また、このプリフェッチ命令がキャ
ッシュミスであった場合、下位メモリ9からデータブロ
ックバッファ18を介してネイキッドキャッシュメモリ
6にデータブロックが格納される。すなわち、転送され
てきたデータは、一旦データブロックバッファ18に格
納される。ここでは、処理対象命令がプリフェッチ命令
であるので、プロセッサ1は、制御信号線17を介して
格納先識別フラグ19を“0”にセットし、ネイキッド
キャッシュメモリ6にデータを格納することを指示す
る。これにより格納先切り替えスイッチ20は、ネイキ
ッドキャッシュメモリ6側にスイッチを切り替えて、デ
ータをネイキッドキャッシュメモリ6に転送する。ネイ
キッドキャッシュメモリ6は、4ウェイセットアソシア
ティブ方式のメモリであるため、転送先のセットがすで
に満杯であれば、LRUアルゴリズムにより最も使われ
ていないデータブロックが棄却され、空いた場所に転送
されてきたデータブロックを格納する(ステップ3
4)。
【0033】(4)ステップ31での判定で、命令がロ
ード命令であった場合、ステップ32での処理と同様
に、バッファ13のアドレスが、2つのキャッシュメモ
リのタグ11、14の内容と比較され、キャッシュヒッ
トか否かが判定される(ステップ35)。
【0034】(5)ステップ35での判定で、ネイキッ
ドキャッシュメモリ6、キャッシュミスキャッシュメモ
リ7のいずれかでヒットすれば、このプリフェッチ命令
でフェッチすべきデータがすでにキャッシュメモリ内に
存在しているので、マルチプレクサ16は、ヒットした
キャッシュメモリ6または7からの対応するデータを選
択して、データバス4を介してプロセッサ1のレジスタ
ファイル2にこのデータを供給する(ステップ37)。
【0035】(6)ステップ35での判定で、ネイキッ
ドキャッシュメモリ6、キャッシュミスキャッシュメモ
リ7のいずれでもキャッシュミスであった場合、すなわ
ち、ロード命令がキャッシュミスの場合、下位メモリ9
からデータブロックバッファ18を介してキャッシュミ
スキャッシュ7にデータブロックが格納され、同時にプ
ロセッサ1のレジスタファイル2にロード命令に対応す
るデータが転送される。すなわち、転送されてきたデー
タは、一旦データブロックバッファ18に格納される。
ここでは、処理対象命令がロード命令であるので、プロ
セッサ1は、制御信号線17を介して格納先識別フラグ
19を“1”にセットし、キャッシュミスキャッシュメ
モリ7にデータを格納することを指示する。これにより
格納先切り替えスイッチ20は、キャッシュミスキャッ
シュメモリ7側にスイッチを切り替えて、データをキャ
ッシュミスキャッシュメモリ7に転送する。キャッシュ
ミスキャッシュメモリ7は、フルアソシアティブ方式の
メモリであるため、キャッシュに空きがあれば、データ
は空いている場所に格納される。また、転送先のセット
がすでに満杯であれば、LRUアルゴリズムにより最も
使われていないデータブロックが棄却され、空いた場所
に転送されてきたデータブロックが格納される(ステッ
プ37)。
【0036】前述したような本発明の実施形態によるキ
ャッシュメモリの制御によれば、ネイキッドキャッシュ
メモリ6において競合性ミスが発生した場合にも、一
旦、キャッシュミスキャッシュメモリ7にデータが格納
されれば、キャッシュミスキャッシュメモリ7がフルア
ソシアティブ方式のメモリであるため、スラッシングを
生じることはない。
【0037】前述した本発明の実施形態によれば、スラ
ッシングやスレッドによるのプライベートスタックのキ
ャッシュからの追い出し等のソフトウエアでは予測不能
の事態におけるキャッシュミスを最低限におさえること
ができる。
【0038】また、本発明の実施形態によれば、時間的
局所性を持つデータが、キャッシュミスキャッシュに格
納される確率が高く、ループタイリング等の特別なアル
ゴリズムを用いなくても時間的局所性を活用することが
できる。
【0039】さらに、本発明の実施形態によれば、ネイ
キッドキャッシュには、ソフトウエアで明示的に指示し
たデータしか転送されないので、ソフトウエアに対して
判りやすいキャッシュの描像を与えることができ、特
に、コンパイラが、より効率的なコードを生成すること
ができるようになる。
【0040】
【発明の効果】以上説明したように本発明によれば、キ
ャッシュブロック競合時のキャッシュミスを低減するこ
とことが可能で、キャッシュメモリの様子を外部から推
定することが容易なキャッシュメモリ装置を提供するこ
とができ、また、これを使用した高性能なデータ処理シ
ステムを提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態によるキャッシュメモリ装
置を備えたデータ処理システムの構成の概略を示すブロ
ック図である。
【図2】本発明の一実施形態によるキャッシュメモリ装
置の構成を示すブロック図である。
【図3】キャッシュメモリの制御動作を説明するフロー
チャートである。
【符号の説明】
1 プロセッサ 2 レジスタファイル 3 アドレスバス 4、8 データバス 5 キャッシュメモリ装置 6 ネイキッドキャッシュ 7 キャッシュミスキャッシュ 9 L2キャッシュまたは主記憶(下位メモリ) 10、15 データ領域 11、14 タグ領域 13 アドレスバッファ 16 マルチプレクサ 17 制御信号線 18 データブロックバッファ 19 格納先識別フラグ 20 格納先切り替えスイッチ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 データ処理システムを構成するプロセッ
    サと主記憶装置またはレベル2キャッシュメモリ等の下
    位メモリ装置との間に設けられるキャッシュメモリ装置
    において、ソフトウエアにより明示的に制御される第1
    のキャッシュメモリと、キャッシュミスロード等のソフ
    トウエアでは制御しきれなかったデータを格納する第2
    のキャッシュメモリとを備えることを特徴とするキャッ
    シュメモリ装置。
  2. 【請求項2】 前記第1、第2のキャッシュメモリのデ
    ータを格納するメモリ空間は、論理的に区別されていな
    いことを特徴とする請求項1記載のキャッシュメモリ装
    置。
  3. 【請求項3】 前記第1のキャッシュメモリには、プリ
    フェッチ命令により前記下位メモリ装置から読み出され
    たデータが格納され、前記第2のキャッシュメモリに
    は、キャッシュミス時に、前記下位メモリ装置から読み
    出されたデータが格納されることを特徴とする請求項1
    または2記載のキャッシュメモリ装置。
  4. 【請求項4】 前記プロセッサから与えられるデータ格
    納先のキャッシュメモリに関する情報を保持する格納先
    識別フラグと、該フラグの情報により、前記下位メモリ
    装置から読み出されたデータを、前記第1、第2のキャ
    ッシュメモリの一方に格納するように切り替えを行う格
    納先切り替えスイッチをさらに備えることを特徴とする
    請求項3記載のキャッシュメモリ装置。
  5. 【請求項5】 プロセッサと主記憶装置またはレベル2
    キャッシュメモリ等の下位メモリとの間にキャッシュメ
    モリ装置を備えて構成されるデータ処理システムにおい
    て、前記プロセッサと下位メモリとの間に備えられるキ
    ャッシュメモリ装置が、請求項1ない4のうちいずれか
    1記載のキャッシュメモリ装置であることを特徴とする
    データ処理システム。
JP2000059141A 2000-03-03 2000-03-03 キャッシュメモリ装置及びデータ処理システム Pending JP2001249846A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000059141A JP2001249846A (ja) 2000-03-03 2000-03-03 キャッシュメモリ装置及びデータ処理システム
US09/797,599 US20010032297A1 (en) 2000-03-03 2001-03-05 Cache memory apparatus and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000059141A JP2001249846A (ja) 2000-03-03 2000-03-03 キャッシュメモリ装置及びデータ処理システム

Publications (1)

Publication Number Publication Date
JP2001249846A true JP2001249846A (ja) 2001-09-14

Family

ID=18579636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000059141A Pending JP2001249846A (ja) 2000-03-03 2000-03-03 キャッシュメモリ装置及びデータ処理システム

Country Status (2)

Country Link
US (1) US20010032297A1 (ja)
JP (1) JP2001249846A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101086460B1 (ko) * 2009-12-28 2011-11-25 전남대학교산학협력단 필터 캐쉬용 희생 캐쉬를 구비한 저전력 프로세서 시스템 및 그 구동방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523092B1 (en) * 2000-09-29 2003-02-18 Intel Corporation Cache line replacement policy enhancement to avoid memory page thrashing
KR100532417B1 (ko) * 2003-01-21 2005-11-30 삼성전자주식회사 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
US7493452B2 (en) * 2006-08-18 2009-02-17 International Business Machines Corporation Method to efficiently prefetch and batch compiler-assisted software cache accesses
KR101321369B1 (ko) * 2007-03-21 2013-10-28 삼성전자주식회사 디스크 블록 액세스 처리 방법 및 시스템
US9612934B2 (en) * 2011-10-28 2017-04-04 Cavium, Inc. Network processor with distributed trace buffers
US9811341B2 (en) * 2011-12-29 2017-11-07 Intel Corporation Managed instruction cache prefetching
TWI463432B (zh) * 2012-10-05 2014-12-01 Genesys Logic Inc 圖像資料處理方法
US11636040B2 (en) * 2019-05-24 2023-04-25 Texas Instruments Incorporated Methods and apparatus for inflight data forwarding and invalidation of pending writes in store queue

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101086460B1 (ko) * 2009-12-28 2011-11-25 전남대학교산학협력단 필터 캐쉬용 희생 캐쉬를 구비한 저전력 프로세서 시스템 및 그 구동방법

Also Published As

Publication number Publication date
US20010032297A1 (en) 2001-10-18

Similar Documents

Publication Publication Date Title
US11803486B2 (en) Write merging on stores with different privilege levels
EP1388065B1 (en) Method and system for speculatively invalidating lines in a cache
US6957304B2 (en) Runahead allocation protection (RAP)
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US7895399B2 (en) Computer system and control method for controlling processor execution of a prefetech command
JP3262519B2 (ja) 第2レベルキャッシュの古いラインの除去によるプロセッサのメモリ性能の強化方法及びシステム
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
JP3732397B2 (ja) キャッシュシステム
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
JP3219196B2 (ja) キャッシュデータアクセス方法及び装置
JPH10207773A (ja) バス接続装置
JPH1055309A (ja) 階層キャッシュメモリ装置
JPH09265432A (ja) キャッシュメモリ装置
JPH09244957A (ja) バス接続装置及び方法