JP5313168B2 - プロセッサにおいてキャッシュポリシーを設定するための方法および装置 - Google Patents

プロセッサにおいてキャッシュポリシーを設定するための方法および装置 Download PDF

Info

Publication number
JP5313168B2
JP5313168B2 JP2009547424A JP2009547424A JP5313168B2 JP 5313168 B2 JP5313168 B2 JP 5313168B2 JP 2009547424 A JP2009547424 A JP 2009547424A JP 2009547424 A JP2009547424 A JP 2009547424A JP 5313168 B2 JP5313168 B2 JP 5313168B2
Authority
JP
Japan
Prior art keywords
cache
cache policy
policy information
processor
memory device
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.)
Active
Application number
JP2009547424A
Other languages
English (en)
Other versions
JP2010517179A (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 JP2010517179A publication Critical patent/JP2010517179A/ja
Application granted granted Critical
Publication of JP5313168B2 publication Critical patent/JP5313168B2/ja
Active 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

Landscapes

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

Description

本発明は一般にプロセッサにおけるキャッシングオペレーションに関し、特にキャッシュポリシーを決定することに関する。
プロセッサ性能は、頻繁にアクセスされるかまたは最も最近用いられた情報を格納するためにプロセッサに1レベル以上のキャッシュをローカルに含めることにより改善される。プロセッサキャッシュは、ハードディスクドライブまたはDRAMのようなメインメモリに格納された選択された情報のコピーを格納する小さく速いメモリである。命令が記憶場所(memory location)にアクセスする場合、プロセッサは、その記憶場所がローカルキャッシュに複製されているかを最初にチェックする。特に、メモリアクセスに関連づけられたアドレスはキャッシュ中のすべてのタグと比較される。目的の記憶(desired memory)がキャッシュ中に置かれていれば、キャッシュヒットが生じる。そうでなければ、キャッシュミスが生じる。
キャッシュヒットが生じた時、プロセッサは、特定されたキャッシュライン内のデータまたは命令のような情報を直ちにリードまたはライトする。キャッシュミスの場合には、目的の情報はより高いレベルのキャッシュまたはメインメモリから取り出される。さらに、その新しく取り出された情報を格納するために新しいエントリが従来通りにキャッシュに割り当てられる。新しいエントリは、キャッシュミスを引き起こしたアドレスを識別するタグとメインメモリから取り出された情報のコピーとを含む。
新しいキャッシュエントリを収容するために、既存のエントリはキャッシュから取り除かれる(evict)。キャッシュから取り除かれるエントリを選ぶために使用されるヒューリスティックは、最長時間未使用(least recently used)、またはファーストイン、ファーストアウトのような置換(replacement)ポリシーに基づく。他のキャッシュポリシー(キャッシュ属性とも云う)もまたキャッシュがどのようにアクセスされ、使用され、維持されるかを決定するために利用される。他のキャッシュポリシーとしては、書き込みポリシー、割り当てポリシー、キャッシュレベルポリシー、およびカスタマイズ(customized)ポリシーがある。
書き込みポリシーは、キャッシュブロックに書き込まれた情報が何時メインメモリにも書き込まれるのかを決定する。例えば、ライトスルーポリシーが使用される時は、キャッシュとメインメモリは同時に更新される。ライトバックポリシーが利用される時は、メインメモリは、対応するキャッシュブロックが置換される時にのみ更新される。ライトワンスポリシーは、特定のキャッシュブロックに対する最初の書き込みに対してはライトスルーポリシーを使用し、同じブロックに対する後続する書き込みに対してはライトバックポリシーを使用する。
キャッシュ割り当てポリシーは、キャッシュブロックが何時書かれるかを決定する。例えば、特定のキャッシュブロックに関連づけられた割り当てポリシーが“読み出し専用割り当て(allocate on read only)”であるならば、そのブロックは書き込み期間中は影響(disturb)されない。これに対し、割り当てポリシーが“読み出しおよび書き込み割り当て(allocate on read and write)”である時は、そのキャッシュブロックは書き込み及び読み出しの双方の期間中に更新される。第1レベルの命令およびデータキャッシュおよび少なくとも一つのより高いレベルのキャッシュのような多数のレベルのキャッシュを有するプロセッサについては、キャッシュレベルポリシーは、どのレベルのキャッシュが情報を格納するために使用されるかを決定する。例えば、命令は一次命令キャッシュに格納し得、他の情報は二次キャッシュにのみ格納し得る。
キャッシュポリシーは、ページテーブルに通常通りに格納される。ページテーブルは、頻繁にアクセスされるかまたは最も最近使用されたエントリがプロセッサに、例えば、トランスレーション・ルックアサイド・バッファ(TLB)にローカルに格納されている状態で、メインメモリ内に維持される。各ページテーブルエントリは、仮想アドレスを対応する物理アドレスにマッピングする。特に、ページテーブルは、仮想ページ番号と対応する物理ページ番号とのリストを格納する。仮想ページ番号は、プロセッサ上で走るプロセスに割り付けられる仮想メモリ内の個々のブロックを識別し、一方、物理ページ番号は、プロセスによって使用される実際の情報を含んでいる物理メモリ内の対応するブロックを識別する。
プロセッサがある特定の記憶場所にアクセスする時、ページテーブルエントリは、そのアクセスの一部として提供される仮想アドレス中の仮想ページ番号部分を使用して検索される。物理ページ番号は、一致するページテーブルエントリから取り出される。物理ページ番号とページオフセットは、目的の記憶場所をアクセスするために使用される物理アドレスを形成する。
目的の記憶場所がローカルなプロセッサキャッシュ内に含まれていないならば、メインメモリがアクセスされる。一致するページテーブルエントリに格納されたキャッシュポリシー情報は、そのメモリアクセスの一部としてメインメモリから読み出されまたはメインメモリに書き込まれる情報がキャッシュにローカルに格納されるかを決定し、もしそうであれば、どのようにその情報がキャッシュ内に維持されるかを決定する。このように、キャッシュポリシーは、ページ単位(あるいはブロック単位)で通常通りに設定されキャッシュに適用される。さらに、キャッシュポリシーは、オペレーティングシステムによって通常通りにプログラムされる。そのため、キャッシュポリシーはプロセッサ上で走るすべてのプロセスに一般に適用され、特別のタイプのメインメモリデバイスによって利用された時には非効率な結果となり得る。例えば、“読み出し専用割り当て(allocate on read only)”のキャッシュ割り当てポリシーは、他のものではなく、グラフィックスアプリケーションのようないくつかのプロセスにとってのキャッシュ利用を最適化し得る。
本明細書に教示された方法および装置によれば、プロセッサキャッシングポリシーは、特定のメモリ動作の期間中にアクセスされるターゲットメモリデバイスに関連づけられたキャッシュポリシー情報を使用することによって決定される。したがって、キャッシュオペレーションは、一般的なキャッシュポリシー設定の代わりに、特定のメモリデバイス設定に適合され得る。プロセッサ性能は、現在のメモリ動作のためのキャッシュポリシーを、そのメモリ動作の期間中にアクセスされるターゲットメモリデバイスに関連づけられたキャッシュポリシー情報に基づいて決定することによって改善される。
プロセッサの一実施形態によれば、プロセッサは、少なくとも1つのキャッシュとメモリ管理ユニットとを具備する。少なくとも1つのキャッシュは、プロセッサにとってローカルな情報を格納するように構成される。メモリ管理ユニットは、少なくとも1つのキャッシュのための1つ以上のキャッシュポリシーを設定するように構成される。メモリ管理ユニットは、プロセッサによって使用される情報を格納するように構成された1つ以上のターゲットメモリデバイスに関連づけられたキャッシュポリシー情報に基づいて、1つ以上のキャッシュポリシーを設定する。
システムの一実施形態によれば、このシステムは、プロセッサにとってローカルな情報を格納するように構成された少なくとも1つのキャッシュを有するプロセッサと、プロセッサに結合された1つ以上のターゲットメモリデバイスと、プロセッサ内に含まれるメモリ管理ユニットとを具備する。1つ以上のターゲットメモリデバイスは、プロセッサによって使用される情報を格納するように構成される。メモリ管理ユニットは、1つ以上のターゲットメモリデバイスに関連づけられたキャッシュポリシー情報に基づいて、少なくとも一つのキャッシュのための1つ以上のキャッシュポリシーを設定するように構成される。
もちろん、本発明は上記の特徴と利点に制限されない。当業者は以下に詳述する説明を読み添付図面を見ることでさらなる特徴と利点を認識するだろう。
図1はキャッシュポリシーを決定する回路を有するプロセッサを含むシステムの実施形態を示すブロック図である。 図2はメモリデバイスに関連づけられたキャッシュポリシー情報を提供するアドレスデコーダ回路の実施形態を示すブロック図である。 図3はキャッシュポリシーを決定する回路を有するプロセッサを含むシステムの別の実施形態を示すブロック図である。 図4はプロセッサにおいてキャッシュポリシーを決定する回路の実施形態を示すブロック図である。 図5はプロセッサにおいてキャッシュポリシーを決定するプログラムロジックの実施形態を示す論理流れ図である。 図6は図4の回路が典型的な書込み動作に応答してキャッシュポリシーをどのように決定するかを示す図である。 図7は図4の回路が典型的な読み出し動作に応答してキャッシュポリシーをどのように決定するかを示す図である。
図1は、プロセッサ14を、1つ以上の周辺デバイス16と、シンクロナスDRAM(SDRAM)20およびシンクロナスグラフィックスRAM(SGRAM)22のようなDRAMやハードディスクドライブ(HDD)18といったメインメモリとに結合するバス12を含むシステム10の実施形態を示す。プロセッサ14は、プロセッサコア24、データキャッシュおよび命令キャッシュ26,28、二次キャッシュ(L2)30、およびバスインタフェースユニット32を含んでいる。プロセッサコア24は、命令実行および命令の流れの集中制御を提供する。データキャッシュおよび命令キャッシュ26,28は、データおよび命令をそれぞれ格納する。L2キャッシュ30は、データキャッシュおよび命令キャッシュ26,28と、HDD18、SDRAM20およびSGRAM22のようなプロセッサ14外部のメインメモリとの間の高速メモリバッファを提供する。バスインタフェースユニット32は、データ、命令、アドレスおよび制御信号を、プロセッサ14と、周辺デバイス16、メインメモリ18、20、22のようなプロセッサ14外部のデバイスとの間で転送するための機構を提供する。
メインメモリ18、20、22は、プロセッサ14上で走るプロセスに対して仮想メモリとして提示される。すなわち、物理メモリのページは、プログラム実行の期間中にプロセスによって使用される仮想メモリとして割り当てられる。ページテーブル34は、仮想アドレス空間と物理アドレス空間との間のマッピングを可能にするために、図1に示されるように、例えば、メインメモリ18、20、22に維持される。プロセッサ14に含まれるメモリ管理ユニット(MMU)36は、ページテーブル34にアクセスし、プロセッサ14によって発行される、仮想記憶管理、メモリ保護、キャッシュコントロールおよびバスアービトレーションを含むメモリアクセスを取り扱う。仮想記憶管理の一部として、MMU36は、プロセッサ14にローカルな頻繁に参照されるかまたは最近参照されたページテーブルエントリ(PTE)それぞれを、例えば、トランスレーション・ルックアサイド・バッファ(TLB)38内に維持する。
プロセッサ14が仮想アドレスによって識別される目的の記憶場所(memory location)にアクセスする時、MMU36は、TLB38にアクセスして、TLB38が一致するエントリを含むかを判定する。もしTLB38が一致するエントリを含むならば、仮想アドレスは、その一致するTLBエントリに格納されたアドレス変換情報を使用することによって、物理アドレスに変換される。一方TLB38が一致するエントリを含まないならば、一致するエントリを求めてページテーブル34が検索される。どちらの場合でも、MMU36は、結果として得られた物理アドレスに基づき、物理的にタグ付けされたキャッシュ26、28、30の一つの中のキャッシュルックアップ動作を開始する。もしキャッシュ26、28、30のうちの1つが目的の記憶場所を含んでいるならば、対応するキャッシュラインがアクセスされ、メモリアクセスは、例えばそのキャッシュラインからの読み出しまたはそのキャッシュラインへの書き込みによって、完了される。キャッシュ26、28、30のうちの1つが目的の記憶場所を含まないならば、MMU36は、目的の記憶場所にアクセスするために、メインメモリ18、20、22へのメモリアクセスを開始する。
メインメモリ18、20、22は目的の記憶場所を識別する物理アドレスを供給することによってアクセスされる。本明細書では目的の記憶場所を含むメモリデバイスはターゲットメモリデバイスと称される。本明細書に開示された種々の実施形態によれば、ターゲットメモリデバイスは、システムに含まれた、任意のアドレス指定可能なメモリモジュール、デバイスあるいはバンクから構成し得る。例えば、ターゲットメモリデバイスは、プロセッサ14によって実行されている特定のプロセスに依存する他のメモリデバイス(図示されない)、SDRAM20、あるいはSGRAM22のうちの1つであり得る。
外部メモリアクセスに応答して、対応するターゲットメモリデバイスに関連づけられたキャッシュポリシー情報は、MMU36中に含まれるかまたはMMU36に関連づけられたキャッシュポリシー設定回路40に供給される。キャッシュポリシー設定回路40は、対応するターゲットメモリデバイスに関連付けられたキャッシュポリシー情報に基づき、現在のメモリ動作のためのキャッシュポリシーの設定を決定する。このようにして、プロセッサ14が特定の外部の記憶場所にアクセスする時に、キャッシュポリシーは目的の記憶場所を含む対応するターゲットメモリデバイスに適合される。
例えば、メモリ動作がSGRAMデバイス22のうちの1つに向けられるならば、そのターゲットSGRAMデバイスに関連づけられたキャッシュ割り当てポリシーは、そのターゲットデバイスがマルチメディアアプリケーション用のビデオフレームバッファーとして機能する場合は、“読み出し専用割り当て(allocate on read only)”であり得る。プロセッサ14はマルチメディアアプリケーションの実行の期間中はターゲットSGRAMデバイスに頻繁に書き込みし得るが、そのデバイスからは滅多に読み出さない。したがって、ターゲットSGRAMデバイスのキャッシュ割り当てポリシーは、プロセッサの性能の改善のために、“読み出し専用割り当て(allocate on read only)”を示しても良い。ターゲットメモリデバイスのキャッシュポリシー情報は、また、特定の置換ポリシー、書き込みポリシー、割り当てポリシー、キャッシュレベルポリシー、および/または1つ以上のカスタマイズポリシーも示し得る。
一実施形態では、ターゲットメモリデバイスに関連づけられたキャッシュポリシー情報は、図1に示されるような様々なDRAMデバイス20、22とバス12との間のインターフェースを提供するメモリコントローラ42によって提供される。この実施形態によれば、メモリコントローラ42は、メモリアクセス(例えば読み出しまたは書き込み)の一部としてプロセッサ14によって供給される物理メモリアドレスをデコードするためのアドレスデコーダ回路44を含む。アドレスデコーダ回路44によって生成されるキャッシュポリシー情報は、特定のメモリアクセスの一部として供給される物理メモリアドレスによって変わる。物理アドレスは、現在のメモリ動作のターゲットである記憶場所を含んでいるメモリデバイスを識別する。
図2は、アドレスデコーダ回路44の一実施形態を示す。この実施形態によれば、デコーダ回路44は、アドレスデコーダ46と、マルチプレクサ48と、メモリコントローラ42によってサポートされるそれぞれのメモリデバイス20、22に関連づけられた種々のエントリ52を有するテーブル50とを含んでいる。各テーブルエントリ52は、対応するメモリデバイスに関連づけられたキャッシュポリシー情報を含む。
プロセッサ14が外部メモリにアクセスする時、そのアクセスの一部として含まれる物理アドレスは、メモリコントローラ42にサポートされるメモリデバイス20、22のうちの1つを識別する。アドレスデコーダ46は物理アドレスをデコードし、物理アドレスによって識別されるターゲットメモリデバイスに関連づけられたキャッシュポリシー情報を含んでいるエントリ52をマルチプレクサ48に選択させる。メモリコントローラ42は、選択されたキャッシュポリシー情報を、バス12、およびバスインタフェースユニット32を介して(例えば図1の中のアドレスデコーダ回路44からMMU36まで行く点線によって示されているように)、MMU36に供給する。キャッシュポリシー設定回路40は、受信したキャッシュポリシー情報を使用して現在のメモリ動作のためのキャッシュポリシーを設定する。このように、キャッシュポリシーは、ターゲットメモリデバイスの関数としてキャッシュライン単位で設定され得る。
別の実施形態では、キャッシュポリシー情報は、図3に示されるように、プロセッサ14内に含まれるアドレスデコーダ回路54によって供給される。この実施形態によれば、アドレスデコーダ回路54は、キャッシュポリシー情報を、例えば、図2に従って上述したように、仮想アドレスまたは物理アドレスに基づいて供給する。さらに別の実施形態では、メモリコントローラ42によってサポートされる1つ以上のメモリデバイス20、22がそれらのキャッシュポリシー情報を、例えば、デバイスIDレジスターまたは他のレジスター(図示せず)に格納する。ターゲットメモリデバイスがメモリコントローラ42によってアクセスされた時、キャッシュポリシー情報はコントローラ42に供給され、そして上述したようにプロセッサ14へ転送される。あるいは、キャッシュポリシー情報は、要請無しで、プロセッサ14に供給される。例えば、プロセッサ14のリセット時、またはシステムブート期間中に、自動的に、キャッシュポリシー情報はプロセッサ14に供給される。さらに、プロセッサ14は、適合するキャッシュポリシー情報を受信時に格納し得、これにより、対応するターゲットメモリデバイスが続いてアクセスされる場合に同じ情報を要求する必要を除去し得る。代わりに、プロセッサ14は適合するキャッシュポリシー情報を内部的に取り出し使用する。それとは関係なく、キャッシュポリシー設定回路40は、ターゲットメモリデバイスキャッシュポリシー情報を使用して、メモリ動作の期間中にキャッシュポリシーを設定する。
図4は、MMU36内に含まれるかまたはMMU36に関連づけられたキャッシュポリシー設定回路40の実施形態を示す。この実施形態によれば、キャッシュポリシー設定回路40は、現在のメモリ動作を対象とするキャッシュポリシーを設定するための選択回路56を含む。より詳細には、メモリアクセスの一部として供給される仮想アドレスに一致するページテーブルエントリ(PTE)58は、TLB38またはページテーブル34(例えば図1の中のページテーブル34からMMU36まで行く点線によって示されるように)のいずれかから取り出される。仮想アドレスは、一致するPTE58に格納されたアドレス変換情報60に基づいて対応する物理アドレスに変換される。ここで、物理アドレスは目的の記憶場所を識別する。
目的の記憶場所がプロセッサキャッシュ26、28、30のうちの1つに置かれていない場合、MMU36は外部メモリアクセスを開始する。このリクエストに応答し、メモリコントローラ42は、変換された物理アドレスに基づいて、目的の記憶場所を含むターゲットメモリデバイスを識別する。プロセッサ14は、メモリコントローラ42を介してターゲットメモリデバイスへのアクセスを獲得する。ターゲットメモリデバイスは所望のメモリ動作(例えば、読み出しまたは書き込み)を行なう。さらに、ターゲットメモリデバイスに関連づけられたキャッシュポリシー情報がキャッシュポリシー設定回路40に供給され、例えば、図5のステップ100によって示されているように、メモリ動作の一部としてバッファ62に格納される。
選択回路56は、一致するPTE58から取り出されたキャッシュポリシー情報とバッファ62に格納されたターゲットメモリデバイスのキャッシュポリシー情報とを、例えば、図5のステップ102によって示されているように処理する。一致するPTE58から取り出されたキャッシュポリシー情報64はそのターゲットデバイスの情報で上書きされ、現在のキャッシュポリシー設定として使用される。しかしながら、ターゲットメモリデバイスのためのキャッシュポリシー情報が提供されないならば、一致するPTE58から取り出されたキャッシュポリシー情報64が代わりに使用される。
どのようにしてキャッシュポリシー設定回路40がキャッシュポリシーを決定するかについての純粋たる図解例は図6に示される。プロセッサコア24は、仮想アドレスXへのメモリ書き込みリクエストを発行する。MMU36はTLB38またはページテーブル34のいずれかから一致するPTEを取り出し、それを、仮想アドレスXを対応する物理アドレスX’に変換するために使用する。その後、MMU36は、物理アドレスX’を使用して、物理的にタグ付けされたキャッシュ26、28、30の1つ以上を調査(probe)する。この例においては、キャッシュミスによって示されるように、キャッシュ26、28、30のどれも目的の記憶場所を含んでいない。従って、MMU36は、物理アドレスX’に基づき、外部メモリ書き込みリクエストをメモリコントローラ42へ発行する。メモリコントローラ42は、物理アドレスX’によって識別される記憶場所を含むターゲットメモリデバイスを選択する。ターゲットメモリデバイスは所望の書き込み動作を行ない、その書き込みが完了したことをコントローラ42に通知する。
さらに、物理アドレスX’はデコードされ、ターゲットメモリデバイスに対応するキャッシュポリシー情報が上述したように、例えば、アドレスデコーダ回路44または54によって取り出される。あるいは、ターゲットメモリデバイスが、そのキャッシュポリシー情報をメモリコントローラ42に供給する。これとは関係なく、MMU36には、書き込み動作が完了したことが通知される。さらに、キャッシュポリシー設定回路40にはターゲットメモリデバイスのキャッシュポリシー情報が供給される。この例においては、キャッシュポリシー情報は“読み出し専用割り当て(allocate on read only)”を示す。したがって、書き込み動作はプロセッサ14内で完了し、MMU36はプロセッサキャッシュ26、28、30のうちの1つにキャッシュラインを割り当てない。
図7は、同じ仮想アドレスXに対してプロセッサコア24によって発行される後続の読み出しリクエストを示すことによる例示的な図解の続きである。想起すれば、ターゲットメモリデバイスのキャッシュポリシー情報は、物理アドレスX’によって識別される記憶場所に対して“読み出し専用割り当て(allocate on read only)”を示す。したがって、キャッシュラインは以前には物理アドレスX’に対して割り当てられていない。このため、キャッシュミスが現在の読み出し動作中に生じる。
さらに、ターゲットメモリデバイスが読み出し動作を完了した時、その読み出し動作はプロセッサ14内では完了しない。なぜなら、ターゲットデバイスのキャッシュポリシー情報がキャッシュラインが割り当てられるべきであることを示しているからである。したがって、キャッシュポリシー設定回路40は、MMU36がプロセッサキャッシュ26、28、30の1つに物理アドレスX’のためのキャッシュラインを割り当てることを指示するように、現在のキャッシュ割り当てポリシーを設定する。さらに、ターゲットメモリデバイスに関連づけられたキャッシュレベルポリシーは、どのレベルのキャッシュがキャッシュラインを割り当てるべきかを示し得る。例えば、L2キャッシュ30または一次キャッシュ26,28の一つを示し得る。他のキャッシュポリシーもターゲットデバイスのキャッシュポリシー情報に基づいて設定され得る。それとは関係なく、対応するデータもまたプロセッサコア24に供給され得る。
上記範囲の変形例及び応用例を考慮した場合、本発明は、上記説明によっても添付図面によっても限定されないことが理解されるべきである。本発明は、特許請求の範囲及びその文言の均等物によってのみ限定される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]プロセッサによって使用される情報を格納するように構成された1つ以上のターゲットメモリデバイスに関連づけられたキャッシュポリシー情報を受信することと、
前記キャッシュポリシー情報に基づいて、1つ以上のキャッシュポリシーを設定することとを具備する、キャッシュポリシーを決定する方法。
[2]前記キャッシュポリシー情報を受信することは、非要請のキャッシュポリシー情報を受信することを含む[1]記載の方法。
[3]前記キャッシュポリシー情報を受信することは、
前記ターゲットメモリデバイスのうちの1つにメモリアクセスを向けることと、
前記メモリアクセスに応答してキャッシュポリシー情報を受信することとを含む[1]記載の方法。
[4]前記メモリアクセスに応答してキャッシュポリシー情報を受信することは、前記メモリアクセスが向けられるターゲットメモリデバイスによって供給されるキャッシュポリシー情報を受信することを含む[3]記載の方法。
[5]前記メモリアクセスに応答してキャッシュポリシー情報を受信することは、前記メモリアクセスに関連づけられたアドレスに基づきアドレスデコーダによって供給されるキャッシュポリシー情報を受信することを含む[3]記載の方法。
[6]前記1つ以上のキャッシュポリシーを設定することは、
前記メモリアクセスに関連づけられたページテーブルエントリをアクセスすることと、
前記ページテーブルエントリによって示される1つ以上のキャッシュポリシーを、前記メモリアクセスに応答して受信されるキャッシュポリシー情報で覆す(override)こととを含む[3]記載の方法。
[7]プロセッサであって、
前記プロセッサにとってローカルな情報を格納するように構成された少なくとも1つのキャッシュと、
前記プロセッサによって使用される情報を格納するように構成された1つ以上のターゲットメモリデバイスに関連づけられたキャッシュポリシー情報に基づいて、前記少なくとも1つのキャッシュのための1つ以上のキャッシュポリシーを設定するように構成されたメモリ管理ユニットとを具備するプロセッサ。
[8]前記メモリ管理ユニットは、非要請のキャッシュポリシー情報を処理するように構成されている[7]記載のプロセッサ。
[9]前記メモリ管理ユニットは、前記ターゲットメモリデバイスのうちの1つにメモリアクセスを向け、前記メモリアクセスに応答して受信されるキャッシュポリシー情報を処理するように構成されている[7]記載のプロセッサ。
[10]前記メモリ管理ユニットは、前記メモリアクセスが向けられたターゲットメモリデバイスによって供給されるキャッシュポリシー情報を処理するように構成されている[9]記載のプロセッサ。
[11]前記メモリ管理ユニットは、前記メモリアクセスに関連づけられたアドレスに基づきアドレスデコーダによって供給されるキャッシュポリシー情報を処理するように構成されている[9]記載のプロセッサ。
[12]前記アドレスデコーダは前記プロセッサ内に含まれている[11]記載のプロセッサ。
[13]前記メモリ管理ユニットは、前記メモリアクセスに関連づけられたページテーブルエントリをアクセスし、前記ページテーブルエントリによって示される1つ以上のキャッシュポリシーを、前記メモリアクセスに応答して受信されるキャッシュポリシー情報で覆す(override)ように構成されている[9]記載のプロセッサ。
[14]プロセッサであって、当該プロセッサにとってローカルな情報を格納するように構成された少なくとも1つのキャッシュを有するプロセッサと、
前記プロセッサに結合され、前記プロセッサによって使用される情報を格納するように構成された1つ以上のターゲットメモリデバイスと、
前記プロセッサ内に含まれ、前記1つ以上のターゲットメモリデバイスに関連づけられたキャッシュポリシー情報に基づいて、前記少なくとも1つのキャッシュのための1つ以上のキャッシュポリシーを設定するように構成されたメモリ管理ニットとを具備するシステム。
[15]前記メモリ管理ユニットは、非要請のキャッシュポリシー情報を処理するように構成されている[14]記載のシステム。
[16]前記メモリ管理ユニットは、前記ターゲットメモリデバイスのうちの1つにメモリアクセスを向け、当該メモリアクセスに応答して受信されるキャッシュポリシー情報を処理するように構成されている[14]記載のシステム。
[17]前記メモリ管理ユニットは、前記メモリアクセスが向けられたターゲットメモリデバイスによって供給されるキャッシュポリシー情報を処理するように構成されている[16]記載のシステム。
[18]前記メモリアクセスに関連づけられたアドレスに基づいて前記キャッシュポリシー情報を供給するアドレスデコーダをさらに具備する[16]記載のシステム。
[19]前記アドレスデコーダは前記プロセッサ内に含まれている[18]記載のシステム。
[20]前記メモリ管理ユニットは、前記メモリアクセスに応答してページテーブルエントリをアクセスし、前記ページテーブルエントリによって示される1つ以上のキャッシュポリシーを、前記メモリアクセスに応答して受信されるキャッシュポリシー情報で覆す(override)ように構成されている[16]記載のシステム。

Claims (22)

  1. プロセッサ内のメモリ管理ユニットで第1のキャッシュポリシー情報を受信することであって、前記第1のキャッシュポリシー情報はターゲットメモリデバイスに関連づけられたページテーブルエントリに基づいてアドレスデコーダ回路から受信され、前記プロセッサはメモリコントローラを介して前記ターゲットメモリデバイスに結合される、前記第1のキャッシュポリシー情報を受信することと、
    前記第1のキャッシュポリシー情報を前記プロセッサにおいて格納することと、
    前記メモリコントローラで前記ターゲットメモリデバイスからの第2のキャッシュポリシー情報が受信された際に、前記第1のキャッシュポリシー情報を前記メモリコントローラから受信される前記第2のキャッシュポリシー情報で上書きすることと、
    前記第2のキャッシュポリシー情報に基づいてキャッシュポリシーを設定することとを具備し、前記第1のキャッシュポリシー情報および前記第2のキャッシュポリシー情報は前記メモリコントローラ内にある前記アドレスデコーダ回路によって生成される、キャッシュポリシーを決定する方法。
  2. 前記第2のキャッシュポリシー情報は、前記ターゲットメモリデバイスのデバイス識別レジスタに格納される請求項1記載の方法。
  3. 前記キャッシュポリシーは、前記ターゲットメモリデバイスに向けられたメモリ動作に応答してどのレベルのキャッシュがキャッシュラインを割り当てるべきかの指示を含む請求項1記載の方法。
  4. 前記第2のキャッシュポリシー情報が前記ターゲットメモリデバイスから取得できない場合、前記第1のキャッシュポリシー情報に基づいて前記キャッシュポリシーを設定することをさらに具備する請求項1記載の方法。
  5. プロセッサであって、
    前記プロセッサにとってローカルな情報を格納するように構成されたキャッシュと、
    前記プロセッサ内のメモリ管理ユニットであって、ターゲットメモリデバイスに関連づけられたページテーブルエントリから受信される第1のキャッシュポリシー情報を前記プロセッサにおいて格納するように構成され、前記ターゲットメモリデバイスに結合され且つ前記プロセッサの外部にあるメモリコントローラから前記ターゲットメモリデバイスに関連づけられた第2のキャッシュポリシー情報が取得できた場合、前記第1のキャッシュポリシー情報を前記第2のキャッシュポリシー情報で上書きし、前記第2のキャッシュポリシー情報に基づいて前記キャッシュのためのキャッシュポリシーを設定するように構成されメモリ管理ユニットとを具備し、前記メモリコントローラは、物理アドレスをデコードし、マルチプレクサに前記ターゲットメモリデバイスに関連づけられた前記第2のキャッシュポリシー情報を選択させるアドレスデコーダを含む、プロセッサ。
  6. 前記メモリコントローラは、前記ターゲットメモリデバイスに向けられたメモリ動作に応答して、前記ターゲットメモリデバイスから前記第2のキャッシュポリシー情報を受信するように構成されている請求項記載のプロセッサ。
  7. 前記メモリ管理ユニットは、さらに、
    前記第2のキャッシュポリシー情報が前記メモリコントローラから取得できない場合、前記第1のキャッシュポリシー情報に基づいて前記キャッシュポリシーを設定するように構成されている請求項記載のプロセッサ。
  8. システムであって、
    プロセッサと、
    前記プロセッサによって使用される情報を格納するように構成されたターゲットメモリデバイスであって、キャッシュではないターゲットメモリデバイスと、
    前記プロセッサに結合され、且つ前記ターゲットメモリデバイスに関連づけられたメモリコントローラであって、アドレスデコーダ回路を備えるメモリコントローラとを具備し、
    前記プロセッサは、
    前記プロセッサにとってローカルな情報を格納するように構成されたキャッシュと、
    前記ターゲットメモリデバイスに関連づけられたページテーブルエントリから受信される第1のキャッシュポリシー情報を前記プロセッサにおいて格納するように構成されたメモリ管理ユニットであって、前記アドレスデコーダ回路からターゲットメモリデバイスに関連付けられた第2のキャッシュポリシー情報が取得できた場合、前記第1のキャッシュポリシー情報を前記第2のキャッシュポリシー情報で上書きし、前記第2のキャッシュポリシー情報に基づいて、前記キャッシュのためのキャッシュポリシーを設定するように構成されたメモリ管理ユニットとを具備し、
    前記メモリコントローラは、
    物理アドレスをデコードし、マルチプレクサに前記ターゲットメモリデバイスに関連づけられた前記第2のキャッシュポリシー情報を選択させるアドレスデコーダを含む、システム。
  9. 前記メモリコントローラの前記アドレスデコーダ回路は、アドレスデコーダと前記ターゲットメモリデバイスに関連付けられたエントリを有するテーブルとを具備する請求項記載のシステム。
  10. ターゲットメモリデバイスに関連づけられたページテーブルエントリから第1のキャッシュポリシー情報を取得することと、
    前記第1のキャッシュポリシー情報を、前記ターゲットメモリデバイスにメモリコントローラを介して結合されるプロセッサにおいて格納することと、
    第2のキャッシュポリシー情報が前記メモリコントローラから取得できる場合、前記第1のキャッシュポリシー情報を前記第2のキャッシュポリシー情報で上書きし、前記第2のキャッシュポリシー情報に基づいてキャッシュポリシーを設定することとを具備し、前記メモリコントローラ内に配置されるアドレスデコーダが、物理アドレスをデコードし、マルチプレクサに前記ターゲットメモリデバイスに関連づけられた前記第2のキャッシュポリシー情報を選択させる、キャッシュポリシーを決定する方法。
  11. 前記メモリコントローラは、前記ターゲットメモリデバイスのデバイスIDレジスタから前記第2のキャッシュポリシー情報を受信する請求項10記載の方法。
  12. 前記キャッシュポリシーは、前記ターゲットメモリデバイスに向けられたメモリ動作に応答してどのレベルのキャッシュがキャッシュラインを割り当てるべきかの指示を含む請求項10記載の方法。
  13. 前記キャッシュポリシーは、読み出し専用割り当てを示す請求項10記載の方法。
  14. 前記メモリコントローラはアドレスデコーダ回路を含み、前記アドレスデコーダ回路は、アドレスデコーダと前記ターゲットメモリデバイスに関連づけられたエントリを有するテーブルとを具備する請求項10記載の方法。
  15. プロセッサであって、
    前記プロセッサにとってローカルな情報を格納するように構成されたキャッシュと、
    メモリ管理ユニットとを具備し、
    前記メモリ管理ユニットは、
    ターゲットメモリデバイスに関連づけられたページテーブルエントリから受信される第1のキャッシュポリシー情報を前記プロセッサにおいて格納するように構成され、前記ターゲットメモリデバイスはキャッシュではなく、前記ページテーブルエントリは、前記プロセッサによるメモリアクセスに関連づけられたアドレスによって識別され、
    前記第1のキャッシュポリシー情報に基づいて前記キャッシュのためのキャッシュポリシーを設定するように構成され、
    第2のキャッシュポリシー情報が前記ターゲットメモリデバイスに関連づけられたメモリコントローラから取得できた場合、格納された前記第1のキャッシュポリシー情報を前記第2のキャッシュポリシー情報で上書きし、前記第2のキャッシュポリシー情報に基づいて前記キャッシュポリシーを別のキャッシュポリシーに置き換えるように構成されており、
    前記メモリコントローラはアドレスデコーダを含み、前記アドレスデコーダは、物理アドレスをデコードし、マルチプレクサに前記第2のキャッシュポリシー情報を選択させるための制御信号を生成する、プロセッサ。
  16. 前記キャッシュは、レベル2(L2)キャッシュを含む請求項15記載のプロセッサ。
  17. システムであって、
    ターゲットメモリデバイスと、
    前記ターゲットメモリデバイスに関連づけられたメモリコントローラであって、アドレスデコーダ回路を備えるメモリコントローラと、
    前記メモリコントローラに結合されるプロセッサとを具備し、
    前記プロセッサは、
    前記プロセッサにとってローカルな情報を格納するように構成されたキャッシュと、
    メモリ管理ユニットとを含み、
    前記メモリ管理ユニットは、
    ターゲットメモリデバイスに関連づけられたページテーブルエントリから受信される第1のキャッシュポリシー情報を前記プロセッサにおいて格納するように構成され、前記ページテーブルエントリは、前記プロセッサによるメモリアクセスに関連づけられたアドレスによって識別され、
    前記第1のキャッシュポリシー情報に基づいて前記キャッシュのためのキャッシュポリシーを設定するように構成され、
    第2のキャッシュポリシー情報が前記メモリコントローラから取得できた場合、格納された前記第1のキャッシュポリシー情報を前記第2のキャッシュポリシー情報で上書きし、前記第2のキャッシュポリシー情報に基づいて前記キャッシュポリシーを設定するように構成されており、前記第2のキャッシュポリシー情報は、前記メモリコントローラ内に配置された前記アドレスデコーダ回路によって生成される制御信号によってイネーブルされるマルチプレクサによって提供される、システム。
  18. 前記キャッシュは、命令キャッシュである請求項17記載のシステム。
  19. 前記キャッシュは、データキャッシュである請求項17記載のシステム。
  20. 前記ターゲットメモリデバイスは、シンクロナスグラフィックスランダムアクセスメモリ(SGRAM)デバイスである請求項17記載のシステム。
  21. 前記ターゲットメモリデバイスは、シンクロナスランダムアクセスメモリ(SDRAM)デバイスである請求項17記載のシステム。
  22. 前記キャッシュポリシーは、前記ターゲットメモリデバイスに向けられたメモリ動作に応答してどのレベルのキャッシュがキャッシュラインを割り当てるべきかの指示を含む請求項17記載のシステム。
JP2009547424A 2007-01-24 2008-01-24 プロセッサにおいてキャッシュポリシーを設定するための方法および装置 Active JP5313168B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/626,434 2007-01-24
US11/626,434 US7949834B2 (en) 2007-01-24 2007-01-24 Method and apparatus for setting cache policies in a processor
PCT/US2008/051953 WO2008092032A1 (en) 2007-01-24 2008-01-24 Method and apparatus for setting cache policies in a processor

Publications (2)

Publication Number Publication Date
JP2010517179A JP2010517179A (ja) 2010-05-20
JP5313168B2 true JP5313168B2 (ja) 2013-10-09

Family

ID=39456426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009547424A Active JP5313168B2 (ja) 2007-01-24 2008-01-24 プロセッサにおいてキャッシュポリシーを設定するための方法および装置

Country Status (11)

Country Link
US (1) US7949834B2 (ja)
EP (1) EP2115599B1 (ja)
JP (1) JP5313168B2 (ja)
KR (1) KR101079970B1 (ja)
CN (1) CN101589374B (ja)
BR (1) BRPI0806756A2 (ja)
CA (1) CA2674868C (ja)
MX (1) MX2009007948A (ja)
RU (1) RU2427892C2 (ja)
TW (1) TWI446166B (ja)
WO (1) WO2008092032A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5158576B2 (ja) * 2007-06-05 2013-03-06 日本電気株式会社 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
US8393008B2 (en) * 2008-05-21 2013-03-05 Microsoft Corporation Hardware-based output protection of multiple video streams
US8151077B1 (en) * 2008-06-30 2012-04-03 Emc Corporation Application aware cache management
US8504776B2 (en) * 2008-08-29 2013-08-06 Infineon Technologies Ag Device and method for controlling caches
US8516260B2 (en) * 2008-10-27 2013-08-20 Advanced Micro Devices, Inc. Method, apparatus, and device for providing security among a calling function and a target function
US8161246B2 (en) * 2009-03-30 2012-04-17 Via Technologies, Inc. Prefetching of next physically sequential cache line after cache line that includes loaded page table entry
CN101866321B (zh) * 2010-06-13 2012-03-21 北京北大众志微系统科技有限责任公司 一种高速缓存管理策略的调整方法及系统
US9652560B1 (en) * 2011-07-18 2017-05-16 Apple Inc. Non-blocking memory management unit
US20130042238A1 (en) * 2011-08-12 2013-02-14 International Business Machines Corporation Optimized Virtual Function Translation Entry Memory Caching
US8954704B2 (en) 2011-08-12 2015-02-10 International Business Machines Corporation Dynamic network adapter memory resizing and bounding for virtual function translation entry storage
US10042750B2 (en) * 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US10133488B2 (en) * 2014-03-17 2018-11-20 Primaryio, Inc. Apparatus and method for cache provisioning, configuration for optimal application performance
US10146437B2 (en) 2014-03-17 2018-12-04 Primaryio, Inc. Tier aware caching solution to increase application performance
US9715455B1 (en) * 2014-05-05 2017-07-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Hint selection of a cache policy
DE112016002356B4 (de) 2015-05-27 2024-02-29 Google Inc. Datenspeichersystemarchitektur
US10019404B2 (en) * 2016-04-20 2018-07-10 Allone Solution Co., Ltd. Accessing method for accessing hybrid hard-disk drive
US10402336B2 (en) * 2017-03-31 2019-09-03 Intel Corporation System, apparatus and method for overriding of non-locality-based instruction handling

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0340046A (ja) * 1989-07-06 1991-02-20 Hitachi Ltd キャッシュメモリ制御方式および情報処理装置
US5325504A (en) * 1991-08-30 1994-06-28 Compaq Computer Corporation Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
ZA954460B (en) * 1994-09-30 1996-02-05 Intel Corp Method and apparatus for processing memory-type information within a microprocessor
WO1996035995A1 (en) * 1995-05-10 1996-11-14 The 3Do Company Method and apparatus for managing snoop requests using snoop advisory cells
US5946713A (en) * 1997-08-18 1999-08-31 Intel Corporation Memory attribute palette
JPH1173368A (ja) * 1997-08-28 1999-03-16 Seiko Epson Corp メモリモジュール、情報処理装置の制御方法および記録媒体
US6434669B1 (en) * 1999-09-07 2002-08-13 International Business Machines Corporation Method of cache management to dynamically update information-type dependent cache policies
US7328328B2 (en) * 2002-02-19 2008-02-05 Ip-First, Llc Non-temporal memory reference control mechanism
DE60322366D1 (de) * 2002-04-18 2008-09-04 Advanced Micro Devices Inc Rechnersystem mit einem für einen sicheren ausführungsmodus geeigneten cpu und einem sicherheitsdienst-prozessor die über einen gesicherten kommunikationsweg miteinander verbunden sind
US6891543B2 (en) * 2002-05-08 2005-05-10 Intel Corporation Method and system for optimally sharing memory between a host processor and graphics processor
US7353334B2 (en) * 2002-08-19 2008-04-01 Aristos Logic Corporation Method of increasing performance and manageability of network storage systems using optimized cache setting and handling policies
US7039756B2 (en) * 2003-04-28 2006-05-02 Lsi Logic Corporation Method for use of ternary CAM to implement software programmable cache policies
JP4765249B2 (ja) * 2003-11-18 2011-09-07 セイコーエプソン株式会社 情報処理装置およびキャッシュメモリ制御方法
JP4009306B2 (ja) * 2003-11-18 2007-11-14 松下電器産業株式会社 キャッシュメモリおよびその制御方法
JP2005267497A (ja) * 2004-03-22 2005-09-29 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置、その制御方法及び磁気ディスク記憶装置
JP2006185284A (ja) * 2004-12-28 2006-07-13 Renesas Technology Corp データ処理装置
GB2422926B (en) * 2005-02-04 2008-10-01 Advanced Risc Mach Ltd Data processing apparatus and method for controlling access to memory
US7472225B2 (en) * 2005-06-20 2008-12-30 Arm Limited Caching data
US7616218B1 (en) * 2005-12-05 2009-11-10 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives

Also Published As

Publication number Publication date
RU2427892C2 (ru) 2011-08-27
US20080177952A1 (en) 2008-07-24
TWI446166B (zh) 2014-07-21
KR20090108716A (ko) 2009-10-16
EP2115599B1 (en) 2017-07-19
RU2009131695A (ru) 2011-02-27
CN101589374A (zh) 2009-11-25
CN101589374B (zh) 2012-07-04
TW200842572A (en) 2008-11-01
US7949834B2 (en) 2011-05-24
JP2010517179A (ja) 2010-05-20
BRPI0806756A2 (pt) 2011-09-13
MX2009007948A (es) 2009-08-07
WO2008092032A1 (en) 2008-07-31
CA2674868C (en) 2015-02-03
CA2674868A1 (en) 2008-07-31
KR101079970B1 (ko) 2011-11-04
EP2115599A1 (en) 2009-11-11

Similar Documents

Publication Publication Date Title
JP5313168B2 (ja) プロセッサにおいてキャッシュポリシーを設定するための方法および装置
US10776022B2 (en) Combined transparent/non-transparent cache
JP5580894B2 (ja) Tlbプリフェッチング
EP2452265B1 (en) Block-based non-transparent cache
JP5536658B2 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
JP2004192615A (ja) ハードウェア管理仮想−物理アドレス変換機構
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
WO2010004497A1 (en) Cache management systems and methods
US7472225B2 (en) Caching data
US20110167223A1 (en) Buffer memory device, memory system, and data reading method
JP2000122929A (ja) 情報処理装置
JPH09231136A (ja) キャッシュメモリの置き換えブロック選択装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121010

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121017

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130408

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130508

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: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130703

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5313168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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