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 PDF

Info

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
Application number
ES16820447T
Other languages
English (en)
Spanish (es)
Inventor
Gregory Wright
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2824474T3 publication Critical patent/ES2824474T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • G06F9/3832Value prediction for operands; operand history buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, 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)
ES16820447T 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 Active ES2824474T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 多核心嵌入式裝置之除錯資訊與斷點管理方法