CN106663026B - 针对事务型数据处理执行模式的调用堆栈维护 - Google Patents
针对事务型数据处理执行模式的调用堆栈维护 Download PDFInfo
- Publication number
- CN106663026B CN106663026B CN201580037126.9A CN201580037126A CN106663026B CN 106663026 B CN106663026 B CN 106663026B CN 201580037126 A CN201580037126 A CN 201580037126A CN 106663026 B CN106663026 B CN 106663026B
- Authority
- CN
- China
- Prior art keywords
- stack
- data processing
- modification
- processor
- execution mode
- 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.)
- Active
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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- 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
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING 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
- G06F9/528—Mutual exclusion algorithms by using speculative mechanisms
-
- 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/451—Stack data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1412534.8 | 2014-07-15 | ||
| GB1412534.8A GB2528270A (en) | 2014-07-15 | 2014-07-15 | Call stack maintenance for a transactional data processing execution mode |
| PCT/GB2015/051675 WO2016009168A1 (en) | 2014-07-15 | 2015-06-09 | Call stack maintenance for a transactional data processing execution mode |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106663026A CN106663026A (zh) | 2017-05-10 |
| CN106663026B true CN106663026B (zh) | 2021-01-12 |
Family
ID=51454144
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201580037126.9A Active CN106663026B (zh) | 2014-07-15 | 2015-06-09 | 针对事务型数据处理执行模式的调用堆栈维护 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US10002020B2 (enExample) |
| EP (1) | EP3170075B1 (enExample) |
| JP (1) | JP6568575B2 (enExample) |
| KR (1) | KR102284957B1 (enExample) |
| CN (1) | CN106663026B (enExample) |
| GB (1) | GB2528270A (enExample) |
| IL (1) | IL249697B (enExample) |
| WO (1) | WO2016009168A1 (enExample) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2554096B (en) * | 2016-09-20 | 2019-03-20 | Advanced Risc Mach Ltd | Handling of inter-element address hazards for vector instructions |
| CN107291480B (zh) * | 2017-08-15 | 2020-12-15 | 中国农业银行股份有限公司 | 一种函数调用方法及装置 |
| US10572259B2 (en) * | 2018-01-22 | 2020-02-25 | Arm Limited | Hints in a data processing apparatus |
| US10698724B2 (en) * | 2018-04-10 | 2020-06-30 | Osisoft, Llc | Managing shared resources in a distributed computing system |
| US11231932B2 (en) * | 2019-03-05 | 2022-01-25 | Arm Limited | Transactional recovery storage for branch history and return addresses to partially or fully restore the return stack and branch history register on transaction aborts |
| US11334495B2 (en) * | 2019-08-23 | 2022-05-17 | Arm Limited | Cache eviction |
| US11687519B2 (en) | 2021-08-11 | 2023-06-27 | T-Mobile Usa, Inc. | Ensuring availability and integrity of a database across geographical regions |
| FR3147397A1 (fr) * | 2023-03-28 | 2024-10-04 | Stmicroelectronics International N.V. | Système informatique configuré pour exécuter un programme d’ordinateur |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101206633A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 用事务协议和共享存储器在主机系统间通信的系统和方法 |
| CN101300545A (zh) * | 2005-11-08 | 2008-11-05 | 国际商业机器公司 | 进行异类处理联合体中的外部辅助调用的装置与方法 |
| US9009452B2 (en) * | 2007-05-14 | 2015-04-14 | International Business Machines Corporation | Computing system with transactional memory using millicode assists |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8544020B1 (en) * | 2004-09-14 | 2013-09-24 | Azul Systems, Inc. | Cooperative preemption |
| US20080016325A1 (en) * | 2006-07-12 | 2008-01-17 | Laudon James P | Using windowed register file to checkpoint register state |
| US8621183B2 (en) * | 2008-07-28 | 2013-12-31 | Advanced Micro Devices, Inc. | Processor with support for nested speculative sections with different transactional modes |
| US8739164B2 (en) * | 2010-02-24 | 2014-05-27 | Advanced Micro Devices, Inc. | Automatic suspend atomic hardware transactional memory in response to detecting an implicit suspend condition and resume thereof |
| US9880848B2 (en) * | 2010-06-11 | 2018-01-30 | Advanced Micro Devices, Inc. | Processor support for hardware transactional memory |
| US9274919B2 (en) * | 2011-04-29 | 2016-03-01 | Dynatrace Software Gmbh | Transaction tracing mechanism of distributed heterogenous transactions having instrumented byte code with constant memory consumption and independent of instrumented method call depth |
| US9152509B2 (en) * | 2011-12-13 | 2015-10-06 | Advanced Micro Devices, Inc. | Transactional memory conflict management |
-
2014
- 2014-07-15 GB GB1412534.8A patent/GB2528270A/en not_active Withdrawn
-
2015
- 2015-06-09 EP EP15729887.8A patent/EP3170075B1/en active Active
- 2015-06-09 US US15/325,301 patent/US10002020B2/en active Active
- 2015-06-09 CN CN201580037126.9A patent/CN106663026B/zh active Active
- 2015-06-09 WO PCT/GB2015/051675 patent/WO2016009168A1/en not_active Ceased
- 2015-06-09 KR KR1020177003061A patent/KR102284957B1/ko active Active
- 2015-06-09 JP JP2017500877A patent/JP6568575B2/ja active Active
-
2016
- 2016-12-21 IL IL249697A patent/IL249697B/en active IP Right Grant
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101300545A (zh) * | 2005-11-08 | 2008-11-05 | 国际商业机器公司 | 进行异类处理联合体中的外部辅助调用的装置与方法 |
| CN101206633A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 用事务协议和共享存储器在主机系统间通信的系统和方法 |
| US9009452B2 (en) * | 2007-05-14 | 2015-04-14 | International Business Machines Corporation | Computing system with transactional memory using millicode assists |
Non-Patent Citations (1)
| Title |
|---|
| Transactional Memory Architecture and Implementation for IBM System z;Christian Jacobi等;《2012 IEEE/ACM 45th Annual International Symposium on Microarchitecture》;20121231;全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| IL249697A0 (en) | 2017-02-28 |
| GB2528270A (en) | 2016-01-20 |
| EP3170075A1 (en) | 2017-05-24 |
| IL249697B (en) | 2020-01-30 |
| US10002020B2 (en) | 2018-06-19 |
| WO2016009168A1 (en) | 2016-01-21 |
| JP2017520857A (ja) | 2017-07-27 |
| KR102284957B1 (ko) | 2021-08-04 |
| EP3170075B1 (en) | 2021-01-13 |
| JP6568575B2 (ja) | 2019-08-28 |
| GB201412534D0 (en) | 2014-08-27 |
| CN106663026A (zh) | 2017-05-10 |
| KR20170031708A (ko) | 2017-03-21 |
| US20170161095A1 (en) | 2017-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106663026B (zh) | 针对事务型数据处理执行模式的调用堆栈维护 | |
| US11106795B2 (en) | Method and apparatus for updating shared data in a multi-core processor environment | |
| KR100954623B1 (ko) | 무한 트랜잭션 메모리 시스템 | |
| US20180011748A1 (en) | Post-retire scheme for tracking tentative accesses during transactional execution | |
| CN113505088B (zh) | 在使用带锁定和未锁定的非易失存储器的共享存储器中的硬件事务存储的一致性协议 | |
| US7945741B2 (en) | Reservation required transactions | |
| US20110167222A1 (en) | Unbounded transactional memory system and method | |
| CN110471617B (zh) | 在采用事务存储器的系统中管理缓存结构的方法和装置 | |
| EP2641171B1 (en) | Preventing unintended loss of transactional data in hardware transactional memory systems | |
| JP2017520857A5 (enExample) | ||
| KR102699710B1 (ko) | 데이터 처리장치, 데이터 처리방법 및 컴퓨터 프로그램 | |
| US8601240B2 (en) | Selectively defering load instructions after encountering a store instruction with an unknown destination address during speculative execution | |
| US20150205721A1 (en) | Handling Reads Following Transactional Writes during Transactions in a Computing Device | |
| JP2009169706A (ja) | メモリ制御装置 | |
| JP2008503821A (ja) | 小容量キャッシュシステムにおけるアトミック予約ライン上のライトバックを無効化する方法およびシステム | |
| US9916189B2 (en) | Concurrently executing critical sections in program code in a processor | |
| US10169234B2 (en) | Translation lookaside buffer purging with concurrent cache updates | |
| US20230099256A1 (en) | Storing an indication of a specific data pattern in spare directory entries | |
| WO2024217677A1 (en) | Crash-consistent persistent memory devices and methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |