JP2010123130A - 複数クラスデータキャッシュポリシー - Google Patents
複数クラスデータキャッシュポリシー Download PDFInfo
- Publication number
- JP2010123130A JP2010123130A JP2009266419A JP2009266419A JP2010123130A JP 2010123130 A JP2010123130 A JP 2010123130A JP 2009266419 A JP2009266419 A JP 2009266419A JP 2009266419 A JP2009266419 A JP 2009266419A JP 2010123130 A JP2010123130 A JP 2010123130A
- 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.)
- Granted
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
- 230000007246 mechanism Effects 0.000 abstract description 4
- 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
- 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)
Abstract
【解決手段】データキャッシュ内のキャッシュラインに格納されたデータ414は、そのデータの再利用可能性を反映するデータクラスに基づいて分類される。データクラスは、タグストア412に格納され、タグストア内の各タグは、データキャッシュ内の単一のキャッシュラインに対応する。コマンドに関連するデータのためにキャッシュラインを予約する時に、タグルックアップユニットは、エビクトすべきデータを判定するために、タグストア内のデータクラスを調べる。低い再利用可能性を有するデータは、高い再利用可能性を有するデータより高い優先順位でエビクトされる。有利なことに、より低い再利用可能性を有するデータクラスに属するデータをエビクトすることは、システム内のキャッシュミスの回数を減らす。
【選択図】図4
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 (10)
- 1つ又は複数のクライアント及び外部メモリに結合された中間キャッシュからデータをエビクト(evict)するシステムであって、
1つ又は複数のデータキャッシュユニットと、
前記1つ又は複数のデータキャッシュユニットに関連する複数のキャッシュラインのそれぞれの異なるエントリを格納するように構成されたタグストアユニットと、
前記1つ又は複数のデータキャッシュユニット及び前記タグストアユニットに結合されたタグルックアップユニットと
を備え、
前記タグストアユニットにおいて、各エントリが、前記エントリに対応する前記キャッシュラインに格納されたデータに関連するエビクションクラス(eviction class)を示すタグと、前記エントリに対応する前記キャッシュライン内の前記データがクリーン(clean)かつアンピンド(unpinned)であるどうかを示す状態部分とを含み、前記エビクションクラスは、前記エントリに対応する前記キャッシュラインに格納された前記データが前記1つ又は複数のクライアントによって再利用される可能性を示し、
タグルックアップユニットが、
関連するメモリアドレスを含むコマンドをクライアントから受け取り、
前記メモリアドレスに基づいて前記コマンドに関連するデータを格納するために前記1つ又は複数のデータキャッシュユニット内の1つ又は複数のキャッシュラインを識別し、
前記1つ又は複数のキャッシュラインに対する相対的なキャッシュミスがあることを判定し、
前記1つ又は複数のキャッシュラインのうちの少なくとも1つに対応する前記タグストアユニット内の前記エントリに含まれる前記少なくとも1つのキャッシュラインに格納された前記データに関連する前記エビクションクラスに基づいて前記少なくとも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つのキャッシュラインに格納された前記データが、evict−lastクラスに属し、
前記タグルックアップユニットが、evict−normalクラスに属するものとして前記データを再分類するように構成され、
前記少なくとも1つのキャッシュラインに対応する前記タグストアユニット内の前記エントリに含まれる前記状態部分が、前記少なくとも1つのキャッシュラインに格納されたデータがクリーンかつアンピンドであることを示し、
前記タグルックアップユニットが、前記少なくとも1つのキャッシュライン内の前記データが前記1つ又は複数のキャッシュライン内の最長時間未使用、クリーン、アンピンド、そしてevict−normalデータであることを判定し、その後、前記少なくとも1つのキャッシュライン内の前記データをエビクトするようにさらに構成されている、請求項1に記載のシステム。 - タグルックアップユニットが、前記少なくとも1つのキャッシュラインに常駐するデータに関するクリーン通知をフレームバッファ論理に送り、前記コマンドに関連する前記データのために前記少なくとも1つのキャッシュラインを予約するようにさらに構成されている、請求項1に記載のシステム。
- 1つ又は複数のクライアントと、
中間キャッシュと、
前記中間キャッシュに結合された外部メモリと、
前記1つ又は複数のクライアントを前記中間キャッシュに結合するクロスバーユニットと
を備え、
前記中間キャッシュは、
1つ又は複数のデータキャッシュユニットと、
前記1つ又は複数のデータキャッシュユニットに関連する複数のキャッシュラインのそれぞれの異なるエントリを格納するように構成されたタグストアユニットであって、各エントリは、前記エントリに対応する前記キャッシュラインに格納されたデータに関連するエビクションクラスを示すタグと、前記エントリに対応する前記キャッシュライン内の前記データがクリーンかつアンピンドであるかどうかを示す状態部分とを含み、前記エビクションクラスは、前記エントリに対応する前記キャッシュラインに格納された前記データが前記1つ又は複数のクライアントによって再利用される可能性を示す、タグストアユニットと、
前記1つ又は複数のデータキャッシュユニットに結合されたタグルックアップユニットと
を含み、
前記タグルックアップユニットは、
関連するメモリアドレスを含むコマンドをクライアントから受け取り、
前記メモリアドレスに基づいて前記コマンドに関連するデータを格納するために前記1つ又は複数のデータキャッシュユニット内の1つ又は複数のキャッシュラインを識別し、
前記1つ又は複数のキャッシュラインに対して相対的なキャッシュミスがあることを判定し、
前記1つ又は複数のキャッシュラインのうちの少なくとも1つに対応する前記タグストアユニット内の前記エントリに含まれる前記少なくとも1つのキャッシュラインに格納された前記データに関連する前記エビクションクラスに基づいて前記少なくとも1つのキャッシュラインに常駐するデータをエビクトする
ように構成されている、コンピューティングデバイス。 - 前記状態部分は、有効フラグ、ダーティフラグ、及びピンドフラグを含む、請求項8に記載のコンピューティングデバイス。
- タグルックアップユニットが、前記少なくとも1つのキャッシュラインに常駐する前記データに関するクリーン通知をフレームバッファ論理に送り、前記コマンドに関連する前記データのために前記少なくとも1つのキャッシュラインを予約するようにさらに構成されている、請求項8に記載のコンピューティングデバイス。
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 true JP2010123130A (ja) | 2010-06-03 |
JP5229968B2 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012074092A1 (ja) * | 2010-12-03 | 2012-06-07 | 株式会社ディジタルメディアプロフェッショナル | 画像処理装置 |
JP2012203881A (ja) * | 2011-03-28 | 2012-10-22 | Fujitsu Ltd | ストレージ装置及びストレージ制御装置 |
JP2016123077A (ja) * | 2014-12-23 | 2016-07-07 | インテル コーポレイション | ネットワークパケットのキャッシュ管理のための技術 |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
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 | 한국과학기술원 | 버퍼 캐시 관리 시스템 및 방법 |
KR101685247B1 (ko) | 2010-09-17 | 2016-12-09 | 소프트 머신즈, 인크. | 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측 |
EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
CN108376097B (zh) | 2011-03-25 | 2022-04-15 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
KR101966712B1 (ko) | 2011-03-25 | 2019-04-09 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
KR101639853B1 (ko) | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 자원들 및 상호접속 구조들의 비집중 할당 |
CN103649931B (zh) | 2011-05-20 | 2016-10-12 | 索夫特机械公司 | 用于支持由多个引擎执行指令序列的互连结构 |
WO2013077876A1 (en) | 2011-11-22 | 2013-05-30 | Soft Machines, Inc. | A microprocessor accelerated code optimizer |
KR101703401B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
US9720829B2 (en) * | 2011-12-29 | 2017-08-01 | 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 | 腾讯科技(深圳)有限公司 | 存储数据的方法及装置 |
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 |
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 |
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 |
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 |
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 |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
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 |
WO2014151043A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
WO2014151018A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for executing multithreaded instructions grouped onto blocks |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
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 |
CN103336844B (zh) * | 2013-07-22 | 2016-12-28 | 广西师范大学 | 大数据rd分割方法 |
US10152410B2 (en) * | 2014-03-28 | 2018-12-11 | Empire Technology Development Llc | Magnetoresistive random-access memory cache write 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 |
KR102684940B1 (ko) * | 2018-11-21 | 2024-07-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 |
US11544063B2 (en) | 2018-11-21 | 2023-01-03 | SK Hynix Inc. | Memory system and data processing system including the same |
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 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205041A (ja) * | 1990-11-29 | 1992-07-27 | Canon Inc | マルチプロセッサシステム |
JPH04215151A (ja) * | 1990-12-13 | 1992-08-05 | Nec Commun Syst Ltd | キャッシュ制御方式 |
JPH0728706A (ja) * | 1993-07-14 | 1995-01-31 | Sumitomo Electric Ind Ltd | キャッシュメモリ装置 |
JPH10149310A (ja) * | 1996-09-30 | 1998-06-02 | Internatl Business Mach Corp <Ibm> | モバイル・ユーザ・ファイル・システムにおけるキャッシュ管理のためのシステムおよび方法 |
JPH1196074A (ja) * | 1997-07-22 | 1999-04-09 | Hewlett Packard Co <Hp> | 交換アルゴリズム動的選択コンピュータシステム |
JP2002024088A (ja) * | 2000-07-07 | 2002-01-25 | Matsushita Electric Ind Co Ltd | データ処理装置 |
JP2002140234A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | キャッシュ装置 |
JP2004145780A (ja) * | 2002-10-28 | 2004-05-20 | Mitsubishi Electric Corp | マルチプロセッサ・キャッシュ装置 |
JP2004326187A (ja) * | 2003-04-21 | 2004-11-18 | Matsushita Electric Ind Co Ltd | 情報処理装置およびその制御方法 |
JP2006048447A (ja) * | 2004-08-05 | 2006-02-16 | Matsushita Electric Ind Co Ltd | キャッシュメモリ装置およびそれを用いる集積回路ならびにデータのキャッシュメモリ方法およびプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06348595A (ja) * | 1993-06-07 | 1994-12-22 | Hitachi Ltd | キャッシュ装置 |
KR19990026501A (ko) * | 1997-09-25 | 1999-04-15 | 구자홍 | 분산 공유 메모리의 캐시 일관성 제어방법 및 장치 |
GB2385174B (en) | 1999-01-19 | 2003-11-26 | Advanced Risc Mach Ltd | Memory control within data processing systems |
KR100617663B1 (ko) | 2001-09-14 | 2006-08-28 | 썬 마이크로시스템즈, 인코포레이티드 | 캐시 메모리 내 태그 액세스 및 데이터 액세스의 분리방법 및 장치 |
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 |
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 |
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 DE DE102009046847A patent/DE102009046847A1/de not_active Withdrawn
- 2009-11-18 GB GB0920187A patent/GB2465474B/en active Active
- 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
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205041A (ja) * | 1990-11-29 | 1992-07-27 | Canon Inc | マルチプロセッサシステム |
JPH04215151A (ja) * | 1990-12-13 | 1992-08-05 | Nec Commun Syst Ltd | キャッシュ制御方式 |
JPH0728706A (ja) * | 1993-07-14 | 1995-01-31 | Sumitomo Electric Ind Ltd | キャッシュメモリ装置 |
JPH10149310A (ja) * | 1996-09-30 | 1998-06-02 | Internatl Business Mach Corp <Ibm> | モバイル・ユーザ・ファイル・システムにおけるキャッシュ管理のためのシステムおよび方法 |
JPH1196074A (ja) * | 1997-07-22 | 1999-04-09 | Hewlett Packard Co <Hp> | 交換アルゴリズム動的選択コンピュータシステム |
JP2002024088A (ja) * | 2000-07-07 | 2002-01-25 | Matsushita Electric Ind Co Ltd | データ処理装置 |
JP2002140234A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | キャッシュ装置 |
JP2004145780A (ja) * | 2002-10-28 | 2004-05-20 | Mitsubishi Electric Corp | マルチプロセッサ・キャッシュ装置 |
JP2004326187A (ja) * | 2003-04-21 | 2004-11-18 | Matsushita Electric Ind Co Ltd | 情報処理装置およびその制御方法 |
JP2006048447A (ja) * | 2004-08-05 | 2006-02-16 | Matsushita Electric Ind Co Ltd | キャッシュメモリ装置およびそれを用いる集積回路ならびにデータのキャッシュメモリ方法およびプログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012074092A1 (ja) * | 2010-12-03 | 2012-06-07 | 株式会社ディジタルメディアプロフェッショナル | 画像処理装置 |
US9218686B2 (en) | 2010-12-03 | 2015-12-22 | Digital Media Professionals Inc. | Image processing device |
JP2012203881A (ja) * | 2011-03-28 | 2012-10-22 | Fujitsu Ltd | ストレージ装置及びストレージ制御装置 |
JP2016123077A (ja) * | 2014-12-23 | 2016-07-07 | インテル コーポレイション | ネットワークパケットのキャッシュ管理のための技術 |
US9866498B2 (en) | 2014-12-23 | 2018-01-09 | Intel Corporation | Technologies for network packet cache management |
Also Published As
Publication number | Publication date |
---|---|
CN101739357B (zh) | 2012-08-29 |
CN101739357A (zh) | 2010-06-16 |
GB2465474B (en) | 2011-08-31 |
GB2465474A (en) | 2010-05-26 |
DE102009046847A1 (de) | 2010-05-27 |
GB0920187D0 (en) | 2010-01-06 |
JP5229968B2 (ja) | 2013-07-03 |
US8868838B1 (en) | 2014-10-21 |
KR20100057516A (ko) | 2010-05-31 |
KR101121487B1 (ko) | 2012-02-28 |
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 | |
JP5127815B2 (ja) | Cpuトラフィックを特殊とマークすることによるデッドロックの回避 | |
US8949541B2 (en) | Techniques for evicting dirty data from a cache using a notification sorter and count thresholds | |
US8917271B2 (en) | Redistribution of generated geometric primitives | |
US8060700B1 (en) | System, method and frame buffer logic for evicting dirty data from a cache using counters and data types | |
US8692829B2 (en) | Calculation of plane equations after determination of Z-buffer visibility | |
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 | |
JP2010134929A (ja) | 圧縮状態ビットキャッシュ及びバッキング記憶装置 | |
US8504773B1 (en) | Storing dynamically sized buffers within a cache | |
US8341358B1 (en) | System and method for cleaning dirty data in a cache via frame buffer logic | |
US8539130B2 (en) | Virtual channels for effective packet transfer | |
US8234478B1 (en) | Using a data cache array as a DRAM load/store buffer | |
US20140025891A1 (en) | Relaxed coherency between different caches | |
US9436969B2 (en) | Time slice processing of tessellation and geometry shaders | |
US8195858B1 (en) | Managing conflicts on shared L2 bus | |
US8656093B1 (en) | Supporting late DRAM bank hits | |
US8321618B1 (en) | Managing conflicts on shared L2 bus | |
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 |