JP2004503010A - キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法 - Google Patents

キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法 Download PDF

Info

Publication number
JP2004503010A
JP2004503010A JP2002508207A JP2002508207A JP2004503010A JP 2004503010 A JP2004503010 A JP 2004503010A JP 2002508207 A JP2002508207 A JP 2002508207A JP 2002508207 A JP2002508207 A JP 2002508207A JP 2004503010 A JP2004503010 A JP 2004503010A
Authority
JP
Japan
Prior art keywords
cache
memory location
location
cache memory
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002508207A
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2004503010A publication Critical patent/JP2004503010A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/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
    • 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
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms

Landscapes

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

Abstract

データ処理装置は相互に異なるアクセス待ち時間を持つ記憶位置を含むメインメモリを有する。メインメモリからの情報はキャッシュメモリ内にキャッシュされる。キャッシュの置換えが必要とされる場合におけるキャッシュ置換え位置の選択は、そのための置換え可能なキャッシュ位置が使用中であるメインメモリ位置のアクセス待ち時間における差異に依存する。置換え可能なキャッシュメモリ位置にキャッシュされたメインメモリ位置のアクセス待ち時間が他の置換え可能なキャッシュメモリ位置にキャッシュされた他のメインメモリ位置のアクセス待ち時間よりも比較的小さい場合には、メインメモリ位置に関するキャッシュされたデータは、その待ち時間が小さいので、他のメインメモリ位置に関するデータよりも優先的に置換えられる。

Description

【0001】
本発明はキャッシュメモリを有するデータ処理装置、この種装置で使用する集積回路、及び、この種装置を操作する方法に関する。
【0002】
キャッシュメモリは例えば米国特許第5,737,752号に記載済みの技術においてよく知られている。これらのキャッシュメモリはプロセッサの作動速度とメインメモリの作動速度との間の間隙を橋絡するために役立つ。作動速度はキャッシュメモリの方がメインメモリよりも高い。プロセッサがメインメモリからのデータを使用する(または、使用することが予期される)ときには、当該データのコピーがキャッシュメモリ内に記憶される。従って、プロセッサが当該データを必要とするときには、当該データはメインメモリからフェッチ可能であるよりも更に迅速にキャッシュメモリからフェッチ可能である。
【0003】
通常、キャッシュメモリはマイクロプロセッサと大型オフチップDRAMメモリとの間で用いられている。キャッシュは、当該マイクロプロセッサと同じチップに組み込まれたSRAMであることが好ましい。現行技術は、速度がDRAMよりも数オーダ大きいプロセッサ及びSRAMの製造を可能にする。キャッシュメモリはオンチップメインメモリ用、即ち、プロセッサとメインメモリとキャッシュが全て同一集積回路内に集積されている集積回路用にも使用されている。この場合、例えば、オンチップメインメモリは速度を最大限化するよりもケイ素部位(エリア)を減少させるように最適化されるので、メインメモリも低速である。この場合にも、キャッシュはプロセッサの作動速度との間に結果的に生じる間隙を橋絡する速い方のメモリである。キャッシュメモリは処理装置にも使用可能であり、この場合には、メインメモリの第1部分はプロセッサ及びキャッシュメモリと共にオンチップであり(チップ内に所在し)、メインメモリの第2部分(これは、依然として第1の部分と同じメモリスペース内に所在する)はオフチップである(チップ外に所在する)。この場合、キャッシュメモリは作動速度間における差間隙、即ち、プロセッサとメインメモリの第1部分との間の間隙およびプロセッサとメインメモリの第2部分との間の間隙を橋絡するために用いられる。ここに、通常、後者間隙の方が前者間隙よりも大きい。
【0004】
一般的に、キャッシュメモリはメインメモリよりも遥かに小さい。メインメモリ位置からのデータがキャッシュメモリ内に記憶されるべきであり、自由なキャッシュメモリ位置が利用可能でないときには、他のメインメモリ位置用としてキャッシュ内に所在するデータは重ね書きされなければならないはずである。キャッシュ管理ユニットは、いずれのキャッシュ位置が用いられるかを選択する。選択はキャッシュ置換え戦略に依存する。1つのよく知られた戦略は、プロセッサによる使用頻度が最低であったキャッシュ位置を選定する最低使用頻度(LRU)戦略である。米国特許第5,737,752号は、この置換えメカニズム又は他のユーザ選択可能な置換えメカニズムを使用するキャッシュについて記述している。この特許は、ユーザ選択可能な置換えメカニズムの一例としてランダム選択に言及している。
【0005】
他の多くの目的に中で、本発明の一目的は処理装置および改良されたキャッシュ置換え戦略を用いて処理装置を操作する方法を提供することにある。
【0006】
本発明に従った方法は請求項1に記載されている。本発明によれば、キャッシュ置換え戦略は、それに関するデータがキャッシュ内に所在するメインメモリ位置の待ち時間に依存して実施される。新規データを記憶するための空間をキャッシュ内に作ることが必要なときには、メモリ管理ユニットは、それに関するデータがキャッシュ内に所在する他のメインメモリ位置よりも更に短いアクセス待ち時間を持つメインメモリ位置に関するデータによって占有されている位置を選定することが好ましい。従って、メインメモリのアクセス待ち時間における差異は、置換えられたデータがメインメモリから再びフェッチされることが必要であれば、失われる時間は少なくてすむことが期待されるという点で利用される。一例として、メインメモリ位置の一部はオンチップDRAM内に所在し、かつメインメモリ位置の一部はオフチップDRAM内に所在するので、異なる記憶位置のアクセス待ち時間は異なることがあり得る。
【0007】
図1は集積回路10および外部メモリ12を有する処理回路を示す。集積回路は、プロセッサ処理装置100、キャッシュ管理単位体ユニット102、キャッシュメモリ104、ローカルメモリ106、及び、バス108、109を含む。バスはアドレスバス109およびデータバス108を含む。キャッシュ管理ユニット102はキャッシュメモリ104に結合される。プロセッサ100はキャッシュメモリ104を介してバス108、109に接続される。ローカルメモリ104はバス108、109に接続される。バスは集積回路10の外部インタフェース110に接続される。バス108、109は集積回路10内の部分および集積回路外の部分を有する。外部メモリ12は集積回路外のバス108、109の部分へ接続される。
【0008】
ローカルメモリ106および外部メモリ12は、プロセッサ100、例えばメモリアドレスの第1レンジに関するメモリセルを提供するローカルメモリ106、及び、アドレスの第2レンジに関するメモリセルを提供する外部メモリ12にとって可視である概念メインメモリの同一アドレススペースの部分である。
【0009】
作動に際して、プロセッサ100はプログラムを実行する。プログラム実行の経過に際して、プロセッサ10は、例えば命令をロードし、及び/又は、メインメモリ12、106からのデータをロードするためにロード命令を実行するようにメインメモリ12、106をアドレスする。プロセッサ100がミインメモリ12、106をアドレスするとき、プロセッサ100は当該アドレスをキャッシュ管理ユニット102にパスする。キャッシュ管理ユニット102はアドレスに関するデータがキャッシュメモリ104において利用可能であるかどうかをテストし、可能であれば、当該データをプロセッサ100に返す。アドレスに関するデータがキャッシュメモリ104において利用可能でないならば、キャッシュ管理ユニット102は当該アドレスをバス108、109にパスし、メインメモリ12、106をアドレスする。当該アドレスがローカルメモリ106または外部メモリ12をアドレスするかどうかによって、外部メモリ12およびローカルメモリ106の適切な1つは当該アドレスに関するデータをバス108、109への戻す。キャッシュ管理ユニット102は当該データを受け取り、それをプロセッサ10に返す。
【0010】
ローカルメモリ106または外部メモリ12からデータが戻される以前に必要とされる時間はアクセス待ち時間(レイテンシ)と呼ばれる。アクセス待ち時間は当該メモリの速度、及び、当該メモリへアクセスリクエストを伝送し、かつ結果を戻すために必要な時間の関数である。一般的に、集積回路とその外部との間でのアドレス及びデータ交換必要時間は集積回路内における同様の交換必要時間より大きいので、外部メモリ12のアクセス待ち時間はローカルメモリ106のアクセス待ち時間より大きいはずである。図1の回路はアクセス待ち時間差の1つの原因を示すが、勿論、例えば集積回路の両内部または両外部において速度が異なる同じでないタイプのメモリの使用などのような他の原因もあり得る。
【0011】
また、キャッシュ管理ユニット102はデータのコピーを当該データがそれから読み取られたメインメモリアドレスを識別する情報と共にキャッシュメモリ104に書き込む。その結果、同じメインメモリ位置(ロケーション)へのその次のアクセスは、メインメモリへのアクセスが必要とされる時間よりも短い時間でキャッシュメモリ104からサポートされることが可能である。
【0012】
キャッシュ管理ユニット102は、データを書き込もうとするキャッシュメモリ104内の記憶位置を選択しなければならない。本発明はキャッシュ管理ユニット102がこの機能を実施する方法に関係する。キャッシュメモリ104は、例えば完全な連想メモリ又はセットアソシエィティブメモリとして組織される。これは、データのコピーが幾つかの代替位置の1つに書き込み可能であることを意味する。キャッシュ管理ユニット102は、これらの代替位置において当該データを記憶するためのキャッシュメモリ104内における記憶位置を選択しなければならない。この選択に用いられる規則はキャッシュ置換え戦略と呼ばれる。キャッシュ管理ユニット102によって用いられるキャッシュ置換え戦略はプログラムの実行速度に影響する。通常、新規なメインメモリアドレスに関するデータを記憶するために選定されたキャッシュメモリ位置は他のメインメモリアドレスに関するデータを既に含んでいるはずである。これは、新しい新規メインメモリアドレスに関するデータを記憶するためのキャッシュメモリ位置が選定される場合には、他の当該メインメモリアドレスに関するデータが犠牲にされることを意味する。他の当該メインメモリアドレスのデータへのその次のアクセスはキャッシュミスに帰着し、メインメモリがアクセスされなければならないはずである。
【0013】
周知のキャッシュ置換え戦略は「最低使用頻度」(LRU)戦略である。LRU戦略を用いるキャッシュ管理ユニット102は、新規記憶位置に関するデータを記憶するために使用できるキャッシュメモリ104内の記憶位置から、最低アクセス頻度であったキャッシュメモリ104内の当該記憶位置を選定する。
【0014】
本発明に従ったデータ処理装置で用いられるキャッシュ置換え戦略では、新規メインメモリ位置に関するデータを記憶しようとするキャッシュメモリ104内の記憶位置を選択するために、それに関するデータが一次判定基準としてキャッシュメモリ内に記憶されているデータメインメモリ位置の待ち時間が用いられる。新規メインメモリ位置に関するデータがキャッシュメモリ104における幾つかの代替記憶位置に記憶可能であり、これら全ての代替位置がメインメモリ位置に関するデータを記憶する場合には、その待ち時間が他のあらゆる代替位置の待ち時間より大きくないメインメモリ位置に関するデータを記憶する位置が優先性を以て選定される。従って、置き換えられたデータが再び必要とされるので、当該位置におけるデータの置換えの結果としてその次のキャッシュミスを生じる場合には、メインメモリからのフェッチングに要する時間は、比較的大きいアクセス待ち時間を持つ位置に関して同じことが起きた場合よりも所要時間は小さいはずである。
【0015】
キャッシュメモリ104内の代替記憶位置に記憶されるデータに関する複数のメインメモリ位置が同じ待ち時間を持ち、しかも、更に小さい待ち時間を持つメインメモリ位置に関するデータを記憶する代替位置が無い場合には、前者の代替位置の中から選択するために、例えばLRUなどの他の戦略が使用可能である。
【0016】
キャッシュ管理ユニット102は次のように作動する。置換え用のキャッシュメモリ位置が選定される必要があるときには、置換え優先順位の少なくとも一部分が選択対象とされる全ての代替位置の間で決定される。(位置(ロケーション)という用語は、キャッシュ置換え単位が個々にアドレス可能な記憶位置であるか、或いは、記憶位置のブロック(塊)であるかを表すために用いられる)。キャッシュメモリ104が完全な連想キャッシュメモリである場合には、代替位置は全てキャッシュ位置である。キャッシュメモリがセットアソシエィティブである場合には、代替位置はメインメモリロ位置によってアドレスされたセット(集合)から選択される位置である。少なくとも幾らかの置換えオペレーションに関して、キャッシュ管理ユニットは、代替位置に記憶されるデータに関するメインメモリ位置のアクセス待ち時間から置換え優先順位を決定する。一実施形態において、キャッシュ管理ユニット102は、優先順位を決定する際に使用するために、各キャッシュ位置に関するアクセス待ち時間を表すデータを記憶する。他の一実施形態において、キャッシュ管理ユニット102はキャッシュメモリ104内の代替位置に記憶されたデータのアドレスタグからアクセス待ち時間を決定する。例えば、或る待ち時間はメインメモリ106のローカル部分によってサポートされるアドレスレンジ内におけるメモリアドレスに関する待ち時間であるものと仮定し、別の待ち時間はメインメモリ12の外部部分によってサポートされるアドレスレンジ内におけるメモリアドレスに関する待ち時間であるものと仮定しても差し支えない。
【0017】
一実施形態において、キャッシュ管理ユニット102は、他のあらゆる代替位置に関するアクセス待ち時間より大きくないアクセス待ち時間を持つメインメモリアドレスに関するデータを記憶する代替位置を事前選択する。これは、キャッシュ管理ユニット102によって実行されたマイクロプログラムによるか、或いは、メモリ待ち時間またはそれらの表現体を比較するための並列演算ハードウェアによって実現可能である。続いて、キャッシュ管理ユニットは事前選定された位置の中から最終位置を選択する。ここに、最終位置は事前選定された他のあらゆる位置よりも更に頻繁にはアクセスされていない位置である。後者の選択は通常のLRU技法を用いて実施可能である。最終位置は新規メインメモリ位置に関するデータを記憶するために用いられる。
【0018】
図2は、セット・アソシエィティブキャッシングスキーム(計画)用キャッシュメモリ20及びキャッシュ管理ユニット22の一実施形態の例を示す。キャッシュメモリ20は、異なるセット集合からのデータに関してデータメモリ200a−dを含む(以降、「データ」という用語はデータ及び命令の両方に関して総称的に用いられる)。更に、キャッシュメモリは種々異なる集合によって構成されるデータのタグに関するタグメモリ202aから202dを含む。キャッシュメモリ20はメモリアドレスに関する入力「A」を有する。メモリアドレスの一部分はデータメモリ20aから20d及びタグメモリ202aから202dのアドレス入力に供給される(説明図を簡素化するために、アドレスのこの部分はメモリ200aから200d、202aから202d、222、224の間の直列接続部として示される)。この直列接続は、単に、好ましい実施形態における並列メモリに等価であるメモリ200a−d、202a−d、222、224、及び、その次のメモリ200a−d、202a−d、222、224まで通過するアドレスの使用に関する接続を表すに過ぎない。また、キャッシュメモリ20はタグコンパレータ204及びデータセレクタ206を含む。タグメモリ202の出力は、タグ用に使用されるメモリアドレスの一部分を受け取るためにアドレス入力Aに結合された入力を有するタグコンパレータ204に結合される。タグコンパレータ204は、データメモリ200a−dの出力に結合された入力を有するデータセレクタ206の制御入力に結合された出力を有する。
【0019】
キャッシュ管理ユニット22は制御ユニット220、待ち時間識別子メモリ222、使用順序メモリ224、使用順序更新ユニット226、及び、置換え選択ユニット228を含む。待ち時間識別子メモリ222、及び、使用順序メモリ224はアドレス入力Aによってアドレスされる。使用順序ユニット224は、タグコンパレータ204の出力も受け取る使用順序更新ユニット226に結合された出力を有する。使用更新ユニット226は使用順序メモリ224の入力に結合された出力を有する。置換え選択ユニット228は使用順序メモリ224及び待ち時間識別子メモリ222両方の出力に結合された入力を有する。制御ユニット220は全てのメモリ200a−d、202a−d、222、224の入力に結合される。
【0020】
作動に際して、キャッシュメモリ20はデータメモリ200a−dの任意の1つにおける所与の記憶位置に関するデータを記憶できる。データメモリ200a−dはアドレススペース全体を記憶するために必要とされるよりも遥かに小さく、アドレス入力からのメモリアドレスの第1部分のみを受け取る。タグメモリ202a−dは、該当する場合に、所与のメモリアドレスに関するデータがどのデータメモリ200a−dに記憶されるかの決定に役立つ。この目的のために、各タグメモリ202a−dはデータメモリ200a−dの中の対応する1つに記憶されているデータのメモリアドレスの第2部分(第1部分以外)を記憶する。タグメモリ202a−dはアドレスの第1部分によってアドレスされ、対応するデータメモリ200a−dに記憶されているデータに関するアドレスの第2部分を出力する。タグコンパレータ204はこの出力された第2部分をアドレス入力Aにおいて受け取られたメモリアドレスの第2部分と比較する。タグメモリ202a−dの任意の1つからのアドレスの第2部分がアドレス入力Aからの第2部分にマッチする場合には、タグコンパレータ204は対応するデータメモリ200a−dからのデータをキャッシュメモリ20の出力へパスするようにセレクタ206に合図する。
【0021】
使用順序メモリ224はメモリアドレスの第1部分によってアドレスされるデータメモリ200a−d内における位置が最後にアクセスされた順序を表す情報を記憶する。この情報は、現在アクセスされているデータメモリ200a−dを識別するためにタグコンパレータ204からの情報も受け取る更新ユニット226へ出力される。更新ユニット226は更新された順序を表す情報を前記の情報から決定し、更新情報を使用順序メモリ224に書き戻す。原則として、この情報は順列を表すが、その代りに、データメモリラベルの順序付けされたリストを使用することも可能である。
【0022】
アドレス入力Aにおいて受け取ったメモリアドレスに関するデータはどのデータメモリ200a−dにも記憶されていないことをタグコンパレータ204を合図すると、置換え選択ユニット228は選定されたデータメモリ200a−dが含まれるメモリアドレスに関するデータを記憶するためのデータメモリ200a−dの1つを選定する。本発明によれば、この選択はデータメモリ200a−dに記憶されているデータに関するメインメモリ位置の待ち時間に依存する。待ち時間識別子メモリ222は、データメモリ200a−d アドレス入力から受け取ったメモリアドレスの第1部分によってアドレスされたデータメモリ200a−d内の位置に記憶されているデータに関するこれらメインメモリ位置の待ち時間を識別する識別子を記憶する。識別子は、例えば各データメモリ200a−dに関する1つのビットを含み、このビットは対応するメインメモリ位置に関する長いか又は短い待ち時間を表示する。識別子は、比較的短い待ち時間を持つメインメモリ位置が利用可能であれば、比較的長い待ち時間を持つメインメモリ位置は選定されないように識別子を使用する置換え選択ユニット228に供給される。更に、同じ待ち時間を持つメインメモリ位置の中から選択するために置換え選択ユニット228は使用順序メモリ224から受け取った使用順序を用いることもできる。
【0023】
メインメモリ位置に関するデータがメインメモリからフェッチされたときには、制御ユニット220は、選択ユニットによって選択されたデータメモリ200a−d内のデータを選定されたデータメモリ200a−d内のアドレスに配置する。この場合、前記アドレスはメインメモリアドレスの第1部分である。制御ユニット220は、選定されたデータメモリ200a−dに対応するタグメモリ202a−dの1つ内におけるタグとしてメインメモリアドレスの第2部分を配置する。このメモリに記憶されているタグのアドレスもメインメモリアドレスの第1部分によって決定される。制御ユニット220は待ち時間表示メモリ222内に新規記憶されるデータに関するメインメモリ位置の待ち時間を表示する。更に、使用順序メモリ224は、選定されたデータメモリ200a−dがメインメモリアドレスの第1部分の現行値用に使用されるべき最後のデータメモリであることを反映するように更新される。
【0024】
アクセス待ち時間依存置換え戦略の多数の変形が可能である。これらの戦略は、比較的短いアクセス待ち時間を持つメインメモリ位置に関する置換え優先順位が絶対的ではないが、比較的長い待ち時間を持つメインメモリ位置に関するデータを記憶するキャッシュメモリ位置の例外的な選択を可能にする特質を持つことが好ましい。これは、比較的長いアクセス待ち時間を持つメインメモリ位置に関するデータが究極的に使用されることは非常に好ましくないので、このデータがキャッシュメモリ内に恒久的に留まることを防止するために役立つ。
【0025】
これは、例えばキャッシュ管理ユニット102において、メインメモリ位置に関するデータがキャッシュ内に保持される期間がこれらのメインメモリ位置のアクセス待ち時間に従って重み付けされるLRU戦略を実施することによって実現可能である。この場合の重みは例えばアクセス待ち時間に逆比例することもあり得る。従って、2つのメインメモリ位置のアクセス待ち時間が2つのメインメモリ位置の係数だけ異なる場合には、大きい方の待ち時間を持つメインメモリ位置に関するデータは、小さい方の待ち時間を持つ位置に関するデータの長さの少なくとも2倍の長さに亙って当該データがキャッシュメモリ104内に所在する場合に限り、代替されるはずである。
【0026】
他の一例において、アクセス待ち時間から独立したLRU戦略は周期的に、又は、事前決定されるか、或いは、無作為に選定された置換え回数の後毎に使用可能である。
【図面の簡単な説明】
本発明のこれら及び他の有利な態様については次に示す図面を用いて更に詳細に記述される。
【図1】
処理回路図である。
【図2】
キャッシュメモリ及びキャッシュ管理ユニットの実施形態例を示す図である。
【記号の説明】
10 集積回路
12 外部メモリ
100 プロセッサ
102 キャッシュ管理ユニット
104 キャッシュメモリ
106 ローカルメモリ
108 データバス
109 アドレスバス
110 外部インタフェース
20  キャッシュメモリ
202 データメモリ
204 タグコンパレータ
206 データセレクタ
222 待ち時間識別子メモリ
224 使用順序メモリ
226 使用順序更新ユニット
228 置換え選択ユニット

Claims (12)

  1. 相互に異なるアクセス待ち時間を持つ記憶位置を含むメインメモリを有するプロセッサにおいてキャッシュメモリを管理する方法であって、置換え可能なキャッシュ位置が用いられるために前記メインメモリ位置の前記アクセス待ち時間における差異にキャッシュ置換え位置の選択が依存し、
    前記置換え可能なキャッシュメモリ位置にキャッシュされたメインメモリ位置のアクセス待ち時間が他の置換え可能キャッシュメモリ位置にキャッシュされた他のメインメモリ位置のアクセス待ち時間より比較的小さいかどうかに従ってプリファランスが置換え可能なキャッシュメモリ位置の置換えに与えられる方法。
  2. 少なくとも1つのキャッシュミスに関して、事前選定されていないキャッシュメモリ位置にキャッシュされたメインメモリ位置よりも小さいアクセス待ち時間を持つメインメモリ位置をキャッシュする置換え可能なキャッシュメモリ位置を事前選定するステップを前記選択が含み、前記置換え可能なキャッシュメモリ位置のアクセス待ち時間の表示に依存して前記事前選定ステップが実行され、置換えのためのキャッシュメモリ位置が前記事前選定済みキャッシュメモリ位置から選定される請求項1に記載の方法。
  3. アクセス待ち時間に依存しない前記キャッシュ置換え位置の選択とアクセス待ち時間に依存する前記キャッシュ置換え位置の前記選択をインタリーブするステップを含む請求項2に記載の方法。
  4. 前記置換え可能なキャッシュメモリ位置のそれぞれの1つにキャッシュされる前記メインメモリ位置のアクセス待ち時間に依存する前記置換え可能なキャッシュメモリ位置のそれぞれの1つにプリファランス値を割り当てるステップと、いずれの前記置換え可能なキャッシュメモリ位置が最も好ましいプリファランス値を持つかの決定により前記キャッシュ置換え位置を選択するステップとを有する請求項1に記載の方法。
  5. 前記置換え可能なキャッシュメモリ位置が最高頻度でアクセスされることなく、前記置換え可能なキャッシュメモリ位置を使用する前記メインメモリ位置の前記アクセス待ち時間が更に長くなるにつれて重み付けが強化されるサイクル数に前記プリファランス値が依存する請求項4に記載の方法。
  6. データ処理装置であって、
    プロセッサと、
    相互に異なるアクセス待ち時間を持つ位置をアドレスするアドレススペースを持つメインメモリと、
    前記メインメモリと前記プロセッサとの間のキャッシュメモリと、
    前記キャッシュメモリ内の置換え可能なキャッシュメモリ位置の中からキャッシュ置換え位置を選択するように配置構成されたキャッシュ管理ユニットとを有し、前記置換え可能なキャッシュメモリ位置にキャッシュされたメインメモリ位置のアクセス待ち時間が他の置換え可能なキャッシュメモリ位置にキャッシュされた他のメインメモリ位置のアクセス待ち時間よりも比較的小さいかどうかに従って、置換え可能なキャッシュメモリ位置の置き換えに与えられた前記キャッシュ内にキャッシュされた前記メインメモリ位置の前記相対アクセス待ち時間に依存する前記キャッシュ置換え位置を前記キャッシュ管理ユニットが選択する
    装置。
  7. 前記キャッシュ管理ユニットが、少なくとも1つのキャッシュミスに関して、事前選定されないキャッシュメモリ位置にキャッシュされたメインメモリ位置よりも小さいアクセス待ち時間を有するメインメモリ位置をキャッシュする置換え可能なキャッシュメモリ位置を事前選択するように配置構成され、前記キャッシュ管理ユニットが置換え可能な前記キャッシュメモリ位置の表示に依存して前記事前選定を実行し、前記キャッシュ管理ユニットが事前選定された前記キャッシュメモリ位置の中から置換えのためのキャッシュメモリ位置を選択する請求項6に記載のデータ処理装置。
  8. 前記キャッシュ管理ユニットが、アクセス待ち時間から独立した前記キャッシュ置換え位置の選択とアクセス待ち時間に依存する前記キャッシュ置換え位置の前記選択とをインタリーブするように配置構成される請求項7に記載のデータ処理装置。
  9. 前記キャッシュ管理ユニットが、置換え可能なキャッシュメモリ位置のそれぞれの1つにキャッシュされた前記メインメモリの前記アクセス待ち時間に依存する前記置換え可能なキャッシュメモリ位置のそれぞれ1つにプリファランス値を割り当て、かつ、いずれの前記置換え可能なキャッシュメモリ位置が最も好ましいプリファランス値を有するかの決定により前記キャッシュ置換え位置を選択するように配置構成される請求項6に記載のデータ処理装置。
  10. 置換え可能なキャッシュメモリ位置が最高頻度においてアクセスされることなく、前記置換え可能なキャッシュメモリ位置を使用する前記メインメモリ位置の前記アクセス待ち時間が更に長くなるにつれて重み付けが強化されるサイクル数に依存する前記プリファランス値を計算するように前記キャッシュ管理ユニットが配置構成される請求項6に記載のデータ処理装置。
  11. 1つの第1と第2集積回路を有し、前記第1集積回路が前記プロセッサと前記キャッシュメモリと前記メインメモリの第1部分とを含み、前記第1部分が比較的速いアクセス待ち時間を持つメインメモリ位置を含み、前記第2集積回路が比較的遅いアクセス待ち時間を持つ前記メインメモリの第2部分を含む請求項6に記載のデータ処理装置。
  12. 請求項11に記載の装置における第1集積回路として使用するために配置構成された集積回路。
JP2002508207A 2000-06-30 2001-06-22 キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法 Pending JP2004503010A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00202297 2000-06-30
PCT/EP2001/007088 WO2002003207A1 (en) 2000-06-30 2001-06-22 Data processing apparatus with a cache memory and method of using such an apparatus

Publications (1)

Publication Number Publication Date
JP2004503010A true JP2004503010A (ja) 2004-01-29

Family

ID=8171725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002508207A Pending JP2004503010A (ja) 2000-06-30 2001-06-22 キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法

Country Status (4)

Country Link
US (1) US6785770B2 (ja)
EP (1) EP1299808A1 (ja)
JP (1) JP2004503010A (ja)
WO (1) WO2002003207A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013174997A (ja) * 2012-02-24 2013-09-05 Mitsubishi Electric Corp キャッシュ制御装置、及びキャッシュ制御方法
JP2020047084A (ja) * 2018-09-20 2020-03-26 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721852B2 (en) * 2001-10-17 2004-04-13 Sun Microsystems, Inc. Computer system employing multiple board sets and coherence schemes
US7103722B2 (en) * 2002-07-22 2006-09-05 International Business Machines Corporation Cache configuration for compressed memory systems
DE10304574B4 (de) * 2003-02-05 2005-02-03 Keiper Gmbh & Co. Kg Verriegelungsvorrichtung für einen Fahrzeugsitz
US7284095B2 (en) * 2004-08-18 2007-10-16 International Business Machines Corporation Latency-aware replacement system and method for cache memories
TWI265414B (en) * 2005-07-25 2006-11-01 Ind Tech Res Inst Data caching method and computer program product therefor
US7376792B2 (en) * 2005-08-17 2008-05-20 International Business Machines Corporation Variable cache data retention system
US7502890B2 (en) * 2006-07-07 2009-03-10 International Business Machines Corporation Method and apparatus for dynamic priority-based cache replacement
US20120311269A1 (en) * 2011-06-03 2012-12-06 Loh Gabriel H Non-uniform memory-aware cache management
US8621157B2 (en) 2011-06-13 2013-12-31 Advanced Micro Devices, Inc. Cache prefetching from non-uniform memories
US10613764B2 (en) 2017-11-20 2020-04-07 Advanced Micro Devices, Inc. Speculative hint-triggered activation of pages in memory
JP7198091B2 (ja) * 2019-01-16 2022-12-28 キヤノン株式会社 印刷装置とその制御方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9307359D0 (en) * 1993-04-08 1993-06-02 Int Computers Ltd Cache replacement mechanism
US5943687A (en) * 1997-03-14 1999-08-24 Telefonakiebolaget Lm Ericsson Penalty-based cache storage and replacement techniques
US6385699B1 (en) * 1998-04-10 2002-05-07 International Business Machines Corporation Managing an object store based on object replacement penalties and reference probabilities
GB2385174B (en) * 1999-01-19 2003-11-26 Advanced Risc Mach Ltd Memory control within data processing systems
US6272598B1 (en) * 1999-03-22 2001-08-07 Hewlett-Packard Company Web cache performance by applying different replacement policies to the web cache
US6408362B1 (en) * 1999-06-24 2002-06-18 International Business Machines Corporation Data processing system, cache, and method that select a castout victim in response to the latencies of memory copies of cached data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013174997A (ja) * 2012-02-24 2013-09-05 Mitsubishi Electric Corp キャッシュ制御装置、及びキャッシュ制御方法
JP2020047084A (ja) * 2018-09-20 2020-03-26 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
US11003591B2 (en) 2018-09-20 2021-05-11 Fujitsu Limited Arithmetic processor, information processing device and control method of arithmetic processor
JP7071640B2 (ja) 2018-09-20 2022-05-19 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法

Also Published As

Publication number Publication date
US20020049889A1 (en) 2002-04-25
WO2002003207A1 (en) 2002-01-10
EP1299808A1 (en) 2003-04-09
US6785770B2 (en) 2004-08-31

Similar Documents

Publication Publication Date Title
US5737750A (en) Partitioned single array cache memory having first and second storage regions for storing non-branch and branch instructions
CN100517274C (zh) 高速缓冲存储器及其控制方法
JP5328748B2 (ja) キャッシュメモリにおけるキャッシュラインの置き換え
TW554267B (en) Cache way prediction based on instruction base register
CN102498477B (zh) Tlb预取
JP4044585B2 (ja) キャッシュメモリおよびその制御方法
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JP4829191B2 (ja) キャッシュシステム
KR100454441B1 (ko) 전폭캐쉬를가진집적프로세서/메모리장치
US7216201B2 (en) Parallel cachelets
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JP2004503010A (ja) キャッシュメモリを有するデータ処理装置およびこのような装置の使用方法
CN115168247B (zh) 用于并行处理器中动态共享存储空间的方法及相应处理器
JP3463292B2 (ja) キャッシュ動作要求間の競合に応答して置換用の代替キャッシュ・エントリを選択する方法及びシステム
US7761665B2 (en) Handling of cache accesses in a data processing apparatus
US6240489B1 (en) Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system
JP3929872B2 (ja) キャッシュメモリ、プロセッサ及びキャッシュ制御方法
EP3411798B1 (en) Cache and method
CN115168248A (zh) 支持simt架构的高速缓冲存储器及相应处理器
JPH11288386A (ja) コンピュータシステム
WO2005050454A1 (ja) キャッシュメモリおよびその制御方法
JP3964821B2 (ja) プロセッサ、キャッシュシステム及びキャッシュメモリ
US7346746B2 (en) High performance architecture with shared memory
US20140082286A1 (en) Prefetching Method and Apparatus
JPH0950399A (ja) 多次元空間に配列されたデータの処理に適したキャッシュメモリシステム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070501

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090407