JP2017073146A - トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 - Google Patents
トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 Download PDFInfo
- Publication number
- JP2017073146A JP2017073146A JP2016217481A JP2016217481A JP2017073146A JP 2017073146 A JP2017073146 A JP 2017073146A JP 2016217481 A JP2016217481 A JP 2016217481A JP 2016217481 A JP2016217481 A JP 2016217481A JP 2017073146 A JP2017073146 A JP 2017073146A
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- cache
- memory
- access operation
- state
- 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
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/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
本願は、以下に示す特許出願に関連する。2008年12月30日出願、代理人整理番号P29132、米国出願番号12/346,543号明細書、発明者Gad Sheaffer他"Extending Cache Coherency Protocols to Support Locally Buffered Data(ローカルにバッファされたデータをサポートするための、拡張キャッシュコヒーレンシプロトコル)"、2008年12月30日出願、代理人整理番号P29131、米国出願番号12/346,539号明細書、発明者Gad Sheaffer他"Memory Model for Hardware Attributes Within a Transactional Memory System(トランザクションナルメモリシステム内における、ハードウェア属性のためのメモリモデル)"、2008年12月30日出願、代理人整理番号P29129、米国出願番号12/346,518号明細書、発明者Gad Sheaffer他"Registering a User-Handler in Hardware for Transactional Memory Event Handling(トランザクションナルメモリイベント取り扱いのための、ユーザーハンドラのハードウェアへの登録)"、2008年12月30日出願、代理人整理番号P29128、米国出願番号12/346,500号明細書、発明者Gad Sheaffer他"Metaphysical Address Space for Holding Lossy Meta-data in Hardware(ロッシーなメタデータをハードウェアに保持するためのメタフィジカルアドレス空間)"。
処理ロジックと接続され、前記トランザクション的メモリアクセスオペレーションを実行する前記実行ロジックに応答して、前記データ項目を保持するメモリと、
前記メモリと関連付けられ、前記実行ロジックが前記トランザクション的メモリアクセスオペレーションを実行するのに応答して、前記メモリの粒度に関わりなく、前記データ項目の制限付きアクセス監視を実行するハードウェア監視部と
を備え、
前記メモリはデータキャッシュを含み、
前記データキャッシュの複数のキャッシュラインのうち、2以上のキャッシュラインが、前記複数のキャッシュラインの境界で整列されていない前記データ項目を保持し、
前記ハードウェア監視部は、前記データ項目のサイズに基づいて、前記メモリと動的に関連付けられる
装置。
前記データキャッシュと関連付けられ、前記実行ロジックが前記トランザクション的ロードを実行するのに応答して、前記メモリの粒度に関わりなく前記データ項目の制限付きアクセス監視を実行する前記ハードウェア監視部は、前記データ項目の少なくとも一部を保持する前記複数のキャッシュラインのうち前記2以上のキャッシュラインに対応する数の前記複数の読み出し監視部を含み、
前記実行ロジックが前記トランザクション的ロードを実行するのに応答して、前記複数の読み出し監視部は、監視読み出し状態に更新される付記3に記載の装置。
前記データキャッシュと関連付けられ、前記実行ロジックが前記トランザクション的ストアを実行するのに応答して、前記メモリの粒度に関わりなく前記データ項目の制限付きアクセス監視を実行する前記ハードウェア監視部は、前記データ項目の少なくとも一部を保持する前記複数のキャッシュラインのうち前記2以上のキャッシュラインに対応する数の前記複数の書き込み監視部を含み、
前記実行ロジックがトランザクション的書き込みを実行するのに応答して、前記複数の書き込み監視部は、監視書き込み状態に更新される付記4に記載の装置。
前記メモリの複数のラインに対して、読み出し監視部及び書き込み監視部のプールから、1つの読み出し監視部及び1つの書き込み監視部を動的に割り当てるロジックを含み、
前記データ項目の前記サイズが、前記メモリの1ラインよりも大きいこと、及び前記実行ロジックが前記トランザクション的メモリアクセスオペレーションを実行することに応答して、前記メモリは、前記データ項目の少なくとも一部を保持する付記1から8のいずれか一項に記載の装置。
前記実行ロジックがトランザクション的ロードオペレーションを実行するのに応答して、読み出し監視状態に設定される前記複数のラインに割り当てられる前記読み出し監視部と、
前記実行ロジックがトランザクション的ストアオペレーションを実行するのに応答して、書き込み監視状態に設定される前記複数のラインに割り当てられる前記書き込み監視部とを含む付記9に記載の装置。
キャッシュの2以上のラインに、複数のキャッシュラインの境界で整列されていない前記データ項目をキャッシュする段階と、
前記メモリアクセスオペレーションを監視すべきかの決定に応答して、前記データ項目を制限するべく前記キャッシュと関連付けられるハードウェア属性を決定する段階と、
前記メモリアクセスオペレーションの種類と関連付けられたアクセス状態を表すように、前記ハードウェア属性を更新する段階とを備え、
前記データ項目を制限するべく前記キャッシュと関連付けられるハードウェア属性を決定する段階は、前記データ項目と関連付けられて前記キャッシュの粒度に関わりなく前記データ項目の制限付きアクセス監視を実行するための前記ハードウェア属性を動的に割り当てる
方法。
前記メモリアクセスオペレーションの種類と関連付けられたアクセス状態を表すように前記ハードウェア属性を更新する段階は、前記2以上のラインと関連付けられるコヒーレンシ状態エントリ内の前記ハードウェア属性ビットを更新して、前記メモリアクセスオペレーションの前記種類と関連付けられる監視コヒーレンシ状態を表す付記11から13のいずれか一項に記載の方法。
前記メモリアクセスオペレーションの前記種類が、読み出しタイプを含むことに対応した、監視読み出し状態と、
前記メモリアクセスオペレーションの前記種類が、書き込みタイプを含むことに対応した、監視書き込み状態とを有する付記11から14のいずれか一項に記載の方法。
前記競合が検出されたことに応答して、プロセッサ内の状態レジスタを使用して、前記競合をソフトウェアに報告する段階と、
前記プロセッサ内の状態レジスタを使用して前記競合がソフトウェアに報告されたことに応答して、前記競合を扱うソフトウェアハンドラを実行させる段階とを更に備える付記11から15のいずれか一項に記載の方法。
Claims (18)
- データ項目を参照するメモリアクセスオペレーションを監視すべきかを決定する段階と、
キャッシュの複数のラインにわたって前記データ項目をキャッシュする段階と、
前記メモリアクセスオペレーションを監視すべきかの決定に応答して、前記キャッシュのラインとは非整列の前記データ項目に関連付けられる属性を前記キャッシュのライン単位で動的に割り当てる段階と、
前記メモリアクセスオペレーションの種類と関連付けられたアクセス状態を表すように、前記属性を更新する段階と
を備える方法。 - 前記データ項目を参照するメモリアクセスオペレーションを監視すべきかを決定する段階は、前記メモリアクセスオペレーションを実行するプロセッサの動作モードに基づいて行われる請求項1に記載の方法。
- 前記データ項目を参照するメモリアクセスオペレーションを監視すべきかを決定する段階は、オペレーションが監視される時の前記メモリアクセスオペレーションのユーザーレベルソフトウェアによる特定に基づいて行われる請求項1に記載の方法。
- 前記メモリアクセスオペレーションの前記種類と関連付けられる前記アクセス状態は、
前記メモリアクセスオペレーションの前記種類が、読み出しタイプを含むことに対応した、監視読み出し状態と、
前記メモリアクセスオペレーションの前記種類が、書き込みタイプを含むことに対応した、監視書き込み状態と
を有する請求項1から3のいずれか一項に記載の方法。 - 前記メモリアクセスオペレーションに続いて外部からのアクセス要求があることに応答して、前記外部からのアクセスの種類、及び前記メモリアクセスオペレーションの種類と関連付けられる前記アクセス状態に基づいて、競合を検出する段階と、
前記競合が検出されたことに応答して、プロセッサ内の状態レジスタを使用して、前記競合をソフトウェアに報告する段階と、
前記プロセッサ内の状態レジスタを使用して前記競合がソフトウェアに報告されたことに応答して、前記競合を扱うソフトウェアハンドラを実行させる段階と
を更に備える請求項1から4のいずれか一項に記載の方法。 - データ項目を参照するメモリアクセスオペレーションを監視すべきかを決定する段階と、
キャッシュの複数のラインにわたって前記データ項目をキャッシュする段階と、
前記メモリアクセスオペレーションを監視すべきかの決定に応答して、前記複数のラインに関連づけられる複数のコヒーレンシ状態エントリの属性ビットを決定する段階と、
前記メモリアクセスオペレーションの種類と関連付けられた監視コヒーレンシ状態を表すように、前記複数のラインに関連づけられる前記複数のコヒーレンシ状態エントリの前記属性ビットを更新する段階とを備える方法。 - 前記データ項目を参照するメモリアクセスオペレーションを監視すべきかを決定する段階は、前記メモリアクセスオペレーションを実行するプロセッサの動作モードに基づいて行われる請求項6に記載の方法。
- 前記データ項目を参照するメモリアクセスオペレーションを監視すべきかを決定する段階は、オペレーションが監視される時の前記メモリアクセスオペレーションのユーザーレベルソフトウェアによる特定に基づいて行われる請求項6に記載の方法。
- 前記メモリアクセスオペレーションの前記種類と関連付けられる前記コヒーレンシ状態は、
前記メモリアクセスオペレーションの前記種類が、読み出しタイプを含むことに対応した、監視読み出し状態と、
前記メモリアクセスオペレーションの前記種類が、書き込みタイプを含むことに対応した、監視書き込み状態とを有する
請求項6から8のいずれか一項に記載の方法。 - 前記メモリアクセスオペレーションに続いて外部からのアクセス要求があることに応答して、前記外部からのアクセスの種類、及び前記メモリアクセスオペレーションの種類と関連付けられる前記コヒーレンシ状態に基づいて、競合を検出する段階と、
前記競合が検出されたことに応答して、プロセッサ内の状態レジスタを使用して、前記競合をソフトウェアに報告する段階と、
前記プロセッサ内の状態レジスタを使用して前記競合がソフトウェアに報告されたことに応答して、前記競合を扱うソフトウェアハンドラを実行させる段階と
を更に備える請求項6から9のいずれか一項に記載の方法。 - プロセッサを備えるシステムであって、
前記プロセッサは、
前記プロセッサにより実行されるトランザクション的メモリアクセスオペレーションによって参照されるデータ項目を複数のラインにわたって保持するキャッシュメモリと、
前記キャッシュメモリと関連付けられ、前記プロセッサが前記メモリアクセスオペレーションを実行するのに応答して、前記キャッシュメモリのラインで整列していない前記データ項目の粒度で前記データ項目のアクセス状態を表す、前記キャッシュメモリのライン単位の属性と、
前記プロセッサと接続されて、前記データ項目のキャッシュされていないコピーを保持するシステムメモリと
を有し、
前記アクセス状態は、前記トランザクション的メモリアクセスオペレーションの種類と関連付けられるシステム。 - 前記トランザクション的メモリアクセスオペレーションの前記種類と関連付けられる前記アクセス状態は、
前記トランザクション的メモリアクセスオペレーションがロードタイプであることに応じたトランザクション的読み出し状態と、
前記トランザクション的メモリアクセスオペレーションがストアタイプであることに応じたトランザクション的書き込み状態と
を有する請求項11に記載のシステム。 - 前記キャッシュメモリと関連付けられてアクセス状態を表す前記属性は、ビットベクトル、エンコード値及び状態値からなる群から選択される請求項11または12に記載のシステム。
- 前記属性は、第1スレッドと関連付けられて、前記プロセッサの前記第1スレッドが前記メモリアクセスオペレーションを実行するのに応答して、前記キャッシュメモリのラインで整列されていない前記データ項目の前記粒度で、前記第1スレッドについての、前記データ項目の前記アクセス状態を表す属性を含み、
前記属性は複製されて、前記キャッシュメモリへのアクセスを共有する第2スレッドと関連付けられて、前記プロセッサの前記第1スレッドが、前記データ項目を参照する第2のメモリアクセスオペレーションを実行するのに応答して、前記キャッシュメモリのラインで整列されていない前記データ項目の前記粒度で、前記第2スレッドについての、前記データ項目の第2のアクセス状態を表す
請求項11から13のいずれか一項に記載のシステム。 - データ項目を参照するメモリアクセスオペレーションを監視すべきかを決定する段階と、
キャッシュの複数のラインにわたって前記データ項目をキャッシュする段階と、
前記メモリアクセスオペレーションを監視すべきかの決定に応答して、前記データ項目を制限するべく前記キャッシュと関連付けられる前記キャッシュのライン単位の属性を決定する段階と、
前記メモリアクセスオペレーションの種類と関連付けられたアクセス状態を表すように、前記属性を更新する段階とを備える方法。 - 前記データ項目を制限するべく前記キャッシュと関連付けられる属性を決定する段階は、前記1以上のラインで整列されていない前記データ項目と関連付けられる前記属性を動的に割り当てることを含む請求項15に記載の方法。
- 前記データ項目を制限するべく前記キャッシュと関連付けられる属性を決定する段階は、前記複数のラインと関連付けられる複数のコヒーレンシ状態エントリ内に、属性ビットを決定することを含み、
前記メモリアクセスオペレーションの種類と関連付けられたアクセス状態を表すように前記属性を更新する段階は、前記複数のラインと関連付けられる前記複数のコヒーレンシ状態エントリ内の前記属性ビットを更新して、前記メモリアクセスオペレーションの前記種類と関連付けられる監視コヒーレンシ状態を表す請求項15または16に記載の方法。 - 請求項1から10および15から17のいずれか一項に記載の方法を実行する装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/346,530 US8627017B2 (en) | 2008-12-30 | 2008-12-30 | Read and write monitoring attributes in transactional memory (TM) systems |
US12/346,530 | 2008-12-30 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014006856A Division JP6040176B2 (ja) | 2008-12-30 | 2014-01-17 | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017073146A true JP2017073146A (ja) | 2017-04-13 |
JP6342970B2 JP6342970B2 (ja) | 2018-06-13 |
Family
ID=42286302
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011542330A Expired - Fee Related JP5462883B2 (ja) | 2008-12-30 | 2009-12-15 | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
JP2014006856A Expired - Fee Related JP6040176B2 (ja) | 2008-12-30 | 2014-01-17 | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
JP2016217481A Expired - Fee Related JP6342970B2 (ja) | 2008-12-30 | 2016-11-07 | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011542330A Expired - Fee Related JP5462883B2 (ja) | 2008-12-30 | 2009-12-15 | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
JP2014006856A Expired - Fee Related JP6040176B2 (ja) | 2008-12-30 | 2014-01-17 | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8627017B2 (ja) |
JP (3) | JP5462883B2 (ja) |
KR (1) | KR101394741B1 (ja) |
CN (1) | CN101814018B (ja) |
TW (1) | TWI448897B (ja) |
WO (1) | WO2010077850A2 (ja) |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627017B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8370577B2 (en) | 2009-06-26 | 2013-02-05 | Microsoft Corporation | Metaphysically addressed cache metadata |
US8812796B2 (en) | 2009-06-26 | 2014-08-19 | Microsoft Corporation | Private memory regions and coherence optimizations |
US8356166B2 (en) * | 2009-06-26 | 2013-01-15 | Microsoft Corporation | Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers |
US8489864B2 (en) * | 2009-06-26 | 2013-07-16 | Microsoft Corporation | Performing escape actions in transactions |
US20100332768A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Flexible read- and write-monitored and buffered memory blocks |
US8250331B2 (en) * | 2009-06-26 | 2012-08-21 | Microsoft Corporation | Operating system virtual memory management for hardware transactional memory |
US8229907B2 (en) * | 2009-06-30 | 2012-07-24 | Microsoft Corporation | Hardware accelerated transactional memory system with open nested transactions |
US8539465B2 (en) * | 2009-12-15 | 2013-09-17 | Microsoft Corporation | Accelerating unbounded memory transactions using nested cache resident transactions |
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 |
US8533440B2 (en) | 2009-12-15 | 2013-09-10 | Microsoft Corporation | Accelerating parallel transactions using cache resident transactions |
US8504777B2 (en) * | 2010-09-21 | 2013-08-06 | Freescale Semiconductor, Inc. | Data processor for processing decorated instructions with cache bypass |
US8504774B2 (en) * | 2010-10-13 | 2013-08-06 | Microsoft Corporation | Dynamic cache configuration using separate read and write caches |
CN102486719B (zh) * | 2010-12-06 | 2015-04-15 | 普天信息技术研究院有限公司 | 智能存储卡及其事务写的方法 |
US9104690B2 (en) | 2011-01-27 | 2015-08-11 | Micron Technology, Inc. | Transactional memory |
US8615640B2 (en) * | 2011-03-17 | 2013-12-24 | Lsi Corporation | System and method to efficiently schedule and/or commit write data to flash based SSDs attached to an array controller |
GB2491350B (en) | 2011-05-27 | 2020-02-12 | Advanced Risc Mach Ltd | Store-exclusive instruction conflict resolution |
WO2013115816A1 (en) * | 2012-02-02 | 2013-08-08 | Intel Corporation | A method, apparatus, and system for speculative abort control mechanisms |
US9268596B2 (en) | 2012-02-02 | 2016-02-23 | Intel Corparation | Instruction and logic to test transactional execution status |
WO2013115820A1 (en) * | 2012-02-02 | 2013-08-08 | Intel Corporation | A method, apparatus, and system for transactional speculation control instructions |
US8799588B2 (en) * | 2012-02-08 | 2014-08-05 | International Business Machines Corporation | Forward progress mechanism for stores in the presence of load contention in a system favoring loads by state alteration |
US8984511B2 (en) * | 2012-03-29 | 2015-03-17 | Advanced Micro Devices, Inc. | Visibility ordering in a memory model for a unified computing system |
EP2831721B1 (en) | 2012-03-30 | 2020-08-26 | Intel Corporation | Context switching mechanism for a processing core having a general purpose cpu core and a tightly coupled accelerator |
US9298632B2 (en) * | 2012-06-28 | 2016-03-29 | Intel Corporation | Hybrid cache state and filter tracking of memory operations during a transaction |
CN105760265B (zh) * | 2012-06-29 | 2019-11-05 | 英特尔公司 | 用于测试事务性执行状态的指令和逻辑 |
US9430166B2 (en) * | 2012-08-10 | 2016-08-30 | International Business Machines Corporation | Interaction of transactional storage accesses with other atomic semantics |
US20140129784A1 (en) * | 2012-11-07 | 2014-05-08 | Mellanox Technologies, Ltd. | Methods and systems for polling memory outside a processor thread |
US9411739B2 (en) * | 2012-11-30 | 2016-08-09 | Intel Corporation | System, method and apparatus for improving transactional memory (TM) throughput using TM region indicators |
WO2014094303A1 (zh) * | 2012-12-21 | 2014-06-26 | 华为技术有限公司 | 一种监控记录管理方法与装置 |
US9251073B2 (en) | 2012-12-31 | 2016-02-02 | Intel Corporation | Update mask for handling interaction between fills and updates |
US9026698B2 (en) * | 2013-03-15 | 2015-05-05 | Intel Corporation | Apparatus, system and method for providing access to a device function |
US9547594B2 (en) * | 2013-03-15 | 2017-01-17 | Intel Corporation | Instructions to mark beginning and end of non transactional code region requiring write back to persistent storage |
US11221967B2 (en) * | 2013-03-28 | 2022-01-11 | Hewlett Packard Enterprise Development Lp | Split mode addressing a persistent memory |
RU2635044C2 (ru) * | 2013-06-27 | 2017-11-08 | Интел Корпорейшн | Режим слежения в устройстве обработки в системах трассировки команд |
US9535744B2 (en) | 2013-06-29 | 2017-01-03 | Intel Corporation | Method and apparatus for continued retirement during commit of a speculative region of code |
US9292444B2 (en) | 2013-09-26 | 2016-03-22 | International Business Machines Corporation | Multi-granular cache management 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 |
US9329890B2 (en) | 2013-09-26 | 2016-05-03 | Globalfoundries Inc. | Managing high-coherence-miss 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 |
US9086974B2 (en) | 2013-09-26 | 2015-07-21 | International Business Machines Corporation | Centralized management of high-contention cache lines in multi-processor computing environments |
US9524195B2 (en) | 2014-02-27 | 2016-12-20 | International Business Machines Corporation | Adaptive process for data sharing with selection of lock elision and locking |
JP6197585B2 (ja) * | 2013-11-01 | 2017-09-20 | 富士通株式会社 | 情報処理装置、及び、情報処理装置の制御方法 |
US9465673B2 (en) | 2014-02-27 | 2016-10-11 | International Business Machines Corporation | Deferral instruction for managing transactional aborts in transactional memory computing environments to complete transaction by deferring disruptive events handling |
US9311178B2 (en) | 2014-02-27 | 2016-04-12 | International Business Machines Corporation | Salvaging hardware transactions with instructions |
US9471371B2 (en) | 2014-02-27 | 2016-10-18 | International Business Machines Corporation | Dynamic prediction of concurrent hardware transactions resource requirements and allocation |
US20150242216A1 (en) | 2014-02-27 | 2015-08-27 | International Business Machines Corporation | Committing hardware transactions that are about to run out of resource |
US9645879B2 (en) | 2014-02-27 | 2017-05-09 | International Business Machines Corporation | Salvaging hardware transactions with instructions |
US9424072B2 (en) | 2014-02-27 | 2016-08-23 | International Business Machines Corporation | Alerting hardware transactions that are about to run out of space |
US9361041B2 (en) | 2014-02-27 | 2016-06-07 | International Business Machines Corporation | Hint instruction for managing transactional aborts in transactional memory computing environments |
US9411729B2 (en) | 2014-02-27 | 2016-08-09 | International Business Machines Corporation | Salvaging lock elision transactions |
US9575890B2 (en) | 2014-02-27 | 2017-02-21 | International Business Machines Corporation | Supporting atomic accumulation with an addressable accumulator |
US9442775B2 (en) | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging hardware transactions with instructions to transfer transaction execution control |
US9262206B2 (en) | 2014-02-27 | 2016-02-16 | International Business Machines Corporation | Using the transaction-begin instruction to manage transactional aborts in transactional memory computing environments |
US9442853B2 (en) | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging lock elision transactions with instructions to change execution type |
US9430273B2 (en) | 2014-02-27 | 2016-08-30 | International Business Machines Corporation | Suppressing aborting a transaction beyond a threshold execution duration based on the predicted duration |
US9336097B2 (en) | 2014-02-27 | 2016-05-10 | International Business Machines Corporation | Salvaging hardware transactions |
US9329946B2 (en) | 2014-02-27 | 2016-05-03 | International Business Machines Corporation | Salvaging hardware transactions |
US9524187B2 (en) | 2014-03-02 | 2016-12-20 | International Business Machines Corporation | Executing instruction with threshold indicating nearing of completion of transaction |
US9817693B2 (en) * | 2014-03-14 | 2017-11-14 | International Business Machines Corporation | Coherence protocol augmentation to indicate transaction status |
US9971627B2 (en) | 2014-03-26 | 2018-05-15 | Intel Corporation | Enabling maximum concurrency in a hybrid transactional memory system |
CN109240945B (zh) | 2014-03-26 | 2023-06-06 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及处理器 |
US9256553B2 (en) | 2014-03-26 | 2016-02-09 | International Business Machines Corporation | Transactional processing based upon run-time storage values |
US9262343B2 (en) | 2014-03-26 | 2016-02-16 | International Business Machines Corporation | Transactional processing based upon run-time conditions |
US20150278123A1 (en) * | 2014-03-28 | 2015-10-01 | Alex Nayshtut | Low-overhead detection of unauthorized memory modification using transactional memory |
US9778949B2 (en) | 2014-05-05 | 2017-10-03 | Google Inc. | Thread waiting in a multithreaded processor architecture |
US9600442B2 (en) | 2014-07-18 | 2017-03-21 | Intel Corporation | No-locality hint vector memory access processors, methods, systems, and instructions |
US9507938B2 (en) * | 2014-12-23 | 2016-11-29 | Mcafee, Inc. | Real-time code and data protection via CPU transactional memory support |
US9658963B2 (en) * | 2014-12-23 | 2017-05-23 | Intel Corporation | Speculative reads in buffered memory |
US10540524B2 (en) | 2014-12-31 | 2020-01-21 | Mcafee, Llc | Memory access protection using processor transactional memory support |
GB2536871A (en) * | 2015-03-04 | 2016-10-05 | Advanced Risc Mach Ltd | An apparatus and method to generate trace data in response to transactional execution |
US9652168B2 (en) * | 2015-04-10 | 2017-05-16 | International Business Machines Corporation | Adaptive concurrency control using hardware transactional memory and locking mechanism |
CN111858256B (zh) * | 2015-12-25 | 2024-05-28 | 北京忆芯科技有限公司 | 命令队列监控电路、数据交换方法及其设备 |
US10095622B2 (en) | 2015-12-29 | 2018-10-09 | Intel Corporation | System, method, and apparatuses for remote monitoring |
US10547680B2 (en) * | 2015-12-29 | 2020-01-28 | Intel Corporation | Systems, methods, and apparatuses for range protection |
US11163682B2 (en) * | 2015-12-29 | 2021-11-02 | Intel Corporation | Systems, methods, and apparatuses for distributed consistency memory |
CN108595371B (zh) * | 2016-01-20 | 2019-11-19 | 北京中科寒武纪科技有限公司 | 用于向量运算的数据读取、写入及读写调度器及保留站 |
CN105718357B (zh) * | 2016-01-22 | 2018-12-28 | 烽火通信科技股份有限公司 | 一种内存监视的方法 |
SG11201806099WA (en) * | 2016-02-19 | 2018-08-30 | Huawei Tech Co Ltd | Method and apparatus for accessing flash memory device |
CN108701003B (zh) | 2016-03-31 | 2022-04-26 | 英特尔公司 | 用于对远程节点的许多存储操作的原子写入的结构弹性支持 |
US20180004681A1 (en) * | 2016-07-02 | 2018-01-04 | Intel Corporation | Systems, Apparatuses, and Methods for Platform Security |
KR20190130570A (ko) * | 2017-02-20 | 2019-11-22 | 인텐시베이트 인코포레이티드 | 슈퍼-스레드 프로세서 |
EP3610373B1 (en) | 2017-04-19 | 2022-03-30 | Huawei Technologies Co., Ltd. | Updating metadata in hardware transactional memory user aborts |
CN108062224B (zh) * | 2017-12-29 | 2021-04-23 | 北京奇虎科技有限公司 | 基于文件句柄的数据读写方法、装置及计算设备 |
US11383742B2 (en) | 2018-05-21 | 2022-07-12 | C.D.L. Electric Company, Inc. | Grade crossing gate arm position detection system |
EP3588280B1 (en) | 2018-06-25 | 2021-09-08 | ARM Limited | Handling load-exclusive instructions in apparatus having support for transactional memory |
US10795828B2 (en) | 2018-08-10 | 2020-10-06 | Micron Technology, Inc. | Data validity tracking in a non-volatile memory |
US11714676B2 (en) * | 2020-01-03 | 2023-08-01 | International Business Machines Corporation | Software-directed value profiling with hardware-based guarded storage facility |
US11753782B2 (en) | 2021-10-11 | 2023-09-12 | C.D.L. Electric Company, Inc. | Quick-replacement gear for grade crossing gate mechanism |
WO2024107364A1 (en) * | 2022-11-14 | 2024-05-23 | Ascenium, Inc. | Parallel processing using hazard detection and mitigation |
KR102579320B1 (ko) | 2023-04-19 | 2023-09-18 | 메티스엑스 주식회사 | 캐시 메모리 장치 및 이를 이용하는 캐시 스케줄링 구현 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006518077A (ja) * | 2003-02-13 | 2006-08-03 | サン・マイクロシステムズ・インコーポレイテッド | 臨界領域を投機的に実行することによりロックを回避するための方法および装置 |
WO2007115003A1 (en) * | 2006-03-30 | 2007-10-11 | Intel Corporation | Transactional memory in out-of-order processors |
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
US20080104332A1 (en) * | 2006-10-31 | 2008-05-01 | Gaither Blaine D | Cache memory system and method for providing transactional memory |
JP2008515055A (ja) * | 2004-09-30 | 2008-05-08 | インテル・コーポレーション | トランザクショナルなメモリアクセスのハイブリッドハードウェア・ソフトウェア実現のための方法及び装置 |
US20080148262A1 (en) * | 2006-12-15 | 2008-06-19 | David Dice | Method and apparatus for executing a long transaction |
JP6040176B2 (ja) * | 2008-12-30 | 2016-12-07 | インテル・コーポレーション | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8728494D0 (en) | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Multi-cache data storage system |
JP2651037B2 (ja) | 1990-04-23 | 1997-09-10 | 株式会社日立製作所 | アドレスバス制御装置 |
US6526481B1 (en) | 1998-12-17 | 2003-02-25 | Massachusetts Institute Of Technology | Adaptive cache coherence protocols |
US6272602B1 (en) | 1999-03-08 | 2001-08-07 | Sun Microsystems, Inc. | Multiprocessing system employing pending tags to maintain cache coherence |
US6549996B1 (en) | 1999-07-02 | 2003-04-15 | Oracle Corporation | Scalable multiple address space server |
US7162612B2 (en) * | 2000-08-16 | 2007-01-09 | Ip-First, Llc | Mechanism in a microprocessor for executing native instructions directly from memory |
US6490668B2 (en) | 2000-12-15 | 2002-12-03 | Hewlett-Packard Company | System and method for dynamically moving checksums to different memory locations |
US7035963B2 (en) | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US6499085B2 (en) | 2000-12-29 | 2002-12-24 | Intel Corporation | Method and system for servicing cache line in response to partial cache line request |
US20030005219A1 (en) | 2001-06-29 | 2003-01-02 | Royer Robert J. | Partitioning cache metadata state |
US7272622B2 (en) * | 2001-10-29 | 2007-09-18 | Intel Corporation | Method and apparatus for parallel shift right merge of data |
US7032125B2 (en) | 2002-04-25 | 2006-04-18 | Lsi Logic Corporation | Method for loosely coupling metadata and data in a storage array |
US7003631B2 (en) | 2002-05-15 | 2006-02-21 | Broadcom Corporation | System having address-based intranode coherency and data-based internode coherency |
US7062610B2 (en) | 2002-09-30 | 2006-06-13 | Advanced Micro Devices, Inc. | Method and apparatus for reducing overhead in a data processing system with a cache |
FR2859307A1 (fr) | 2003-08-27 | 2005-03-04 | St Microelectronics Sa | Memoire cache a lecture asynchrone et dispositif de controle de l'acces a une memoire de donnees comprenant une telle memoire cache |
US20050091459A1 (en) | 2003-10-23 | 2005-04-28 | Nhon Quach | Flexible mechanism for enforcing coherency among caching structures |
US8407433B2 (en) * | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
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 |
DE602004011689T2 (de) * | 2004-04-14 | 2009-02-05 | Telecom Italia S.P.A. | Verfahren und System zur Handhabung der Übermittlung von Inhalten in Kommunikationsnetzen |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7243200B2 (en) * | 2004-07-15 | 2007-07-10 | International Business Machines Corporation | Establishing command order in an out of order DMA command queue |
JP4431022B2 (ja) | 2004-10-18 | 2010-03-10 | 株式会社日立製作所 | コンピュータシステム及びその制御方法 |
US7337280B2 (en) * | 2005-02-10 | 2008-02-26 | International Business Machines Corporation | Data processing system and method for efficient L3 cache directory management |
KR100704037B1 (ko) | 2005-04-15 | 2007-04-04 | 삼성전자주식회사 | 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법 |
US20060236039A1 (en) * | 2005-04-19 | 2006-10-19 | International Business Machines Corporation | Method and apparatus for synchronizing shared data between components in a group |
US7568070B2 (en) * | 2005-07-29 | 2009-07-28 | Qualcomm Incorporated | Instruction cache having fixed number of variable length instructions |
US7533215B2 (en) | 2005-09-15 | 2009-05-12 | Intel Corporation | Distributed and packed metadata structure for disk cache |
US8225297B2 (en) | 2005-12-07 | 2012-07-17 | Microsoft Corporation | Cache metadata identifiers for isolation and sharing |
US8001538B2 (en) | 2005-12-07 | 2011-08-16 | Microsoft Corporation | Software accessible cache metadata |
US8683143B2 (en) * | 2005-12-30 | 2014-03-25 | Intel Corporation | Unbounded transactional memory systems |
US8180967B2 (en) | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory virtualization |
US7949794B2 (en) * | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US7783805B2 (en) * | 2006-11-29 | 2010-08-24 | Cisco Technology, Inc. | Interlocking input/outputs on a virtual logic unit number |
US8060482B2 (en) * | 2006-12-28 | 2011-11-15 | Intel Corporation | Efficient and consistent software transactional memory |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7917701B2 (en) * | 2007-03-12 | 2011-03-29 | Arm Limited | Cache circuitry, data processing apparatus and method for prefetching data by selecting one of a first prefetch linefill operation and a second prefetch linefill operation |
US8751859B2 (en) | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Monitoring lost data in a storage system |
US20080307169A1 (en) | 2007-06-06 | 2008-12-11 | Duane Arlyn Averill | Method, Apparatus, System and Program Product Supporting Improved Access Latency for a Sectored Directory |
US8195832B2 (en) | 2007-12-12 | 2012-06-05 | Alcatel Lucent | Facilitating management of layer 2 hardware address table based on packet priority information |
US8108619B2 (en) * | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
US20100122073A1 (en) | 2008-11-10 | 2010-05-13 | Ravi Narayanaswamy | Handling exceptions in software transactional memory systems |
US8370577B2 (en) | 2009-06-26 | 2013-02-05 | Microsoft Corporation | Metaphysically addressed cache metadata |
-
2008
- 2008-12-30 US US12/346,530 patent/US8627017B2/en not_active Expired - Fee Related
-
2009
- 2009-12-15 KR KR1020117007693A patent/KR101394741B1/ko active IP Right Grant
- 2009-12-15 JP JP2011542330A patent/JP5462883B2/ja not_active Expired - Fee Related
- 2009-12-15 WO PCT/US2009/068004 patent/WO2010077850A2/en active Application Filing
- 2009-12-17 TW TW098143376A patent/TWI448897B/zh not_active IP Right Cessation
- 2009-12-25 CN CN2009110002820A patent/CN101814018B/zh not_active Expired - Fee Related
-
2012
- 2012-01-20 US US13/355,302 patent/US8688917B2/en not_active Expired - Fee Related
-
2014
- 2014-01-17 JP JP2014006856A patent/JP6040176B2/ja not_active Expired - Fee Related
-
2016
- 2016-11-07 JP JP2016217481A patent/JP6342970B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006518077A (ja) * | 2003-02-13 | 2006-08-03 | サン・マイクロシステムズ・インコーポレイテッド | 臨界領域を投機的に実行することによりロックを回避するための方法および装置 |
JP2008515055A (ja) * | 2004-09-30 | 2008-05-08 | インテル・コーポレーション | トランザクショナルなメモリアクセスのハイブリッドハードウェア・ソフトウェア実現のための方法及び装置 |
WO2007115003A1 (en) * | 2006-03-30 | 2007-10-11 | Intel Corporation | Transactional memory in out-of-order processors |
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
US20080104332A1 (en) * | 2006-10-31 | 2008-05-01 | Gaither Blaine D | Cache memory system and method for providing transactional memory |
US20080148262A1 (en) * | 2006-12-15 | 2008-06-19 | David Dice | Method and apparatus for executing a long transaction |
JP6040176B2 (ja) * | 2008-12-30 | 2016-12-07 | インテル・コーポレーション | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 |
Also Published As
Publication number | Publication date |
---|---|
JP6342970B2 (ja) | 2018-06-13 |
US20120117334A1 (en) | 2012-05-10 |
CN101814018B (zh) | 2013-11-06 |
JP2014112406A (ja) | 2014-06-19 |
JP2012513067A (ja) | 2012-06-07 |
JP6040176B2 (ja) | 2016-12-07 |
JP5462883B2 (ja) | 2014-04-02 |
TW201037525A (en) | 2010-10-16 |
KR101394741B1 (ko) | 2014-05-15 |
CN101814018A (zh) | 2010-08-25 |
WO2010077850A2 (en) | 2010-07-08 |
US8688917B2 (en) | 2014-04-01 |
TWI448897B (zh) | 2014-08-11 |
WO2010077850A3 (en) | 2010-08-26 |
US20100169579A1 (en) | 2010-07-01 |
KR20120008483A (ko) | 2012-01-30 |
US8627017B2 (en) | 2014-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6342970B2 (ja) | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 | |
JP5860450B2 (ja) | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 | |
JP5944417B2 (ja) | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 | |
KR101025354B1 (ko) | 가상 트랜잭션 메모리를 위한 글로벌 오버플로우 방법 | |
JP5416223B2 (ja) | トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル | |
JP5608738B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
US8612950B2 (en) | Dynamic optimization for removal of strong atomicity barriers | |
JP5451776B2 (ja) | ハードウェアフィールドにロッシーなメタデータを保持するためのメタフィジカルアドレス空間 | |
US9280397B2 (en) | Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata | |
JP6023765B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
JP6318440B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20171003 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20171228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180403 |
|
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: 20180417 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180517 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6342970 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |