JP4162493B2 - 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ - Google Patents
下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ Download PDFInfo
- Publication number
- JP4162493B2 JP4162493B2 JP2002582365A JP2002582365A JP4162493B2 JP 4162493 B2 JP4162493 B2 JP 4162493B2 JP 2002582365 A JP2002582365 A JP 2002582365A JP 2002582365 A JP2002582365 A JP 2002582365A JP 4162493 B2 JP4162493 B2 JP 4162493B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- level cache
- entry
- line
- lower level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 17
- 239000004065 semiconductor Substances 0.000 claims description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/082—Associative directories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
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)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
(発明の分野)
本発明は、マルチプロセッサシステムの設計に関する。より詳細には、本発明は、下位レベルのキャッシュを介してアクセスを実行する上位レベルのキャッシュを含むオペレーションを促進するために、下位レベルキャッシュに位置するリバースディレクトリを利用する方法と装置に関する。
計算性能の高速化を達成するために、コンピュータシステム設計者は、単一の計算タスクの実行のために並行に動作するマルチプロセッサを利用し始めている。1つの共通のマルチプロセッサ設計は、単一のレベル2(L2)キャッシュ180およびメモリ183を共用するレベル1(L1)キャッシュ161〜164に接続された複数のプロセッサ151〜154を含む(図1を参照されたい)。動作中、プロセッサ151が、ローカルL1キャッシュ161に存在しないデータアイテムにアクセスする場合、システムは、L2キャッシュ180からデータアイテムを取り出すことを試みる。データアイテムが、L2キャッシュ180に存在しない場合、システムは、最初にメモリ180からL2キャッシュ180へデータアイテムを取り出し、続いてL2キャッシュ180からL1キャッシュ161へ取り出す。
しかし、留意すべきは、L2キャッシュ180が、典型的にはL1キャッシュ161〜164よりも多いエントリを有するために、各エントリに対するディレクトリ情報をL2キャッシュ180に格納することは、浪費である。このことは、L2キャッシュ180におけるディレクトリ情報に対するほとんどのエントリが空になることを意味する。
本発明の1つの実施形態は、下位レベルのキャッシュを介してメモリアクセスを実行する上位レベルのキャッシュを有する、複数のプロセッサを含むマルチプロセッサシステムを提供する。このマルチプロセッサシステムはまた、下位レベルのキャッシュに接続されるリバースディレクトリを含み、下位レベルのキャッシュは、上位レベルのキャッシュにおけるラインに対応するエントリを含む。ここで、各エントリは、下位レベルにおける関連するエントリを識別する。
以下の説明は、任意の当業者が本発明を製造し利用することができるように表現されており、特的の用途およびその要件に関連して提供される。開示される実施形態に対する様々な改変が、当業者には容易に理解され、本明細書中で定義される一般原理は、本発明の意図および範囲から逸脱することなく、他の実施形態および用途に適用され得る。従って、本発明は、示される実施形態に限定されることを意図しないが、本明細書中で開示された原理および特徴と一貫する最大範囲が許容され得る。
(マルチプロセッサシステム)
図1Bは、本発明の実施形態に従った、リバースディレクトリを有するマルチプロセッサシステム100を示す。マルチプロセッサシステム100の多くは、単一の半導体チップ101内に配置されていることを留意されたい。より詳細には、半導体チップ101は、複数のプロセッサ110、120、130および140を含み、それらのプロセッサは、レベル1(L1)キャッシュ112、122、132、142をそれぞれ含む。留意すべきは、L1キャッシュ112、122、132および142は、別個の命令およびデータキャッシュであってもよく、もしくは、代替として、統一された命令/データキャッシュであってもよいことである。L1キャッシュ112、122、132および142は、レベル2(L2)キャッシュ106に接続され、L2キャッシュ106は、リバースディレクトリ302を含む。リバースディレクトリ302は、以下の図3〜6を参照して、より詳細が述べられる。L2キャッシュ106は、メモリコントローラ104を介して、オフチップメモリ102に接続される。
(多重バンクを有するL2キャッシュ)
図2は、本発明の実施形態に従った、多重バンクを有するL2キャッシュを示す。この実施形態では、L2キャッシュ106は、4つのバンク202〜205で実装され、4つのバンク202〜205は、スイッチ220を介して、プロセッサ110、120、130、140によって並列にアクセスされ得る。留意すべきは、メモリ要求がどの4つのバンク202〜205指示しているのかを決定するために、2ビットのアドレスだけが必要とされることである。さらに、スイッチ120は、I/Oデバイスと通信するためのI/Oポート150を含む。また留意すべきは、各これらのバンク202〜205は、リバースディレクトリを含むことである。さらに、各バンク202〜205は、それ自体のメモリコントローラ212〜215を有し、メモリコントローラ212〜215は、オフチップメモリ232〜235の関連するバンクに接続される。
(リバースディレクトリ)
図3は、本発明の実施形態に従った、関連するリバースディレクトリ302と一緒のL2バンク202を示す。L2バンク202は、命令およびデータを格納するための8ウェイのセットアソシアティブキャッシュ304を含む。アドレスの一部分は、キャッシュ304内のセットを決定するために利用される。キャッシュ304のセットは、キャッシュ304の行によって表現される。所与のセット内では、8つの異なるエントリが、各8つの異なる「ウェイ位置」に格納され得る。ウェイ位置は、キャッシュ304内の8つの列によって表現される。
(リバースディレクトリエントリ)
図4は、本発明の実施形態に従って、リバースディレクトリエントリ430がどのように生成されるかを示す。
(リバースディレクトリエントリ生成のプロセス)
図5は、本発明の実施形態に従った、リバースディレクトリエントリを生成し、または、アップデートするプロセスを示すフローチャートである。このプロセスは、ラインを取り出す要求が、L1キャッシュ112からL2キャッシュ106で受信されたとき(ステップ502)に開始する。この要求は、アドレス400、L1キャッシュ112を識別するL1キャッシュナンバー、および、ラインが取り出された後に格納されるL1キャッシュ112内のウェイ位置を含む。
(リバースディレクトリエントリを利用するプロセス)
図6は、本発明の実施形態に従って、無効化を実行するために、リバースディレクトリエントリを利用するプロセスを示す。システムは、L2キャッシュ106のアップデートを発生させる要求を受信する(ステップ602)ことによって、開始する。この要求は、別のプロセッサによる目標エントリにおける格納ヒット、ロードミス、または、格納ミスを含む。
Claims (17)
- マルチプロセッサシステムであって、
複数のプロセッサと、
複数のバンクを備えている下位レベルキャッシュと、
該複数のプロセッサに接続された複数の上位レベルキャッシュと、
複数のリバースディレクトリと
を備え、
該複数の上位レベルキャッシュの各々は、該下位レベルキャッシュを介してメモリアクセスを実行するように構成され、
該複数のリバースディレクトリの各々は、該複数のバンクのうちの対応する1つのバンクに接続され、
該複数のリバースディレクトリの各々は、複数のブロックを備え、
該複数の上位レベルキャッシュの各々は、該複数のリバースディレクトリの各々における該複数のブロックのうちの対応する1つのブロックに対応し、
該複数のブロックのうちの該対応する1つのブロックは、該複数の上位レベルキャッシュのうちの対応する1つの上位レベルキャッシュにおけるラインに対するエントリを含み、
各エントリは、該複数のバンクのうちの対応する1つのバンクにおける関連するエントリを識別し、
該下位レベルキャッシュは、
該下位レベルキャッシュからラインを取り出すための上位レベルキャッシュからの要求を受信するように構成され、
該ラインが該下位レベルキャッシュ内に存在する場合に、該下位レベルキャッシュは、
該ラインが該上位レベルキャッシュ内に格納され得るように、該上位レベルキャッシュへ該ラインを送信し、
該ラインが該上位レベルキャッシュ内に格納されていることを指示するために、該複数のブロックのうちの対応する1つのブロックに情報を格納する
ように構成され、
該上位レベルキャッシュは、Nウェイセットアソシアティブキャッシュであり、
該ラインが該下位レベルキャッシュ内に存在する場合に、該下位レベルキャッシュは、該複数のブロックのうちの対応する1つのブロック内の所定の位置に該情報を格納するようにさらに構成され、該所定の位置は、該ラインが格納されるべき上位レベルキャッシュにおけるウェイ位置を識別するウェイ情報に対応し、
該マルチプロセッサシステムは、該上位レベルキャッシュにおける該ラインの該ウェイ位置を決定するために、該上位レベルキャッシュ内のルックアップを実行する必要なく、該上位レベルキャッシュにおける該ラインを無効化する、続く無効化オペレーションの間に、該ウェイ情報を利用するようにさらに構成される、マルチプロセッサシステム。 - 前記下位レベルキャッシュは、前記ラインが該下位レベルキャッシュ内に存在しない場合に、該下位レベルキャッシュへ該ラインを引き出すために、ミスを生成するようにさらに構成される、請求項1に記載のマルチプロセッサシステム。
- 前記下位レベルキャッシュは、
該下位レベルキャッシュ内の目標エントリをアップデートさせるアップデート要求を受信し、
前記複数のリバースディレクトリのうちの1つにおいてルックアップを実行することにより、該目標エントリが1つ以上の上位レベルキャッシュ内に含まれるかどうかを決定し、
該目標エントリを含む各上位レベルキャッシュに対して、
該目標エントリを無効化するために、該上位レベルキャッシュに無効要求を送信し、
該目標エントリが該上位レベルキャッシュ内で無効化されたことを指示するために、該複数のブロックのうちの対応する1つのブロック内の対応するエントリをアップデートする
ようにさらに構成される、請求項1に記載のマルチプロセッサシステム。 - 前記アップデート要求は、
ロードミスと、
格納ミスと、
前記目標エントリ上の格納ヒットと
のうちの1つを含む、請求項3に記載のマルチプロセッサシステム。 - 前記アップデート要求が格納ヒットである場合に、前記下位レベルキャッシュは、前記複数のリバースディレクトリのうちの1つにおいて、前記複数の上位レベルキャッシュのうちの該格納ヒットを発生させた上位レベルキャッシュを除いた上位レベルキャッシュ内の前記目標エントリをルックアップするようにさらに構成される、請求項4に記載のマルチプロセッサシステム。
- 前記複数のブロックの各々は、前記複数の上位レベルキャッシュの各々における各エントリに対応する固定されたエントリを含む、請求項1に記載のマルチプロセッサシステム。
- 各エントリは、前記下位レベルキャッシュ内の対応するエントリの位置を特定する情報を含む、請求項6に記載のマルチプロセッサシステム。
- 前記下位レベルキャッシュは、Mウェイセットアソシアティブキャッシュとして組織化され、
前記複数のブロックのうちの1つのブロック内の各エントリは、
該下位レベルキャッシュ内の対応するエントリのウェイ位置を識別するウェイ識別子と、
該下位レベルキャッシュ内の該対応するエントリのセット位置を識別するセット識別子であって、該複数のブロックのうちの該1つのブロック内の該エントリの位置から推察され得るセット情報を含まないセット識別子と、
該複数のブロックのうちの該1つのブロック内の該エントリが有効であるかどうかを指示する有効フラグと
を含む、請求項6に記載のマルチプロセッサシステム。 - 前記マルチプロセッサシステムは、単一の半導体チップ上に配置される、請求項1に記載のマルチプロセッサシステム。
- 前記下位レベルキャッシュは、L2キャッシュであり、
前記複数の上位レベルキャッシュの各々は、L1キャッシュである、請求項1に記載のマルチプロセッサシステム。 - 前記複数の上位レベルキャッシュは、ライトスルーキャッシュとして組織化されることにより、該複数の上位レベルキャッシュに対するアップデートが、前記下位レベルキャッシュに直ちにライトスルーされる、請求項1に記載のマルチプロセッサシステム。
- 前記下位レベルキャッシュの複数のバンクは、並行にアクセスされ得る、請求項1に記載のマルチプロセッサシステム。
- 単一チップマルチプロセッサシステムであって、
半導体チップと、
該半導体チップ内の複数のプロセッサと、
複数のバンクを備えている該半導体チップ内のL2キャッシュと、
該半導体チップ内にあり、該複数のプロセッサに接続された複数のL1キャッシュと、
複数のリバースディレクトリと
を備え、
該複数のL1キャッシュの各々は、該L2キャッシュを介してメモリアクセスを実行するように構成され、
該複数のL1キャッシュは、ライトスルーキャッシュとして組織化されることにより、該複数のL1キャッシュに対するアップデートが、直ちに該L2キャッシュにライトスルーされ、
該複数のリバースディレクトリの各々は、該複数のバンクのうちの対応する1つのバンクに接続され、
該複数のリバースディレクトリの各々は、複数のブロックを備え、
該複数のL1キャッシュの各々は、該複数のリバースディレクトリの各々における該複数のブロックのうちの対応する1つのブロックに対応し、
該複数のブロックのうちの該対応する1つのブロックは、該複数のL1キャッシュの各々における各エントリに対応する固定されたエントリを含み、
固定されたエントリの各々は、該複数のバンクのうちの対応する1つのバンク内の関連するエントリを識別し、
該L2キャッシュは、
該L2キャッシュからラインを取り出すためのL1キャッシュからの要求を受信するように構成され、
該ラインが該L2キャッシュ内に存在する場合に、該L2キャッシュは、
該ラインが該L1キャッシュ内に格納され得るように、該L1キャッシュへ該ラインを送信し、
該ラインが該L1キャッシュ内に格納されていることを指示するために、該複数のブロックのうちの対応する1つのブロックに情報を格納する
ように構成され、
該L1キャッシュは、Nウェイセットアソシアティブキャッシュであり、
該ラインが該L2キャッシュ内に存在する場合に、該L2キャッシュは、該複数のブロックのうちの対応する1つのブロック内の所定の位置に該情報を格納するようにさらに構成され、該所定の位置は、該ラインが格納されるべきL1キャッシュにおけるウェイ位置を識別するウェイ情報に対応し、
該マルチプロセッサシステムは、該L1キャッシュにおける該ラインの該ウェイ位置を決定するために、該L1キャッシュ内のルックアップを実行する必要なく、該L1キャッシュにおける該ラインを無効化する、続く無効化オペレーションの間に、該ウェイ情報を利用するようにさらに構成される、単一チップマルチプロセッサシステム。 - コンピュータシステム内で動作する方法であって、該コンピュータシステムは、下位レベルキャッシュを介してデータにアクセスする複数の上位レベルキャッシュを含み、該方法は、
該下位レベルキャッシュからラインを取り出すための上位レベルキャッシュからの要求を受信することと、
該ラインが該下位レベルキャッシュ内に存在する場合に、
該ラインが該上位レベルキャッシュ内に格納され得るように、該上位レベルキャッシュへ該ラインを送信することと、
該ラインが該上位レベルキャッシュ内に格納されていることを指示するために、該下位レベルキャッシュに配置されるリバースディレクトリに情報を格納することと
を含み、
該リバースディレクトリは、該複数の上位レベルキャッシュ内のラインに対するエントリを含み、各エントリは、該下位レベルキャッシュ内の関連するエントリを識別し、該リバースディレクトリは、該リバースディレクトリ内の該エントリが有効であるかどうかを指示する有効フラグを含み、
該上位レベルキャッシュは、Nウェイセットアソシアティブキャッシュであり、
該リバースディレクトリに情報を格納することは、該リバースディレクトリの所定の位置に該情報を格納することを含み、該所定の位置は、該ラインが格納されるべき上位レベルキャッシュにおけるウェイ位置を識別するウェイ情報に対応し、
該方法は、該上位レベルキャッシュにおける該ラインの該ウェイ位置を決定するために、該上位レベルキャッシュ内のルックアップを実行する必要なく、該上位レベルキャッシュにおける該ラインを無効化する、続く無効化オペレーションの間に、該ウェイ情報を利用することをさらに含む、方法。 - コンピュータシステム内で動作する方法であって、該コンピュータシステムは、下位レベルキャッシュを介してデータにアクセスする複数の上位レベルキャッシュを含み、該方法は、
該下位レベルキャッシュからラインを取り出すための上位レベルキャッシュからの要求を受信することと、
該ラインが該下位レベルキャッシュ内に存在する場合に、
該ラインが該上位レベルキャッシュ内に格納され得るように、該上位レベルキャッシュへ該ラインを送信することと、
該ラインが該上位レベルキャッシュ内に格納されていることを指示するために、該下位レベルキャッシュに配置されるリバースディレクトリに情報を格納することと
を含み、
該リバースディレクトリは、該複数の上位レベルキャッシュ内のラインに対するエントリを含み、各エントリは、該下位レベルキャッシュ内の関連するエントリを識別し、該リバースディレクトリは、該リバースディレクトリ内の該エントリが有効であるかどうかを指示する有効フラグを含み、
該方法は、
該下位レベルキャッシュ内の目標エントリをアップデートさせるアップデート要求を受信することと、
該リバースディレクトリ内でルックアップを実行することにより、該目標エントリが1つ以上の上位レベルキャッシュ内に含まれるかどうかを決定することと、
該目標エントリを含む各上位レベルキャッシュに対して、
該目標エントリを無効化するために、該上位レベルキャッシュに無効要求を送信することであって、該無効要求は、該上位レベルキャッシュにおけるアソシアティブルックアップを避けることができるように、該上位レベルキャッシュにおけるウェイ位置を含む、ことと、
該目標エントリが該上位レベルキャッシュ内で無効化されたことを指示するために、該リバースディレクトリ内の対応するエントリをアップデートすることと
をさらに含む、方法。 - 前記アップデート要求は、
ロードミスと、
格納ミスと、
前記目標エントリ上の格納ヒットと
のうちの1つを含む、請求項15に記載の方法。 - 前記アップデート要求が格納ヒットである場合に、前記リバースディレクトリ内の前記ルックアップは、前記複数の上位レベルキャッシュのうちの該格納ヒットを発生させた上位レベルキャッシュを除いた上位レベルキャッシュ内の前記目標エントリをルックアップすることを含む、請求項16に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28325401P | 2001-04-11 | 2001-04-11 | |
US10/061,502 US6684297B2 (en) | 2001-04-11 | 2002-01-31 | Reverse directory for facilitating accesses involving a lower-level cache |
PCT/US2002/011560 WO2002084492A2 (en) | 2001-04-11 | 2002-04-11 | Reverse directory for facilitating accesses involving a lower-level cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005509204A JP2005509204A (ja) | 2005-04-07 |
JP4162493B2 true JP4162493B2 (ja) | 2008-10-08 |
Family
ID=26741138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002582365A Expired - Lifetime JP4162493B2 (ja) | 2001-04-11 | 2002-04-11 | 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ |
Country Status (8)
Country | Link |
---|---|
US (1) | US6684297B2 (ja) |
EP (1) | EP1537485B1 (ja) |
JP (1) | JP4162493B2 (ja) |
KR (1) | KR100851738B1 (ja) |
AU (1) | AU2002250576A1 (ja) |
DE (1) | DE60232552D1 (ja) |
TW (1) | TW567415B (ja) |
WO (1) | WO2002084492A2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
US7139881B2 (en) * | 2003-09-25 | 2006-11-21 | International Business Machines Corporation | Semiconductor device comprising a plurality of memory structures |
US7716377B2 (en) * | 2005-05-25 | 2010-05-11 | Harris Steven T | Clustering server providing virtual machine data sharing |
JP4920378B2 (ja) * | 2006-11-17 | 2012-04-18 | 株式会社東芝 | 情報処理装置およびデータ検索方法 |
US8151059B2 (en) * | 2006-11-29 | 2012-04-03 | Intel Corporation | Conflict detection and resolution in a multi core-cache domain for a chip multi-processor employing scalability agent architecture |
US8028131B2 (en) * | 2006-11-29 | 2011-09-27 | Intel Corporation | System and method for aggregating core-cache clusters in order to produce multi-core processors |
US20090210629A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Method, system and computer program product for selectively purging cache entries |
US8095736B2 (en) * | 2008-02-25 | 2012-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures |
JP4821887B2 (ja) | 2009-06-08 | 2011-11-24 | 日本電気株式会社 | コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法 |
US8639885B2 (en) * | 2009-12-21 | 2014-01-28 | Oracle America, Inc. | Reducing implementation costs of communicating cache invalidation information in a multicore processor |
US8521960B2 (en) | 2010-06-23 | 2013-08-27 | International Business Machines Corporation | Mitigating busy time in a high performance cache |
CN102117262B (zh) * | 2010-12-21 | 2012-09-05 | 清华大学 | 用于多核处理器的Cache的主动复制方法及系统 |
KR102366808B1 (ko) | 2014-10-22 | 2022-02-23 | 삼성전자주식회사 | 캐시 메모리 시스템 및 그 동작방법 |
US9720834B2 (en) * | 2015-12-11 | 2017-08-01 | Oracle International Corporation | Power saving for reverse directory |
US10956339B2 (en) | 2016-07-14 | 2021-03-23 | Advanced Micro Devices, Inc. | System and method for storing cache location information for cache entry transfer |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0512117A (ja) * | 1991-07-04 | 1993-01-22 | Toshiba Corp | キヤツシユ一致化方式 |
US5553263A (en) * | 1993-07-16 | 1996-09-03 | Unisys Corporation | Cache memory system with fault tolerance having concurrently operational cache controllers processing disjoint groups of memory |
US5530832A (en) * | 1993-10-14 | 1996-06-25 | International Business Machines Corporation | System and method for practicing essential inclusion in a multiprocessor and cache hierarchy |
JP3872118B2 (ja) * | 1995-03-20 | 2007-01-24 | 富士通株式会社 | キャッシュコヒーレンス装置 |
KR0159699B1 (ko) * | 1996-06-12 | 1999-01-15 | 김광호 | 냉장고 |
US6122709A (en) * | 1997-12-19 | 2000-09-19 | Sun Microsystems, Inc. | Cache with reduced tag information storage |
US6151655A (en) * | 1998-04-30 | 2000-11-21 | International Business Machines Corporation | Computer system deadlock request resolution using timed pulses |
US6349363B2 (en) * | 1998-12-08 | 2002-02-19 | Intel Corporation | Multi-section cache with different attributes for each section |
US6338119B1 (en) * | 1999-03-31 | 2002-01-08 | International Business Machines Corporation | Method and apparatus with page buffer and I/O page kill definition for improved DMA and L1/L2 cache performance |
US6725334B2 (en) * | 2000-06-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for exclusive two-level caching in a chip-multiprocessor |
-
2002
- 2002-01-31 US US10/061,502 patent/US6684297B2/en not_active Expired - Lifetime
- 2002-03-28 TW TW091106193A patent/TW567415B/zh not_active IP Right Cessation
- 2002-04-11 JP JP2002582365A patent/JP4162493B2/ja not_active Expired - Lifetime
- 2002-04-11 WO PCT/US2002/011560 patent/WO2002084492A2/en active Application Filing
- 2002-04-11 DE DE60232552T patent/DE60232552D1/de not_active Expired - Lifetime
- 2002-04-11 KR KR1020037013186A patent/KR100851738B1/ko active IP Right Grant
- 2002-04-11 EP EP02719498A patent/EP1537485B1/en not_active Expired - Lifetime
- 2002-04-11 AU AU2002250576A patent/AU2002250576A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1537485A2 (en) | 2005-06-08 |
DE60232552D1 (de) | 2009-07-16 |
AU2002250576A1 (en) | 2002-10-28 |
EP1537485B1 (en) | 2009-06-03 |
JP2005509204A (ja) | 2005-04-07 |
WO2002084492A2 (en) | 2002-10-24 |
TW567415B (en) | 2003-12-21 |
US6684297B2 (en) | 2004-01-27 |
KR100851738B1 (ko) | 2008-08-11 |
US20020178329A1 (en) | 2002-11-28 |
KR20040063793A (ko) | 2004-07-14 |
WO2002084492A3 (en) | 2005-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7536513B2 (en) | Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state | |
US4774654A (en) | Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory | |
US9176876B2 (en) | Selective cache-to-cache lateral castouts | |
US7669010B2 (en) | Prefetch miss indicator for cache coherence directory misses on external caches | |
US8489819B2 (en) | Victim cache lateral castout targeting | |
US8117397B2 (en) | Victim cache line selection | |
US8499124B2 (en) | Handling castout cache lines in a victim cache | |
US6826651B2 (en) | State-based allocation and replacement for improved hit ratio in directory caches | |
KR100704089B1 (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-로드촉진 방법 및 장치 | |
JP4162493B2 (ja) | 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ | |
KR20040012812A (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치 | |
US6763433B1 (en) | High performance cache intervention mechanism for symmetric multiprocessor systems | |
US20020078304A1 (en) | System and method for allocating a directory entry for use in multiprocessor-node data processing systems | |
EP2122470B1 (en) | System and method for implementing an enhanced hover state with active prefetches | |
JP3245125B2 (ja) | 垂直キャッシュのための擬似精細i−キャッシュ包含性 | |
JP2004528647A (ja) | サイクルあたりの多重キャッシュライン無効化をサポートするための方法および装置 | |
US20090198910A1 (en) | Data processing system, processor and method that support a touch of a partial cache line of data | |
JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
US20020002659A1 (en) | System and method for improving directory lookup speed | |
US7383390B1 (en) | Resource-limited directories with fine-grained eviction | |
JPH10232831A (ja) | キャッシュ・タグ維持装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071102 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080311 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080321 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080612 |
|
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: 20080703 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080722 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4162493 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130801 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |