JP5442765B2 - ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 - Google Patents
ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 Download PDFInfo
- Publication number
- JP5442765B2 JP5442765B2 JP2011542350A JP2011542350A JP5442765B2 JP 5442765 B2 JP5442765 B2 JP 5442765B2 JP 2011542350 A JP2011542350 A JP 2011542350A JP 2011542350 A JP2011542350 A JP 2011542350A JP 5442765 B2 JP5442765 B2 JP 5442765B2
- Authority
- JP
- Japan
- Prior art keywords
- buffered
- state
- coherence
- transaction
- cache line
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
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
Claims (31)
- データアイテムに関連付けられているアドレスを参照するトランザクション内のトランザクション格納処理を実行する実行リソースと、
前記実行リソースに連結されて、前記実行リソースが前記トランザクション格納処理を実行することに呼応して前記データアイテムをバッファリングされたコヒーレンス状態に保持するキャッシュメモリを有するメモリと、
前記キャッシュメモリに関連付けられた制御ロジックと
を備え、
前記トランザクションは、アトミックグループとして実行される命令、処理、マイクロオペレーションのうちのいずれかの一群を含み、
前記キャッシュメモリは、前記データアイテムの少なくとも一部を、前記バッファリングされたコヒーレンス状態に関連付けて保持するキャッシュラインを含み、
前記制御ロジックは、前記制御ロジックが前記キャッシュラインを参照する外部アクセス要求を受信して、前記キャッシュラインが前記バッファリングされたコヒーレンス状態に関連付けられていることに呼応して、ミスレスポンスを提供し、前記バッファリングされたコヒーレンス状態に保持されている前記キャッシュラインを無効コヒーレンス状態に遷移させる
装置。 - 前記データアイテムの少なくとも一部を前記バッファリングされたコヒーレンス状態に関連付けて保持する前記キャッシュメモリのキャッシュラインは、前記キャッシュラインが前記バッファリングされたコヒーレンス状態に維持されていることを示す、バッファリングされた状態の値を保持する、前記キャッシュラインと関連付けられた状態エントリを含む請求項1に記載の装置。
- 前記キャッシュラインに関連付けられたハードウェアモニタがさらに、前記実行リソースが前記トランザクション格納処理を実行することに呼応して前記キャッシュラインがバッファリングされたことを示す請求項1または2に記載の装置。
- 前記制御ロジックは、前記制御ロジックが外部アクセス要求を受信して、前記ハードウェアモニタが前記キャッシュラインのバッファリングを示すことに呼応して、前記外部アクセス要求時のコンフリクトを検出する請求項3に記載の装置。
- 前記キャッシュラインに関連付けられたハードウェア読み出しモニタがさらに、前記実行リソースが前記トランザクション内のローカルトランザクション読み出し処理を実行することに呼応して前記キャッシュラインが読み出し監視されていることを示す請求項1から4のいずれか1項に記載の装置。
- 前記制御ロジックは、前記制御ロジックが前記キャッシュラインを参照するローカルアクセス要求を受信して、前記キャッシュラインが前記バッファリングされたコヒーレンス状態に関連付けられることに呼応して、ヒットレスポンスを提供する請求項1から5のいずれか1項に記載の装置。
- 前記制御ロジックは、前記トランザクションがコミットされたことに呼応して、前記キャッシュラインを前記バッファリングされたコヒーレンス状態への関連付けから修正されたコヒーレンス状態に遷移させる請求項1から6のいずれか1項に記載の装置。
- 前記制御ロジックが、前記キャッシュラインを前記バッファリングされたコヒーレンス状態への関連付けから修正されたコヒーレンス状態に遷移させることは、前記制御ロジックが、前記キャッシュラインを前記バッファリングされたコヒーレンス状態への関連付けから前記修正されたコヒーレンス状態への関連付けに直接遷移させることを含む請求項7に記載の装置。
- 前記制御ロジックが、前記キャッシュラインを前記バッファリングされたコヒーレンス状態への関連付けから修正されたコヒーレンス状態に遷移させることは、前記制御ロジックが、前記キャッシュラインを前記バッファリングされたコヒーレンス状態への関連付けから、中間の、バッファリングされ修正されたコヒーレンス状態へ遷移させて、その後で、前記バッファリングされた状態をクリアして、前記修正されたコヒーレンス状態と関連付けられた前記キャッシュラインを退出させることを含む請求項7に記載の装置。
- 前記制御ロジックは、ユーザレベルの命令に呼応して前記キャッシュラインと関連付けられるよう前記バッファリングされたコヒーレンス状態にアクセスして、
前記ユーザレベルの命令は、コヒーレンス状態設定命令、コヒーレンス状態クリア命令、およびコヒーレンス状態テスト命令からなる群から選択される請求項1から9のいずれか1項に記載の装置。 - データアイテムに関連付けられているアドレスを参照するトランザクション内のトランザクション格納処理の実行に呼応して、前記データアイテムを参照してバッファリング用に選択される前記データアイテムの少なくとも一部を、キャッシュラインにおいてバッファリングされたコヒーレンス状態に保持するキャッシュメモリと、
前記キャッシュメモリに関連付けられて、前記キャッシュラインが前記バッファリングされたコヒーレンス状態に保持されている場合に、前記キャッシュラインと関連付けられている外部アクセス要求を受信することに呼応して、ミスレスポンスを提供し、前記バッファリングされたコヒーレンス状態に保持されている前記キャッシュラインを無効コヒーレンス状態に遷移させる制御ロジックと
を備えるプロセッサ。 - 前記格納処理に関連付けられる第1の処理エレメントと、前記格納処理に関連付けられていない第2の処理エレメントとさらに備え、
前記キャッシュラインに関連付けられている前記外部アクセス要求は、前記第2の処理エレメントに関連付けられている前記データアイテムにアクセスするアクセス要求を含む請求項11に記載のプロセッサ。 - デコーダロジックをさらに備え、
バッファリング用に選択される前記格納処理は、前記デコーダロジックが、前記格納処理を、バッファリング用に選択されるトランザクション格納処理を含むものとして認識することを含む請求項11または12に記載のプロセッサ。 - バッファリングの選択モードを示す選択値と、バッファリングの非選択モードを示す非選択値とを保持するユーザアクセス可能制御レジスタをさらに備える請求項11から13のいずれか1項に記載のプロセッサ。
- バッファリング用に選択される前記格納処理は、前記ユーザアクセス可能制御レジスタが、前記選択値と、選択基準に整合する前記格納処理に関連付けられた基準とを保持すること、または、前記ユーザアクセス可能制御レジスタが前記非選択値を保持することを含む請求項14に記載のプロセッサ。
- 前記キャッシュラインに関連付けられているコヒーレンス状態エントリをさらに備え、
前記キャッシュラインが前記バッファリングされたコヒーレンス状態に保持されることは、前記状態エントリがバッファリングされたコヒーレンス値を保持することを含む請求項11から15のいずれか1項に記載のプロセッサ。 - キャッシュライン内のデータアイテムの少なくとも一部を、前記データアイテムがトランザクション内でトランザクション的にアクセスされることに呼応して、バッファリングされたコヒーレンス状態に関連付けて保持する前記キャッシュメモリと、
前記キャッシュメモリに関連付けられて、前記キャッシュラインを、前記トランザクションがコミットされることに呼応して、前記バッファリングされたコヒーレンス状態への関連付けから修正されたコヒーレンス状態に遷移させる前記制御ロジックと
を備える請求項1から10のいずれか1項に記載の装置。 - バッファリングされたコヒーレンス状態に関連付けられるキャッシュラインは、前記キャッシュラインに関連付けられてバッファリングされたコヒーレンス値を保持するコヒーレンスエントリを含む請求項17に記載の装置。
- 前記制御ロジックが、前記キャッシュラインを前記バッファリングされたコヒーレンス状態への関連付けから修正されたコヒーレンス状態に遷移させることは、前記バッファリングされたコヒーレンス値を保持することから、修正されたコヒーレンス値を保持するように前記コヒーレンスエントリを更新することを含む請求項18に記載の装置。
- 前記バッファリングされたコヒーレンス値を保持することから、修正されたコヒーレンス値を保持するように前記コヒーレンスエントリを更新することは、前記コヒーレンスエントリを、前記バッファリングされたコヒーレンス値を保持することから、バッファリングされ修正された中間コヒーレンス値を保持することへと更新して、その後で、前記バッファリングされたコヒーレンス値を前記バッファリングされ修正された中間コヒーレンス値からクリアして、前記修正されたコヒーレンス値を形成することを含む請求項19に記載の装置。
- 前記コヒーレンスエントリは、ビットベクトルを含み、
前記コヒーレンスエントリを、前記バッファリングされたコヒーレンス値を保持することから、バッファリングされ修正された中間コヒーレンス値を保持することへと更新して、その後で、前記バッファリングされたコヒーレンス値を前記バッファリングされ修正された中間コヒーレンス値からクリアして、前記修正されたコヒーレンス値を退出することは、前記コヒーレンスエントリの修正されたビットを設定することで、前記バッファリングされたコヒーレンス値を保持することから、前記バッファリングされ修正された中間コヒーレンス値を保持することへと前記コヒーレンスエントリを更新して、その後で、前記コヒーレンスエントリのバッファリングされたビットをクリアして、前記修正されたコヒーレンス値についての前記修正されたビットセットを退出することを含む請求項20に記載の装置。 - 前記トランザクションのコミットは、ユーザレベルのトランザクションコミット命令が実行されることに呼応して行われる請求項17から21のいずれか1項に記載の装置。
- 前記トランザクションのコミットは、トランザクション関連のコンフリクトが検出されない間に、前記トランザクションの終了に達することに呼応して行われる請求項17から22のいずれか1項に記載の装置。
- データアイテムに関連付けられているアドレスを参照するトランザクション内において、前記データアイテムの少なくとも一部を、前記データアイテムがトランザクション的に書き込まれることに呼応してバッファリングされた状態に保持するラインを含むメモリと、前記メモリに連結されて、前記バッファリングされた状態の前記ラインに対するローカルアクセス要求に呼応してヒットレスポンスを提供し、前記バッファリングされた状態の前記ラインに対する非ローカルのアクセス要求に呼応してミスレスポンスを提供する制御ロジックとを有するプロセッサと、
前記プロセッサに連結された入出力(I/O)デバイスと
を備え、
前記制御ロジックはさらに、前記バッファリングされた状態の前記ラインに対する前記非ローカルのアクセス要求に呼応して、前記ラインを前記バッファリングされた状態から無効状態に遷移させる
システム。 - 前記制御ロジックはさらに、前記ラインに対するコミット処理の実行に呼応して、前記ラインを前記バッファリングされた状態から修正された状態に遷移させる請求項24に記載のシステム。
- 前記プロセッサはさらに、前記データアイテムがトランザクション的に書き込まれることに呼応して前記ラインが書き込み監視されていることを示すよう設定されるハードウェア書き込みモニタと、前記データアイテムがトランザクション的に読み出されることに呼応して前記ラインが読み出し監視されていることを示すハードウェア読み出しモニタとを有する請求項24または25に記載のシステム。
- データアイテムに関連付けられているアドレスを参照するトランザクション内のトランザクション格納に遭遇する段階と、
前記トランザクション格納に遭遇することに呼応して、前記データアイテムと関連付けられている前記アドレスに関連付けられているキャッシュメモリ内のキャッシュラインに対して、前記データアイテムの少なくとも一部のバッファリングされた格納を実行し、前記キャッシュラインに対応するコヒーレンス状態エントリを、バッファリングされた状態の値に更新して、前記キャッシュラインに保持されている前記データアイテムの少なくとも前記一部を前記バッファリングされた状態に関連付ける段階と、
前記データアイテムが前記バッファリングされた状態に関連付けられることに呼応して、前記データアイテムへのローカルアクセスに対してヒットレスポンスを提供し、前記データアイテムへの外部アクセスに対してミスレスポンスを提供する段階と、
前記データアイテムが前記バッファリングされた状態に関連付けられ、前記データアイテムに対する前記外部アクセスに対してミスレスポンスを提供することに呼応して、前記コヒーレンス状態エントリを無効状態の値に更新して、前記キャッシュラインに保持されている前記データアイテムの少なくとも前記一部を無効状態に関連付ける段階と
を備え、
前記トランザクションは、アトミックグループとして実行される命令、処理、マイクロオペレーションのうちのいずれかの一群を含む
方法。 - 前記トランザクション格納が前記アドレスを参照することは、プロセッサのデコーダロジックにより認識可能なオペレーションコード(オペコード)が、前記トランザクション格納をバッファリングされた格納として実行するべきであることを示すことを含む請求項27に記載の方法。
- 前記データアイテムの少なくとも前記一部の前記バッファリングされた格納を前記キャッシュラインに対して実行することに呼応して、前記キャッシュラインに関連付けられている書き込みモニタを監視されている状態に更新して前記キャッシュラインが書き込み監視されていることを示す段階をさらに備える請求項27または28に記載の方法。
- 前記データアイテムが前記バッファリングされた状態に関連付けられ、前記データアイテムに関するコミットを実行することに呼応して、前記コヒーレンス状態エントリを修正された状態の値に更新して、前記キャッシュラインに保持されている前記データアイテムの少なくとも前記一部を修正された状態に関連付ける段階をさらに備える請求項27から29のいずれか1項に記載の方法。
- 前記コヒーレンス状態エントリを修正された状態の値に更新して、前記キャッシュラインに保持されている前記データアイテムの少なくとも前記一部を修正された状態に関連付ける段階は、
前記コヒーレンス状態エントリを修正されたバッファリングされた状態の値に更新して、その後で、前記バッファリングされた状態の値を前記修正されバッファリングされた状態の値からクリアして、前記修正された状態の値を退出させる段階を有する請求項30に記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/346,543 | 2008-12-30 | ||
| US12/346,543 US8799582B2 (en) | 2008-12-30 | 2008-12-30 | Extending cache coherency protocols to support locally buffered data |
| PCT/US2009/068121 WO2010077885A2 (en) | 2008-12-30 | 2009-12-15 | Extending cache coherency protocols to support locally buffered data |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013261057A Division JP5860450B2 (ja) | 2008-12-30 | 2013-12-18 | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012512493A JP2012512493A (ja) | 2012-05-31 |
| JP5442765B2 true JP5442765B2 (ja) | 2014-03-12 |
Family
ID=42286304
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011542350A Expired - Fee Related JP5442765B2 (ja) | 2008-12-30 | 2009-12-15 | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 |
| JP2013261057A Expired - Fee Related JP5860450B2 (ja) | 2008-12-30 | 2013-12-18 | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013261057A Expired - Fee Related JP5860450B2 (ja) | 2008-12-30 | 2013-12-18 | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8799582B2 (ja) |
| JP (2) | JP5442765B2 (ja) |
| CN (1) | CN101770397B (ja) |
| TW (1) | TWI434214B (ja) |
| WO (1) | WO2010077885A2 (ja) |
Families Citing this family (65)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8799582B2 (en) * | 2008-12-30 | 2014-08-05 | Intel Corporation | Extending cache coherency protocols to support locally buffered data |
| US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
| US20100332768A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Flexible read- and write-monitored and buffered memory blocks |
| US8812796B2 (en) | 2009-06-26 | 2014-08-19 | Microsoft Corporation | Private memory regions and coherence optimizations |
| US9092253B2 (en) * | 2009-12-15 | 2015-07-28 | Microsoft Technology Licensing, Llc | Instrumentation of hardware assisted transactional memory system |
| US8402218B2 (en) | 2009-12-15 | 2013-03-19 | Microsoft Corporation | Efficient garbage collection and exception handling in a hardware accelerated transactional memory system |
| US9798548B2 (en) | 2011-12-21 | 2017-10-24 | Nvidia Corporation | Methods and apparatus for scheduling instructions using pre-decode data |
| CN107220029B (zh) | 2011-12-23 | 2020-10-27 | 英特尔公司 | 掩码置换指令的装置和方法 |
| US9946540B2 (en) * | 2011-12-23 | 2018-04-17 | Intel Corporation | Apparatus and method of improved permute instructions with multiple granularities |
| CN111831335A (zh) | 2011-12-23 | 2020-10-27 | 英特尔公司 | 经改进的插入指令的装置和方法 |
| US20130268735A1 (en) * | 2011-12-29 | 2013-10-10 | Enric Gibert Codina | Support for speculative ownership without data |
| CN104137060B (zh) * | 2011-12-30 | 2018-03-06 | 英特尔公司 | 高速缓存协处理单元 |
| US9268596B2 (en) | 2012-02-02 | 2016-02-23 | Intel Corparation | Instruction and logic to test transactional execution status |
| US9262320B2 (en) * | 2012-06-15 | 2016-02-16 | International Business Machines Corporation | Tracking transactional execution footprint |
| US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
| US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
| US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
| US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
| US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
| US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
| US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
| US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
| US9298631B2 (en) | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Managing transactional and non-transactional store observability |
| US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
| US9015419B2 (en) | 2012-06-15 | 2015-04-21 | International Business Machines Corporation | Avoiding aborts due to associativity conflicts in a transactional environment |
| US9223687B2 (en) | 2012-06-15 | 2015-12-29 | International Business Machines Corporation | Determining the logical address of a transaction abort |
| US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
| US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
| US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
| US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
| US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
| US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
| US9311101B2 (en) | 2012-06-15 | 2016-04-12 | International Business Machines Corporation | Intra-instructional transaction abort handling |
| US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
| US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
| US9298469B2 (en) | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Management of multiple nested transactions |
| WO2014004222A1 (en) * | 2012-06-29 | 2014-01-03 | Intel Corporation | Instruction and logic to test transactional execution status |
| US9418035B2 (en) * | 2012-10-22 | 2016-08-16 | Intel Corporation | High performance interconnect physical layer |
| CN102904779B (zh) * | 2012-10-26 | 2015-07-22 | 广东电网公司电力科学研究院 | 通信协议一致性检测方法与系统 |
| US9251073B2 (en) | 2012-12-31 | 2016-02-02 | Intel Corporation | Update mask for handling interaction between fills and updates |
| US9292444B2 (en) | 2013-09-26 | 2016-03-22 | International Business Machines Corporation | Multi-granular cache management in multi-processor computing environments |
| US9329890B2 (en) | 2013-09-26 | 2016-05-03 | Globalfoundries Inc. | Managing high-coherence-miss cache lines in multi-processor computing environments |
| US9298626B2 (en) | 2013-09-26 | 2016-03-29 | Globalfoundries Inc. | Managing high-conflict cache lines in transactional memory computing environments |
| US9086974B2 (en) * | 2013-09-26 | 2015-07-21 | International Business Machines Corporation | Centralized management of high-contention cache lines in multi-processor computing environments |
| US9298623B2 (en) | 2013-09-26 | 2016-03-29 | Globalfoundries Inc. | Identifying high-conflict cache lines in transactional memory computing environments |
| CN104951240B (zh) * | 2014-03-26 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及处理器 |
| US9740614B2 (en) * | 2014-06-27 | 2017-08-22 | International Business Machines Corporation | Processor directly storing address range of co-processor memory accesses in a transactional memory where co-processor supplements functions of the processor |
| US9891916B2 (en) | 2014-10-20 | 2018-02-13 | Via Technologies, Inc. | Dynamically updating hardware prefetch trait to exclusive or shared in multi-memory access agent system |
| CN104407989B (zh) * | 2014-11-25 | 2019-02-12 | 上海兆芯集成电路有限公司 | 具有统一标签和片化数据的高速缓冲存储器 |
| CN104579837A (zh) * | 2015-01-05 | 2015-04-29 | 北京邮电大学 | 一种OpenFlow协议一致性测试的方法和系统 |
| GB2539641B (en) * | 2015-06-11 | 2019-04-03 | Advanced Risc Mach Ltd | Coherency between a data processing device and interconnect |
| US10176096B2 (en) * | 2016-02-22 | 2019-01-08 | Qualcomm Incorporated | Providing scalable dynamic random access memory (DRAM) cache management using DRAM cache indicator caches |
| US10901940B2 (en) | 2016-04-02 | 2021-01-26 | Intel Corporation | Processors, methods, systems, and instructions to atomically store to memory data wider than a natively supported data width |
| US10275250B2 (en) * | 2017-03-06 | 2019-04-30 | Arm Limited | Defer buffer |
| US10482015B2 (en) * | 2017-05-18 | 2019-11-19 | International Business Machines Corporation | Ownership tracking updates across multiple simultaneous operations |
| US10866890B2 (en) * | 2018-11-07 | 2020-12-15 | Arm Limited | Method and apparatus for implementing lock-free data structures |
| TWI737189B (zh) * | 2019-02-23 | 2021-08-21 | 國立清華大學 | 易於從固態儲存裝置之故障中還原的方法、電腦系統,及固態儲存裝置 |
| US11720495B2 (en) * | 2019-05-24 | 2023-08-08 | Texas Instmments Incorporated | Multi-level cache security |
| US10896135B1 (en) * | 2019-09-03 | 2021-01-19 | Microsoft Technology Licensing, Llc | Facilitating page table entry (PTE) maintenance in processor-based devices |
| CN111813839B (zh) * | 2020-05-20 | 2023-09-22 | 北京元心科技有限公司 | 多终端任务结果展示冲突的处理方法、系统及相应设备 |
| US11461040B2 (en) * | 2020-09-24 | 2022-10-04 | Atlassian Pty Ltd. | Asynchronous write request management |
| US12056374B2 (en) * | 2021-02-03 | 2024-08-06 | Alibaba Group Holding Limited | Dynamic memory coherency biasing techniques |
| US11550716B2 (en) | 2021-04-05 | 2023-01-10 | Apple Inc. | I/O agent |
| US11934313B2 (en) | 2021-08-23 | 2024-03-19 | Apple Inc. | Scalable system on a chip |
| US12293090B2 (en) | 2022-07-14 | 2025-05-06 | Samsung Electronics Co., Ltd. | Systems and methods for managing bias mode switching |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6272602B1 (en) * | 1999-03-08 | 2001-08-07 | Sun Microsystems, Inc. | Multiprocessing system employing pending tags to maintain cache coherence |
| US6356983B1 (en) * | 2000-07-25 | 2002-03-12 | Src Computers, Inc. | System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture |
| JP3632635B2 (ja) * | 2001-07-18 | 2005-03-23 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
| US7587615B2 (en) | 2003-09-12 | 2009-09-08 | International Business Machines Corporation | Utilizing hardware transactional approach to execute code after initially utilizing software locking by employing pseudo-transactions |
| US20050086446A1 (en) | 2003-10-04 | 2005-04-21 | Mckenney Paul E. | Utilizing software locking approach to execute code upon failure of hardware transactional approach |
| US20050091459A1 (en) | 2003-10-23 | 2005-04-28 | Nhon Quach | Flexible mechanism for enforcing coherency among caching structures |
| US7237131B2 (en) * | 2003-12-30 | 2007-06-26 | Intel Corporation | Transaction-based power management in a computer system |
| US7395374B2 (en) | 2004-01-20 | 2008-07-01 | Hewlett-Packard Company, L.P. | System and method for conflict responses in a cache coherency protocol with ordering point migration |
| US7177987B2 (en) | 2004-01-20 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | System and method for responses between different cache coherency protocols |
| US7395382B1 (en) | 2004-08-10 | 2008-07-01 | Sun Microsystems, Inc. | Hybrid software/hardware transactional memory |
| US8180967B2 (en) | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory virtualization |
| US20080005504A1 (en) * | 2006-06-30 | 2008-01-03 | Jesse Barnes | Global overflow method for virtualized transactional memory |
| US8924653B2 (en) * | 2006-10-31 | 2014-12-30 | Hewlett-Packard Development Company, L.P. | Transactional cache memory system |
| US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
| US8095741B2 (en) * | 2007-05-14 | 2012-01-10 | International Business Machines Corporation | Transactional memory computing system with support for chained transactions |
| US9280397B2 (en) * | 2007-06-27 | 2016-03-08 | Intel Corporation | Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata |
| US8078807B2 (en) * | 2007-12-27 | 2011-12-13 | Intel Corporation | Accelerating software lookups by using buffered or ephemeral stores |
| US20100122073A1 (en) * | 2008-11-10 | 2010-05-13 | Ravi Narayanaswamy | Handling exceptions in software transactional memory systems |
| US8555016B2 (en) * | 2008-12-17 | 2013-10-08 | Intel Corporation | Unified optimistic and pessimistic concurrency control for a software transactional memory (STM) system |
| US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
| US8799582B2 (en) * | 2008-12-30 | 2014-08-05 | Intel Corporation | Extending cache coherency protocols to support locally buffered data |
| US8095824B2 (en) * | 2009-12-15 | 2012-01-10 | Intel Corporation | Performing mode switching in an unbounded transactional memory (UTM) system |
-
2008
- 2008-12-30 US US12/346,543 patent/US8799582B2/en not_active Expired - Fee Related
-
2009
- 2009-12-15 WO PCT/US2009/068121 patent/WO2010077885A2/en not_active Ceased
- 2009-12-15 JP JP2011542350A patent/JP5442765B2/ja not_active Expired - Fee Related
- 2009-12-17 TW TW098143381A patent/TWI434214B/zh not_active IP Right Cessation
- 2009-12-28 CN CN200910261800.8A patent/CN101770397B/zh not_active Expired - Fee Related
-
2013
- 2013-12-18 JP JP2013261057A patent/JP5860450B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| TW201101178A (en) | 2011-01-01 |
| CN101770397A (zh) | 2010-07-07 |
| JP5860450B2 (ja) | 2016-02-16 |
| US8799582B2 (en) | 2014-08-05 |
| WO2010077885A3 (en) | 2010-10-07 |
| US20100169581A1 (en) | 2010-07-01 |
| JP2012512493A (ja) | 2012-05-31 |
| TWI434214B (zh) | 2014-04-11 |
| JP2014089733A (ja) | 2014-05-15 |
| CN101770397B (zh) | 2017-07-11 |
| WO2010077885A2 (en) | 2010-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5442765B2 (ja) | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 | |
| JP6342970B2 (ja) | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 | |
| JP5944417B2 (ja) | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 | |
| US8769212B2 (en) | Memory model for hardware attributes within a transactional memory system | |
| JP5608738B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
| JP5451776B2 (ja) | ハードウェアフィールドにロッシーなメタデータを保持するためのメタフィジカルアドレス空間 | |
| US20090172305A1 (en) | Efficient non-transactional write barriers for strong atomicity | |
| US20120179875A1 (en) | Using ephemeral stores for fine-grained conflict detection in a hardware accelerated stm | |
| JP6023765B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
| JP6318440B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130910 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130918 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131011 |
|
| 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: 20131119 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131218 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |