HK1029194A1 - Out-of-pipeline trace buffer for instruction replay following misspeculation. - Google Patents

Out-of-pipeline trace buffer for instruction replay following misspeculation.

Info

Publication number
HK1029194A1
HK1029194A1 HK00107676A HK00107676A HK1029194A1 HK 1029194 A1 HK1029194 A1 HK 1029194A1 HK 00107676 A HK00107676 A HK 00107676A HK 00107676 A HK00107676 A HK 00107676A HK 1029194 A1 HK1029194 A1 HK 1029194A1
Authority
HK
Hong Kong
Prior art keywords
misspeculation
trace buffer
instruction replay
pipeline trace
following
Prior art date
Application number
HK00107676A
Other languages
English (en)
Inventor
Haitham Akkary
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of HK1029194A1 publication Critical patent/HK1029194A1/xx

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F11/1407Checkpointing the instruction stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
HK00107676A 1997-12-16 2000-11-30 Out-of-pipeline trace buffer for instruction replay following misspeculation. HK1029194A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/991,269 US6240509B1 (en) 1997-12-16 1997-12-16 Out-of-pipeline trace buffer for holding instructions that may be re-executed following misspeculation
PCT/US1998/026408 WO1999031589A1 (en) 1997-12-16 1998-12-11 Out-of-pipeline trace buffer for instruction replay following misspeculation

Publications (1)

Publication Number Publication Date
HK1029194A1 true HK1029194A1 (en) 2001-03-23

Family

ID=25537042

Family Applications (1)

Application Number Title Priority Date Filing Date
HK00107676A HK1029194A1 (en) 1997-12-16 2000-11-30 Out-of-pipeline trace buffer for instruction replay following misspeculation.

Country Status (11)

Country Link
US (1) US6240509B1 (xx)
EP (1) EP1040421B1 (xx)
JP (1) JP3971893B2 (xx)
KR (1) KR100382126B1 (xx)
CN (1) CN100342349C (xx)
AU (1) AU1911099A (xx)
BR (1) BR9814290A (xx)
DE (1) DE69829778T2 (xx)
HK (1) HK1029194A1 (xx)
TW (1) TW388811B (xx)
WO (1) WO1999031589A1 (xx)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212626B1 (en) 1996-11-13 2001-04-03 Intel Corporation Computer processor having a checker
US6463522B1 (en) * 1997-12-16 2002-10-08 Intel Corporation Memory system for ordering load and store instructions in a processor that performs multithread execution
US6772324B2 (en) 1997-12-17 2004-08-03 Intel Corporation Processor having multiple program counters and trace buffers outside an execution pipeline
US6412067B1 (en) 1998-08-11 2002-06-25 Intel Corporation Backing out of a processor architectural state
SE9803901D0 (sv) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
SE9902373D0 (sv) * 1998-11-16 1999-06-22 Ericsson Telefon Ab L M A processing system and method
SE9901145D0 (sv) * 1998-11-16 1999-03-29 Ericsson Telefon Ab L M A processing system and method
SE9901146D0 (sv) * 1998-11-16 1999-03-29 Ericsson Telefon Ab L M A processing system and method
KR100401443B1 (ko) * 1998-11-16 2003-10-17 텔레폰아크티에볼라게트 엘엠 에릭슨 이벤트를 기반으로한 시스템의 병행 처리
US6571359B1 (en) * 1999-12-13 2003-05-27 Intel Corporation Systems and methods for testing processors
US6658554B1 (en) * 1999-03-09 2003-12-02 Wisconsin Alumni Res Found Electronic processor providing direct data transfer between linked data consuming instructions
EP1050807A1 (en) * 1999-05-03 2000-11-08 Sgs Thomson Microelectronics Sa Memory access in a computer memory
US6463526B1 (en) * 1999-06-07 2002-10-08 Sun Microsystems, Inc. Supporting multi-dimensional space-time computing through object versioning
US7100027B1 (en) * 1999-12-13 2006-08-29 Intel Corporation System and method for reproducing system executions using a replay handler
US6892380B2 (en) * 1999-12-30 2005-05-10 Texas Instruments Incorporated Method for software pipelining of irregular conditional control loops
JP2001209535A (ja) * 2000-01-27 2001-08-03 Toshiba Corp プロセッサの命令スケジューリング装置
US6609247B1 (en) * 2000-02-18 2003-08-19 Hewlett-Packard Development Company Method and apparatus for re-creating the trace of an emulated instruction set when executed on hardware native to a different instruction set field
US6931641B1 (en) 2000-04-04 2005-08-16 International Business Machines Corporation Controller for multiple instruction thread processors
US6880069B1 (en) * 2000-06-30 2005-04-12 Intel Corporation Replay instruction morphing
US6877086B1 (en) * 2000-11-02 2005-04-05 Intel Corporation Method and apparatus for rescheduling multiple micro-operations in a processor using a replay queue and a counter
US6981129B1 (en) * 2000-11-02 2005-12-27 Intel Corporation Breaking replay dependency loops in a processor using a rescheduled replay queue
US7207035B2 (en) * 2001-08-23 2007-04-17 International Business Machines Corporation Apparatus and method for converting an instruction and data trace to an executable program
US7047395B2 (en) * 2001-11-13 2006-05-16 Intel Corporation Reordering serial data in a system with parallel processing flows
US6950924B2 (en) * 2002-01-02 2005-09-27 Intel Corporation Passing decoded instructions to both trace cache building engine and allocation module operating in trace cache or decoder reading state
AU2003231945A1 (en) * 2002-05-31 2003-12-19 Guang R. Gao Method and apparatus for real-time multithreading
US7111148B1 (en) 2002-06-27 2006-09-19 Intel Corporation Method and apparatus for compressing relative addresses
US7941651B1 (en) 2002-06-27 2011-05-10 Intel Corporation Method and apparatus for combining micro-operations to process immediate data
US7103751B1 (en) 2002-06-27 2006-09-05 Intel Corporation Method and apparatus for representation of an address in canonical form
US7010665B1 (en) 2002-06-27 2006-03-07 Intel Corporation Method and apparatus for decompressing relative addresses
US7194603B2 (en) * 2003-04-23 2007-03-20 International Business Machines Corporation SMT flush arbitration
US20040225870A1 (en) * 2003-05-07 2004-11-11 Srinivasan Srikanth T. Method and apparatus for reducing wrong path execution in a speculative multi-threaded processor
US20040255104A1 (en) * 2003-06-12 2004-12-16 Intel Corporation Method and apparatus for recycling candidate branch outcomes after a wrong-path execution in a superscalar processor
JP2008523456A (ja) * 2004-05-12 2008-07-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ トレースコプロセッサを備えたデータ処理システム
US7496735B2 (en) * 2004-11-22 2009-02-24 Strandera Corporation Method and apparatus for incremental commitment to architectural state in a microprocessor
US7508396B2 (en) 2005-09-28 2009-03-24 Silicon Integrated Systems Corp. Register-collecting mechanism, method for performing the same and pixel processing system employing the same
WO2007132136A1 (en) * 2006-05-12 2007-11-22 Arm Limited Error detecting and correcting mechanism for a register file
US8930679B2 (en) * 2009-05-29 2015-01-06 Via Technologies, Inc. Out-of-order execution microprocessor with reduced store collision load replay by making an issuing of a load instruction dependent upon a dependee instruction of a store instruction
CN102567137B (zh) * 2010-12-27 2013-09-25 北京国睿中数科技股份有限公司 在分支预测失败时使用rob恢复rat内容的系统和方法
US9612934B2 (en) * 2011-10-28 2017-04-04 Cavium, Inc. Network processor with distributed trace buffers
KR101667167B1 (ko) * 2012-06-15 2016-10-17 소프트 머신즈, 인크. Load store 재정렬 및 최적화로부터 생기는 투기적 포워딩 예측 착오/오류로부터의 복원을 구현하는 방법 및 시스템
US9830224B2 (en) * 2013-03-15 2017-11-28 Nvidia Corporation Selective fault stalling for a GPU memory pipeline in a unified virtual memory system
US9710272B2 (en) 2014-04-25 2017-07-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Computer processor with generation renaming
US10209992B2 (en) * 2014-04-25 2019-02-19 Avago Technologies International Sales Pte. Limited System and method for branch prediction using two branch history tables and presetting a global branch history register
US9996354B2 (en) 2015-01-09 2018-06-12 International Business Machines Corporation Instruction stream tracing of multi-threaded processors
CN104657145B (zh) * 2015-03-09 2017-12-15 上海兆芯集成电路有限公司 用于微处理器的重发停靠的系统和方法
GB2572968B (en) * 2018-04-17 2020-09-02 Advanced Risc Mach Ltd Tracking speculative data caching
CN110688160B (zh) * 2019-09-04 2021-11-19 苏州浪潮智能科技有限公司 一种指令流水线处理方法、系统、设备及计算机存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153848A (en) 1988-06-17 1992-10-06 Bipolar Integrated Technology, Inc. Floating point processor with internal free-running clock
US5134693A (en) 1989-01-18 1992-07-28 Intel Corporation System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel
US5142634A (en) 1989-02-03 1992-08-25 Digital Equipment Corporation Branch prediction
US5309561A (en) 1990-09-28 1994-05-03 Tandem Computers Incorporated Synchronous processor unit with interconnected, separately clocked processor sections which are automatically synchronized for data transfer operations
US5524250A (en) 1991-08-23 1996-06-04 Silicon Graphics, Inc. Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers
US5546593A (en) 1992-05-18 1996-08-13 Matsushita Electric Industrial Co., Ltd. Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream
US5313634A (en) 1992-07-28 1994-05-17 International Business Machines Corporation Computer system branch prediction of subroutine returns
US5420990A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Mechanism for enforcing the correct order of instruction execution
US5548776A (en) * 1993-09-30 1996-08-20 Intel Corporation N-wide bypass for data dependencies within register alias table
US5588126A (en) 1993-12-30 1996-12-24 Intel Corporation Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system
US5664137A (en) 1994-01-04 1997-09-02 Intel Corporation Method and apparatus for executing and dispatching store operations in a computer system
US5564028A (en) * 1994-01-11 1996-10-08 Texas Instruments Incorporated Pipelined data processing including instruction trace
US5586278A (en) 1994-03-01 1996-12-17 Intel Corporation Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor
JP3547482B2 (ja) * 1994-04-15 2004-07-28 株式会社日立製作所 情報処理装置
US5613083A (en) * 1994-09-30 1997-03-18 Intel Corporation Translation lookaside buffer that is non-blocking in response to a miss for use within a microprocessor capable of processing speculative instructions
US5802272A (en) * 1994-12-19 1998-09-01 Digital Equipment Corporation Method and apparatus for tracing unpredictable execution flows in a trace buffer of a high-speed computer system
US5724565A (en) 1995-02-03 1998-03-03 International Business Machines Corporation Method and system for processing first and second sets of instructions by first and second types of processing systems
US5812811A (en) * 1995-02-03 1998-09-22 International Business Machines Corporation Executing speculative parallel instructions threads with forking and inter-thread communication
US5832260A (en) * 1995-12-29 1998-11-03 Intel Corporation Processor microarchitecture for efficient processing of instructions in a program including a conditional program flow control instruction
US5778210A (en) * 1996-01-11 1998-07-07 Intel Corporation Method and apparatus for recovering the state of a speculatively scheduled operation in a processor which cannot be executed at the speculated time
US5754818A (en) * 1996-03-22 1998-05-19 Sun Microsystems, Inc. Architecture and method for sharing TLB entries through process IDS
US5933627A (en) 1996-07-01 1999-08-03 Sun Microsystems Thread switch on blocked load or store using instruction thread field
US5961639A (en) 1996-12-16 1999-10-05 International Business Machines Corporation Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution
US5887166A (en) 1996-12-16 1999-03-23 International Business Machines Corporation Method and system for constructing a program including a navigation instruction
US5881280A (en) * 1997-07-25 1999-03-09 Hewlett-Packard Company Method and system for selecting instructions for re-execution for in-line exception recovery in a speculative execution processor

Also Published As

Publication number Publication date
EP1040421A4 (en) 2002-07-17
CN100342349C (zh) 2007-10-10
AU1911099A (en) 1999-07-05
BR9814290A (pt) 2001-10-30
US6240509B1 (en) 2001-05-29
CN1286771A (zh) 2001-03-07
EP1040421B1 (en) 2005-04-13
TW388811B (en) 2000-05-01
JP2002508567A (ja) 2002-03-19
KR20010024750A (ko) 2001-03-26
DE69829778D1 (de) 2005-05-19
JP3971893B2 (ja) 2007-09-05
WO1999031589A1 (en) 1999-06-24
KR100382126B1 (ko) 2003-05-09
EP1040421A1 (en) 2000-10-04
DE69829778T2 (de) 2006-01-26

Similar Documents

Publication Publication Date Title
HK1029194A1 (en) Out-of-pipeline trace buffer for instruction replay following misspeculation.
GB9626367D0 (en) Providing an instruction trace
EP1198747A4 (en) COMMAND STORAGE BASED ON FLOW DATA
GB2333384B (en) Processor having replay architecture
IL124904A0 (en) Processor for executing highly efficient vliw
PL336327A1 (en) Convertible magazine for packages
GB9716439D0 (en) Combusution for gas-or-liquid-fuelled turbine
IL139098A0 (en) Real time debugger interface for embedded systems
IL136465A0 (en) Architecture for an application framework
GB2311677B (en) Script editor
IL140471A0 (en) High-pressure drive system
EP1008042A4 (en) FAULT TOLERANCE ARCHITECTURE FOR IN-CIRCUIT PROGRAMMING
GB2345042B (en) Track tension system
EP1058877A4 (en) EXECUTION OF INSTRUCTIONS WITHOUT GIGUE
GB9827963D0 (en) Instruction execution mechanism
GB2311678B (en) Script editor
DE69729929D1 (de) Bedingte Wiederherstellung für Ausführungseinheit
HUP9800313A3 (en) Bridle type fastening piece for bossage
GB9724639D0 (en) Jig
HUP0100965A3 (en) Method for executing track skipping
GB9721397D0 (en) Anticaking agents
GB2314014B (en) Closure-arrangements for loose-covers
KR200160564Y1 (en) Tray-stocker for handler system
PL106382U1 (en) Intermediate member for roof supports
PL106401U1 (en) Intermediate member for roof supports

Legal Events

Date Code Title Description
PC Patent ceased (i.e. patent has lapsed due to the failure to pay the renewal fee)

Effective date: 20111211