(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5913324
(24)【登録日】2016年4月8日
(45)【発行日】2016年4月27日
(54)【発明の名称】積極的プリフェッチングによるプロセッサキャッシュ汚染を低減するための方法及び装置
(51)【国際特許分類】
G06F 12/08 20160101AFI20160414BHJP
G06F 12/12 20160101ALI20160414BHJP
【FI】
G06F12/08 509D
G06F12/12 551
G06F12/08 507F
G06F12/08 513
【請求項の数】9
【全頁数】11
(21)【出願番号】特願2013-531661(P2013-531661)
(86)(22)【出願日】2011年9月22日
(65)【公表番号】特表2013-542511(P2013-542511A)
(43)【公表日】2013年11月21日
(86)【国際出願番号】US2011052680
(87)【国際公開番号】WO2012047526
(87)【国際公開日】20120412
【審査請求日】2014年9月19日
(31)【優先権主張番号】12/891,027
(32)【優先日】2010年9月27日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】パトリック コンウェイ
【審査官】
中野 裕二
(56)【参考文献】
【文献】
特開平07−253926(JP,A)
【文献】
米国特許出願公開第2007/0094450(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/08
G06F 12/12
(57)【特許請求の範囲】
【請求項1】
第1及び第2のキャッシュを制御するための方法であって、
前記第1のキャッシュにおいてキャッシュエントリを受け取ることと、
受け取ったキャッシュエントリがプリフェッチメモリアクセスに関連するものであることに応じて、前記受け取ったキャッシュエントリを手付かずに係る状態を有するものとして識別することと、
前記キャッシュエントリの前記手付かずに係る状態を、前記キャッシュエントリの少なくとも一部に対する要求を受け取ることに応答して、アクセスに係るものへと更新することと、
予め選択されたキャッシュライン交換アルゴリズムに従って前記キャッシュエントリを追い出すことと、
追い出されたキャッシュエントリの前記第2のキャッシュにおける記憶を、前記追い出されたキャッシュエントリの状態が手付かずに係るものであるかアクセスに係るものであるかに従って制御することと、を備える方法。
【請求項2】
前記追い出されたキャッシュエントリの記憶を制御することは、アクセスに係る状態を有する前記追い出されたキャッシュエントリに応答して前記第2のキャッシュ内に前記追い出されたキャッシュエントリを記憶することを更に備える請求項1に記載の方法。
【請求項3】
前記追い出されたキャッシュエントリの記憶を制御することは、手付かずに係る状態を有する前記追い出されたキャッシュエントリに応答して前記追い出されたキャッシュエントリが前記第2のキャッシュ内に記憶されるのを阻むことを更に備える請求項1に記載の方法。
【請求項4】
前記追い出されたキャッシュエントリの記憶を制御することは、前記追い出されたキャッシュエントリを前記第2のキャッシュ内に記憶することと、手付かずに係る状態を有する前記追い出されたキャッシュエントリに応答して前記追い出されたキャッシュエントリを前記第2のキャッシュ内の最長未使用エントリであるとして識別することと、を更に備える請求項1に記載の方法。
【請求項5】
コアと、
第1レベルキャッシュと、
第2レベルキャッシュと、
受け取ったキャッシュエントリがプリフェッチメモリアクセスに関連するものであることに応じて、前記受け取ったキャッシュエントリを手付かずに係る状態を有するものとして識別することと、前記キャッシュエントリの状態を、前記キャッシュエントリの少なくとも一部に対する要求を前記コアから受け取ることに応答して、アクセスに係るものへと更新することと、予め選択されたキャッシュライン交換アルゴリズムに従って前記キャッシュエントリを追い出すことと、のために適合させられる第1レベルキャッシュ制御器と、
追い出されたキャッシュエントリの前記第2のキャッシュにおける記憶を、前記追い出されたキャッシュエントリの状態が手付かずに係るものであるかアクセスに係るものであるかに従って制御するための第2レベルキャッシュ制御器と、を備えるマイクロプロセッサ。
【請求項6】
前記第2レベルキャッシュ制御器は、アクセスに係る状態を有する前記追い出されたキャッシュエントリに応答して前記第2のキャッシュ内に前記追い出されたキャッシュエントリを記憶することにより前記追い出されたキャッシュエントリの記憶を制御する請求項5に記載のマイクロプロセッサ。
【請求項7】
前記第2レベルキャッシュ制御器は、手付かずに係る状態を有する前記追い出されたキャッシュエントリに応答して前記追い出されたキャッシュエントリが前記第2のキャッシュ内に記憶されるのを阻むことにより前記追い出されたキャッシュエントリの記憶を制御する請求項5に記載のマイクロプロセッサ。
【請求項8】
前記第2レベルキャッシュ制御器は、前記追い出されたキャッシュエントリを前記第2のキャッシュ内に記憶することと、手付かずに係る状態を有する前記追い出されたキャッシュエントリに応答して前記追い出されたキャッシュエントリを前記第2のキャッシュ内の最長未使用エントリであるとして識別することと、により前記追い出されたキャッシュエントリの記憶を制御する請求項5に記載のマイクロプロセッサ。
【請求項9】
前記第1レベルキャッシュ制御器は、前記第1レベルキャッシュから追い出されるキャッシュエントリに応答して前記追い出されたキャッシュエントリの状態を前記第2レベルキャッシュ制御器へデリバーするように適合させられる請求項5に記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【0001】
開示される主題は概してキャッシュメモリシステムに関し、より特定的には無駄なキャッシュプリフェッチング(wasted cache prefetching)に関連するパフォーマンスヒット(performance hit)を低減する多重レベルキャッシュメモリシステムに関する。
【背景技術】
【0002】
最新のマイクロプロセッサは、プログラムが記憶されるメモリよりも高速である。即ち、マイクロプロセッサは、メモリから命令がリトリーブされ(retrieved)得る速度よりも速い速度で命令を実行することができ、従ってプログラムの命令は、マイクロプロセッサを動作状態に維持するのに十分速くは読み出すことができない。
【0003】
命令が実際にマイクロプロセッサによって必要とされるよりも前に命令をプリフェッチすることは、相対的に遅いメモリの応答を克服するため、及びプロセッサがそのかなり高い速度で動作することを可能にするために有用なメカニズムである。命令がメモリからプリフェッチされると、命令はキャッシュ内に置かれ、そこでは命令はプロセッサが当該特定の命令を実行する用意が整っている場合に極めて迅速にアクセスされ得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
プリフェッチングに伴う1つの問題は、ソフトウェアプログラムが常にそれらが記憶された順序で実行されるとは限らないことである。実際、ソフトウェアプログラムをプログラム内の別のロケーションへと分岐させ又はジャンプさせる多くの命令が存在する。従って、プログラムがいつ別のロケーションへと分岐し又はジャンプすることになるのかを正確に予測することは、プリフェッチングの品質、及びその結果としてプロセッサがソフトウェアプログラムを実行し得る速度に大きく影響し得る。プロセッサのより連続的で迅速な動作を可能にするように予測を一応は強化する多くのメカニズムが提案されてきている。しかし、これらの予測は少なくとも共通の一点を有しており、即ちそれらは少なくとも時々は間違いであり、そしてプロセッサによって使用されない命令がプリフェッチされるということである。つまり、プリフェッチアルゴリズムは幾つかの応用に対しては有用であるが、他に対しては有効でないことが分かるであろう。プログラムの実行の間、プリフェッチされたコード又はデータが無矛盾で且つ正確にアクセスされないと、プリフェッチャ(prefetcher)は実際上プロセッサの性能を損なうことがある。
【0005】
「浪費に係る(wasted)」プリフェッチは、予想される単一又は複数の命令でキャッシュを満たすメモリアクセスであって、アクセスされる前にキャッシュからエージアウトする(ages out of the cache)メモリアクセスである。浪費に係るプリフェッチは、システム及びメモリの帯域を消費し、またプロセッサコアのプライベートキャッシュや共有チップ多重プロセッサ(CMP)キャッシュを汚染する。
【0006】
最新のプリフェッチャは、高比率の浪費に係るプリフェッチを伴って高速でコード及びデータをプリフェッチするという点において、極めて積極的(aggressive)であり得る。
【課題を解決するための手段】
【0007】
開示される主題の幾つかの態様の基本的な理解を提供するために、開示される主題の簡略化された概要を以下に提示する。この概要は開示される主題の包括的な概説である。開示される主題の鍵となる若しくは臨界的な要素を特定すること又は開示される主題の範囲を表すことは意図されていない。その唯一の目的は、後で議論される更に詳細な説明への序として、幾つかの概念を単純化された形態で提示することである。
【0008】
開示される主題の1つの態様は、第1及び第2のキャッシュを制御するための方法において理解される。この方法は、第1のキャッシュにおいてキャッシュエントリを受け取ることと、そのキャッシュエントリを手付かずに係る状態(untouched status)を有するものとして識別することと、を備える。キャッシュエントリの状態は、キャッシュエントリの少なくとも一部に対する要求を受け取ることに応答して更新される。キャッシュエントリは、予め選択されたキャッシュライン交換アルゴリズムに従って追い出され(cast out)、そして追い出されたキャッシュエントリは、追い出されたキャッシュエントリの状態に従ってより低レベルな第2のキャッシュ内に記憶される。
【0009】
開示される主題の別の態様は、メモリシステムにおいて理解される。このメモリシステムは、第1レベルキャッシュ、第1レベルキャッシュ制御器、第2レベルキャッシュ及び第2レベルキャッシュ制御器を備える。第1レベルキャッシュ制御器は、受け取ったキャッシュエントリを手付かずに係る状態を有するものとして識別することと、キャッシュエントリの状態を、キャッシュエントリの少なくとも一部に対する要求を受け取ることに応答して、アクセスに係るものへと更新することと、予め選択されたキャッシュライン交換アルゴリズムに従ってキャッシュエントリを追い出すことと、のために適合させられる。第2レベルキャッシュ制御器は、追い出されたキャッシュエントリの第2のキャッシュにおける記憶を、追い出されたキャッシュエントリの状態に従って制御することのために適合させられる。
【0010】
開示される主題の別の態様は、マイクロプロセッサにおいて理解される。このマイクロプロセッサは、コア、第1レベルキャッシュ、第1レベルキャッシュ制御器、第2レベルキャッシュ及び第2レベルキャッシュ制御器を備える。第1レベルキャッシュ制御器は、受け取ったキャッシュエントリを手付かずに係る状態を有するものとして識別することと、キャッシュエントリの状態を、キャッシュエントリの少なくとも一部に対する要求を受け取ることに応答して更新することと、予め選択されたキャッシュライン交換アルゴリズムに従ってキャッシュエントリを追い出すことと、のために適合させられる。第2レベルキャッシュ制御器は、追い出されたキャッシュエントリの第2のキャッシュにおける記憶を、追い出されたキャッシュエントリの状態に従って制御することのために適合させられる。
【図面の簡単な説明】
【0011】
開示される主題は添付の図面を参照して以下に説明され、図面において同様の参照番号は同様の要素を表す。
【0012】
【
図1】
図1は複数のコアを複数の非共有L2キャッシュ及び1つの共有L3キャッシュと共に有するマイクロプロセッサのブロックレベル図である。
【
図2】
図2はコアの1つとL2キャッシュの1つと
図1のマイクロプロセッサの一部であるプリフェッチャとの間の関係を示す単純化されたブロック図である。
【
図3】
図3は
図1のマイクロプロセッサに関連するキャッシュにおけるキャッシュラインエントリの文体的表現である。
【
図4】
図4は
図1のマイクロプロセッサに関連するL2キャッシュの動作を示すフローチャートの文体的表現である。
【
図5】
図5は
図1のマイクロプロセッサに関連するL3キャッシュの動作を示すフローチャートの文体的表現である。
【
図6】
図6は
図1のマイクロプロセッサに関連するL3キャッシュの動作を示すフローチャートの代替的実施形態の文体的表現である。
【0013】
開示される主題は種々の修正及び代替的形態を許容する一方で、その具体的な実施形態が図面において例として示され、またここに詳細に説明されることになる。但し、具体的な実施形態のここでの説明は、開示される主題を開示される特定の形態に限定することを意図されておらず、むしろそれとは逆に、添付の特許請求の範囲によって画定される開示される主題の精神及び範囲内にある全ての修正、均等なもの及び代替案を網羅することが意図されている。
【発明を実施するための形態】
【0014】
開示される主題の1つ以上の具体的な実施形態が以下に説明される。開示される主題は、ここに含まれる実施形態及び図示に限定されるものではなく、むしろ特許請求の範囲内にある実施形態の一部や異なる実施形態の要素の組み合わせを含む実施形態の修正された形態を含むことが具体的に意図されている。任意のそのような実際の実装の開発においては、任意のエンジニアリング又は設計プロジェクトにおいて見られるように、システム関連及びビジネス関連の制約の遵守等の実装毎に変わり得る開発者の具体的な目標を達成するために、種々の実装固有の決定がなされ得ることが理解されるべきである。また、そのような開発努力は得てして複雑で且つ時間を費やすものであるが、この開示の利益を享受する当業者にとっては設計、製造及び製品化のルーチン的な業務であろうことが理解されるべきである。明示的に「臨界的」又は「本質的」であるものとして示されている場合を除き、本出願のいずれの内容も、開示される主題に対して臨界的又は本質的であると考えられることはない。
【0015】
次に添付の図面を参照して、開示される主題を説明する。説明のみを目的とし且つ開示される主題を当業者にとって周知である詳細で不明瞭にすることのないように、種々の構造、システム及びデバイスが図面に模式的に示されている。にもかかわらず、添付の図面は、開示される主題の例証的な例を記載し且つ説明するために含まれている。ここで用いられる語句は、関連分野を含めた当業者によるそれらの語句の理解と一致する意味を有するものして理解され且つ解釈されるべきである。ある用語又は句の特別の定義、即ち当業者によって理解される通常の且つ慣例的な意味とは異なる定義は、ここでのその用語又は句の一貫した使用によって暗示されることが意図されるわけではない。ある用語又は句が特別な意味、即ち当業者によって理解される以外の意味を有することが意図される限りにおいて、そのような特別な定義は、その用語又は句に対するその特別な定義を直接的且つ明白に提供する定義的な方法において明細書内に明示的に記載されることになる。
【0016】
次に、種々の図面を通して同様の参照番号が類似の要素に対応する図面を参照すると、特に
図1を参照すると、外部メモリ105に結合されるマイクロプロセッサ100との関連において、開示される主題が説明されることになる。当業者であれば、これらの要素及び他の要素からコンピュータシステムが構成され得ることを認識するはずである。しかし、本発明を不明瞭にすることを避けるために、本発明の理解に有用である要素のみが含まれている。
【0017】
図1は複数のコア106〜111からなる典型的な多重プロセッサシステムのためのメモリ階層を示している。各コアは専用のプライベートL2プロセッサキャッシュ112〜117を有している。当業者であれば、図示される実施形態が6個のコア106〜111及び6個のL2キャッシュ112〜117を有するものとして示されている一方で、本発明の精神及び範囲から逸脱することなしに、より多くの又はより少ないコア及びキャッシュが用いられてよいことを理解するはずである。
【0018】
図示される例示的な実施形態においては、L3キャッシュ120がシステム要求インタフェース(System Request Interface)125を介して全てのプロセッサコア106〜111によって共有される。図示される実施形態においては、L3キャッシュは最終レベルキャッシュ(Last Level Cache)(LLC)であるが、当業者であれば、本発明の精神及び範囲から逸脱することなしに、追加的なレベルのキャッシュが用いられてよいことを理解するはずである。
【0019】
コア106〜111の各々は、その対応するL2キャッシュ112〜117内にソフトウエア又は実行可能なコード及びデータのライン(executable code and data lines)を記憶する能力を有する。各プロセッサコア106〜111に付随するプリフェッチャユニット200(
図2参照)も同様に、コア106〜111による実行のために実際に必要になる前に転送バー(transfer bar)(XBAR)130を介して外部メモリ105からデータ及びコードをリトリーブする(retrieve)と共にプリフェッチされたコード及びデータをL2キャッシュ112〜117内に記憶する能力を有する。どのコード及びデータがメモリ105からプリフェッチされるべきかを決定するために種々の周知の方法が用いられてよいが、当業者であれば、本発明の精神及び範囲から逸脱することなしに、任意のプリフェッチ方法が用いられてよいことを理解するはずである。
【0020】
L2キャッシュの効率的な動作を確実にするためには、近い将来コア106〜111により使用される可能性が最も高いデータ及びコードでL2キャッシュを満たしておくことが一般的には望ましい。1つのそのような方法は、予め選択されたアクセスされていない時間の間データ又はコードがキャッシュ内に記憶されていた時点でキャッシュ内に記憶されているデータ又はコードを交換すること(replacing)を伴う。このプロセスは一般に「エージングアウト(aging out)」として知られる。L2キャッシュ112〜117内のあるラインがエージアウトする(ages out)と、そのラインは取り除かれ、即ちトランザクションの一部としてL2キャッシュ112〜117から「追い出される(cast out)」。追い出されたラインは「犠牲(victim)」ラインと称されることがあり、それらは追い出されるときに通常全部は廃棄されず、多くの場合に本実施形態におけるL3キャッシュ120等の次のレベルのキャッシュ内にインストールされる。
【0021】
プロセッサからのメモリアクセスは概して2種類に分けられ、即ち、プログラムの実行に起因するもの(デマンドアクセス)とプリフェッチャにより生成されるもの(プリフェッチ)とである。本装置の1つの実施形態においては、メモリのラインがプロセッサキャッシュ内に最初にインストールされるときに、プリフェッチとデマンドアクセスの間での区別がなされる。例えば、メモリのプリフェッチされたラインは、「手付かずに係る(untouched)」属性、状態又はフラグと共にL2キャッシュ112〜117内にインストールされる。ここで用いられる手付かずに係る属性、状態又はフラグの語句は、キャッシュブロック又はライン等のメモリの一部がプリフェッチされたが、プロセッサコア106〜111のいずれによっても未だアクセスされておらず又は手を付けられていないことの表示を意味することが意図されている。プロセッサコア106〜111が次いでL2キャッシュ112〜117内のラインにアクセスすると、手付かずに係る属性はクリアされ、このことは、ラインがプロセッサコア106〜111によってアクセスされたことを示す。しかし、ラインがL2キャッシュ112〜117でエージアウトすると、L2キャッシュ112〜117から追い出されつつある犠牲ラインと共に、手付かずに係る属性がSRI125を介してエクスポートされ又はデリバーされる。手付かずに係る属性は、L3キャッシュ120内のキャッシュ汚染(cache pollution)を回避するようにL3キャッシュ120によって使用されるインストールポリシーを制御するために用いられ得る。例えば、セットされた手付かずに係る属性を有する犠牲ラインは、L3キャッシュ120内には全くインストールされないことがあり、あるいはそれらは、最長時間未使用(Last Recently Used)(LRU)スロットとして識別されたL3キャッシュ120内のロケーション内にインストールされてよい。図示される実施形態においては、LRUスロットは、L3キャッシュに対する後続の記憶動作に応答してL3キャッシュから追い出されるべき次のキャッシュラインである。この実施形態においては、L2キャッシュ112〜117から廃棄されたキャッシュラインは、廃棄されたL2キャッシュライン内にあるメモリロケーションにアクセスすることをコア106〜111が決定する場合には、L3キャッシュ120内に少なくとも一時的に保持される。
【0022】
図3に示されるように、L2キャッシュ112〜117内の各ライン300は、典型的には、アドレス(ADDR)タグ305、アクセス状態フィールド310、LRUフィールド315及びデータ320を含む。随意的には、ECCコード325及び他の属性330を含んでいてよい。手付かずに係る属性335は、L2キャッシュ112〜117内の種々のロケーション内に記憶され得る。例えば、手付かずに係る属性335は、
図3に示されるようにスタンドアローン属性として記憶され得るし、あるいはアクセス状態フィールド310内で符号化されてよい。
【0023】
従来のマイクロプロセッサの動作の間、コードがプリフェッチされ且つキャッシュ内へと記憶される場合、その状態フィールドは典型的には共有(S)状態(Share (S) state)として識別される。本発明の1つの実施形態においては、共有状態は、2つの状態、即ち1)アクセスに係る共有(Share Accessed)(S.Accessed)と2)手付かずに係る共有(Share Untouched)(S.Untouched)とに置き換えられ得る。従って、本発明の1つの実施形態の動作の間、コードがプリフェッチされ且つキャッシュ112〜117内へと記憶されるときに、プリフェッチされたキャッシュラインのアクセス状態フィールド310は、キャッシュラインが未だコア106〜111によってアクセスされていないことを示すS.Untouchedとしてセットされてよい。続いて、
図4のフローチャートに示されるように、コア106〜111がコードを実行するに際して、そのコアはブロック405で特定のメモリアドレスに対するL2キャッシュ112〜117へと要求を送ることになる。当該メモリアドレスがL2キャッシュ112〜117内へと既にプリフェッチされている場合には、L2キャッシュ112〜117は、ブロック410において、プリフェッチされたキャッシュラインへの「ヒット(hit)」をADDRフィールド305に基づき検出することになる。ブロック412では、L2キャッシュにおける「ミス(miss)」がL3キャッシュ120へとデリバーされて、L3キャッシュ120は、要求されたメモリアドレスがL3キャッシュ120内に存在するかどうかを決定する。L2キャッシュ112〜117におけるヒットの場合には、ブロック415において、L2キャッシュ112〜117はアクセス状態フィールド310を調べ、そしてキャッシュラインがS.Untouchedとして識別されている場合には、キャッシュラインがコア106〜111へ送られると共にL2キャッシュ112〜117内のキャッシュラインが更新されて、アクセス状態フィールド310は、それが既にコア106〜111によってアクセスされたことを示すS.Accessed状態を含むことになる。あるいはキャッシュラインがS.Accessedとして識別される場合には、ブロック425において、キャッシュラインがコア106〜111へ送られると共に、L2キャッシュ112〜117内のキャッシュラインは、その状態が既に前もってS.Accessedにセットされているので、更新されない。
【0024】
図5はコードのラインがエージアウトした追い出し動作の間にL2キャッシュ112〜117からコードのラインを受け取ることに応答するL3キャッシュ120の動作のフローチャート表示を示している。本発明の1つの実施形態においては、L3キャッシュ120は、2種類の関連する追い出しをL2キャッシュ112〜117から受け取ることができる。即ち、L3キャッシュ120は、アクセス状態フィールド310がS.Accessed又はS.Untouchedのいずれにセットされているかに応じて、異なって応答するように構成されていてよい。プロセスは、追い出されたキャッシュライン300のアクセス状態フィールド310をL3キャッシュ120が調べる決定ブロック505で始まる。アクセス状態フィールド310がS.Untouchedにセットされている場合には、制御はブロック510に渡され、ここでは追い出されたキャッシュライン300がコア106〜111によってアクセスされなかったことをL3キャッシュ120が認識する。従って、図示される実施形態においては、手付かずに係る追い出されたキャッシュライン300は、ブロック510で廃棄され且つL3キャッシュ120内には記憶されない。
【0025】
一方、追い出されたキャッシュライン300のアクセス状態フィールド310がS.Accessedにセットされている場合には、制御はブロック515に渡され、ここでは追い出されたキャッシュライン300がコア106〜111によってアクセスされたことをL3キャッシュ120が認識する。従って、図示される実施形態においては、アクセスに係る追い出されたキャッシュライン300は、L3キャッシュ120内に記憶され、この場合、必要に応じて迅速且つ効率的にリトリーブされ得る。
【0026】
図6におけるL3キャッシュ120の動作のフローチャート表示には、本発明の代替的な実施形態が示されている。本発明のこの実施形態においては、ブロック605に示されるように、L3キャッシュ120の動作は、追い出されたキャッシュライン300のアクセス状態フィールド310がS.Untouchedにセットされている場合に異なって応答するように変更されている。具体的には、L3キャッシュ120は、追い出されたキャッシュライン300を即座には廃棄せず、むしろ追い出されたキャッシュライン300を、そのアクセス状態フィールド310がS.Untouched状態を有しているにもかかわらず、L3キャッシュ120内に記憶する。また、L3キャッシュ120は、追い出されたキャッシュライン300を記憶し、そしてそれをLRUエントリとして識別する。このように、L3キャッシュ120は、L2キャッシュ112〜117からの次の追い出されたライン等の別のキャッシュラインを受け取るまで、手付かずに係る追い出されたラインを一時的に記憶する。つまり、手付かずに係るキャッシュライン300は、既にLRUエントリとして識別されているので、L3キャッシュ120内の全キャッシュラインの最も低い優先度を有しており、そして置き換えられる次のキャッシュラインとなる。
【0027】
本発明は、コードとは対照的にデータがメモリからリトリーブされてL2キャッシュ112〜117内に置かれる場合の応用にも見出し得る。従来のマイクロプロセッサの動作の間、データがフェッチされ且つキャッシュ内へと記憶される場合、その状態フィールドは典型的には排他的(E)状態(Exclusive (E) state)として識別される。本発明の1つの実施形態においては、排他的状態は、2つの状態、即ち1)アクセスに係る排他的状態(Exclusive Accessed)(E.Accessed)と2)手付かずに係る排他的状態(Exclusive Untouched)(E.Untouched)とに置き換えられ得る。従って、本発明の1つの実施形態の動作の間、データがフェッチされ且つL2キャッシュ112〜117内へと記憶されるとき、プリフェッチされたキャッシュラインのアクセス状態フィールド310は、キャッシュラインが未だコア106〜111によってアクセスされていないことを示すE.Untouchedとしてセットされてよい。続いて、L2キャッシュ112〜117及びL3キャッシュ120の後続の動作の間、
図4〜6において説明されたように、E.Untouched状態フィールドはS.Untouched状態フィールドと実質的に同一の方法で動作することになり、またE.Accessed状態フィールドはS.Accessed状態フィールドと実質的に同一の方法で動作することになる。
【0028】
当業者であれば、
図4〜6と共に説明された機能が本発明の精神及び範囲から逸脱することなしに種々の方法において提供され得ることを理解するはずである。例えば、当該機能は、ハードウエア、ソフトウエア、ファームウエア又はこれらの組み合わせを通して提供され得る。また、
図4〜6と共に説明された機能を提供することが可能なL2及びL3キャッシュのための制御器は、別々のスタンドアローンデバイスであってよく、L2及びL3キャッシュの両方を制御することが可能な単一のデバイスであってよく、又は
図4〜6に関して特定されるよりも多くの能力を有する大型デバイスの一部であってよい。
【0029】
幾つかの実施形態においては、半導体製品及び半導体デバイス等の超大規模集積回路(VLSI回路)並びに/又は他の種類の半導体デバイスを設計し及び製造するプロセスでは種々のハードウエア記述言語(HDL)が用いられてよいこともまた検討される。HDLの幾つかの例はVHDL及びVerilog/Verilog−XLであるが、記載されていない他のHDLフォーマットが用いられてもよい。1つの実施形態においては、GDSデータ、GDSIIデータ等を生成するためにHDLコード(例えばレジスタ転送レベル(RTL)コード/データ)が用いられてよい。GDSIIデータは、例えば、記述的ファイルフォーマットであり、そして半導体製品又は半導体デバイスの三次元モデルを表すために種々の実施形態において用いられてよい。そのようなモデルは、半導体製品及び/又は半導体デバイスを作製するために半導体製造設備によって用いられてよい。GDSIIデータは、データベース又は他のプログラム記憶構造として記憶されてよい。このデータはコンピュータ可読記憶デバイス(例えばデータ記憶ユニット、RAM、コンパクトディスク、DVD、ソリッドステート記憶装置等)に記憶されてもよい。1つの実施形態においては、GDSIIデータ(又は他の同様なデータ)は、本発明の種々の態様を具現化することが可能なデバイスを作製するために、製造設備を構成する(例えばマスクワークの使用を通して)ように適合させられてよい。つまり、種々の実施形態においては、このGDSIIデータ(又は他の同様なデータ)は、コンピュータ、プロセッサ又は制御器内にプログラムされてよく、これらは次いで、半導体製品及び半導体デバイスを作製するために、半導体製造設備(又は製造工場(fab))の動作を全体的に又は部分的に制御してよい。例えば1つの実施形態においては、GDSIIデータ(又は他の同様なデータ)を用いて本発明を含むシリコンウェハが作製されてよい。
【0030】
開示される主題は、ここでの教示の利益を享受する当業者には明らかな、異なるが均等な方法において修正されてよく且つ実施されてよく、従って上に開示される特定の実施形態は例示のみを目的としている。また、ここに示される構成又は設計の詳細に対しては、特許請求の範囲に記述される以外は、限定は意図されていない。従って、上に開示される特定の実施形態は変更又は修正されてよく、また全てのそのような変形は開示される主題の範囲及び精神内にあるとみなされることは明らかである。よって、ここに求められる保護は特許請求の範囲に記述されている。