DE69628480D1 - Ausnahmebehandlung in einem Datenprozessor - Google Patents

Ausnahmebehandlung in einem Datenprozessor

Info

Publication number
DE69628480D1
DE69628480D1 DE69628480T DE69628480T DE69628480D1 DE 69628480 D1 DE69628480 D1 DE 69628480D1 DE 69628480 T DE69628480 T DE 69628480T DE 69628480 T DE69628480 T DE 69628480T DE 69628480 D1 DE69628480 D1 DE 69628480D1
Authority
DE
Germany
Prior art keywords
instruction
register
physical
logical
registers
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.)
Expired - Lifetime
Application number
DE69628480T
Other languages
English (en)
Other versions
DE69628480T2 (de
Inventor
Michael C Shebanow
Gene W Shen
Ravi Swami
Niteen A Patkar
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69628480D1 publication Critical patent/DE69628480D1/de
Publication of DE69628480T2 publication Critical patent/DE69628480T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Retry When Errors Occur (AREA)
  • Exchange Systems With Centralized Control (AREA)
DE69628480T 1995-03-03 1996-03-01 Ausnahmebehandlung in einem Datenprozessor Expired - Lifetime DE69628480T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39789395A 1995-03-03 1995-03-03
US397893 1995-03-03

Publications (2)

Publication Number Publication Date
DE69628480D1 true DE69628480D1 (de) 2003-07-10
DE69628480T2 DE69628480T2 (de) 2004-05-06

Family

ID=23573099

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69628480T Expired - Lifetime DE69628480T2 (de) 1995-03-03 1996-03-01 Ausnahmebehandlung in einem Datenprozessor
DE69638299T Expired - Lifetime DE69638299D1 (de) 1995-03-03 1996-03-01 Verfahren und Vorrichtung zur Änderung der Namen von Registern

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69638299T Expired - Lifetime DE69638299D1 (de) 1995-03-03 1996-03-01 Verfahren und Vorrichtung zur Änderung der Namen von Registern

Country Status (4)

Country Link
US (1) US5675759A (de)
EP (2) EP1308837B1 (de)
AT (1) ATE242508T1 (de)
DE (2) DE69628480T2 (de)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11506230A (ja) * 1996-03-28 1999-06-02 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ シーケンシャルプロセッサにおいてデータ要素の組を処理する方法およびコンピュータシステム
US5881305A (en) * 1996-12-13 1999-03-09 Advanced Micro Devices, Inc. Register rename stack for a microprocessor
US5872990A (en) * 1997-01-07 1999-02-16 International Business Machines Corporation Reordering of memory reference operations and conflict resolution via rollback in a multiprocessing environment
US5765017A (en) * 1997-01-13 1998-06-09 International Business Machines Corporation Method and system in a data processing system for efficient management of an indication of a status of each of multiple registers
US6314511B2 (en) * 1997-04-03 2001-11-06 University Of Washington Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers
US6003126A (en) * 1997-07-01 1999-12-14 International Business Machines Special instruction register including allocation field utilized for temporary designation of physical registers as general registers
US5961636A (en) * 1997-09-22 1999-10-05 International Business Machines Corporation Checkpoint table for selective instruction flushing in a speculative execution unit
US6009509A (en) * 1997-10-08 1999-12-28 International Business Machines Corporation Method and system for the temporary designation and utilization of a plurality of physical registers as a stack
US5974525A (en) * 1997-12-05 1999-10-26 Intel Corporation System for allowing multiple instructions to use the same logical registers by remapping them to separate physical segment registers when the first is being utilized
US6108771A (en) * 1997-12-19 2000-08-22 International Business Machines Corporation Register renaming with a pool of physical registers
US6212619B1 (en) * 1998-05-11 2001-04-03 International Business Machines Corporation System and method for high-speed register renaming by counting
US6230262B1 (en) 1998-07-31 2001-05-08 Advanced Micro Devices, Inc. Processor configured to selectively free physical registers upon retirement of instructions
US6122656A (en) 1998-07-31 2000-09-19 Advanced Micro Devices, Inc. Processor configured to map logical register numbers to physical register numbers using virtual register numbers
US6119223A (en) * 1998-07-31 2000-09-12 Advanced Micro Devices, Inc. Map unit having rapid misprediction recovery
US6633563B1 (en) * 1999-03-02 2003-10-14 Nortel Networks Limited Assigning cell data to one of several processors provided in a data switch
US6553483B1 (en) * 1999-11-29 2003-04-22 Intel Corporation Enhanced virtual renaming scheme and deadlock prevention therefor
US6633970B1 (en) * 1999-12-28 2003-10-14 Intel Corporation Processor with registers storing committed/speculative data and a RAT state history recovery mechanism with retire pointer
GB2403833B (en) * 2000-02-16 2005-02-23 Hewlett Packard Co Method and apparatus for resteering failing speculation check instructions field
US7191315B2 (en) 2001-06-04 2007-03-13 Sun Microsystems, Inc. Method and system for tracking and recycling physical register assignment
US20040064657A1 (en) * 2002-09-27 2004-04-01 Muraleedhara Navada Memory structure including information storage elements and associated validity storage elements
US7117297B2 (en) * 2003-05-23 2006-10-03 Hewlett-Packard Development Company, L.P. Method and apparatus for storing multiple entry types and ordering information using a single addressable storage array
TWI223756B (en) * 2003-10-09 2004-11-11 Univ Nat Sun Yat Sen Automatic register backup/restore system and method
US7216219B2 (en) * 2004-05-03 2007-05-08 Sun Microsystems Inc. Method and apparatus for avoiding write-after-read hazards in an execute-ahead processor
US20070204139A1 (en) 2006-02-28 2007-08-30 Mips Technologies, Inc. Compact linked-list-based multi-threaded instruction graduation buffer
EP2011018B1 (de) 2006-04-12 2016-07-13 Soft Machines, Inc. Vorrichtung und verfahren zur verarbeitung einer instruktionsmatrix zur definition paralleler und abhängiger operationen
US20080016326A1 (en) 2006-07-14 2008-01-17 Mips Technologies, Inc. Latest producer tracking in an out-of-order processor, and applications thereof
US7370178B1 (en) * 2006-07-14 2008-05-06 Mips Technologies, Inc. Method for latest producer tracking in an out-of-order processor, and applications thereof
EP2527972A3 (de) 2006-11-14 2014-08-06 Soft Machines, Inc. Vorrichtung und Verfahren zum Verarbeiten von komplexen Anweisungsformaten in einer Multi-Thread-Architektur, die verschiedene Kontextschaltungsmodi und Visualisierungsschemen unterstützt
JP5595633B2 (ja) * 2007-02-26 2014-09-24 スパンション エルエルシー シミュレーション方法及びシミュレーション装置
TWI389026B (zh) * 2009-06-08 2013-03-11 Rdc Semiconductor Co Ltd 暫存器更名表的回復方法與回復系統
WO2012037491A2 (en) 2010-09-17 2012-03-22 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
CN108376097B (zh) 2011-03-25 2022-04-15 英特尔公司 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段
EP2689326B1 (de) 2011-03-25 2022-11-16 Intel Corporation Speicherfragmente zur unterstützung einer codeblockausführung mittels durch partitionierbare engines realisierter virtueller kerne
TWI533129B (zh) 2011-03-25 2016-05-11 軟體機器公司 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊
US9170818B2 (en) * 2011-04-26 2015-10-27 Freescale Semiconductor, Inc. Register renaming scheme with checkpoint repair in a processing device
EP2710480B1 (de) 2011-05-20 2018-06-20 Intel Corporation Verbindungsstruktur zur unterstützung der ausführung von instruktionssequenzen durch mehrere maschinen
TWI666551B (zh) 2011-05-20 2019-07-21 美商英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
IN2014CN03678A (de) 2011-11-22 2015-09-25 Soft Machines Inc
CN104040491B (zh) 2011-11-22 2018-06-12 英特尔公司 微处理器加速的代码优化器
US20140075140A1 (en) * 2011-12-30 2014-03-13 Ingo Schmiegel Selective control for commit lines for shadowing data in storage elements
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
WO2014151043A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for emulating a guest centralized flag architecture by using a native distributed flag architecture
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
WO2014151018A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for executing multithreaded instructions grouped onto blocks
US9886279B2 (en) * 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
JP6307975B2 (ja) * 2014-03-28 2018-04-11 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US20180203703A1 (en) * 2017-01-13 2018-07-19 Optimum Semiconductor Technologies, Inc. Implementation of register renaming, call-return prediction and prefetch
US11204773B2 (en) * 2018-09-07 2021-12-21 Arm Limited Storing a processing state based on confidence in a predicted branch outcome and a number of recent state changes
US10977038B2 (en) 2019-06-19 2021-04-13 Arm Limited Checkpointing speculative register mappings
US20210165654A1 (en) * 2019-12-03 2021-06-03 Marvell International Ltd. Eliminating execution of instructions that produce a constant result

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4992938A (en) * 1987-07-01 1991-02-12 International Business Machines Corporation Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers
US4901233A (en) * 1987-07-20 1990-02-13 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US5197132A (en) * 1990-06-29 1993-03-23 Digital Equipment Corporation Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery
US5355457A (en) * 1991-05-21 1994-10-11 Motorola, Inc. Data processor for performing simultaneous instruction retirement and backtracking
US5481683A (en) * 1992-10-30 1996-01-02 International Business Machines Corporation Super scalar computer architecture using remand and recycled general purpose register to manage out-of-order execution of instructions
US5493669A (en) * 1993-03-03 1996-02-20 Motorola, Inc. Data processor for simultaneously searching two fields of the rename buffer having first and second most recently allogated bits
US5548776A (en) * 1993-09-30 1996-08-20 Intel Corporation N-wide bypass for data dependencies within register alias table
US5499352A (en) * 1993-09-30 1996-03-12 Intel Corporation Floating point register alias table FXCH and retirement floating point register array

Also Published As

Publication number Publication date
US5675759A (en) 1997-10-07
DE69628480T2 (de) 2004-05-06
EP1308837B1 (de) 2010-12-01
EP1308837A2 (de) 2003-05-07
EP0730225A2 (de) 1996-09-04
EP1308837A3 (de) 2007-02-28
EP0730225B1 (de) 2003-06-04
DE69638299D1 (de) 2011-01-13
EP0730225A3 (de) 1999-12-08
ATE242508T1 (de) 2003-06-15

Similar Documents

Publication Publication Date Title
DE69628480D1 (de) Ausnahmebehandlung in einem Datenprozessor
EP0727735A3 (de) Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor
KR100371930B1 (de)
DE68928812T2 (de) Vorrichtung zur Auflösung von einer variablen Anzahl von möglichen Speicherzugriffskonflikten in einem Pipeline-Rechnersystem und Verfahren dazu
EP0335515A3 (de) Verfahren und Vorrichtung zur Ausführung von Befehlen für ein Vektorverarbeitungssystem
WO1999026132A3 (en) Processor configured to generate lookahead results from collapsed moves, compares and simple arithmetic instructions
ATE173100T1 (de) Verfahren und system um einen unabhängige zugriff auf zwischenspeicherpuffern in einem superskalaren prozessorsystem zu gewährleisten.
ATE213073T1 (de) Datenprozessor für operanden mit variabler breite
EP0401992A3 (de) Verfahren und Gerät zur Beschleunigung von Verzweigungsbefehlen
HK1051730A1 (en) Memory reference instructions for micro engine used in multithreaded parallel processor architecture
TW364981B (en) Computer methods for writing a scalar value to a vector
DE69325566D1 (de) Verfahren und System zur Befehlszuteilung in einem superskalaren Prozessorsystem mit unabhängig zugänglichem Zwischenspeicher
US6820190B1 (en) Method and computer system for decomposing macroinstructions into microinstructions and forcing the parallel issue of at least two microinstructions
JPH096612A (ja) カウント・レジスタおよびリンク・レジスタへの書込みを行う多重分岐命令を処理するための方法と装置
ATE220810T1 (de) Informationsverarbeitungssystem mit einem cachespeicher und vorrichtung zur datenvorausholung
TW355770B (en) Program execution method and device using the same
EP0790577A3 (de) Operationen auf Bildern
KR880003241A (ko) 데이타 처리 시스템
JPS56147246A (en) Program control device
JPH0337722A (ja) 情報処理装置
JPS6435630A (en) Information processor
JPS5971542A (ja) 演算処理装置
JPS647168A (en) Information processor
JPH04242871A (ja) データフロー計算機のライトモジュール
JPS5783851A (en) Condition code generating system

Legal Events

Date Code Title Description
8364 No opposition during term of opposition