TWI285332B - Operating method, processor, multiple-processor system, and machine-readable medium for performing compare and exchange instruction using sleep-wakeup mechanism - Google Patents
Operating method, processor, multiple-processor system, and machine-readable medium for performing compare and exchange instruction using sleep-wakeup mechanism Download PDFInfo
- Publication number
- TWI285332B TWI285332B TW094119878A TW94119878A TWI285332B TW I285332 B TWI285332 B TW I285332B TW 094119878 A TW094119878 A TW 094119878A TW 94119878 A TW94119878 A TW 94119878A TW I285332 B TWI285332 B TW I285332B
- Authority
- TW
- Taiwan
- Prior art keywords
- lock
- processor
- instruction
- sleep
- instructions
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/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 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/521—Atomic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
- Memory System (AREA)
- Hardware Redundancy (AREA)
- Exchange Systems With Centralized Control (AREA)
- Advance Control (AREA)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/880,638 US8607241B2 (en) | 2004-06-30 | 2004-06-30 | Compare and exchange operation using sleep-wakeup mechanism |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200614075A TW200614075A (en) | 2006-05-01 |
| TWI285332B true TWI285332B (en) | 2007-08-11 |
Family
ID=34941754
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW094119878A TWI285332B (en) | 2004-06-30 | 2005-06-15 | Operating method, processor, multiple-processor system, and machine-readable medium for performing compare and exchange instruction using sleep-wakeup mechanism |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US8607241B2 (enExample) |
| EP (1) | EP1612661A3 (enExample) |
| JP (2) | JP2006031691A (enExample) |
| KR (1) | KR100829638B1 (enExample) |
| CN (1) | CN100407136C (enExample) |
| TW (1) | TWI285332B (enExample) |
Families Citing this family (70)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8099538B2 (en) * | 2006-03-29 | 2012-01-17 | Intel Corporation | Increasing functionality of a reader-writer lock |
| US20070271450A1 (en) * | 2006-05-17 | 2007-11-22 | Doshi Kshitij A | Method and system for enhanced thread synchronization and coordination |
| US8468526B2 (en) * | 2006-06-30 | 2013-06-18 | Intel Corporation | Concurrent thread execution using user-level asynchronous signaling |
| KR101205323B1 (ko) * | 2006-09-28 | 2012-11-27 | 삼성전자주식회사 | 리텐션 입/출력 장치를 이용하여 슬립모드를 구현하는시스템 온 칩 |
| US20100241812A1 (en) * | 2007-10-18 | 2010-09-23 | Nxp B.V. | Data processing system with a plurality of processors, cache circuits and a shared memory |
| US8316218B2 (en) * | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
| US8127080B2 (en) | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
| US8516484B2 (en) | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
| US8880853B2 (en) * | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
| US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
| US8225120B2 (en) | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
| US8640141B2 (en) * | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
| US8732683B2 (en) | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
| US8452947B2 (en) * | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
| US8250396B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
| US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
| US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
| US8171476B2 (en) | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
| US8612977B2 (en) * | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
| US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
| US8145849B2 (en) * | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
| US8312458B2 (en) | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
| US8015379B2 (en) * | 2008-02-01 | 2011-09-06 | International Business Machines Corporation | Wake-and-go mechanism with exclusive system bus response |
| US8145931B2 (en) * | 2008-05-27 | 2012-03-27 | Sharp Laboratories Of America, Inc. | Imaging device with adaptive power saving behavior and method for use thereon |
| US8555292B2 (en) * | 2008-06-27 | 2013-10-08 | Microsoft Corporation | Synchronizing communication over shared memory |
| EP2144163A1 (en) * | 2008-07-09 | 2010-01-13 | Software AG | Method and system for synchronizing the execution of a critical code section |
| US7792916B2 (en) * | 2008-10-20 | 2010-09-07 | International Business Machines Corporation | Management of cluster-wide resources with shared variables |
| US20100146169A1 (en) * | 2008-12-05 | 2010-06-10 | Nuvoton Technology Corporation | Bus-handling |
| US8082315B2 (en) * | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
| US8230201B2 (en) * | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
| US8886919B2 (en) | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
| US8145723B2 (en) * | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
| US8156275B2 (en) * | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
| US8266383B1 (en) * | 2009-09-28 | 2012-09-11 | Nvidia Corporation | Cache miss processing using a defer/replay mechanism |
| US8464035B2 (en) * | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
| US8601242B2 (en) * | 2009-12-18 | 2013-12-03 | Intel Corporation | Adaptive optimized compare-exchange operation |
| US8996845B2 (en) * | 2009-12-22 | 2015-03-31 | Intel Corporation | Vector compare-and-exchange operation |
| US8516577B2 (en) * | 2010-09-22 | 2013-08-20 | Intel Corporation | Regulating atomic memory operations to prevent denial of service attack |
| US8732496B2 (en) * | 2011-03-24 | 2014-05-20 | Nvidia Corporation | Method and apparatus to support a self-refreshing display device coupled to a graphics controller |
| JP5819184B2 (ja) | 2011-12-28 | 2015-11-18 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
| CN107220032B (zh) | 2012-06-15 | 2020-12-15 | 英特尔公司 | 无消歧乱序加载存储队列 |
| KR101826399B1 (ko) | 2012-06-15 | 2018-02-06 | 인텔 코포레이션 | Load store 재정렬 및 최적화를 구현하는 명령어 정의 |
| CN104583957B (zh) | 2012-06-15 | 2018-08-10 | 英特尔公司 | 具有无消歧乱序加载存储队列的重新排序的推测性指令序列 |
| KR20170102576A (ko) | 2012-06-15 | 2017-09-11 | 인텔 코포레이션 | 분산된 구조를 갖는 동적 디스패치 윈도우를 가지는 가상 load store 큐 |
| EP2862058B1 (en) * | 2012-06-15 | 2021-05-19 | Intel Corporation | A semaphore method and system with out of order loads in a memory consistency model that constitutes loads reading from memory in order |
| KR101667167B1 (ko) | 2012-06-15 | 2016-10-17 | 소프트 머신즈, 인크. | Load store 재정렬 및 최적화로부터 생기는 투기적 포워딩 예측 착오/오류로부터의 복원을 구현하는 방법 및 시스템 |
| CN107748673B (zh) | 2012-06-15 | 2022-03-25 | 英特尔公司 | 包括虚拟加载存储队列的处理器和系统 |
| US8719504B2 (en) * | 2012-09-14 | 2014-05-06 | International Business Machines Corporation | Efficient processing of cache segment waiters |
| EP2904765B1 (en) * | 2012-10-04 | 2019-05-08 | Qualcomm Incorporated | Method and apparatus using high-efficiency atomic operations |
| CN103885824B (zh) * | 2012-12-21 | 2017-06-20 | 华为技术有限公司 | 接口控制电路、设备和标识切换方法 |
| TWI573015B (zh) | 2013-06-19 | 2017-03-01 | 祥碩科技股份有限公司 | 防超時方法及資料處理系統 |
| US9465432B2 (en) * | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
| GB2520603B (en) * | 2013-09-26 | 2016-04-06 | Imagination Tech Ltd | Atomic memory update unit and methods |
| US11257271B2 (en) | 2013-09-26 | 2022-02-22 | Imagination Technologies Limited | Atomic memory update unit and methods |
| US9466091B2 (en) | 2013-09-26 | 2016-10-11 | Imagination Technologies Limited | Atomic memory update unit and methods |
| US9817703B1 (en) * | 2013-12-04 | 2017-11-14 | Amazon Technologies, Inc. | Distributed lock management using conditional updates to a distributed key value data store |
| US9372500B2 (en) | 2014-02-27 | 2016-06-21 | Applied Micro Circuits Corporation | Generating a timeout signal based on a clock counter associated with a data request |
| US9558032B2 (en) | 2014-03-14 | 2017-01-31 | International Business Machines Corporation | Conditional instruction end operation |
| US10120681B2 (en) * | 2014-03-14 | 2018-11-06 | International Business Machines Corporation | Compare and delay instructions |
| US9454370B2 (en) * | 2014-03-14 | 2016-09-27 | International Business Machines Corporation | Conditional transaction end instruction |
| US10198274B2 (en) * | 2015-03-27 | 2019-02-05 | Intel Corporation | Technologies for improved hybrid sleep power management |
| US10191747B2 (en) * | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
| US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
| CN105068904A (zh) * | 2015-08-17 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种linux系统下自动计算内存理论带宽的方法 |
| US11216378B2 (en) * | 2016-09-19 | 2022-01-04 | Advanced Micro Devices, Inc. | Techniques for handling cache coherency traffic for contended semaphores |
| CN110825530B (zh) * | 2018-08-10 | 2022-12-23 | 昆仑芯(北京)科技有限公司 | 用于人工智能芯片的指令执行方法和装置 |
| US10901807B2 (en) | 2019-01-02 | 2021-01-26 | International Business Machines Corporation | Computer system with concurrency for multithreaded applications |
| US11105645B2 (en) * | 2019-05-28 | 2021-08-31 | Glazberg, Applebaum & co. | Navigation in vehicles and in autonomous cars |
| CN112130904B (zh) | 2020-09-22 | 2024-04-30 | 黑芝麻智能科技(上海)有限公司 | 处理系统、处理器间通信方法、以及共享资源管理方法 |
| JP7509021B2 (ja) * | 2020-12-14 | 2024-07-02 | トヨタ自動車株式会社 | 車載システム、車載システム制御方法、及び車載システム制御プログラム |
Family Cites Families (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5274809A (en) * | 1988-05-26 | 1993-12-28 | Hitachi, Ltd. | Task execution control method for a multiprocessor system with enhanced post/wait procedure |
| US5487156A (en) * | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
| JPH05225149A (ja) | 1992-02-13 | 1993-09-03 | Toshiba Corp | ロック方式 |
| JPH07319716A (ja) | 1994-05-23 | 1995-12-08 | Hitachi Ltd | 計算機システムの資源の排他制御方式 |
| JP3745800B2 (ja) | 1995-09-29 | 2006-02-15 | 富士通株式会社 | 共有資源の排他制御方式 |
| US5787026A (en) * | 1995-12-20 | 1998-07-28 | Intel Corporation | Method and apparatus for providing memory access in a processor pipeline |
| US6938263B2 (en) * | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
| US6237024B1 (en) | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
| US5860126A (en) * | 1996-12-17 | 1999-01-12 | Intel Corporation | Controlling shared memory access ordering in a multi-processing system using an acquire/release consistency model |
| US5889983A (en) * | 1997-01-21 | 1999-03-30 | Intel Corporation | Compare and exchange operation in a processing system |
| US5790851A (en) | 1997-04-15 | 1998-08-04 | Oracle Corporation | Method of sequencing lock call requests to an O/S to avoid spinlock contention within a multi-processor environment |
| US6112222A (en) | 1998-08-25 | 2000-08-29 | International Business Machines Corporation | Method for resource lock/unlock capability in multithreaded computer environment |
| US6223335B1 (en) * | 1998-12-09 | 2001-04-24 | Sun Microsystems, Inc. | Platform independent double compare and swap operation |
| JP2001084235A (ja) * | 1999-09-10 | 2001-03-30 | Nec Corp | ロック粒度統計情報を利用した排他制御方法及びプログラムを記録した機械読み取り可能な記録媒体 |
| US6493741B1 (en) | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
| US6473819B1 (en) * | 1999-12-17 | 2002-10-29 | International Business Machines Corporation | Scalable interruptible queue locks for shared-memory multiprocessor |
| US6886105B2 (en) * | 2000-02-14 | 2005-04-26 | Intel Corporation | Method and apparatus for resuming memory operations from a low latency wake-up low power state |
| US6615340B1 (en) * | 2000-03-22 | 2003-09-02 | Wilmot, Ii Richard Byron | Extended operand management indicator structure and method |
| US6502170B2 (en) * | 2000-12-15 | 2002-12-31 | Intel Corporation | Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes |
| JP3796124B2 (ja) * | 2001-03-07 | 2006-07-12 | 株式会社ルネサステクノロジ | スレッド間優先度可変プロセッサ |
| JP4253796B2 (ja) | 2001-11-08 | 2009-04-15 | 富士通株式会社 | コンピュータ及び制御方法 |
| US7127561B2 (en) * | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
| US7363474B2 (en) | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
| JP2004135875A (ja) | 2002-10-17 | 2004-05-13 | Konsho Ryu | 巻取り装置付き靴 |
| US7559060B2 (en) * | 2003-06-10 | 2009-07-07 | National Instruments Corporation | Time-bounded program execution |
| US7213093B2 (en) * | 2003-06-27 | 2007-05-01 | Intel Corporation | Queued locks using monitor-memory wait |
| EP1503309A1 (en) * | 2003-07-31 | 2005-02-02 | Deutsche Börse Ag | Data validity control in straight-through processing systems |
| JP2005225149A (ja) | 2004-02-16 | 2005-08-25 | Mitsubishi Paper Mills Ltd | インクジェット記録材料 |
| JP4376692B2 (ja) | 2004-04-30 | 2009-12-02 | 富士通株式会社 | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
| US7529914B2 (en) * | 2004-06-30 | 2009-05-05 | Intel Corporation | Method and apparatus for speculative execution of uncontended lock instructions |
| US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
| US7555630B2 (en) * | 2004-12-21 | 2009-06-30 | Intel Corporation | Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit |
| US8010969B2 (en) * | 2005-06-13 | 2011-08-30 | Intel Corporation | Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers |
| US7882339B2 (en) * | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
| US8099538B2 (en) | 2006-03-29 | 2012-01-17 | Intel Corporation | Increasing functionality of a reader-writer lock |
| JP4129532B2 (ja) | 2007-09-11 | 2008-08-06 | 株式会社高尾 | 弾球遊技機 |
| US7904696B2 (en) | 2007-09-14 | 2011-03-08 | Intel Corporation | Communication paths for enabling inter-sequencer communication following lock competition and accelerator registration |
| US8555016B2 (en) | 2008-12-17 | 2013-10-08 | Intel Corporation | Unified optimistic and pessimistic concurrency control for a software transactional memory (STM) system |
| US8316194B2 (en) | 2009-12-15 | 2012-11-20 | Intel Corporation | Mechanisms to accelerate transactions using buffered stores |
| US8479053B2 (en) | 2010-07-28 | 2013-07-02 | Intel Corporation | Processor with last branch record register storing transaction indicator |
| US8446903B1 (en) | 2012-05-22 | 2013-05-21 | Intel Corporation | Providing a load/store communication protocol with a low power physical unit |
-
2004
- 2004-06-30 US US10/880,638 patent/US8607241B2/en not_active Expired - Fee Related
-
2005
- 2005-06-15 TW TW094119878A patent/TWI285332B/zh not_active IP Right Cessation
- 2005-06-17 JP JP2005178287A patent/JP2006031691A/ja active Pending
- 2005-06-23 EP EP05253896A patent/EP1612661A3/en not_active Withdrawn
- 2005-06-28 KR KR1020050056393A patent/KR100829638B1/ko not_active Expired - Fee Related
- 2005-06-29 CN CN2005100798027A patent/CN100407136C/zh not_active Expired - Fee Related
-
2008
- 2008-12-19 JP JP2008324669A patent/JP5054665B2/ja not_active Expired - Fee Related
-
2013
- 2013-03-15 US US13/843,305 patent/US9733937B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| KR20060048630A (ko) | 2006-05-18 |
| KR100829638B1 (ko) | 2008-05-16 |
| TW200614075A (en) | 2006-05-01 |
| CN100407136C (zh) | 2008-07-30 |
| US8607241B2 (en) | 2013-12-10 |
| CN1716186A (zh) | 2006-01-04 |
| US20060005197A1 (en) | 2006-01-05 |
| JP5054665B2 (ja) | 2012-10-24 |
| US9733937B2 (en) | 2017-08-15 |
| JP2006031691A (ja) | 2006-02-02 |
| JP2009151793A (ja) | 2009-07-09 |
| EP1612661A3 (en) | 2007-09-19 |
| US20130232499A1 (en) | 2013-09-05 |
| EP1612661A2 (en) | 2006-01-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI285332B (en) | Operating method, processor, multiple-processor system, and machine-readable medium for performing compare and exchange instruction using sleep-wakeup mechanism | |
| JP4764430B2 (ja) | マルチプロセッサ環境におけるトランザクションベースの共有データオペレーション | |
| US8065499B2 (en) | Methods and apparatus to implement parallel transactions | |
| US7882339B2 (en) | Primitives to enhance thread-level speculation | |
| US8949583B1 (en) | Concurrent atomic execution | |
| AU2011305091B2 (en) | Apparatus, method, and system for dynamically optimizing code utilizing adjustable transaction sizes based on hardware limitations | |
| US8225120B2 (en) | Wake-and-go mechanism with data exclusivity | |
| US8190859B2 (en) | Critical section detection and prediction mechanism for hardware lock elision | |
| CN107003896B (zh) | 具有共享事务处理资源的装置和数据处理方法 | |
| JPH02224054A (ja) | コンピュータシステム、および多重プロセッサシステム最小単位動作の実行方法 | |
| US6986010B2 (en) | Cache lock mechanism with speculative allocation | |
| SG188993A1 (en) | Apparatus, method, and system for providing a decision mechanism for conditional commits in an atomic region | |
| TW201203111A (en) | Hardware assist thread for increasing code parallelism | |
| KR20100111700A (ko) | 로킹된 오퍼레이션을 수행하기 위한 방법 및 시스템 | |
| US8495311B2 (en) | Updating shared variables atomically | |
| US20080040524A1 (en) | System management mode using transactional memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |