JP2008530657A - キャッシュメモリを備えたシステムとアクセス方法 - Google Patents

キャッシュメモリを備えたシステムとアクセス方法 Download PDF

Info

Publication number
JP2008530657A
JP2008530657A JP2007554110A JP2007554110A JP2008530657A JP 2008530657 A JP2008530657 A JP 2008530657A JP 2007554110 A JP2007554110 A JP 2007554110A JP 2007554110 A JP2007554110 A JP 2007554110A JP 2008530657 A JP2008530657 A JP 2008530657A
Authority
JP
Japan
Prior art keywords
cache
data
location
line
victim
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.)
Withdrawn
Application number
JP2007554110A
Other languages
English (en)
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2008530657A publication Critical patent/JP2008530657A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/124Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being minimized, e.g. non MRU
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

犠牲キャッシュモードで作動する上位レベルキャッシュと下位レベルキャッシュとを備えたシステムが開示される。犠牲キャッシュは、最長時間未使用のキャッシュロケーションとして一番最近に読み出されたキャッシュロケーションを識別する、一番最近に使用された制御モジュールを含む。

Description

概して、本開示はメモリシステムに関し、より詳細には、キャッシュメモリを用いたシステムに関する。
犠牲キャッシュ(victim cache)を用いたシステムは、上位レベルキャッシュで上書きされたキャッシュラインを、下位レベルの犠牲キャッシュで記録されるよう転送することにより、書き込みモードで動作する。読み出し動作においては、リクエストされたデータは、キャッシュヒットにより示される、リクエストされたデータが犠牲キャッシュのラインに残っていることに応答して、犠牲キャッシュから上位レベルキャッシュへ転送される。
読み出し動作の一環として、犠牲キャッシュからのキャッシュラインの読み出しを無効にする書き込みが生じる。読み出されたキャッシュラインを無効にすることで、キャッシュコントローラは、このキャッシュラインが次の書き込み動作に利用できるものとして識別する。
本開示は添付の図面を参照することでさらに理解することができ、その様々な特徴および利点は当業者によって明らかにされる。
なお、異なる図面においても、同様の、あるいは同一のアイテムに対しては同じ参照記号を使用する。
本開示の特定の実施形態に係る犠牲キャッシュシステムが開示されている。一実施形態では、レベル2(L2)キャッシュがレベル1(L1)キャッシュから出されたデータを記録する犠牲キャッシュになるように、L1キャッシュとL2キャッシュとが協働する。本開示の特定の実施形態によれば、データがL1キャッシュからL2キャッシュへ書き込まれるときに、書き込まれる側のキャッシュラインはそのキャッシュ行において一番最近に使用された(MRU:Most Recently Used)キャッシュラインとして、MRUアレイにおいて識別される。
しかし、データが犠牲キャッシュに読み出されると、その結果として、犠牲キャッシュから読み出されたキャッシュラインは、そのキャッシュ行において最長時間未使用の(LRU)キャッシュラインとして、MRUアレイにおいて識別される。キャッシュから読み出されたばかりのキャッシュラインを、その行で最長時間未使用のラインと識別することは、タグアレイにおけるラインを無効にすることと同様の結果が得られる。その理由は、一番最近に読み出されたキャッシュラインは、キャッシュ行の他のいずれのバリッドライン(有効ライン)よりも先に上書きされることになるからである。
本文で使用している用語である、「行」あるいは「キャッシュ行」は、現在のアドレスのインデックス部分(図1のA(インデックス)参照のこと)に基づいて選択される一連のキャッシュラインのことを言う。例えば、参照番号141、142、および143は、各々が4つのキャッシュラインを有するキャッシュ行を表す。本明細書のこのような具体的な実施形態およびその他の具体的な実施形態は本文の図1から図7を参照することでより理解することができる。
図1は、本願の特定の実施形態に係るシステム100を示す。システム100は、リクエスティングデバイス110、レベル1キャッシュ120、およびレベル2犠牲キャッシュ130を含む。システム100は、システムオンチップ(SOC)システム、もしくはマルチコンポーネントシステムを示し得る。マルチコンポーネントシステムの場合、デバイス110、キャッシュ120、およびキャッシュ130の一部は別の半導体基板上にあってもよい。一実施形態では、デバイス110およびキャッシュ120は共通の半導体基板上にあり、一方、キャッシュ130は、その一部を別の半導体基板に製造してもよく、あるいは、別の半導体基板には何ら製造されないようにしてもよい。システム100が複数のコンポーネントを含む場合、このようなコンポーネントは、プリント基板、マルチチップモジュール、あるいはコンポーネントをサポートし相互接続できるその他の基板を使用して相互接続され得る。
動作においては、リクエスティングデバイス110は、L1キャッシュ120のバスポートに電気的に接続されたバスポートを有する。特定の実施形態では、このリクエスティングデバイス110はマイクロコントローラの中央処理ユニットであり得る。データアクセス動作においては、リクエスティングデバイス110は、情報が読み出される(受信される)あるいは書き込まれる(転送される)ようにリクエストを出す。読み出し動作あるいは書き込み動作のいずれにおいても、キャッシュ120および130にデータが書き込まれることになる。
キャッシュモジュール120は、キャッシュモジュール120でヒット(キャッシュヒット)した場合、リクエスティングデバイス110によってリクエストされるデータを供給することになる。キャッシュモジュール120でキャッシュミスが発生した場合、つまり、リクエストしたデータが存在しなければ、データは、犠牲キャッシュ130から、あるいはシステムメモリなどの別のメモリ位置(図示せず)からキャッシュモジュール120に書き込まれることになる。例えば、リクエストしたデータがキャッシュ120にもキャッシュ130にも存在しなければ、データは別のメモリ位置から受けとられることになる。別のメモリロケーションからのデータを受信したことに応答して、キャッシュ120のキャッシュラインにおけるデータを上書きしなければならない場合、上書きされるデータはまずL1キャッシュ120から出され、犠牲キャッシュ130に書き込まれて記録される。犠牲キャッシュ130にデータが書き込まれると、犠牲キャッシュ130は、L1キャッシュから出されたデータを受けたキャッシュラインを、一番最近に使用されたキャッシュラインとして識別する。
リクエスティングデバイス110によってリクエストされたデータが、外部メモリやL1キャッシュ120ではなく、犠牲キャッシュ130でキャッシュヒットすると、リクエストされたデータは犠牲キャッシュ130からL1キャッシュ120へと送られて記録される。この犠牲キャッシュ130のキャッシュラインを読み出すことで、読み出されたキャッシュラインは最長時間未使用のラインとして識別される。
犠牲キャッシュ130は、メモリアレイ140、タグ/バリッドビットアレイ135、キャッシュタグコントロール部165、キャッシュヒットモジュール155、最近使用制御モジュール166(MRUモジュール)、MRUアレイ170、および、ウェイ選択モジュール部150を含む。
バス125はL1キャッシュ120を犠牲キャッシュ130に接続し、タグ部分やインデックス部分を含むアドレス情報をL1キャッシュ120から犠牲キャッシュ130へと送る。更なるデータおよび制御バスが存在することは明らかであることから、以下の議論のためにアドレスバスだけを例示する。バス125の部位は、メモリアレイ135の特定のキャッシュラインセットを識別するために使用されるアドレス情報を送信するもので、A(インデックス)のラベルが付されており、キャッシュタグコントロール165に接続されている。キャッシュ行の特定のウェイを選択するために使用されるアドレス情報にはA(タグ)のラベルが付されており、キャッシュヒットモジュール部155に送られる。メモリアレイ部140はキャッシュ行141〜144を含み、さらに、ウェイ146〜149の4つのウェイを含む。ウェイ選択モジュール150はキャッシュメモリアレイ140に接続され、犠牲キャッシュ130でのヒットに応答して、L1キャッシュ120に供給されるメモリアレイ140のウェイの1つに関連づけられるデータを選択する信号を受信する。
キャッシュタグコントローラ165は、キャッシュメモリアレイ140のキャッシュ行の1つを選択するとともに、このキャッシュ行に関連付けられるアレイ135のタグとバリッドビットとを選択する。特定のアドレスの受信に応答して、現在のアドレスのタグ、A(タグ)がキャッシュタグ/バリッドビットアレイ135内に記録されることが決定されると、信号がキャッシュヒットモジュール155からアサートされてMRUコントロール166とウェイ選択モジュール150とに送られ、これにより、データが犠牲キャッシュ130からL1キャッシュ120に送られ、MRUレジスタがアップデートされる。
書き込み動作においては、MRU制御モジュール166は、書き込まれるラインがその行内で一番最近に使用されたラインであることを示すようにMRUアレイ170をアップデートする。
読み出し動作においては、MRU制御モジュール166は、読み出されたラインがその行内で最長時間未使用のラインであることを示すようにMRUアレイ170をアップデートする。実際にはそのラインが一番最近にアクセスされたものである場合に、この読み出されたラインを最長時間未使用のラインであるとして示すことで、この読み出されたばかりのラインが次の書き込み動作中に上書きされる可能性が最も高いものとされ、その一方で、上書きされる前においては最近に読み出されたデータが利用できる状態が維持される。このことは、これまでのシステム、つまり、一旦キャッシュラインデータが読み出されるとラインに対する犠牲キャッシュタグを無効にすることで、その後に元のデータが犠牲キャッシュから必要とされた場合、例えば、キャッシュラインの元の読み出しを中止する必要がある場合に、キャッシュラインの次のデータを読み出しさせないようなシステム、よりも有益である。
また、この開示されたシステムを使用することで、キャッシュラインを無効にするためのタグ/バリッドアレイ135への別々の書き込みが必要とされないために、バンド幅を改善することができる。このことは、図2を参照することでさらに理解することができる。
図2に、従来の犠牲キャッシュへの読込みと、本実施形態における犠牲キャッシュ130への読込みとの各タイミング図を示す。信号211は従来のシステムにおける犠牲キャッシュのタグ/バリッドビットへのアクセスを示す。また、信号212は、従来のシステムのMRUアレイのMRUインジケータへのアクセスを示す。具体的には、従来の犠牲アレイへの読み出しの第1サイクル(C1)中、選択されたキャッシュ行のタグおよびインバリッドビットは、信号211のパルスRD1に示されるように読み出される。同じサイクルにおいて、アクセスされた行に対するMRUインジケータは、信号212のパルスRD1およびW1に示すように読み出しと書き込みがなされる。インバリッドビットは犠牲キャッシュに記録されたデータにアクセスするためのスピードパス(speed path)にあるので、また、タグ/インバリッドアレイ135はMRUアレイよりも大きいので、同じサイクルでアレイ135のインバリッドビットにライトバックするのは一般には実用的ではない。代わりにバリッドビットが書き込まれ、キャッシュ行内の特定のラインのデータが同じ読み出し動作の第2サイクル中に無効にされることを示すようする。犠牲キャッシュは第3サイクル(C3)まで次の読み出しをすることができない。
信号213は、開示されたシステムのタグのタグ/バリッドビットへのアクセスを示す。信号214はMRUアレイのMRUインジケータへのアクセスを示す。具体的には、選択されたキャッシュ行のタグおよびインバリッドビットは、信号213のパルスRD1により示されるC1中に同時に読み出される。同じサイクルにおいて、アクセスされた行に対するMRUインジケータは、信号214パルスR1およびW1に示すように読み出しと書き込みとがなされる。MRUアレイはC1中にライトバックされるので、サイクルC2において第2の読み出し動作が行われ、これにより、犠牲キャッシュ130の読み出しバンド幅が増加する。
図3は、犠牲キャッシュ130への読み出しおよび書き込み動作がキャッシュ行のMRUおよびバリッドビットにどのように影響を及ぼすかを示すことにより、犠牲キャッシュ130を理解しやすいものとする。具体的には、図3は、図1の犠牲キャッシュ130の行および列に対応する行および列を有するアレイ337を示す。例えば、行241〜244はキャッシュ行141〜144に対応し、列246〜249はウェイ146〜149に対応する。アレイ337の各キャッシュラインは、“i”か“v”の文字を含む。文字“i”は、キャッシュラインに関連付けられたデータが無効であることを示し、文字“v”は、キャッシュラインに関連付けられたデータが有効であることを示す。有効データを含むとされたラインはさらに1〜4の数字を含む。これらの数字はラインの一番最近の使用状況を示すもので、1は一番最近に使用されたデータを示し、4は最長時間未使用のデータを示す。
図3のライン242からライン242Aまでのパスは、行241、列249に関連付けられるラインのデータの読み出しを示し、ライン242からライン242Bまでのパスは、行242、列249に関連づけられるキャッシュラインのデータの書き込みを示す。
行141、ウェイ149への読込み動作においては、最近読込まれたラインが値4を含み、これによりこのラインが最長時間未使用ラインと識別されるように、キャッシュ行142に関連づけられるMRU値が変更される。行142、ウェイ149への書き込み動作においては、最近書き込まれたラインが値1を含み、これによりこのラインが一番最近に使用されたラインとされるように、キャッシュ行142に関連付けられるMRU値が変更される。
特定のキャッシュラインの使用状況は、様々な方法で記録することができる。例えば、各キャッシュラインを十分な大きさのメモリロケーションと関連付け、現在の使用の順位を示すことができる。4つのキャッシュラインを有するキャッシュ行に関しては、これには4つの、2ビットのロケーションが必要となる。他の形態では、4つのキャッシュラインを有するキャッシュ行は、3ビットだけを使用した擬似的ランキング法(pseudo-ranking schemeを使用することができた。このような手法では、2つの重ならないキャッシュラインセットが識別される。重ならないキャッシュラインセットの各々は4つのキャッシュラインのうちの2つを示す。この擬似的ランキング法を実現するために使用される3ビットのうちの第1のビットは、この第1セットが一番最近に使用されたキャッシュラインを含むことを示すようにアサートされ、また、第2セットが一番最近に使用されたキャッシュラインを含むことを示すようにネゲートされる。擬似的ランキング法における残りの2ビットは、対応するセット内のどのキャッシュラインが最も最近アクセスされたものかを示すようにアサートあるいはネゲートされる。この手法により、行内で一番最近に使用されたキャッシュラインと最長時間未使用のキャッシュラインとを識別できることが明らかであろう。
図4に、本実施形態に係る方法をフロー図形式で示す。ステップ311では、読み出し動作の一環として、リクエストした第1の情報が犠牲キャッシュ内の、例えばキャッシュラインなどの第1キャッシュロケーションに記録されている、つまり、ヒットしたと判断される。
ステップ312では、ステップ311でヒットしたことに応答して、第1キャッシュロケーションからリクエストした情報の取り出しが促される。図1を参照すると、リクエストされた情報は、キャッシュタグコントロール165のキャッシュ行選択モジュールにより選択されたキャッシュ行と、タグのヒットに応答してキャッシュヒットモジュール155から送られた選択信号に基づいて選択される。
ステップ313では、ステップ311でヒットに応答して、リクエストされた情報がアクセスされたキャッシュロケーションは、読み出しに応答して、最長時間未使用のキャッシュロケーションとして識別されることになる。このようにして、データはアクセス可能なままにされているが、データは、次に情報をキャッシュタグロケーションに記録しなければならないときには上書きされることになる。
図5に、本開示のさらに別の実施形態を示す。ステップ312では、犠牲キャッシュからの情報に対する第1の読み出しリクエストが犠牲キャッシュに送られる。ここでは、情報は上位レベルのキャッシュに送られる。例えば、犠牲キャッシュシステムの一環として、データに対する第1のリクエストは上位レベルキャッシュに対してなされ、第2のリクエストは犠牲キャッシュに送られる。この第2リクエストは、上位レベルキャッシュの一部とされるメモリコントロールによってなされてもよく、あるいは、上位レベルキャッシュとは別であるとされるメモリコントロールによってなされてもよい。図1を参照すると、L1キャッシュ120やメモリコントローラ(図示せず)は、L2キャッシュ130へ読込みリクエストを送ることができた。
ステップ322では、第1の情報が犠牲キャッシュから第1キャッシュにおいて受けとられる。例えば、図1を参照すると、犠牲キャッシュなどのL2キャッシュ130は、選択されると、データをL1キャッシュ120へと送る。
ステップ323では、犠牲キャッシュにインジケータをストアし、犠牲キャッシュにおいて第1の情報の上書きを促す。L2犠牲キャッシュ130から情報の読み出しが発生すると、読み出されたばかりのデータは情報をリクエストしたL1キャッシュ120に残っていると強く仮定される。よって、最長時間未使用のインジケータなどのインジケータを、それまで第1の情報を記録したロケーションに適用することで、その後におけるデータの上書きを促すことができる。
ステップ324では、同じ情報に対する第2の読み出しリクエストがL2キャッシュに送られる。このリクエストを受信すると、ステップ325で示すように、第1の情報が犠牲キャッシュによって上書きされる前に、情報が第1キャッシュにおいて犠牲キャッシュから受信され得る。このことは、犠牲キャッシュロケーションが読み出されても、そのデータは無効にされないという点で以前の方法よりも改善したことを示す。
図6に、本開示による方法をブロック図形式で示す。ステップ326では、上位レベルキャッシュによって促された、第1回目の第1の読み出しみリクエストが、犠牲キャッシュに対して最初に発生する。上位レベルキャッシュは、犠牲キャッシュへの読み出しリクエストを促すことから、犠牲キャッシュの読み出しが実際に終了したことは、リクエストされたデータが上位レベルキャッシュに残っているかどうかに基づいて予測される。ステップ327では、上位レベルキャッシュによって促された、第2回目の第2の読み出しリクエストが発生し、従って、第1の読み出しが生じた時間から第2の読み出しが生じた時間迄の期間においてバリッドインジケータの変更は行われていない。より具体的には、タグ/インバリッドレジスタへの書き込みに対して干渉することによって第1の読み出しによって読み出されたデータが無効にされることはない。
図7は、本明細書の特定の実施形態に係る方法をフロー図形式で示す。犠牲キャッシュのキャッシュロケーションに書き込まれたデータに応答してステップ328が実行され、これにより、キャッシュロケーションは一番最近に使用されたキャッシュロケーションとして識別される。犠牲キャッシュのキャッシュロケーションから読み出されたデータに応答してステップ329が実行され、これにより、キャッシュロケーションは最長時間未使用のキャッシュロケーションとして識別される。
これまでの詳細な記載では、記載の一部を形成している図面を参照してきた。図面においては、本発明が実行され得る特定の実施形態が示されている。当業者が本発明を実施できるように、これらの実施形態およびその特定の変形を十分に詳しく記載している。例えば、装置110と装置120、および装置120と装置130を接続する、別のアドレス接続が示されているが、この3つの装置によって共通の一連のアドレス接続が共有され得ることは理解されるであろう。当然、その他の適切な実施形態を利用してもよい。加えて、図面に示す機能部分を本発明の精神や範囲から逸れることなく複数の方法に組み合わせてもよいし分割してもよいことは明らかであろう。
例えば、犠牲キャッシュ130の制御部分を、L1キャッシュ120とリクエスティングデバイスがメモリアレイ135から離れた状態で、共通の基板上に形成してもよい。このような実施形態では、各キャッシュラインに関連づけられるバリッドビットは、制御部分の一部として、あるいはメモリアレイ135の一部として記録され得る。さらに、記載したキャッシュ領域に記録されたデータは、命令タイプのデータもしくはデータタイプのデータ、つまり、命令ではないデータであってもよい。したがって、これまでの詳細な説明は本文に記載される特定の形式に限定するものではなく、むしろ、添付の請求項の精神および範囲内に正当に含まれるこのような変形、修正、および等価物を含むものである。
本発明の特定の実施形態に係るキャッシュメモリを含むシステムのブロック図。 本実施形態と従来技術とを対比したタイミング図。 本発明の特定の実施形態に係る共通のキャッシュ行においての読み出しヒットと書き込みヒットの結果を示したブロック図。 本実施形態に係る方法のフロー図。 本実施形態に係る方法のフロー図。 本実施形態に係る方法のフロー図。 本実施形態に係る方法のフロー図。

Claims (10)

  1. キャッシュロケーションにデータが書き込まれたことに応答して前記キャッシュロケーションを一番最近に使用されたキャッシュロケーションとして識別するステップ(328)と、
    前記キャッシュロケーションからデータが読み出されたことに応答して、前記キャッシュロケーションを最長時間未使用のキャッシュロケーションとして識別するステップ(324)と、を含む方法。
  2. 前記第1キャッシュは犠牲キャッシュ(130)である、請求項1記載の方法。
  3. リクエストした第1情報が、第1キャッシュの第1キャッシュ行の第1ウェイに関連づけられる前記キャッシュロケーションに記録されていると判断するステップ(311)、
    前記第1キャッシュロケーションからリクエストした情報の取り出しを促すステップ(312)、
    前記リクエストした第1の情報の取り出しを促すステップに応答して、前記第1のキャッシュロケーションを最長時間未使用ロケーションとして識別するステップ(313)、を含む方法。
  4. 前記第1キャッシュは犠牲キャッシュ(130)である、請求項3記載の方法。
  5. 前記第1キャッシュはレベル2犠牲キャッシュ(130)である、請求項4記載の方法。
  6. 前記リクエストした情報は第2キャッシュで利用できないと判断するステップをさらに含む、請求項3記載の方法。
  7. 前記リクエストした情報が利用できないと判断するステップはさらに、前記リクエストした第1情報の取り出しを促す前に前記リクエストは利用できないと判断するステップを含む、請求項6記載の方法。
  8. 中央処理ユニット(110)から前記リクエストした第1の情報に対するリクエストを受信するステップをさらに含む、請求項7記載の方法。
  9. キャッシュデータ(110)にアクセスするバスポートを含むデータプロセッサと、
    前記データプロセッサの前記バスポートに接続された第1バスポートと第2バスポートを含む第1キャッシュ(120)と、
    前記データプロセッサ(130)の前記第2バスポートに接続されたバスポートを含む第2キャッシュと、を備えたシステムであって、
    前記第2キャッシュは、前記データプロセッサにこの第2キャッシュを通じてデータを供給するためのものであり、かつ、前記第2キャッシュは、一番最近に読み出されたキャッシュロケーションを最長時間未使用のキャッシュロケーションと識別するための最近使用制御モジュール(166)を含む、システム。
  10. 前記最近使用制御モジュールはさらに、一番最近に書き込みされたキャッシュロケーションを、一番最近に使用されたキャッシュロケーションとして識別する、請求項9記載のシステム。
JP2007554110A 2005-02-07 2006-01-17 キャッシュメモリを備えたシステムとアクセス方法 Withdrawn JP2008530657A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/052,650 US20060179231A1 (en) 2005-02-07 2005-02-07 System having cache memory and method of accessing
PCT/US2006/001604 WO2006086123A2 (en) 2005-02-07 2006-01-17 System having cache memory and method of accessing

Publications (1)

Publication Number Publication Date
JP2008530657A true JP2008530657A (ja) 2008-08-07

Family

ID=36463365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007554110A Withdrawn JP2008530657A (ja) 2005-02-07 2006-01-17 キャッシュメモリを備えたシステムとアクセス方法

Country Status (8)

Country Link
US (1) US20060179231A1 (ja)
JP (1) JP2008530657A (ja)
KR (1) KR20070104906A (ja)
CN (1) CN101116063A (ja)
DE (1) DE112006000341T5 (ja)
GB (1) GB2439851A (ja)
TW (1) TW200636481A (ja)
WO (1) WO2006086123A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176880B2 (en) 2011-10-17 2015-11-03 Samsung Electronics Co., Ltd. Cache memory system for tile based rendering and caching method thereof
JP7551659B2 (ja) 2019-05-24 2024-09-17 テキサス インスツルメンツ インコーポレイテッド キャッシュにおけるパイプライン化された読み出し・変更・書き込みサポートを容易にするための方法及び装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8279886B2 (en) * 2004-12-30 2012-10-02 Intel Corporation Dataport and methods thereof
US20070094450A1 (en) * 2005-10-26 2007-04-26 International Business Machines Corporation Multi-level cache architecture having a selective victim cache
US7506119B2 (en) * 2006-05-04 2009-03-17 International Business Machines Corporation Complier assisted victim cache bypassing
US7921260B2 (en) * 2007-10-24 2011-04-05 International Business Machines Corporation Preferred write-mostly data cache replacement policies
US8966181B2 (en) * 2008-12-11 2015-02-24 Seagate Technology Llc Memory hierarchy with non-volatile filter and victim caches
US9465745B2 (en) 2010-04-09 2016-10-11 Seagate Technology, Llc Managing access commands by multiple level caching
TW201220048A (en) * 2010-11-05 2012-05-16 Realtek Semiconductor Corp for enhancing access efficiency of cache memory
US10592416B2 (en) * 2011-09-30 2020-03-17 Oracle International Corporation Write-back storage cache based on fast persistent memory
US9811875B2 (en) * 2014-09-10 2017-11-07 Apple Inc. Texture state cache
CN107291630B (zh) * 2016-03-30 2020-08-25 华为技术有限公司 一种高速缓冲存储器处理方法及装置

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4181937A (en) * 1976-11-10 1980-01-01 Fujitsu Limited Data processing system having an intermediate buffer memory
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
JP2822588B2 (ja) * 1990-04-30 1998-11-11 日本電気株式会社 キャッシュメモリ装置
JPH06110781A (ja) * 1992-09-30 1994-04-22 Nec Corp キャッシュメモリ装置
US5539893A (en) * 1993-11-16 1996-07-23 Unisys Corporation Multi-level memory and methods for allocating data most likely to be used to the fastest memory level
US5623627A (en) * 1993-12-09 1997-04-22 Advanced Micro Devices, Inc. Computer memory architecture including a replacement cache
US5870599A (en) * 1994-03-01 1999-02-09 Intel Corporation Computer system employing streaming buffer for instruction preetching
US5687338A (en) * 1994-03-01 1997-11-11 Intel Corporation Method and apparatus for maintaining a macro instruction for refetching in a pipelined processor
US5809271A (en) * 1994-03-01 1998-09-15 Intel Corporation Method and apparatus for changing flow of control in a processor
US5752274A (en) * 1994-11-08 1998-05-12 Cyrix Corporation Address translation unit employing a victim TLB
US5729713A (en) * 1995-03-27 1998-03-17 Texas Instruments Incorporated Data processing with first level cache bypassing after a data transfer becomes excessively long
US5696947A (en) * 1995-11-20 1997-12-09 International Business Machines Corporation Two dimensional frame buffer memory interface system and method of operation thereof
US5778430A (en) * 1996-04-19 1998-07-07 Eccs, Inc. Method and apparatus for computer disk cache management
US6151662A (en) * 1997-12-02 2000-11-21 Advanced Micro Devices, Inc. Data transaction typing for improved caching and prefetching characteristics
US6078992A (en) * 1997-12-05 2000-06-20 Intel Corporation Dirty line cache
US6216206B1 (en) * 1997-12-16 2001-04-10 Intel Corporation Trace victim cache
US6105111A (en) * 1998-03-31 2000-08-15 Intel Corporation Method and apparatus for providing a cache management technique
US6591347B2 (en) * 1998-10-09 2003-07-08 National Semiconductor Corporation Dynamic replacement technique in a shared cache
US6370622B1 (en) * 1998-11-20 2002-04-09 Massachusetts Institute Of Technology Method and apparatus for curious and column caching
US6397296B1 (en) * 1999-02-19 2002-05-28 Hitachi Ltd. Two-level instruction cache for embedded processors
US6349365B1 (en) * 1999-10-08 2002-02-19 Advanced Micro Devices, Inc. User-prioritized cache replacement
US6385695B1 (en) * 1999-11-09 2002-05-07 International Business Machines Corporation Method and system for maintaining allocation information on data castout from an upper level cache
US6370618B1 (en) * 1999-11-09 2002-04-09 International Business Machines Corporation Method and system for allocating lower level cache entries for data castout from an upper level cache
CA2312444A1 (en) * 2000-06-20 2001-12-20 Ibm Canada Limited-Ibm Canada Limitee Memory management of data buffers incorporating hierarchical victim selection
US6889291B1 (en) * 2000-06-30 2005-05-03 Intel Corporation Method and apparatus for cache replacement for a multiple variable-way associative cache
US6728835B1 (en) * 2000-08-30 2004-04-27 Unisys Corporation Leaky cache mechanism
US6845432B2 (en) * 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US6725337B1 (en) * 2001-05-16 2004-04-20 Advanced Micro Devices, Inc. Method and system for speculatively invalidating lines in a cache
US6801982B2 (en) * 2002-01-24 2004-10-05 International Business Machines Corporation Read prediction algorithm to provide low latency reads with SDRAM cache
US6901477B2 (en) * 2002-04-01 2005-05-31 Emc Corporation Provision of a victim cache within a storage cache hierarchy
US7103722B2 (en) * 2002-07-22 2006-09-05 International Business Machines Corporation Cache configuration for compressed memory systems
US6961821B2 (en) * 2002-10-16 2005-11-01 International Business Machines Corporation Reconfigurable cache controller for nonuniform memory access computer systems
US6996676B2 (en) * 2002-11-14 2006-02-07 International Business Machines Corporation System and method for implementing an adaptive replacement cache policy
US7103721B2 (en) * 2003-04-28 2006-09-05 International Business Machines Corporation Cache allocation mechanism for biasing subsequent allocations based upon cache directory state
US20040268099A1 (en) * 2003-06-30 2004-12-30 Smith Peter J Look ahead LRU array update scheme to minimize clobber in sequentially accessed memory
US7028144B2 (en) * 2003-10-28 2006-04-11 Intel Corporation Method and apparatus for an in-situ victim cache
US20050188158A1 (en) * 2004-02-25 2005-08-25 Schubert Richard P. Cache memory with improved replacement policy

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176880B2 (en) 2011-10-17 2015-11-03 Samsung Electronics Co., Ltd. Cache memory system for tile based rendering and caching method thereof
JP7551659B2 (ja) 2019-05-24 2024-09-17 テキサス インスツルメンツ インコーポレイテッド キャッシュにおけるパイプライン化された読み出し・変更・書き込みサポートを容易にするための方法及び装置

Also Published As

Publication number Publication date
DE112006000341T5 (de) 2007-12-20
WO2006086123A2 (en) 2006-08-17
GB0716977D0 (en) 2007-10-10
GB2439851A (en) 2008-01-09
KR20070104906A (ko) 2007-10-29
TW200636481A (en) 2006-10-16
WO2006086123A3 (en) 2007-01-11
US20060179231A1 (en) 2006-08-10
CN101116063A (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
JP2008530657A (ja) キャッシュメモリを備えたシステムとアクセス方法
US6449671B1 (en) Method and apparatus for busing data elements
JP3620473B2 (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
US7472230B2 (en) Preemptive write back controller
JP2784440B2 (ja) データ・ページの転送制御方法
JP5419102B2 (ja) キャッシュロック装置及びその方法
US8156357B2 (en) Voltage-based memory size scaling in a data processing system
US7930484B2 (en) System for restricted cache access during data transfers and method thereof
RU2427892C2 (ru) Способ и устройство для установки политики кэширования в процессоре
US20070073974A1 (en) Eviction algorithm for inclusive lower level cache based upon state of higher level cache
CN101361049B (zh) 用于高级高速缓存驱逐候选对象标识的巡查窥探
EP0817067A2 (en) Integrated processor/memory device with victim data cache
JP2982868B2 (ja) メモリ待ち時間を短縮する方法およびコンピュータ・システム
KR20200035311A (ko) 캐시 라인 데이터
JP2006521637A (ja) データ処理システムにおけるメモリ管理
JPH10289155A (ja) Smpバスの共用状態でのキャッシュ・ラインの共用介入方法及びシステム
JPH10289156A (ja) Smpバスの最近読取り状態でのキャッシュ・ラインの共用介入方法及びシステム
US20050188158A1 (en) Cache memory with improved replacement policy
US20080052467A1 (en) System for restricted cache access during information transfers and method thereof
US8250305B2 (en) Method, system and computer program product for data buffers partitioned from a cache array
US6363460B1 (en) Memory paging control method
US7069384B2 (en) System and method for cache external writing and write shadowing
JP3407808B2 (ja) コンピュータシステム
US6240487B1 (en) Integrated cache buffers
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090407