KR102284957B1 - 트랜잭션 데이터 처리 실행 모드에 대한 호출 스택 유지 - Google Patents
트랜잭션 데이터 처리 실행 모드에 대한 호출 스택 유지 Download PDFInfo
- Publication number
- KR102284957B1 KR102284957B1 KR1020177003061A KR20177003061A KR102284957B1 KR 102284957 B1 KR102284957 B1 KR 102284957B1 KR 1020177003061 A KR1020177003061 A KR 1020177003061A KR 20177003061 A KR20177003061 A KR 20177003061A KR 102284957 B1 KR102284957 B1 KR 102284957B1
- Authority
- KR
- South Korea
- Prior art keywords
- stack
- data processing
- execution mode
- processor
- speculative
- 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
- G06F9/467—Transactional 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/466—Transaction processing
-
- 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 operations
- G06F11/1474—Error detection or correction of the data by redundancy in operations 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 |
|---|---|
| KR20170031708A KR20170031708A (ko) | 2017-03-21 |
| KR102284957B1 true KR102284957B1 (ko) | 2021-08-04 |
Family
ID=51454144
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177003061A Active KR102284957B1 (ko) | 2014-07-15 | 2015-06-09 | 트랜잭션 데이터 처리 실행 모드에 대한 호출 스택 유지 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US10002020B2 (https=) |
| EP (1) | EP3170075B1 (https=) |
| JP (1) | JP6568575B2 (https=) |
| KR (1) | KR102284957B1 (https=) |
| CN (1) | CN106663026B (https=) |
| GB (1) | GB2528270A (https=) |
| IL (1) | IL249697B (https=) |
| WO (1) | WO2016009168A1 (https=) |
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 (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080288819A1 (en) | 2007-05-14 | 2008-11-20 | International Business Machines Corporation | Computing System with Transactional Memory Using Millicode Assists |
| US20100023703A1 (en) | 2008-07-28 | 2010-01-28 | Christie David S | Hardware transactional memory support for protected and unprotected shared-memory accesses in a speculative section |
| US20110307689A1 (en) | 2010-06-11 | 2011-12-15 | Jaewoong Chung | Processor support for hardware transactional memory |
| US20120304172A1 (en) | 2011-04-29 | 2012-11-29 | Bernd Greifeneder | Method and System for Transaction Controlled Sampling of Distributed Hetereogeneous Transactions without Source Code Modifications |
| US20130151791A1 (en) | 2011-12-13 | 2013-06-13 | Advanced Micro Devices, Inc. | Transactional memory conflict management |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8544020B1 (en) * | 2004-09-14 | 2013-09-24 | Azul Systems, Inc. | Cooperative preemption |
| US7472261B2 (en) * | 2005-11-08 | 2008-12-30 | International Business Machines Corporation | Method for performing externally assisted calls in a heterogeneous processing complex |
| US20080016325A1 (en) * | 2006-07-12 | 2008-01-17 | Laudon James P | Using windowed register file to checkpoint register state |
| US7860930B2 (en) * | 2006-12-19 | 2010-12-28 | International Business Machines Corporation | Communication between host systems using a transaction protocol and shared memories |
| 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 |
-
2014
- 2014-07-15 GB GB1412534.8A patent/GB2528270A/en not_active Withdrawn
-
2015
- 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 EP EP15729887.8A patent/EP3170075B1/en active Active
- 2015-06-09 CN CN201580037126.9A patent/CN106663026B/zh active Active
- 2015-06-09 JP JP2017500877A patent/JP6568575B2/ja active Active
- 2015-06-09 US US15/325,301 patent/US10002020B2/en active Active
-
2016
- 2016-12-21 IL IL249697A patent/IL249697B/en active IP Right Grant
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080288819A1 (en) | 2007-05-14 | 2008-11-20 | International Business Machines Corporation | Computing System with Transactional Memory Using Millicode Assists |
| US20100023703A1 (en) | 2008-07-28 | 2010-01-28 | Christie David S | Hardware transactional memory support for protected and unprotected shared-memory accesses in a speculative section |
| US20110307689A1 (en) | 2010-06-11 | 2011-12-15 | Jaewoong Chung | Processor support for hardware transactional memory |
| US20120304172A1 (en) | 2011-04-29 | 2012-11-29 | Bernd Greifeneder | Method and System for Transaction Controlled Sampling of Distributed Hetereogeneous Transactions without Source Code Modifications |
| US20130151791A1 (en) | 2011-12-13 | 2013-06-13 | Advanced Micro Devices, Inc. | Transactional memory conflict management |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3170075A1 (en) | 2017-05-24 |
| IL249697A0 (en) | 2017-02-28 |
| EP3170075B1 (en) | 2021-01-13 |
| JP6568575B2 (ja) | 2019-08-28 |
| US10002020B2 (en) | 2018-06-19 |
| WO2016009168A1 (en) | 2016-01-21 |
| CN106663026B (zh) | 2021-01-12 |
| CN106663026A (zh) | 2017-05-10 |
| GB201412534D0 (en) | 2014-08-27 |
| JP2017520857A (ja) | 2017-07-27 |
| GB2528270A (en) | 2016-01-20 |
| US20170161095A1 (en) | 2017-06-08 |
| KR20170031708A (ko) | 2017-03-21 |
| IL249697B (en) | 2020-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102284957B1 (ko) | 트랜잭션 데이터 처리 실행 모드에 대한 호출 스택 유지 | |
| US11106795B2 (en) | Method and apparatus for updating shared data in a multi-core processor environment | |
| CN113505088B (zh) | 在使用带锁定和未锁定的非易失存储器的共享存储器中的硬件事务存储的一致性协议 | |
| EP3516502B1 (en) | Handling of inter-element address hazards for vector instructions | |
| US8949583B1 (en) | Concurrent atomic execution | |
| US20180011748A1 (en) | Post-retire scheme for tracking tentative accesses during transactional execution | |
| CN112970003B (zh) | 用于实现无锁数据结构的方法和装置 | |
| JP2017520857A5 (https=) | ||
| KR102699710B1 (ko) | 데이터 처리장치, 데이터 처리방법 및 컴퓨터 프로그램 | |
| TWI801603B (zh) | 處理獨佔式載入指令的資料處理設備、方法及電腦程式 | |
| WO2018112340A1 (en) | Implementing atomic primitives using cache line locking | |
| US20150205721A1 (en) | Handling Reads Following Transactional Writes during Transactions in a Computing Device | |
| US9916189B2 (en) | Concurrently executing critical sections in program code in a processor | |
| WO2024217677A1 (en) | Crash-consistent persistent memory devices and methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20170203 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20200227 Comment text: Request for Examination of Application |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210504 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210728 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20210729 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20240625 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20250630 Start annual number: 5 End annual number: 5 |