KR102706938B1 - 블록―원자 실행 모델을 사용하는 프로세서-기반 시스템에서 부분적으로 실행된 명령 블록들의 재생 - Google Patents

블록―원자 실행 모델을 사용하는 프로세서-기반 시스템에서 부분적으로 실행된 명령 블록들의 재생 Download PDF

Info

Publication number
KR102706938B1
KR102706938B1 KR1020187017864A KR20187017864A KR102706938B1 KR 102706938 B1 KR102706938 B1 KR 102706938B1 KR 1020187017864 A KR1020187017864 A KR 1020187017864A KR 20187017864 A KR20187017864 A KR 20187017864A KR 102706938 B1 KR102706938 B1 KR 102706938B1
Authority
KR
South Korea
Prior art keywords
record
block
command
replay
processor
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
KR1020187017864A
Other languages
English (en)
Korean (ko)
Other versions
KR20180099680A (ko
Inventor
그레고리 마이클 라이트
Original Assignee
퀄컴 인코포레이티드
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 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20180099680A publication Critical patent/KR20180099680A/ko
Application granted granted Critical
Publication of KR102706938B1 publication Critical patent/KR102706938B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
KR1020187017864A 2015-12-28 2016-12-09 블록―원자 실행 모델을 사용하는 프로세서-기반 시스템에서 부분적으로 실행된 명령 블록들의 재생 Active KR102706938B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562271475P 2015-12-28 2015-12-28
US62/271,475 2015-12-28
US15/252,323 2016-08-31
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 (2)

Publication Number Publication Date
KR20180099680A KR20180099680A (ko) 2018-09-05
KR102706938B1 true KR102706938B1 (ko) 2024-09-12

Family

ID=59086553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187017864A Active KR102706938B1 (ko) 2015-12-28 2016-12-09 블록―원자 실행 모델을 사용하는 프로세서-기반 시스템에서 부분적으로 실행된 명령 블록들의 재생

Country Status (8)

Country Link
US (1) US11188336B2 (enExample)
EP (1) EP3398060B1 (enExample)
JP (1) JP6963552B2 (enExample)
KR (1) KR102706938B1 (enExample)
CN (1) CN108369519B (enExample)
AU (1) AU2016380796B2 (enExample)
ES (1) ES2824474T3 (enExample)
WO (1) WO2017116652A1 (enExample)

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
WO1996025705A1 (en) 1995-02-14 1996-08-22 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
US11188336B2 (en) 2021-11-30
AU2016380796A1 (en) 2018-06-07
CN108369519A (zh) 2018-08-03
CN108369519B (zh) 2022-03-01
BR112018012686A2 (pt) 2018-12-04
AU2016380796B2 (en) 2021-12-16
KR20180099680A (ko) 2018-09-05
ES2824474T3 (es) 2021-05-12
WO2017116652A1 (en) 2017-07-06
JP6963552B2 (ja) 2021-11-10
JP2018538628A (ja) 2018-12-27
US20170185408A1 (en) 2017-06-29
EP3398060A1 (en) 2018-11-07
EP3398060B1 (en) 2020-07-29

Similar Documents

Publication Publication Date Title
US9448933B2 (en) Using redundant transactions to verify the correctness of program code execution
US20070162520A1 (en) Software assisted nested hardware transactions
US8904073B2 (en) Coherence processing with error checking
KR102706938B1 (ko) 블록―원자 실행 모델을 사용하는 프로세서-기반 시스템에서 부분적으로 실행된 명령 블록들의 재생
TWI715686B (zh) 用於容錯及錯誤偵測之系統、方法和裝置
JP7723869B1 (ja) メモリの信頼性のためのデータ破損追跡
US20140156975A1 (en) Redundant Threading for Improved Reliability
CN114237715A (zh) 多核访存指令验证系统与方法
TWI254849B (en) Method and related apparatus for data error checking
TWI517040B (zh) 保護二進制轉譯碼的完整性
CN115269199B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US20150113244A1 (en) Concurrently accessing memory
WO2023061558A1 (en) Method for performing fetch-and-add (faa) operation in a concurrent system
Ning et al. Fault-tolerance cmp architecture based on smt technology
EP4193262B1 (en) Method, apparatus, and system for run-time checking of memory tags in a processor-based system
US9361103B2 (en) Store replay policy
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
US20250200258A1 (en) Generalized qed pre-silicon verification framework
US8438335B2 (en) Probe speculative address file
US20210318884A1 (en) Providing exception stack management using stack panic fault exceptions in processor-based devices
CN117389863A (zh) Ecc故障策略的自检方法、系统、介质及电子设备
HK1205806B (zh) 一种并发访问内存的方法及装置

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20180622

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20211125

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230926

Patent event code: PE09021S01D

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: 20240612

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20240910

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20240910

End annual number: 3

Start annual number: 1

PG1601 Publication of registration