ES2824474T3 - Reproducción de bloques de instrucciones parcialmente ejecutados en un sistema basado en procesador que emplea un modelo de ejecución atómico de bloques - Google Patents
Reproducción de bloques de instrucciones parcialmente ejecutados en un sistema basado en procesador que emplea un modelo de ejecución atómico de bloques Download PDFInfo
- Publication number
- ES2824474T3 ES2824474T3 ES16820447T ES16820447T ES2824474T3 ES 2824474 T3 ES2824474 T3 ES 2824474T3 ES 16820447 T ES16820447 T ES 16820447T ES 16820447 T ES16820447 T ES 16820447T ES 2824474 T3 ES2824474 T3 ES 2824474T3
- Authority
- ES
- Spain
- Prior art keywords
- instruction
- record
- playback
- block
- 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.)
- Active
Links
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- 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/1405—Saving, restoring, recovering or retrying at machine instruction level
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
-
- 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
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
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)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Retry When Errors Occur (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562271475P | 2015-12-28 | 2015-12-28 | |
| US15/252,323 US11188336B2 (en) | 2015-12-28 | 2016-08-31 | Replay of partially executed instruction blocks in a processor-based system employing a block-atomic execution model |
| PCT/US2016/065740 WO2017116652A1 (en) | 2015-12-28 | 2016-12-09 | Replay of partially executed instruction blocks in a processor-based system employing a block-atomic execution model |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2824474T3 true ES2824474T3 (es) | 2021-05-12 |
Family
ID=59086553
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES16820447T Active ES2824474T3 (es) | 2015-12-28 | 2016-12-09 | Reproducción de bloques de instrucciones parcialmente ejecutados en un sistema basado en procesador que emplea un modelo de ejecución atómico de bloques |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US11188336B2 (OSRAM) |
| EP (1) | EP3398060B1 (OSRAM) |
| JP (1) | JP6963552B2 (OSRAM) |
| KR (1) | KR102706938B1 (OSRAM) |
| CN (1) | CN108369519B (OSRAM) |
| AU (1) | AU2016380796B2 (OSRAM) |
| ES (1) | ES2824474T3 (OSRAM) |
| WO (1) | WO2017116652A1 (OSRAM) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10452516B2 (en) * | 2017-07-10 | 2019-10-22 | Microsoft Technology Licensing, Llc | Replaying time-travel traces relying on processor undefined behavior |
| US10824429B2 (en) | 2018-09-19 | 2020-11-03 | Microsoft Technology Licensing, Llc | Commit logic and precise exceptions in explicit dataflow graph execution architectures |
| US10983801B2 (en) * | 2019-09-06 | 2021-04-20 | Apple Inc. | Load/store ordering violation management |
| US11360773B2 (en) * | 2020-06-22 | 2022-06-14 | Microsoft Technology Licensing, Llc | Reusing fetched, flushed instructions after an instruction pipeline flush in response to a hazard in a processor to reduce instruction re-fetching |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5832202A (en) | 1988-12-28 | 1998-11-03 | U.S. Philips Corporation | Exception recovery in a data processing system |
| EP0815507B1 (en) | 1995-02-14 | 2013-06-12 | Fujitsu Limited | Structure and method for high-performance speculative execution processor providing special features |
| US6832367B1 (en) | 2000-03-06 | 2004-12-14 | International Business Machines Corporation | Method and system for recording and replaying the execution of distributed java programs |
| FR2882449A1 (fr) * | 2005-01-21 | 2006-08-25 | Meiosys Soc Par Actions Simpli | Procede non intrusif de rejeu d'evenements internes au sein d'un processus applicatif, et systeme mettant en oeuvre ce procede |
| US7882339B2 (en) | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
| US7506318B1 (en) | 2005-06-28 | 2009-03-17 | Replay Solutions, Inc. | Recording and replaying computer programs |
| US8079019B2 (en) | 2007-11-21 | 2011-12-13 | Replay Solutions, Inc. | Advancing and rewinding a replayed program execution |
| US7958497B1 (en) | 2006-06-07 | 2011-06-07 | Replay Solutions, Inc. | State synchronization in recording and replaying computer programs |
| US8316352B2 (en) | 2006-06-09 | 2012-11-20 | Oracle America, Inc. | Watchpoints on transactional variables |
| US8190859B2 (en) * | 2006-11-13 | 2012-05-29 | Intel Corporation | Critical section detection and prediction mechanism for hardware lock elision |
| US8473919B2 (en) | 2008-01-31 | 2013-06-25 | Ca, Inc. | System and method for repeating program flow for debugging and testing |
| JP5385545B2 (ja) * | 2008-04-17 | 2014-01-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクションの実行を制御する装置及び方法 |
| US8291202B2 (en) * | 2008-08-08 | 2012-10-16 | Qualcomm Incorporated | Apparatus and methods for speculative interrupt vector prefetching |
| EP2996035A1 (en) | 2008-10-15 | 2016-03-16 | Hyperion Core, Inc. | Data processing device |
| US8402318B2 (en) | 2009-03-24 | 2013-03-19 | The Trustees Of Columbia University In The City Of New York | Systems and methods for recording and replaying application execution |
| US8549504B2 (en) | 2010-09-25 | 2013-10-01 | Intel Corporation | Apparatus, method, and system for providing a decision mechanism for conditional commits in an atomic region |
| US8826273B1 (en) * | 2010-12-22 | 2014-09-02 | Vmware, Inc. | Synchronously logging to disk for main-memory database systems through record and replay |
| US20130080738A1 (en) * | 2011-09-23 | 2013-03-28 | Qualcomm Incorporated | Processor configured to perform transactional memory operations |
| US9170915B1 (en) | 2011-12-06 | 2015-10-27 | Amazon Technologies, Inc. | Replay to reconstruct program state |
| US9697040B2 (en) | 2014-03-26 | 2017-07-04 | Intel Corporation | Software replayer for transactional memory programs |
-
2016
- 2016-08-31 US US15/252,323 patent/US11188336B2/en active Active
- 2016-12-09 CN CN201680072709.XA patent/CN108369519B/zh active Active
- 2016-12-09 AU AU2016380796A patent/AU2016380796B2/en active Active
- 2016-12-09 JP JP2018531614A patent/JP6963552B2/ja active Active
- 2016-12-09 ES ES16820447T patent/ES2824474T3/es active Active
- 2016-12-09 EP EP16820447.7A patent/EP3398060B1/en active Active
- 2016-12-09 WO PCT/US2016/065740 patent/WO2017116652A1/en not_active Ceased
- 2016-12-09 KR KR1020187017864A patent/KR102706938B1/ko active Active
Also Published As
| Publication number | Publication date |
|---|---|
| WO2017116652A1 (en) | 2017-07-06 |
| EP3398060B1 (en) | 2020-07-29 |
| US11188336B2 (en) | 2021-11-30 |
| JP2018538628A (ja) | 2018-12-27 |
| KR102706938B1 (ko) | 2024-09-12 |
| CN108369519B (zh) | 2022-03-01 |
| BR112018012686A2 (pt) | 2018-12-04 |
| EP3398060A1 (en) | 2018-11-07 |
| CN108369519A (zh) | 2018-08-03 |
| JP6963552B2 (ja) | 2021-11-10 |
| AU2016380796B2 (en) | 2021-12-16 |
| AU2016380796A1 (en) | 2018-06-07 |
| KR20180099680A (ko) | 2018-09-05 |
| US20170185408A1 (en) | 2017-06-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101461378B1 (ko) | 동기화 simd 벡터 | |
| US9448933B2 (en) | Using redundant transactions to verify the correctness of program code execution | |
| TWI598821B (zh) | 持續儲存屏障處理器、方法、系統及指令 | |
| ES2824474T3 (es) | Reproducción de bloques de instrucciones parcialmente ejecutados en un sistema basado en procesador que emplea un modelo de ejecución atómico de bloques | |
| US20150089280A1 (en) | Recovery from multiple data errors | |
| US8495344B2 (en) | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information | |
| US20090144524A1 (en) | Method and System for Handling Transaction Buffer Overflow In A Multiprocessor System | |
| TWI509422B (zh) | 對多處理器同步化電力最佳化的方法 | |
| CN103430158B (zh) | 使用执行单一步骤来诊断编码 | |
| CN103154908A (zh) | 用于事务存储器的最后分支记录指示符 | |
| KR20190108109A (ko) | 캐시 라인 로킹을 이용한 원자적 프리미트브들의 구현 | |
| US20160364308A1 (en) | Providing autonomous self-testing of a processor | |
| TW201732589A (zh) | 用於容錯及錯誤偵測之系統、方法和裝置 | |
| CN101901177A (zh) | 多核微处理器及其除错方法 | |
| US20170123872A1 (en) | Interfacing with block-based storage in a processor | |
| TW201432436A (zh) | 多核電路中之容錯 | |
| US9170903B2 (en) | System level architecture verification for transaction execution in a multi-processing environment | |
| US20140281747A1 (en) | Fault Handling at a Transaction Level by Employing a Token and a Source-to-Destination Paradigm in a Processor-Based System | |
| US20150113244A1 (en) | Concurrently accessing memory | |
| BR112018012686B1 (pt) | Repetição dos blocos de instrução executados parcialmente em um sistema baseado em processador que emprega um modelo de execução de bloco atômico | |
| US8793689B2 (en) | Redundant multithreading processor | |
| WO2025071782A1 (en) | Tracking instruction handling using opcode matching in processor-based devices | |
| TWI470421B (zh) | 微處理器及其除錯方法 | |
| TWI428738B (zh) | 多核心嵌入式裝置之除錯資訊與斷點管理方法 |