JP6113705B2 - ロック命令を実行するためのプロセッサ及び装置 - Google Patents
ロック命令を実行するためのプロセッサ及び装置 Download PDFInfo
- Publication number
- JP6113705B2 JP6113705B2 JP2014255908A JP2014255908A JP6113705B2 JP 6113705 B2 JP6113705 B2 JP 6113705B2 JP 2014255908 A JP2014255908 A JP 2014255908A JP 2014255908 A JP2014255908 A JP 2014255908A JP 6113705 B2 JP6113705 B2 JP 6113705B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- load
- instruction
- micro
- microinstruction
- 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
- 239000000872 buffer Substances 0.000 claims description 23
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000011010 flushing procedure Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 58
- 238000000034 method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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
- 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; 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
(付記1)
ロック命令が競合するかに関する予測を発生する予測手段と、
前記予測が前記ロック命令が競合しないことを示すとき、前記ロック命令に対応するload_with_lockマイクロ動作を有するマイクロ動作のセットを投機的に発生するスケジュール手段と、
投機的に発生されたload_with_lockマイクロ動作がリタイアとなる準備がされたとき、store_unlockマイクロ動作を発生する手段と、
前記store_unlockマイクロ動作がリタイアとなる準備がされたとき、前記投機的に発生されたload_with_lockマイクロ動作をリタイアさせる手段と、
競合することの示唆が生じたかを判定するモニタ手段と、前記競合することの示唆は、unlockマイクロ動作によるストア動作についてキャッシュミスが生じたときに生じ、
前記モニタ手段が前記競合することの示唆が生じたことを判定したとき、前記ロック命令の実行を再開し、ストアバッファに存在する全てのリタイアされていない命令について前記ストアバッファがフラッシュされた後に前記ロック命令の実行を非投機的に継続する実行手段と、
を有することを特徴とするアウト・オブ・オーダ実行プロセッサ。
(付記2)
前記競合することの示唆は割り込みである、
付記1記載のプロセッサ。
(付記3)
前記モニタ手段は、前記unlockマイクロ動作によるストア動作が最も古いリタイアされていないstoreマイクロ動作となる前に、前記競合することの示唆を判定する、
付記1記載のプロセッサ。
(付記4)
前記モニタ手段は、前記unlockマイクロ動作によるストア動作の結果がグローバルに観察可能になる前に、前記競合することの示唆を判定する、
付記1記載のプロセッサ。
(付記5)
前記ロック命令を前記load_without_lockマイクロ動作にデコードするデコーダを更に有する、
付記1記載のプロセッサ。
(付記6)
アウト・オブ・オーダ実行プロセッサでロック命令を実行する方法であって、
当該方法は、
ロック命令が競合するかに関して予測手段が予測するステップと、
前記予測が前記ロック命令が競合しないことを示すとき、前記ロック命令に対応するload_with_lockマイクロ動作を有するマイクロ動作のセットをスケジュール手段が投機的に発生するステップと、
投機的に発生されたload_with_lockマイクロ動作がリタイアとなる準備がされたとき、store_unlockマイクロ動作を発生手段が発生するステップと、
前記store_unlockマイクロ動作がリタイアとなる準備がされたとき、前記投機的に発生されたload_with_lockマイクロ動作をリタイア手段がリタイアさせるステップと、
競合することの示唆をモニタ手段によりモニタするステップと、前記競合することの示唆は、unlockマイクロ動作によるストア動作についてキャッシュミスが生じたときに生じ、
前記競合することの示唆が生じたことを前記モニタ手段が検出したとき、実行手段が、前記ロック命令の実行を再開し、ストアバッファに存在する全てのリタイアされていない命令について前記ストアバッファがフラッシュされた後に前記ロック命令の実行を非投機的に継続するステップと、
を含むことを特徴とする方法。
(付記7)
前記競合することの示唆は割り込みである、
付記6記載の方法。
(付記8)
前記発生するステップは、load_without_lockマイクロ動作をバッファから送出するステップを含む、
付記6記載の方法。
(付記9)
前記load_without_lockマイクロ動作は、load_with_lockマイクロ動作として前記バッファに記憶される、
付記8記載の方法。
(付記10)
前記発生するステップは、前記ロック命令からの前記load_without_lockマイクロ命令をデコードするステップを含む、
付記9記載の方法。
(付記11)
アウト・オブ・オーダ実行プロセッサでロック命令を実行する装置であって、
当該装置は、
ロック命令が競合するかを予測する手段と、
前記予測手段が前記ロック命令が競合しないことを予測したとき、前記ロック命令に対応するload_with_lockマイクロ動作を発生する手段と、
投機的に発生されたload_with_lockマイクロ動作がリタイアとなる準備がされたとき、store_unlockマイクロ動作を発生する手段と、
前記store_unlockマイクロ動作がリタイアとなる準備がされたとき、前記投機的に発生されたload_with_lockマイクロ動作をリタイアさせる手段と、
競合することの示唆をモニタする手段と、前記競合することの示唆は、unlockマイクロ動作によるストア動作についてキャッシュミスが生じたときに生じ、
前記モニタ手段が前記競合することの示唆を検出したとき、前記ロック命令の実行を再開し、ストアバッファに存在する全てのリタイアされていない命令について前記ストアバッファがフラッシュされた後に前記ロック命令の実行を非投機的に継続する手段と、
を備えることを特徴とする装置。
(付記12)
前記発生手段は、バッファからload_without_lockマイクロ動作を送出する手段を含む、
付記11記載の装置。
(付記13)
前記load_without_lockマイクロ動作は、前記バッファに前記load_with_lockマイクロ動作として記憶される、
付記12記載の装置。
(付記14)
前記発生手段は、前記ロック命令から前記load_without_lockマイクロ動作をデコードする手段を含む、
付記13記載の装置。
Claims (8)
- プログラムに含まれる複数の命令がデコードされる場合に生じる複数のマイクロ命令を発行し、発行された複数のマイクロ命令をアウトオブオーダに実行するプロセッサであって、
ロック命令が競合するか否かの予測を行う予測手段と、
前記ロック命令は競合しないことを前記予測が示す場合、前記ロック命令を、load_without_lockマイクロ命令及びstore_unlockマイクロ命令を含む一群のマイクロ命令にデコードする命令デコード手段と、
前記ロック命令は競合しないことを前記予測が示す場合には、前記ロック命令に対応するload_without_lockマイクロ命令を有する一群のマイクロ命令を投機的に発行し、そうでない場合には、前記ロック命令に対応するload_with_lockマイクロ命令を有する一群のマイクロ命令を非投機的に発行するスケジューラ手段と、
投機的に発行された前記load_without_lockマイクロ命令がリタイアにされる準備が整った場合に、前記store_unlockマイクロ命令を発行する手段と、
前記store_unlockマイクロ命令がリタイアにされる準備が整った場合に、投機的に発行された前記load_without_lockマイクロ命令をリタイアにする手段と、
競合が生じたか否かを判断するモニタ手段であって、store_unlockマイクロ命令についてキャッシュミスが生じた場合に、前記競合が生じる、モニタ手段と
を有し、前記モニタ手段が競合の発生を確認した場合に、前記命令デコード手段は、前記ロック命令を、load_with_lockマイクロ命令を有する一群のマイクロ命令にデコードし、当該プロセッサは、load_with_lockマイクロ命令を有する一群のマイクロ命令を利用して前記ロック命令を非投機的に再実行し、load_with_lockマイクロ命令を有する一群のマイクロ命令はトレースキャッシュで新たなトレースとして構成される、プロセッサ。 - 割り込みに応じて、前記競合が生じたと判断する、請求項1に記載のプロセッサ。
- 前記store_unlockマイクロ命令が最も古いリタイアでないstore_unlockマイクロ命令になる前に、前記モニタ手段が前記競合が生じたか否かを判定する、請求項1に記載のプロセッサ。
- 前記store_unlockマイクロ命令の結果がグローバルに観測可能になる前に、前記モニタ手段が前記競合が生じたか否かを判断する、請求項1に記載のプロセッサ。
- 前記ロック命令をload_without_lockマイクロ命令にデコードするデコーダを更に有する請求項1に記載のプロセッサ。
- アウトオブオーダプロセッサにおいてロック命令を実行するための装置であって、
ロック命令が競合するか否かの予測を行う予測器と、
前記ロック命令は競合しないことを前記予測が示す場合、前記ロック命令を、load_without_lockマイクロ命令及びstore_unlockマイクロ命令を含む一群のマイクロ命令にデコードするデコーダと、
前記ロック命令は競合しないことを前記予測が示す場合には、前記ロック命令に対応するload_without_lockマイクロ命令を有する一群のマイクロ命令を投機的に発行し、そうでない場合には、前記ロック命令に対応するload_with_lockマイクロ命令を有する一群のマイクロ命令を非投機的に発行するスケジューラであって、投機的に発行された前記load_without_lockマイクロ命令がリタイアにされる準備が整った場合に、前記store_unlockマイクロ命令を発行する、スケジューラと、
前記store_unlockマイクロ命令がリタイアにされる準備が整った場合に、投機的に発行された前記load_without_lockマイクロ命令をリタイアにするリタイア論理部と、
競合が生じたか否かを監視するモニタ論理部であって、store_unlockマイクロ命令についてキャッシュミスが生じた場合に、前記競合の発生を検出するモニタ論理部と
ロック命令を実行する実行論理部と
を有し、前記モニタ論理部が競合の発生を検出した場合に、前記デコーダは、前記ロック命令を、前記ロック命令に対応するload_with_lockマイクロ命令を有する一群のマイクロ命令にデコードし、前記アウトオブオーダプロセッサのトレースキャッシュ内に新たなトレースを生成し、
前記モニタ論理部が競合の発生を検出した場合に、前記実行論理部は、ストアバッファから全てのペンディングにされているものをフラッシュした後に、非投機的に前記ロック命令を実行する、装置。 - 前記スケジューラが、load_without_lockマイクロ命令をバッファから送り出す手段を含む、請求項6に記載の装置。
- 前記スケジューラは、前記ロック命令に対応する前記load_without_lockマイクロ命令を発行する手段を含む、請求項7に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/883,519 US7529914B2 (en) | 2004-06-30 | 2004-06-30 | Method and apparatus for speculative execution of uncontended lock instructions |
US10/883,519 | 2004-06-30 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011102812A Division JP2011175669A (ja) | 2004-06-30 | 2011-05-02 | 競合しないロック命令の投機実行のための方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015072717A JP2015072717A (ja) | 2015-04-16 |
JP6113705B2 true JP6113705B2 (ja) | 2017-04-12 |
Family
ID=35427811
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007518188A Pending JP2008504603A (ja) | 2004-06-30 | 2005-06-17 | 競合しないロック命令の投機実行のための方法及び装置 |
JP2011102812A Pending JP2011175669A (ja) | 2004-06-30 | 2011-05-02 | 競合しないロック命令の投機実行のための方法及び装置 |
JP2014255908A Expired - Fee Related JP6113705B2 (ja) | 2004-06-30 | 2014-12-18 | ロック命令を実行するためのプロセッサ及び装置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007518188A Pending JP2008504603A (ja) | 2004-06-30 | 2005-06-17 | 競合しないロック命令の投機実行のための方法及び装置 |
JP2011102812A Pending JP2011175669A (ja) | 2004-06-30 | 2011-05-02 | 競合しないロック命令の投機実行のための方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7529914B2 (ja) |
JP (3) | JP2008504603A (ja) |
CN (2) | CN100593154C (ja) |
DE (1) | DE112005001515T5 (ja) |
WO (1) | WO2006012103A2 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607241B2 (en) * | 2004-06-30 | 2013-12-10 | Intel Corporation | Compare and exchange operation using sleep-wakeup mechanism |
US7529914B2 (en) * | 2004-06-30 | 2009-05-05 | Intel Corporation | Method and apparatus for speculative execution of uncontended lock instructions |
US7984248B2 (en) * | 2004-12-29 | 2011-07-19 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
US7516310B2 (en) * | 2006-06-08 | 2009-04-07 | International Business Machines Corporation | Method to reduce the number of times in-flight loads are searched by store instructions in a multi-threaded processor |
US8190859B2 (en) | 2006-11-13 | 2012-05-29 | Intel Corporation | Critical section detection and prediction mechanism for hardware lock elision |
US7899663B2 (en) * | 2007-03-30 | 2011-03-01 | International Business Machines Corporation | Providing memory consistency in an emulated processing environment |
US20090164758A1 (en) * | 2007-12-20 | 2009-06-25 | Haertel Michael J | System and Method for Performing Locked Operations |
US8069340B2 (en) * | 2008-02-08 | 2011-11-29 | Via Technologies, Inc. | Microprocessor with microarchitecture for efficiently executing read/modify/write memory operand instructions |
US8195896B2 (en) * | 2008-06-10 | 2012-06-05 | International Business Machines Corporation | Resource sharing techniques in a parallel processing computing system utilizing locks by replicating or shadowing execution contexts |
US8195921B2 (en) * | 2008-07-09 | 2012-06-05 | Oracle America, Inc. | Method and apparatus for decoding multithreaded instructions of a microprocessor |
US9418005B2 (en) | 2008-07-15 | 2016-08-16 | International Business Machines Corporation | Managing garbage collection in a data processing system |
US20100017583A1 (en) * | 2008-07-15 | 2010-01-21 | International Business Machines Corporation | Call Stack Sampling for a Multi-Processor System |
US8533436B2 (en) * | 2009-06-26 | 2013-09-10 | Intel Corporation | Adaptively handling remote atomic execution based upon contention prediction |
US8850164B2 (en) | 2010-04-27 | 2014-09-30 | Via Technologies, Inc. | Microprocessor that fuses MOV/ALU/JCC instructions |
US8856496B2 (en) | 2010-04-27 | 2014-10-07 | Via Technologies, Inc. | Microprocessor that fuses load-alu-store and JCC macroinstructions |
US9176783B2 (en) | 2010-05-24 | 2015-11-03 | International Business Machines Corporation | Idle transitions sampling with execution context |
US8843684B2 (en) | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
US8799872B2 (en) | 2010-06-27 | 2014-08-05 | International Business Machines Corporation | Sampling with sample pacing |
US8799904B2 (en) | 2011-01-21 | 2014-08-05 | International Business Machines Corporation | Scalable system call stack sampling |
JP2012198803A (ja) * | 2011-03-22 | 2012-10-18 | Fujitsu Ltd | 演算処理装置及び演算処理方法 |
US9892063B2 (en) * | 2012-11-27 | 2018-02-13 | Advanced Micro Devices, Inc. | Contention blocking buffer |
US9483266B2 (en) | 2013-03-15 | 2016-11-01 | Intel Corporation | Fusible instructions and logic to provide OR-test and AND-test functionality using multiple test sources |
US9886277B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Methods and apparatus for fusing instructions to provide OR-test and AND-test functionality on multiple test sources |
CN105683906B (zh) * | 2013-10-14 | 2018-11-23 | 国际商业机器公司 | 用于利用锁省略和锁定的选择进行数据共享的自适应处理 |
US9471397B2 (en) | 2014-10-03 | 2016-10-18 | International Business Machines Corporation | Global lock contention predictor |
CN106897306B (zh) * | 2015-12-21 | 2019-04-30 | 阿里巴巴集团控股有限公司 | 数据库操作方法及装置 |
US10095637B2 (en) * | 2016-09-15 | 2018-10-09 | Advanced Micro Devices, Inc. | Speculative retirement of post-lock instructions |
US11868818B2 (en) * | 2016-09-22 | 2024-01-09 | Advanced Micro Devices, Inc. | Lock address contention predictor |
TWI725110B (zh) * | 2017-01-19 | 2021-04-21 | 香港商阿里巴巴集團服務有限公司 | 資料庫操作方法及裝置 |
US10585800B2 (en) * | 2017-06-16 | 2020-03-10 | International Business Machines Corporation | Reducing cache transfer overhead in a system |
CN107301072B (zh) * | 2017-06-22 | 2021-03-23 | 苏州浪潮智能科技有限公司 | 一种升级文件的自动加载方法及装置 |
GB2567190B (en) * | 2017-10-05 | 2020-02-26 | Advanced Risc Mach Ltd | Error recovery for intra-core lockstep mode |
US11392380B2 (en) | 2019-12-28 | 2022-07-19 | Intel Corporation | Apparatuses, methods, and systems to precisely monitor memory store accesses |
US11119767B1 (en) | 2020-06-19 | 2021-09-14 | Apple Inc. | Atomic operation predictor to predict if an atomic operation will successfully complete and a store queue to selectively forward data based on the predictor |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS626366A (ja) * | 1985-07-03 | 1987-01-13 | Hitachi Ltd | 記憶制御方式 |
JPH01119849A (ja) * | 1987-11-04 | 1989-05-11 | Hitachi Ltd | 多重プロセッサシステム |
JPH04182831A (ja) * | 1990-11-19 | 1992-06-30 | Hitachi Ltd | 情報処理装置及び情報処理方法 |
US6003129A (en) * | 1996-08-19 | 1999-12-14 | Samsung Electronics Company, Ltd. | System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture |
US6665792B1 (en) * | 1996-11-13 | 2003-12-16 | Intel Corporation | Interface to a memory system for a processor having a replay system |
JPH10333973A (ja) * | 1997-05-27 | 1998-12-18 | Kofu Nippon Denki Kk | 排他制御装置とデータ処理システム |
US6463522B1 (en) * | 1997-12-16 | 2002-10-08 | Intel Corporation | Memory system for ordering load and store instructions in a processor that performs multithread execution |
US6282637B1 (en) | 1998-12-02 | 2001-08-28 | Sun Microsystems, Inc. | Partially executing a pending atomic instruction to unlock resources when cancellation of the instruction occurs |
US6615340B1 (en) * | 2000-03-22 | 2003-09-02 | Wilmot, Ii Richard Byron | Extended operand management indicator structure and method |
US7856633B1 (en) | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
JP2002007371A (ja) * | 2000-06-23 | 2002-01-11 | Hitachi Ltd | L1キャッシュフォールスシェア緩和制御方式 |
US6463511B2 (en) * | 2000-12-29 | 2002-10-08 | Intel Corporation | System and method for high performance execution of locked memory instructions in a system with distributed memory and a restrictive memory model |
US20030145136A1 (en) * | 2002-01-31 | 2003-07-31 | Tierney Gregory E. | Method and apparatus for implementing a relaxed ordering model in a computer system |
US20040111593A1 (en) * | 2002-12-05 | 2004-06-10 | International Business Machines Corporation | Interrupt handler prediction method and system |
US7529914B2 (en) * | 2004-06-30 | 2009-05-05 | Intel Corporation | Method and apparatus for speculative execution of uncontended lock instructions |
-
2004
- 2004-06-30 US US10/883,519 patent/US7529914B2/en not_active Expired - Fee Related
-
2005
- 2005-06-17 CN CN200580021048A patent/CN100593154C/zh not_active Expired - Fee Related
- 2005-06-17 CN CN201010003959.2A patent/CN101847091B/zh not_active Expired - Fee Related
- 2005-06-17 JP JP2007518188A patent/JP2008504603A/ja active Pending
- 2005-06-17 WO PCT/US2005/021838 patent/WO2006012103A2/en active Application Filing
- 2005-06-17 DE DE112005001515T patent/DE112005001515T5/de not_active Withdrawn
-
2011
- 2011-05-02 JP JP2011102812A patent/JP2011175669A/ja active Pending
-
2014
- 2014-12-18 JP JP2014255908A patent/JP6113705B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE112005001515T5 (de) | 2007-05-10 |
CN101847091A (zh) | 2010-09-29 |
JP2008504603A (ja) | 2008-02-14 |
US7529914B2 (en) | 2009-05-05 |
US20060004998A1 (en) | 2006-01-05 |
CN101847091B (zh) | 2014-03-19 |
WO2006012103A2 (en) | 2006-02-02 |
WO2006012103A3 (en) | 2006-04-13 |
JP2011175669A (ja) | 2011-09-08 |
CN100593154C (zh) | 2010-03-03 |
CN1973261A (zh) | 2007-05-30 |
JP2015072717A (ja) | 2015-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6113705B2 (ja) | ロック命令を実行するためのプロセッサ及び装置 | |
JP5118652B2 (ja) | アウトオブオーダープロセッサにおけるトランザクショナルメモリ | |
US8301849B2 (en) | Transactional memory in out-of-order processors with XABORT having immediate argument | |
US6463511B2 (en) | System and method for high performance execution of locked memory instructions in a system with distributed memory and a restrictive memory model | |
JP5255614B2 (ja) | マルチプロセッサ環境におけるトランザクションベースの共有データオペレーション | |
US8332619B2 (en) | Primitives to enhance thread-level speculation | |
US7870369B1 (en) | Abort prioritization in a trace-based processor | |
US7721076B2 (en) | Tracking an oldest processor event using information stored in a register and queue entry | |
US7849293B2 (en) | Method and structure for low latency load-tagged pointer instruction for computer microarchitechture | |
JP2002508564A (ja) | 実行パイプラインの外部に複数のプログラム・カウンタとトレース・バッファを有するプロセッサ | |
US20040123078A1 (en) | Method and apparatus for processing a load-lock instruction using a scoreboard mechanism | |
EP3588280B1 (en) | Handling load-exclusive instructions in apparatus having support for transactional memory | |
US11663014B2 (en) | Speculatively executing instructions that follow a status updating instruction | |
US7783863B1 (en) | Graceful degradation in a trace-based processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150929 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20151224 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160126 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160809 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20161104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170208 |
|
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: 20170214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170315 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6113705 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 |
|
LAPS | Cancellation because of no payment of annual fees |