JP5229968B2 - 複数クラスデータキャッシュポリシー - Google Patents
複数クラスデータキャッシュポリシー Download PDFInfo
- Publication number
- JP5229968B2 JP5229968B2 JP2009266419A JP2009266419A JP5229968B2 JP 5229968 B2 JP5229968 B2 JP 5229968B2 JP 2009266419 A JP2009266419 A JP 2009266419A JP 2009266419 A JP2009266419 A JP 2009266419A JP 5229968 B2 JP5229968 B2 JP 5229968B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- cache line
- tag
- entry
- 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
Links
- 239000000872 buffer Substances 0.000 claims description 50
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 117
- 238000000034 method Methods 0.000 description 46
- 238000005192 partition Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000005227 gel permeation chromatography Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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)
Description
[0016]図1は、本発明の1つ又は複数の態様を実施するように構成されたコンピュータシステム100を示すブロック図である。コンピュータシステム100は、バスパスを介しメモリブリッジ105を介して通信する中央処理装置(CPU)102及びシステムメモリ104を含む。メモリブリッジ105を、図1に示されているようにCPU 102に統合することができる。代替案では、メモリブリッジ105を、バスを介してCPU 102に接続された、従来のデバイス、たとえばノースブリッジチップとすることができる。メモリブリッジ105は、通信パス106(たとえば、HyperTransportリンク)を介してI/O(入出力)ブリッジ107に接続される。I/Oブリッジ107は、たとえばサウスブリッジチップとすることができるが、1つ又は複数のユーザ入力デバイス108(たとえば、キーボード、マウス)からユーザ入力を受け取り、その入力をパス106及びメモリブリッジ105を介してCPU 102に転送する。並列処理サブシステム112が、バス又は他の通信パス113(たとえば、PCI Express、Accelerated Graphics Port、又はHyperTransportリンク)を介してメモリブリッジ105に結合され、一実施形態では、並列処理サブシステム112は、ピクセルをディスプレイデバイス110(たとえば、従来のCRT又はLCDベースのモニタ)に送達するグラフィックスサブシステムである。システムディスク114も、I/Oブリッジ107に接続される。スイッチ116は、I/Oブリッジ107と、ネットワークアダプタ118並びにさまざまなアドインカード120及び121などの他のコンポーネントとの間の接続を提供する。USB又は他のポート接続、CDドライブ、DVDドライブ、フィルムレコーディングデバイス、及び類似物を含む他のコンポーネント(明示的には図示せず)をも、I/Oブリッジ107に接続することができる。図1のさまざまなコンポーネントを相互接続する通信パスを、PCI(Peripheral Component Interconnect)、PCI Express(PCI−E)、AGP(Accelerated Graphics Port)、HyperTransport、又は任意の他のバス若しくはポイントツーポイント通信プロトコル(複数可)などの任意の適切なプロトコルを使用して実施することができ、異なるデバイスの間の接続は、当技術分野で既知のように異なるプロトコルを使用することができる。
[0032]図3Aは、本発明の一実施形態による、図2のPPU 202のうちの1つの中のGPC 208のブロック図である。各GPC 208を、多数のスレッドを並列に実行するように構成することができ、ここで、用語「スレッド」は、入力データの特定のセットに対して実行される特定のプログラムのインスタンスを指す。いくつかの実施形態で、単一命令複数データ(SIMD)命令発行技法が、複数の独立の命令ユニットを提供せずに多数のスレッドの並列実行をサポートするのに使用される。他の実施形態では、単一命令複数スレッド(SIMT)技法が、GPC 208の各1つの中の処理エンジンのセットに命令を発行するように構成された共通命令ユニットを使用する、多数の全般的に同期化されたスレッドの並列実行をサポートするのに使用される。すべての処理エンジンが通常は同一の命令を実行するSIMD実行体制とは異なって、SIMT実行は、異なるスレッドが所与のスレッドプログラムを通る分岐する実行パスにより簡単に従うことを可能にする。当業者は、SIMD処理体制が、SIMT処理体制の機能サブセットを表すことを理解するであろう。
[0043]図4は、本発明の一実施形態による、図3Bのパーティションユニット215の詳細なブロック図である。図示されているように、パーティションユニット215は、L2キャッシュ350、FB 355、及びROP 360を含む。L2キャッシュ350は、L2キャッシュスライス402を含む。図3Bに関連して説明したように、L2キャッシュ350を、読取りコマンド及び書込みコマンドのより効率的な処理のために複数のスライスに分割することができる。L2キャッシュスライス402は、L2キャッシュ350の1つのそのようなスライスである。L2キャッシュスライス402は、クロスバコマンドバッファ404、ROPコマンドバッファ406、アービタ408、タグルックアップユニット410、タグストア412、データキャッシュ414、読取りデータバッファ416、及び書込みデータバッファ418を含む。
102 中央処理装置(CPU)
104 システムメモリ
105 メモリブリッジ
106 通信パス
107 I/O(入出力)ブリッジ
108 ユーザ入力デバイス
110 ディスプレイデバイス
112 並列処理サブシステム
113 通信パス
114 システムディスク
116 スイッチ
118 ネットワークアダプタ
120 アドインカード
121 アドインカード
200 作業分配ユニット
202 並列処理ユニット(PPU)
204 ローカル並列処理(PP)メモリ
205 I/O(入出力)ユニット
206 ホストインターフェース
208 一般処理クラスタ(GPC)
210 メモリクロスバーユニット
212 フロントエンド
214 メモリインターフェース
215 パーティションユニット
220 DRAM
230 処理クラスタアレイ
304 プリミティブエンジン
305 パイプラインマネージャ
310 ストリーミングマルチプロセッサ(SPM)
315 テクスチャユニット
320 L1キャッシュ
325 プリROP(プリラスタ演算)
330 作業分配クロスバ
350 L2キャッシュ
355 フレームバッファ(FB)
360 ラスタ演算ユニット(ROP)
402 L2キャッシュスライス
404 クロスバコマンドバッファ
406 ROPコマンドバッファ
408 アービタ
410 タグルックアップユニット
412 タグストアユニット
414 データキャッシュ
416 読取りデータバッファ
418 書込みデータバッファ
500 方法
Claims (9)
- 1つ又は複数のクライアント及び外部メモリに結合された中間キャッシュからデータをエビクト(evict)するシステムであって、
1つ又は複数のデータキャッシュユニットと、
前記1つ又は複数のデータキャッシュユニットに関連する複数のキャッシュラインのそれぞれの異なるエントリを格納するように構成されたタグストアユニットと、
前記1つ又は複数のデータキャッシュユニット及び前記タグストアユニットに結合されたタグルックアップユニットとを備え、
前記タグストアユニットにおいて、各エントリが、前記エントリに対応する前記キャッシュラインに格納されたデータに関連するエビクションクラス(eviction class)を示すタグと、前記エントリに対応する前記キャッシュライン内の前記データがクリーン(clean)かつアンピンド(unpinned)であるどうかを示す状態部分とを含み、前記エビクションクラスは、前記エントリに対応する前記キャッシュラインに格納された前記データが前記1つ又は複数のクライアントによって再利用される可能性を示し、
タグルックアップユニットが、
関連するメモリアドレスを含むコマンドをクライアントから受け取り、
前記メモリアドレスに基づいて前記コマンドに関連するデータを格納するために前記1つ又は複数のデータキャッシュユニット内の1つ又は複数のキャッシュラインを識別し、
前記1つ又は複数のキャッシュラインに対する相対的なキャッシュミスがあることを判定し、
前記1つ又は複数のキャッシュラインのうちの少なくとも1つに対応する前記タグストアユニット内の前記エントリに含まれる前記少なくとも1つのキャッシュラインに格納された前記データに関連する前記エビクションクラスに基づいて前記少なくとも1つのキャッシュラインに常駐するデータをエビクトし、
前記クライアントは、前記コマンドに関連するデータが第1のエビクションクラス(evict−first)に属することを決定し、
前記少なくとも1つのキャッシュラインに格納された前記データが、evict−lastクラスに属し、
前記タグルックアップユニットが、evict−normalクラスに属するものとして前記データを再分類するように構成され、
前記少なくとも1つのキャッシュラインに対応する前記タグストアユニット内の前記エントリに含まれる前記状態部分が、前記少なくとも1つのキャッシュラインに格納されたデータがクリーンかつアンピンドであることを示し、
前記タグルックアップユニットが、前記少なくとも1つのキャッシュライン内の前記データが前記1つ又は複数のキャッシュライン内の最長時間未使用、クリーン、アンピンド、そしてevict−normalデータであることを判定し、その後、前記少なくとも1つのキャッシュライン内の前記データをエビクトするようにさらに構成されている、
システム。 - 前記状態部分が、有効(valid)フラグ、ダーティ(dirty)フラグ、及びピンド(pinned)フラグを含む、請求項1に記載のシステム。
- 前記少なくとも1つのキャッシュラインに対応する前記タグストアユニット内の前記エントリに含まれる前記タグが、前記少なくとも1つのキャッシュラインに格納された前記データがevict−firstクラスに属することを示し、
前記エントリに含まれる前記状態部分が、前記少なくとも1つのキャッシュラインに格納されたデータが、クリーンかつアンピンドであることを示し、
前記タグルックアップユニットが、前記少なくとも1つのキャッシュライン内の前記データが前記1つ又は複数のキャッシュライン内の最長時間未使用(least recently used)、クリーン、アンピンド、そしてevict−fistデータであることを判定し、その後、前記少なくとも1つのキャッシュライン内の前記データをエビクトするように構成されている、請求項1に記載のシステム。 - 前記少なくとも1つのキャッシュラインに対応する前記タグストアユニット内の前記エントリに含まれる前記タグが、前記少なくとも1つのキャッシュラインに格納された前記データがevict−normalクラスに属することを示し、
前記エントリに含まれる前記状態部分が、前記少なくとも1つのキャッシュラインに格納されたデータがクリーンかつアンピンドであることを示し、
前記タグルックアップユニットが、前記少なくとも1つのキャッシュライン内の前記データが前記1つ又は複数のキャッシュライン内の最長時間未使用、クリーン、アンピンド、そしてevict−normalデータであることを判定し、その後、前記少なくとも1つのキャッシュライン内の前記データをエビクトするように構成されている、請求項1に記載のシステム。 - 前記タグルックアップユニットが、前記コマンドに関連する前記データがevict−lastクラスに属することを判定するように構成され、
前記少なくとも1つのキャッシュラインに対応する前記タグストアユニット内の前記エントリに含まれる前記タグが、前記少なくとも1つのキャッシュラインに格納された前記データがevict−lastクラスに属することを示し、
前記エントリに含まれる前記状態部分が、前記少なくとも1つのキャッシュラインに格納されたデータがクリーンかつアンピンドであることを示し、
前記タグルックアップユニットが、前記少なくとも1つのキャッシュライン内の前記データが前記1つ又は複数のキャッシュライン内の最長時間未使用、クリーン、アンピンド、そしてevict−lastデータであることを判定し、その後、前記少なくとも1つのキャッシュライン内の前記データをエビクトするように構成されている、請求項1に記載のシステム。 - タグルックアップユニットが、前記少なくとも1つのキャッシュラインに常駐するデータに関するクリーン通知をフレームバッファ論理に送り、前記コマンドに関連する前記データのために前記少なくとも1つのキャッシュラインを予約するようにさらに構成されている、請求項1に記載のシステム。
- 1つ又は複数のクライアントと、
中間キャッシュと、
前記中間キャッシュに結合された外部メモリと、
前記1つ又は複数のクライアントを前記中間キャッシュに結合するクロスバーユニットとを備え、
前記中間キャッシュは、
1つ又は複数のデータキャッシュユニットと、
前記1つ又は複数のデータキャッシュユニットに関連する複数のキャッシュラインのそれぞれの異なるエントリを格納するように構成されたタグストアユニットであって、各エントリは、前記エントリに対応する前記キャッシュラインに格納されたデータに関連するエビクションクラスを示すタグと、前記エントリに対応する前記キャッシュライン内の前記データがクリーンかつアンピンドであるかどうかを示す状態部分とを含み、前記エビクションクラスは、前記エントリに対応する前記キャッシュラインに格納された前記データが前記1つ又は複数のクライアントによって再利用される可能性を示す、タグストアユニットと、
前記1つ又は複数のデータキャッシュユニットに結合されたタグルックアップユニットと
を含み、
前記タグルックアップユニットは、
関連するメモリアドレスを含むコマンドをクライアントから受け取り、
前記メモリアドレスに基づいて前記コマンドに関連するデータを格納するために前記1つ又は複数のデータキャッシュユニット内の1つ又は複数のキャッシュラインを識別し、
前記1つ又は複数のキャッシュラインに対して相対的なキャッシュミスがあることを判定し、
前記1つ又は複数のキャッシュラインのうちの少なくとも1つに対応する前記タグストアユニット内の前記エントリに含まれる前記少なくとも1つのキャッシュラインに格納された前記データに関連する前記エビクションクラスに基づいて前記少なくとも1つのキャッシュラインに常駐するデータをエビクトし、
前記クライアントは、前記コマンドに関連するデータが第1のエビクションクラス(evict−first)に属することを決定し、
前記少なくとも1つのキャッシュラインに格納された前記データが、evict−lastクラスに属し、
前記タグルックアップユニットが、evict−normalクラスに属するものとして前記データを再分類するように構成され、
前記少なくとも1つのキャッシュラインに対応する前記タグストアユニット内の前記エントリに含まれる前記状態部分が、前記少なくとも1つのキャッシュラインに格納されたデータがクリーンかつアンピンドであることを示し、
前記タグルックアップユニットが、前記少なくとも1つのキャッシュライン内の前記データが前記1つ又は複数のキャッシュライン内の最長時間未使用、クリーン、アンピンド、そしてevict−normalデータであることを判定し、その後、前記少なくとも1つのキャッシュライン内の前記データをエビクトするようにさらに構成されている、
コンピューティングデバイス。 - 前記状態部分は、有効フラグ、ダーティフラグ、及びピンドフラグを含む、請求項7に記載のコンピューティングデバイス。
- タグルックアップユニットが、前記少なくとも1つのキャッシュラインに常駐する前記データに関するクリーン通知をフレームバッファ論理に送り、前記コマンドに関連する前記データのために前記少なくとも1つのキャッシュラインを予約するようにさらに構成されている、請求項7に記載のコンピューティングデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/276,154 US8868838B1 (en) | 2008-11-21 | 2008-11-21 | Multi-class data cache policies |
US12/276,154 | 2008-11-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010123130A JP2010123130A (ja) | 2010-06-03 |
JP5229968B2 true JP5229968B2 (ja) | 2013-07-03 |
Family
ID=41565470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009266419A Active JP5229968B2 (ja) | 2008-11-21 | 2009-11-24 | 複数クラスデータキャッシュポリシー |
Country Status (6)
Country | Link |
---|---|
US (1) | US8868838B1 (ja) |
JP (1) | JP5229968B2 (ja) |
KR (1) | KR101121487B1 (ja) |
CN (1) | CN101739357B (ja) |
DE (1) | DE102009046847A1 (ja) |
GB (1) | GB2465474B (ja) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2477109B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
EP2523101B1 (en) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
KR101064178B1 (ko) * | 2010-08-24 | 2011-09-14 | 한국과학기술원 | 버퍼 캐시 관리 시스템 및 방법 |
US10228949B2 (en) | 2010-09-17 | 2019-03-12 | Intel Corporation | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
WO2012074092A1 (ja) * | 2010-12-03 | 2012-06-07 | 株式会社ディジタルメディアプロフェッショナル | 画像処理装置 |
TWI520070B (zh) | 2011-03-25 | 2016-02-01 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的記憶體片段 |
EP2689330B1 (en) | 2011-03-25 | 2022-12-21 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
TWI533129B (zh) | 2011-03-25 | 2016-05-11 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊 |
JP2012203881A (ja) * | 2011-03-28 | 2012-10-22 | Fujitsu Ltd | ストレージ装置及びストレージ制御装置 |
TWI548994B (zh) | 2011-05-20 | 2016-09-11 | 軟體機器公司 | 以複數個引擎支援指令序列的執行之互連結構 |
WO2012162188A2 (en) | 2011-05-20 | 2012-11-29 | Soft Machines, Inc. | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
CN108427574B (zh) | 2011-11-22 | 2022-06-07 | 英特尔公司 | 微处理器加速的代码优化器 |
CN104040490B (zh) | 2011-11-22 | 2017-12-15 | 英特尔公司 | 用于多引擎微处理器的加速的代码优化器 |
WO2013101120A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Online learning based algorithms to increase retention and reuse of gpu-generated dynamic surfaces in outer-level caches |
US8930674B2 (en) | 2012-03-07 | 2015-01-06 | Soft Machines, Inc. | Systems and methods for accessing a unified translation lookaside buffer |
CN103309818B (zh) * | 2012-03-09 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 存储数据的方法及装置 |
US9710399B2 (en) | 2012-07-30 | 2017-07-18 | Intel Corporation | Systems and methods for flushing a cache with modified data |
US9916253B2 (en) | 2012-07-30 | 2018-03-13 | Intel Corporation | Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput |
US9430410B2 (en) | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
US9229873B2 (en) | 2012-07-30 | 2016-01-05 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load and store accesses of a cache |
US9740612B2 (en) | 2012-07-30 | 2017-08-22 | Intel Corporation | Systems and methods for maintaining the coherency of a store coalescing cache and a load cache |
US9311251B2 (en) | 2012-08-27 | 2016-04-12 | Apple Inc. | System cache with sticky allocation |
US20140089600A1 (en) * | 2012-09-27 | 2014-03-27 | Apple Inc. | System cache with data pending state |
US9678882B2 (en) | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
US9372811B2 (en) * | 2012-12-13 | 2016-06-21 | Arm Limited | Retention priority based cache replacement policy |
CN103092920B (zh) * | 2012-12-26 | 2017-04-12 | 新浪网技术(中国)有限公司 | 半结构化数据的存储方法及存储系统 |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
CN105247484B (zh) | 2013-03-15 | 2021-02-23 | 英特尔公司 | 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法 |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
CN105210040B (zh) | 2013-03-15 | 2019-04-02 | 英特尔公司 | 用于执行分组成块的多线程指令的方法 |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
CN103336844B (zh) * | 2013-07-22 | 2016-12-28 | 广西师范大学 | 大数据rd分割方法 |
WO2015147868A1 (en) * | 2014-03-28 | 2015-10-01 | Empire Technology Development Llc | Magnetoresistive random-access memory cache write management |
US9866498B2 (en) * | 2014-12-23 | 2018-01-09 | Intel Corporation | Technologies for network packet cache management |
US10866901B2 (en) | 2018-06-02 | 2020-12-15 | International Business Machines Corporation | Invalidating CKD data tracks prior to unpinning, wherein upon destaging invalid track image from cache to a track of data on storage drive, the track of data on the storage drive is unpinned which enables destages of data from the cache to the track of data on the storage drive going forward |
US10860498B2 (en) * | 2018-11-21 | 2020-12-08 | SK Hynix Inc. | Data processing system |
US11099989B2 (en) | 2019-03-12 | 2021-08-24 | International Business Machines Corporation | Coherency maintenance via physical cache coordinate comparison |
US10831661B2 (en) | 2019-04-10 | 2020-11-10 | International Business Machines Corporation | Coherent cache with simultaneous data requests in same addressable index |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3236287B2 (ja) | 1990-11-29 | 2001-12-10 | キヤノン株式会社 | マルチプロセッサシステム |
JPH04215151A (ja) | 1990-12-13 | 1992-08-05 | Nec Commun Syst Ltd | キャッシュ制御方式 |
JPH06348595A (ja) * | 1993-06-07 | 1994-12-22 | Hitachi Ltd | キャッシュ装置 |
JPH0728706A (ja) | 1993-07-14 | 1995-01-31 | Sumitomo Electric Ind Ltd | キャッシュメモリ装置 |
US5893920A (en) * | 1996-09-30 | 1999-04-13 | International Business Machines Corporation | System and method for cache management in mobile user file systems |
US6223256B1 (en) * | 1997-07-22 | 2001-04-24 | Hewlett-Packard Company | Computer cache memory with classes and dynamic selection of replacement algorithms |
KR19990026501A (ko) * | 1997-09-25 | 1999-04-15 | 구자홍 | 분산 공유 메모리의 캐시 일관성 제어방법 및 장치 |
GB2345987B (en) | 1999-01-19 | 2003-08-06 | Advanced Risc Mach Ltd | Memory control within data processing systems |
JP2002024088A (ja) | 2000-07-07 | 2002-01-25 | Matsushita Electric Ind Co Ltd | データ処理装置 |
JP2002140234A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | キャッシュ装置 |
EP1425670A2 (en) | 2001-09-14 | 2004-06-09 | Sun Microsystems, Inc. | Method and apparatus for decoupling tag and data accesses in a cache memory |
US7027064B2 (en) * | 2002-02-28 | 2006-04-11 | Sun Microsystems, Inc. | Active block write-back from SRAM cache to DRAM |
US6961821B2 (en) | 2002-10-16 | 2005-11-01 | International Business Machines Corporation | Reconfigurable cache controller for nonuniform memory access computer systems |
JP2004145780A (ja) | 2002-10-28 | 2004-05-20 | Mitsubishi Electric Corp | マルチプロセッサ・キャッシュ装置 |
JP2004326187A (ja) * | 2003-04-21 | 2004-11-18 | Matsushita Electric Ind Co Ltd | 情報処理装置およびその制御方法 |
US7024521B2 (en) | 2003-04-24 | 2006-04-04 | Newisys, Inc | Managing sparse directory evictions in multiprocessor systems via memory locking |
US7398304B2 (en) | 2003-06-23 | 2008-07-08 | Microsoft Corporation | General dependency model for invalidating cache entries |
US7010649B2 (en) * | 2003-10-14 | 2006-03-07 | International Business Machines Corporation | Performance of a cache by including a tag that stores an indication of a previously requested address by the processor not stored in the cache |
JP2006048447A (ja) * | 2004-08-05 | 2006-02-16 | Matsushita Electric Ind Co Ltd | キャッシュメモリ装置およびそれを用いる集積回路ならびにデータのキャッシュメモリ方法およびプログラム |
US7380065B2 (en) | 2005-03-30 | 2008-05-27 | International Business Machines Corporation | Performance of a cache by detecting cache lines that have been reused |
US7536513B2 (en) * | 2005-03-31 | 2009-05-19 | International Business Machines Corporation | 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 |
US7793049B2 (en) | 2007-10-30 | 2010-09-07 | International Business Machines Corporation | Mechanism for data cache replacement based on region policies |
US8464009B2 (en) | 2008-06-04 | 2013-06-11 | Oracle America, Inc. | Method for memory interleave support with a ceiling mask |
US20100079454A1 (en) | 2008-09-29 | 2010-04-01 | Legakis Justin S | Single Pass Tessellation |
-
2008
- 2008-11-21 US US12/276,154 patent/US8868838B1/en active Active
-
2009
- 2009-11-18 GB GB0920187A patent/GB2465474B/en active Active
- 2009-11-18 DE DE102009046847A patent/DE102009046847A1/de not_active Withdrawn
- 2009-11-20 KR KR1020090112619A patent/KR101121487B1/ko active IP Right Grant
- 2009-11-23 CN CN2009102235138A patent/CN101739357B/zh active Active
- 2009-11-24 JP JP2009266419A patent/JP5229968B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010123130A (ja) | 2010-06-03 |
KR101121487B1 (ko) | 2012-02-28 |
GB0920187D0 (en) | 2010-01-06 |
CN101739357B (zh) | 2012-08-29 |
CN101739357A (zh) | 2010-06-16 |
KR20100057516A (ko) | 2010-05-31 |
GB2465474B (en) | 2011-08-31 |
US8868838B1 (en) | 2014-10-21 |
DE102009046847A1 (de) | 2010-05-27 |
GB2465474A (en) | 2010-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5229968B2 (ja) | 複数クラスデータキャッシュポリシー | |
US8244984B1 (en) | System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy | |
US10365930B2 (en) | Instructions for managing a parallel cache hierarchy | |
US8131931B1 (en) | Configurable cache occupancy policy | |
US9952977B2 (en) | Cache operations and policies for a multi-threaded client | |
US9639466B2 (en) | Control mechanism for fine-tuned cache to backing-store synchronization | |
US8949541B2 (en) | Techniques for evicting dirty data from a cache using a notification sorter and count thresholds | |
JP5142299B2 (ja) | 圧縮状態ビットキャッシュ及びバッキング記憶装置 | |
JP5127815B2 (ja) | Cpuトラフィックを特殊とマークすることによるデッドロックの回避 | |
US8917271B2 (en) | Redistribution of generated geometric primitives | |
US8692829B2 (en) | Calculation of plane equations after determination of Z-buffer visibility | |
US8760460B1 (en) | Hardware-managed virtual buffers using a shared memory for load distribution | |
US8060700B1 (en) | System, method and frame buffer logic for evicting dirty data from a cache using counters and data types | |
US8595437B1 (en) | Compression status bit cache with deterministic isochronous latency | |
US8135926B1 (en) | Cache-based control of atomic operations in conjunction with an external ALU block | |
US8810592B2 (en) | Vertex attribute buffer for inline immediate attributes and constants | |
US8504773B1 (en) | Storing dynamically sized buffers within a cache | |
US8539130B2 (en) | Virtual channels for effective packet transfer | |
US8341358B1 (en) | System and method for cleaning dirty data in a cache via frame buffer logic | |
US8234478B1 (en) | Using a data cache array as a DRAM load/store buffer | |
US9436969B2 (en) | Time slice processing of tessellation and geometry shaders | |
US20140025891A1 (en) | Relaxed coherency between different caches | |
US8195858B1 (en) | Managing conflicts on shared L2 bus | |
US8788761B2 (en) | System and method for explicitly managing cache coherence | |
US8464001B1 (en) | Cache and associated method with frame buffer managed dirty data pull and high-priority clean mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120702 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120725 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121219 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130129 |
|
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: 20130219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130315 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5229968 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |