JP4263770B2 - キャッシュミスにおける電力消費を減少させるグローバル修正インジケータ - Google Patents

キャッシュミスにおける電力消費を減少させるグローバル修正インジケータ Download PDF

Info

Publication number
JP4263770B2
JP4263770B2 JP2008503286A JP2008503286A JP4263770B2 JP 4263770 B2 JP4263770 B2 JP 4263770B2 JP 2008503286 A JP2008503286 A JP 2008503286A JP 2008503286 A JP2008503286 A JP 2008503286A JP 4263770 B2 JP4263770 B2 JP 4263770B2
Authority
JP
Japan
Prior art keywords
cache
copyback
entry
cache entry
data
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
Application number
JP2008503286A
Other languages
English (en)
Other versions
JP2008535067A (ja
Inventor
サートリウス、トマス・アンドリュー
オーグスバーグ、ビクター・ロバーツ
ディーフェンダーファー、ジェームズ・ノリス
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2008535067A publication Critical patent/JP2008535067A/ja
Application granted granted Critical
Publication of JP4263770B2 publication Critical patent/JP4263770B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

背景
本発明は、一般にはプロセッサの領域に関し、詳細には、グローバル修正インジケータの検査によりコピーバックデータキャッシュにおける電力消費を減少させる方法に関する。
ポータブル電子デバイスのように、マイクロプロセッサは、組み込まれたアプリケーションを含む広範囲のさまざまなアプリケーションにおいて計算タスクを実行する。ソフトウェアにより追加的な機能を提供するために、このようなデバイスの絶えず増加する特徴セットおよび拡張機能は、よりいっそう計算的に強力なプロセッサを必要とする。ポータブル電子デバイスの別の傾向は、さらに縮小する形態要素である。この傾向の影響は、デバイス中のプロセッサおよび他の電子機器に電力供給するために使用されるバッテリのサイズの減少であり、電力効率を大きな設計目標とさせる。それ故に、実行速度を増加させ、電力消費を減少させるプロセッサの改良が、ポータブル電子デバイスプロセッサに対して望まれる。
多くのプログラムは、それらを実行するコンピュータがまるで非常に大量の(理想的に、無制限の)高速メモリを有しているかのように書かれている。階層のメモリタイプを使用することにより、ほとんどの最近のプロセッサはその理想の状態をシミュレートし、各メモリタイプは、異なる速度とコスト特性を有している。階層におけるメモリタイプは一般に、トップにおける非常に高速で非常に高価なタイプから、より低いレベルにおける、段々に遅くなるが、より経済的になる記憶タイプまでいろいろである。ほとんどのプログラムの空間的および時間的な局所参照性の特性のため、任意の所定の時間で実行する命令およびデータは非常に近い将来に必要とされる統計的可能性があり、上位の、高速の階層レイヤ中に保持されると有利であり、高速の階層レイヤでは、それらは容易に使用できる。コードが新しいエリアに進行および/または分岐するとき、下位のメモリ階層レベルから上位のレベルに、必要な命令およびデータをロードしてもよい。メモリ階層レベル間の命令およびデータのこの動きは、いくらかの性能の低下を招き、複雑なハードウェアおよびソフトウェア管理を必要とするかもしれないが、全体的な結果としては、遅いメモリタイプだけを使用するのに対してメモリ性能が正味増加し、高速のメモリタイプだけを使用する場合と比較してかなりのコストが節減される。
典型的なプロセッサメモリ階層は、トップレベルとして、プロセッサコア中に汎用目的レジスタ(GPR)のアレイを含んでいることがある。これらは最速のメモリであり、多くのケースにおいてクロックの両エッジを使用し、それ故に単一サイクル中にデータの書き込みと読み出しの両方を実行できる。プロセッサチップ上のゲートから構築されているので、シリコン領域、電力消費、ならびにGPRがルーティング、クロック分配、およびこれらに類似するものに関して負わせるオーバーヘッドの観点からいえば、GPRは高価である。
プロセッサレジスタは、1つ以上のオンチップキャッシュメモリにより裏打ちされていてもよく、オンチップキャッシュメモリはアクティブコードに対する1次の命令およびデータ記憶構造を構成し、例えば、多くの命令キャッシュにおけるヒットレートは97−98%に達する。オンチップキャッシュ(また、レベル−1またはL1キャッシュとして技術的に知られている)は、GPRに関して上述したのと同じ理由から高価である。しかしながら、非常に高い記録密度であり、それ故にGPRよりビット当たり低いコストを成し遂げるDRAMとして、キャッシュを実現することができる。個々のキャッシュを命令およびデータの記憶専用のものにしてもよく、ここでさらに議論するように、さまざまな戦略にしたがって、データキャッシュを管理してもよい。
構成に依存して、プロセッサは、1つ以上のオフチップ、すなわちL2キャッシュを含んでいてもよい。高速アクセス時間用のSRAM中でL2キャッシュを実現することが多く、これにより、性能を低下させるDRAMのリフレッシュ要求を回避する。以下すべてのキャッシュはメインメモリであり、通常最大記録密度それ故にビット当たりの最低コストのためにDRAM中で実現される。メインメモリは、ハードディスク記憶装置により裏打ちされていてもよく、ハードディスク記憶装置は一般的に、機械的に作動するセンサによりアクセスされる磁気媒体上で実現され、それ故にメモリ階層のより高いレベルの電子的アクセスと比較して極端に遅い。磁気または光媒体をそれぞれ含むテープまたはCDにより、ディスクはさらに裏打ちされていてもよい。ほとんどのポータブル電子デバイスは制約を有し、たとえディスク記憶装置のバックアップがあるとしても、テープ/CDのバックアップはなく、それ故に、(サイズが限られることが多い)メインメモリはメモリ階層の最低レベルである。
コンピュータメモリ階層において、より低いレベルのそれぞれは、より高いレイヤに存在するデータの完全な(しかし、ことによると新鮮でない)コピーを維持する。すなわち、より高いレベル中に記憶されたデータは、より低いレベル中に複製される。メモリ階層の上位レベル中に記憶されたデータに対する変更を下位レベルに伝えなければならない。GPRに対する変更は、STORE命令により明白にキャッシュに伝えられ、キャッシュ制御装置の指示の下、キャッシュに対する変更は、自動的にメインメモリに伝えられる。
一般に、メインメモリに対してキャッシュ中のデータに対する修正を伝える2つのアプローチが技術的に開発されており、それはライトスルーおよびコピーバックである。ライトスルーキャッシュにおいて、プロセッサが、そのL1キャッシュに対して修正データを書き込むとき、プロセッサはメインメモリに対して、修正データをさらに書き込む(何らかの介在するキャッシュは、この議論の目的のために省略されている)。ライトスルーキャッシュにおいて、メインメモリは常にデータの最新バージョンを含み、それ故に、特別な処理なしで、いつでもキャッシュエントリ中に記憶されたデータを処分してもよい。以下で議論するように、これによりキャッシュ管理が容易になる。
コピーバックアルゴリズムの下、プロセッサはL1キャッシュに対して、修正データを書き込んでもよいが、メインメモリをすぐに更新することは要求されない。そのためキャッシュエントリはメインメモリ中のバージョンとは異なるデータを含み、“ダーティ”エントリと呼ばれることが多い。“ダーティビット”をセットすることなどにより、キャッシュエントリはこれを反映するようにマークされる。後に、例えばキャッシュミスを処理する際に、またはソフトウェア制御の下、キャッシュエントリが置換されるときに、修正データがメインメモリに書き込まれる。キャッシュに対して書き込むことは一般にメインメモリに対して書き込むことより非常に短いアクセス時間を負うので、プロセッサが多くのデータ書き込みを実行するとき、コピーバックキャッシュ管理は性能を改善することができる。コピーバックアルゴリズムはまた、メインメモリに対してバストラフィックを減少させ、電力消費を減少させることができる。2つのキャッシュマネージメントアルゴリズムは、相互に排他的ではなく、単一のキャッシュは、ライトスルーアルゴリズムの下、いくつかのエントリを管理し、コピーバックアルゴリズムを使用して他のエントリを管理してもよい。
キャッシュサイズはメインメモリと比較して制限があるため、キャッシュは時間ベースで全メモリにより“共用”されている。すなわち、メインメモリの異なる領域からのデータが、異なる時間に同一のキャッシュエントリを占有するかもしれない。メモリアクセスがキャッシュ中で“ミスする”場合、データはメインメモリから取り出され、キャッシュ中に記憶される。使用中にキャッシュがいったんデータで満たされると、メモリからのデータを取り出すことになるキャッシュミスはキャッシュ中で現在占有されているエントリを移動させなければならない。何らかの特別な処理をすることなく、ライトスルーアルゴリズムの下で管理されているキャッシュエントリを置換してもよい。
しかしながら、置換前にデータがダーティであるかどうかを調べるために、コピーバックアルゴリズムの下で管理されているキャッシュエントリをチェックしなければならない。キャッシュラインを読み込み、ダーティビットを検査しなければならない。選択されたキャッシュエントリ中の既存のデータがダーティである(すなわち、メインメモリ中のバージョンとは異なる)場合、メモリから読み出された新しいデータでキャッシュエントリを置換する前に,その既存のデータをメインメモリに対して書き込まなければならない。ほとんどの実施において、プロセッサは既存のキャッシュエントリのキャッシュ管理アルゴリズムを認識していない。それ故に、キャッシュ中のいずれかのエントリがコピーバックアルゴリズムの下で管理される(またはされるかもしれない)場合、置換の際にすべてのエントリを読み込んで、エントリがコピーバックであるかどうか、そうである場合、それがダーティであるかどうかを確認しなければならない(両方の問い合わせは単にダーティビットの調査にまとめられてもよい)。エントリの置換の際に、ダーティビットの検査のためにすべてのキャッシュエントリを読み出すことは電力を消費することになり、どのキャッシュも修正されていないことが分かっているときには不必要である。
概要
本発明の1つ以上の実施形態にしたがって、少なくとも1つのエントリに対してコピーバック管理をサポートするキャッシュにおいて、キャッシュミスを処理するときに置換のために選択されたキャッシュエントリの読み出しは、キャッシュ中のどのコピーバックキャッシュエントリも書き込まれていないという指示に応答して抑制される。
1つの実施形態は、コピーバックアルゴリズムにしたがって管理されている少なくとも1つのエントリを含むキャッシュを管理する方法を構成する。いずれかのコピーバックキャッシュエントリに対する書き込みの際に、キャッシュに関係付けられているグローバル修正インジケータが更新される。グローバル修正インジケータは、ミスの際に検査される。キャッシュ中のどのコピーバックエントリも修正データを含んでいないことをグローバル修正インジケータが示す場合、置換のために選択されたキャッシュエントリは、エントリを最初に読み出すことなく新しいデータで更新される。
別の実施形態は、コピーバックアルゴリズムおよびキャッシュ中のいずれかのコピーバックエントリが書き込まれたかどうかを示すグローバル修正インジケータにしたがって管理されている少なくとも1つのエントリを有するキャッシュメモリを含むプロセッサを構成する。どのコピーバックキャッシュエントリも修正データを含んでいないことをグローバル修正インジケータが示す場合、プロセッサはまた、エントリを最初に読み出すことなくキャッシュ中のエントリを置換するように動作するキャッシュ制御装置を含む。
さらに別の実施形態は、コピーバックアルゴリズムにしたがって管理されている少なくとも1つのエントリを含むキャッシュ中でキャッシュミスを処理する方法を構成する。キャッシュ中のミスが検出され、要求されたデータがメモリから読み出される。どのコピーバックキャッシュエントリも修正データを含んでいないことをグローバル修正インジケータが示す場合、メモリから読み出されたデータが、エントリのコンテンツを読み出すことなく選択されたエントリに対して書き込まれる。
詳細な説明
図1は、プロセッサ10の機能のブロック図を描写する。制御ロジック14にしたがって命令実行パイプライン12中で、プロセッサ10は命令を実行する。いくつかの実施形態において、パイプライン12は、複数の並列パイプラインを有するスーパースケーラ設計であってもよい。パイプステージ中に構成されるさまざまなレジスタまたはラッチ16、および1つ以上の算術ロジックユニット(ALU)18をパイプライン12は含む。汎用目的レジスタ(GPR)ファイル20は、メモリ階層構造のトップを構成するレジスタを提供する。
パイプライン12は、I−キャッシュ制御装置24により制御される命令キャッシュ(I−キャッシュまたはI$)22から命令をフェッチする。命令に対するメモリアドレス変換および許可は、命令サイド変換ルックアサイドバッファ(ITLB)26により管理される。データは、D―キャッシュ制御装置30により制御されるデータキャッシュ28(D−キャッシュまたはD$)からアクセスされる。グローバル修正インジケータ(GMI)32は、D−キャッシュに関連付けられている。以下で議論するように、コピーバックキャッシュエントリがD−キャッシュ28中に書き込まれるときはいつでもGMIがセットされ、以下で議論するように、キャッシュのソフトウェアクリーニングが後に続くようなソフトウェアにより、GMIがクリアされてもよい。データに対するメモリアドレス変換および許可は、メイン変換ルックアサイドバッファ(TLB)31により管理される。さまざまな実施形態において、ITLB26はTLB31の一部のコピーを含んでいてもよい。代わりに、ITLBとTLBとを統合してもよい。同様に、プロセッサ10のさまざまな実施形態において、I−キャッシュ22とD−キャッシュ28とを統合、または一体化してもよい。メモリインターフェイス36の制御の下、I−キャッシュ22および/またはD−キャッシュ28におけるミスは、メイン(オフチップ)メモリ34に対するアクセスを生じさせる。
プロセッサ10は、さまざまな周辺デバイス40に対するアクセスを制御する入力/出力(I/O)インターフェイス38を含んでいてもよい。プロセッサ10の多数のバリエーションが可能であることを当業者は認識するだろう。例えば、IおよびDキャッシュ22、28のどちらかまたは両方に対して、プロセッサ10は2次(L2)キャッシュを含んでもよい。さらに、プロセッサ10中で描写される1つ以上の機能のブロックを、特定の実施形態から省略してもよい。
上述したように、データアクセスがD−キャッシュ28中でミスするときはいつでも、要求されたデータがメインメモリ34から取り出されて、D−キャッシュ28中に置かれる。D−キャッシュ28がいっぱいである場合(またはたとえそうではなくとも、いくつかの置換アルゴリズムの下で)、新しいデータがD−キャッシュ28中の既存のエントリを移動させるであろう。すべてのキャッシュエントリがライトスルーアルゴリズムにしたがって管理されている場合、キャッシュに対してデータを単に書き込んでもよく、その位置に記憶されていた以前のデータが上書きされる。プロセッサがキャッシュエントリ中に、以前に記憶されていたデータを有していた場合、そのデータはその時にメインメモリ34に対して直ちに“ライト−スルー”されていたことから、このケースにおいては、データに対してなされた修正を破壊する危険はない。
しかしながら、キャッシュが少なくとも1つのキャッシュエントリに対してコピーバックアルゴリズムをサポートする場合、プロセッサ10は最初に既存のキャッシュラインを読み出して、データがダーティであるか、すなわち付随するメインメモリ34の更新を行うことなくデータが以前に書き込まれたかどうかを決定しなければならない。先行技術のプロセッサは、キャッシュエントリが置換されるたびに、この読み出しを単に実行する。しかしながら、D−キャッシュ中のどのコピーバックエントリも書き込まれていないことが知られている場合、ダーティビットに対するチェックをするために読み出しを実行することなく、ラインを置換してもよい。これはプロセッサの性能を向上させ、電力消費を減少させる。
図2は、本発明の1つ以上の実施形態にしたがった、キャッシュ管理の方法を描写する。キャッシュ28中のいずれかのコピーバックエントリに対してプロセッサ10がデータを書き込むときはいつでも、この事実を反映するようにグローバル修正インジケータ(GMI)32が変更される(ブロック42)。最も単純なケースにおいて、GMI32は単一のビットを構成していてもよい。TLBルックアップ中のページ属性にアクセスする(例えば、仮想アドレスを物理アドレスに変換するとき)ことにより、プロセッサ10はキャッシュエントリの管理アルゴリズム(ライト−スルーまたはコピーバック)を認識しているかもしれない。代わりに、ハードワイヤードまたは構成ビットを通して、全体のキャッシュ、またはあるドレス範囲が一方または他方のモードで動作するように“固定”されていてもよい。1つの実施形態において、コピーバックキャッシュエントリに対する書き込みの際だけにGMI32をセットしてもよく、ライトスルーキャッシュエントリに対する書き込みはGMI32をセットしない。コピーバックキャッシュエントリに書き込む際にGMI32をセットすることは、(ルックバック矢印44により示されるような)進行中のプロセスである。
キャッシュミスにおいて、データはメインメモリ34から取り出され、この新しいデータを記憶するためにキャッシュエントリが選択される(ブロック46)。GMI32が次に検査される(ブロック50)。コピーバックエントリが以前に書き込まれたことをGMI32が示す場合(ブロック52)、例えば、単一ビットGMI32のケースにおいてビットがセットされている場合、キャッシュエントリがダーティであるかどうかを調べるためにラインを最初に読み出し、ダーティである場合、メインメモリを更新する従来技術の方法にしたがって、キャッシュエントリを置換する(ブロック54)。しかしながら、キャッシュ28中のどのコピーバックエントリも書き込まれていないことをGMI32が示す場合、プロセッサはキャッシュエントリを読み出すステップを回避し、選択されたキャッシュエントリに対してメモリから取り出された新しいデータを書き込むことによりキャッシュエントリを直接置換する(ブロック56)。これにより、電力消費と、キャッシュエントリを読み出してダーティビットを検査する追加のアクセス時間が削減される。
(システムリセットに加えて)ソフトウェアにより、どのコピーバックキャッシュエントリも書き込まれていないことを示す状態に、GMI32をクリア、またはリセットしてもよい。これは、例えば、ソフトウェア“クリーニング”動作に続いて生じてもよく、この場合、ソフトウェアはキャッシュ28の中を循環して、すべてのダーティ、コピーバックエントリからメインメモリ34にデータを書き込む。キャッシュ全体28に関係付けられた単一のGMI32では、GMI32がリセットされた時から、データがコピーバックキャッシュエントリに対して書き込まれるまで、ここで記述した電力節約およびプロセッサ性能が利用できるだけであることに注意すべきである。いずれかのコピーバックエントリがいったん書き込まれると、ソフトウェアが再度キャッシュをきれいにし、GMI32をリセットするまでは、すべてのコピーバックエントリを置換の前に読み出して、それらがダーティであるかどうかをチェックしなければならない。
技術的によく知られているように、さまざまな方法で物理的におよび論理的にキャッシュ22、28を構築してもよい。1つの知られているキャッシュ構成は、n方向のセット連想であり、この場合、インデックスと呼ばれる(仮想または物理)アドレス領域の一部を使用して、キャッシュエントリのnセット中から1つを選択し、これに対してデータがマッピングされる。1つの実施形態にしたがうと、キャッシュ28中の各セットはそれに関係付けられたセット−GMI32を有してもよく、セット−GMI32は、そのセット内のコピーバックエントリが以前に書き込まれたかどうかを示す。これにより、コピーバックエントリが1つのセット中に書き込まれた後、キャッシュ28中のn−1個のセットに対する性能および電力の利益をプロセッサ10は獲得し続けることができる。
別の知られているキャッシュ構成は、キャッシュ28を2以上のバンクに分割することである。バンクは、(仮想または物理)アドレスのバンク選択領域により選択される。1つの実施形態にしたがうと、キャッシュ28の各バンクはそれに関係付けられたバンク−GMI32を有してもよく、バンク−GMI32はそのバンク内のコピーバックエントリが以前に書き込まれたかどうかを示す。これにより、あるバンク中にコピーバックエントリが書き込まれるとき、1つ以上のバンクに対する性能および電力の利益をプロセッサ10は獲得し続けることができる。
本発明は、特定の機能、観点および実施形態に関してここで記述したが、多数のバリエーション、修正、および他の実施形態が本発明の広い範囲内で可能であり、したがって、あらゆるバリエーション、修正および実施形態が本発明の範囲内のものであると考えるべきことが明らかであろう。それゆえに本実施形態は、すべての観点において実例的なものであって限定的なものでないとして解釈すべきであり、添付した特許請求の範囲の意味および均等の範囲内に入るすべての変更は、その中に包含すべきであることが意図されている。
図1は、プロセッサの機能のブロック図である。 図2は、キャッシュミスを処理する方法のフロー図である。

Claims (10)

  1. コピーバックアルゴリズムにしたがって管理された少なくとも1つのエントリを含むキャッシュを管理する方法において、
    任意のコピーバックキャッシュエントリに対する書き込みの際に、キャッシュに関係付けられたグローバル修正インジケータビットを更新することと、
    ミスを処理する際に、前記グローバル修正インジケータビットを検査することと、
    前記キャッシュ中のどのコピーバックキャッシュエントリも修正データを含んでいないことを前記グローバル修正インジケータビットが示す場合、置換のために選択されたコピーバックキャッシュエントリが修正データを含んでいるかどうかを決定するために前記選択されたコピーバックキャッシュエントリを最初に読み出すことなく、前記選択されたコピーバックキャッシュエントリに対して新しいデータを書き込むこととを含む方法。
  2. 前記キャッシュは2つ以上のバンクに分割されており、バンク−グローバル修正インジケータビットが各バンクに関係付けられており、前記バンク中のどのコピーバックキャッシュエントリも書き込まれていないことを前記関係付けられたバンク−グローバル修正インジケータビットが示すとき、選択されたコピーバックキャッシュエントリが読み出されることなく置換される請求項1記載の方法。
  3. 前記キャッシュはn方向のセット連想キャッシュであり、セット−グローバル修正インジケータビットが各セットに関係付けられており、前記セット中のどのコピーバックキャッシュエントリも書き込まれていないことを前記関係付けられたセット−グローバル修正インジケータビットが示すとき、選択されたコピーバックキャッシュエントリが読み出されることなく置換される請求項1記載の方法。
  4. 前記グローバル修正インジケータビットをソフトウェアによりリセットしてもよい請求項1記載の方法。
  5. 修正データを含むすべてのコピーバックキャッシュエントリをメモリに書き込むことにより前記キャッシュをクリーニングすることに続き、ソフトウェアにより前記グローバル修正インジケータビットをリセットする請求項4記載の方法。
  6. プロセッサにおいて、
    コピーバック置換アルゴリズムにしたがって管理された少なくとも1つのエントリを含むキャッシュと
    前記キャッシュ中の任意のコピーバックキャッシュエントリが修正データを含むかどうかを示すグローバル修正インジケータビットと、
    どのコピーバックキャッシュエントリも修正データを含んでいないことを前記グローバル修正インジケータビットが示す場合、置換のために選択されたコピーバックキャッシュエントリを最初に読み出すことなくキャッシュ中の前記選択されたコピーバックキャッシュエントリを置換するように動作するキャッシュ制御装置とを具備するプロセッサ。
  7. 前記キャッシュは2つ以上のバンクに分割されており、2つ以上のバンク−グローバル修正インジケータビットをさらに具備し、関係付けられたバンク中の任意のコピーバックキャッシュエントリが修正データを含むかどうかを各バンク−グローバル修正インジケータビットが示し、前記バンク中のどのコピーバックキャッシュエントリも修正データを含んでいないことを前記関係付けられたバンク−グローバル修正インジケータビットが示す場合、置換のために選択されたコピーバックキャッシュエントリを最初に読み出すことなくバンク中の前記選択されたコピーバックキャッシュエントリを置換するように前記キャッシュ制御装置が動作する請求項記載のプロセッサ
  8. 前記キャッシュはn方向のセット連想キャッシュであり、2つ以上のセット−グローバル修正インジケータビットをさらに具備し、関係付けられたキャッシュセット中の任意のコピーバックキャッシュエントリが修正データを含むかどうかを各セット−グローバル修正インジケータビットが示し、前記セット中のどのコピーバックキャッシュエントリも修正データを含んでいないことを前記関係付けられたセット−グローバル修正インジケータビットが示す場合、置換のために選択されたコピーバックキャッシュエントリを最初に読み出すことなくセット中の前記選択されたコピーバックキャッシュエントリを置換するように前記キャッシュ制御装置が動作する請求項記載のプロセッサ
  9. 前記グローバル修正インジケータビットは、ソフトウェアによりリセットされるように動作する請求項記載のプロセッサ
  10. コピーバック置換アルゴリズムにしたがって管理された少なくとも1つのエントリを含むキャッシュ中のキャッシュミスを処理する方法において、
    前記キャッシュ中のミスを検出することと、
    要求されたデータをメモリから読み出すことと、
    どのコピーバックキャッシュエントリも書き込まれていないことをグローバル修正インジケータビットが示す場合、置換のために選択されたコピーバックキャッシュエントリのコンテンツを読み出すことなく、メモリから読み出された前記データを前記選択されたコピーバックキャッシュエントリに書き込むこととを含む方法。
JP2008503286A 2005-03-23 2006-03-23 キャッシュミスにおける電力消費を減少させるグローバル修正インジケータ Expired - Fee Related JP4263770B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/088,383 US7330941B2 (en) 2005-03-23 2005-03-23 Global modified indicator to reduce power consumption on cache miss
PCT/US2006/011172 WO2006102665A2 (en) 2005-03-23 2006-03-23 Global modified indicator to reduce power consumption on cache miss

Publications (2)

Publication Number Publication Date
JP2008535067A JP2008535067A (ja) 2008-08-28
JP4263770B2 true JP4263770B2 (ja) 2009-05-13

Family

ID=36685810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008503286A Expired - Fee Related JP4263770B2 (ja) 2005-03-23 2006-03-23 キャッシュミスにおける電力消費を減少させるグローバル修正インジケータ

Country Status (6)

Country Link
US (1) US7330941B2 (ja)
EP (1) EP1869557B1 (ja)
JP (1) JP4263770B2 (ja)
CA (1) CA2601779C (ja)
RU (1) RU2390855C2 (ja)
WO (1) WO2006102665A2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101165132B1 (ko) * 2007-01-31 2012-07-12 콸콤 인코포레이티드 멀티-레벨 캐시 계층에서의 캐스트아웃들을 감소시키기 위한 장치 및 방법들
US20110202727A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache
RU2475822C1 (ru) * 2011-12-08 2013-02-20 Учреждение Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) Подсистема памяти ядра микропроцессора
US20130346683A1 (en) * 2012-06-22 2013-12-26 William L. Walker Cache Sector Dirty Bits
RU2552151C2 (ru) * 2013-09-17 2015-06-10 Общество с ограниченной ответственностью "РЭЙДИКС" Способ контроля корректности записи данных в двухконтроллерной системе хранения данных на массиве энергонезависимых носителей и устройство для его осуществления
US10223305B2 (en) * 2016-06-27 2019-03-05 International Business Machines Corporation Input/output computer system including hardware assisted autopurge of cache entries associated with PCI address translations
JP2018133038A (ja) * 2017-02-17 2018-08-23 Necプラットフォームズ株式会社 情報処理装置、制御装置、制御方法及びプログラム
US10229061B2 (en) 2017-07-14 2019-03-12 International Business Machines Corporation Method and arrangement for saving cache power
JP7139719B2 (ja) * 2018-06-26 2022-09-21 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
US11106594B2 (en) 2019-09-05 2021-08-31 Advanced Micro Devices, Inc. Quality of service dirty line tracking

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US5247643A (en) * 1991-01-08 1993-09-21 Ast Research, Inc. Memory control circuit for optimizing copy back/line fill operation in a copy back cache system
US5555398A (en) * 1994-04-15 1996-09-10 Intel Corporation Write back cache coherency module for systems with a write through cache supporting bus
JPH0844626A (ja) * 1994-07-28 1996-02-16 Nec Niigata Ltd キャッシュシステムのフラッシュサイクル制御方法
WO1997024655A1 (en) * 1995-12-28 1997-07-10 Ipl Systems, Inc. Virtual ramdisk
GB2369694B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Efficient memory modification tracking
US6697918B2 (en) * 2001-07-18 2004-02-24 Broadcom Corporation Cache configured to read evicted cache block responsive to transmitting block's address on interface
US20060143397A1 (en) * 2004-12-29 2006-06-29 O'bleness R F Dirty line hint array for cache flushing

Also Published As

Publication number Publication date
JP2008535067A (ja) 2008-08-28
US20060218354A1 (en) 2006-09-28
WO2006102665A2 (en) 2006-09-28
RU2007139112A (ru) 2009-04-27
CA2601779C (en) 2011-05-24
CA2601779A1 (en) 2006-09-28
RU2390855C2 (ru) 2010-05-27
EP1869557A2 (en) 2007-12-26
EP1869557B1 (en) 2017-09-27
WO2006102665A3 (en) 2007-04-26
US7330941B2 (en) 2008-02-12

Similar Documents

Publication Publication Date Title
JP4263770B2 (ja) キャッシュミスにおける電力消費を減少させるグローバル修正インジケータ
US7426626B2 (en) TLB lock indicator
US9251095B2 (en) Providing metadata in a translation lookaside buffer (TLB)
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
US10025720B2 (en) Cache organization and method
US7461209B2 (en) Transient cache storage with discard function for disposable data
US6212602B1 (en) Cache tag caching
JP5580894B2 (ja) Tlbプリフェッチング
US5787478A (en) Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy
US9672161B2 (en) Configuring a cache management mechanism based on future accesses in a cache
CN111201518B (zh) 用于管理能力元数据的设备和方法
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
US6240489B1 (en) Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system
Benini et al. Synthesis of application-specific memories for power optimization in embedded systems
US5926841A (en) Segment descriptor cache for a processor
JP2006318471A (ja) データ処理におけるメモリキャッシング
US20240054073A1 (en) Circuitry and Method
US6766427B1 (en) Method and apparatus for loading data from memory to a cache

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080827

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080903

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080929

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081006

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081027

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4263770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees