JP3866920B2 - 命令のリタイアメント時に物理レジスタを選択的に自由にするよう構成されたプロセッサ - Google Patents

命令のリタイアメント時に物理レジスタを選択的に自由にするよう構成されたプロセッサ Download PDF

Info

Publication number
JP3866920B2
JP3866920B2 JP2000562823A JP2000562823A JP3866920B2 JP 3866920 B2 JP3866920 B2 JP 3866920B2 JP 2000562823 A JP2000562823 A JP 2000562823A JP 2000562823 A JP2000562823 A JP 2000562823A JP 3866920 B2 JP3866920 B2 JP 3866920B2
Authority
JP
Japan
Prior art keywords
physical register
register
physical
register number
instruction
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 - Fee Related
Application number
JP2000562823A
Other languages
English (en)
Japanese (ja)
Other versions
JP2002521762A (ja
JP2002521762A5 (cg-RX-API-DMAC7.html
Inventor
ウィット,デイビッド・ビィ
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2002521762A publication Critical patent/JP2002521762A/ja
Publication of JP2002521762A5 publication Critical patent/JP2002521762A5/ja
Application granted granted Critical
Publication of JP3866920B2 publication Critical patent/JP3866920B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • 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/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 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
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

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)
  • Executing Machine-Instructions (AREA)
JP2000562823A 1998-07-31 1999-01-18 命令のリタイアメント時に物理レジスタを選択的に自由にするよう構成されたプロセッサ Expired - Fee Related JP3866920B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/127,094 1998-07-31
US09/127,094 US6230262B1 (en) 1998-07-31 1998-07-31 Processor configured to selectively free physical registers upon retirement of instructions
PCT/US1999/001048 WO2000007097A1 (en) 1998-07-31 1999-01-18 Processor configured to selectively free physical registers upon retirement of instructions

Publications (3)

Publication Number Publication Date
JP2002521762A JP2002521762A (ja) 2002-07-16
JP2002521762A5 JP2002521762A5 (cg-RX-API-DMAC7.html) 2006-03-09
JP3866920B2 true JP3866920B2 (ja) 2007-01-10

Family

ID=22428274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000562823A Expired - Fee Related JP3866920B2 (ja) 1998-07-31 1999-01-18 命令のリタイアメント時に物理レジスタを選択的に自由にするよう構成されたプロセッサ

Country Status (6)

Country Link
US (1) US6230262B1 (cg-RX-API-DMAC7.html)
EP (1) EP1099158B1 (cg-RX-API-DMAC7.html)
JP (1) JP3866920B2 (cg-RX-API-DMAC7.html)
KR (1) KR100572040B1 (cg-RX-API-DMAC7.html)
DE (1) DE69903554T2 (cg-RX-API-DMAC7.html)
WO (1) WO2000007097A1 (cg-RX-API-DMAC7.html)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253310B1 (en) * 1998-12-31 2001-06-26 Intel Corporation Delayed deallocation of an arithmetic flags register
US6266763B1 (en) * 1999-01-05 2001-07-24 Advanced Micro Devices, Inc. Physical rename register for efficiently storing floating point, integer, condition code, and multimedia values
JP3817436B2 (ja) 2000-09-28 2006-09-06 株式会社東芝 プロセッサおよびリネーミング装置
WO2002054228A1 (en) * 2000-12-06 2002-07-11 University Of Bristol Register renaming
US7043626B1 (en) 2003-10-01 2006-05-09 Advanced Micro Devices, Inc. Retaining flag value associated with dead result data in freed rename physical register with an indicator to select set-aside register instead for renaming
US20080077782A1 (en) * 2006-09-26 2008-03-27 Arm Limited Restoring a register renaming table within a processor following an exception
US20080148022A1 (en) * 2006-12-13 2008-06-19 Arm Limited Marking registers as available for register renaming
US9052909B2 (en) 2011-12-07 2015-06-09 Arm Limited Recovering from exceptions and timing errors
US8738971B2 (en) 2011-12-07 2014-05-27 Arm Limited Limiting certain processing activities as error rate probability rises
US9075621B2 (en) 2011-12-23 2015-07-07 Arm Limited Error recovery upon reaching oldest instruction marked with error or upon timed expiration by flushing instructions in pipeline pending queue and restarting execution
US8640008B2 (en) 2011-12-23 2014-01-28 Arm Limited Error recovery in a data processing apparatus
GB2496934B (en) * 2012-08-07 2014-06-11 Imagination Tech Ltd Multi-stage register renaming using dependency removal
US20160378480A1 (en) * 2015-06-27 2016-12-29 Pavel G. Matveyev Systems, Methods, and Apparatuses for Improving Performance of Status Dependent Computations
CN114356420B (zh) * 2021-12-28 2023-02-17 海光信息技术股份有限公司 指令流水线的处理方法及装置、电子装置及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT354159B (de) 1975-02-10 1979-12-27 Siemens Ag Assoziativspeicher mit getrennt assoziierbaren bereichen
US4453212A (en) 1981-07-13 1984-06-05 Burroughs Corporation Extended address generating apparatus and method
US4928223A (en) 1982-10-06 1990-05-22 Fairchild Semiconductor Corporation Floating point microprocessor with directable two level microinstructions
US4807115A (en) 1983-10-07 1989-02-21 Cornell Research Foundation, Inc. Instruction issuing mechanism for processors with multiple functional units
DE3751503T2 (de) 1986-03-26 1996-05-09 Hitachi Ltd Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
AU587714B2 (en) 1986-08-27 1989-08-24 Amdahl Corporation Cache storage queue
US5067069A (en) 1989-02-03 1991-11-19 Digital Equipment Corporation Control of multiple functional units with parallel operation in a microcoded execution unit
US5226126A (en) 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5129067A (en) 1989-06-06 1992-07-07 Advanced Micro Devices, Inc. Multiple instruction decoder for minimizing register port requirements
US5136697A (en) 1989-06-06 1992-08-04 Advanced Micro Devices, Inc. System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache
US5226130A (en) 1990-02-26 1993-07-06 Nexgen Microsystems Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
US5053631A (en) 1990-04-02 1991-10-01 Advanced Micro Devices, Inc. Pipelined floating point processing unit
US5058048A (en) 1990-04-02 1991-10-15 Advanced Micro Devices, Inc. Normalizing pipelined floating point processing unit
DE69130588T2 (de) 1990-05-29 1999-05-27 National Semiconductor Corp., Santa Clara, Calif. Cache-Speicher von partiell decodierten Befehlen und Verfahren hierfür
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
GB9112754D0 (en) 1991-06-13 1991-07-31 Int Computers Ltd Data processing apparatus
GB9123271D0 (en) 1991-11-02 1991-12-18 Int Computers Ltd Data processing system
GB2263985B (en) 1992-02-06 1995-06-14 Intel Corp Two stage window multiplexors for deriving variable length instructions from a stream of instructions
SG45269A1 (en) 1992-02-06 1998-01-16 Intel Corp End bit markers for instruction decode
IE80854B1 (en) 1993-08-26 1999-04-07 Intel Corp Processor ordering consistency for a processor performing out-of-order instruction execution
US5784589A (en) 1993-10-18 1998-07-21 Cyrix Corporation Distributed free register tracking for register renaming using an availability tracking register associated with each stage of an execution pipeline
US5630149A (en) 1993-10-18 1997-05-13 Cyrix Corporation Pipelined processor with register renaming hardware to accommodate multiple size registers
DE69429061T2 (de) 1993-10-29 2002-07-18 Advanced Micro Devices, Inc. Superskalarmikroprozessoren
US5546554A (en) 1994-02-02 1996-08-13 Sun Microsystems, Inc. Apparatus for dynamic register management in a floating point unit
US5481693A (en) 1994-07-20 1996-01-02 Exponential Technology, Inc. Shared register architecture for a dual-instruction-set CPU
US5675759A (en) 1995-03-03 1997-10-07 Shebanow; Michael C. Method and apparatus for register management using issue sequence prior physical register and register association validity information
EP0851343B1 (en) 1996-12-31 2005-08-31 Metaflow Technologies, Inc. System for processing floating point operations
JP3452771B2 (ja) * 1997-10-02 2003-09-29 富士通株式会社 命令制御システム及びその方法
US6119223A (en) * 1998-07-31 2000-09-12 Advanced Micro Devices, Inc. Map unit having rapid misprediction recovery
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

Also Published As

Publication number Publication date
EP1099158B1 (en) 2002-10-16
KR20010053623A (ko) 2001-06-25
EP1099158A1 (en) 2001-05-16
US6230262B1 (en) 2001-05-08
KR100572040B1 (ko) 2006-04-18
DE69903554T2 (de) 2003-06-18
JP2002521762A (ja) 2002-07-16
WO2000007097A1 (en) 2000-02-10
DE69903554D1 (de) 2002-11-21

Similar Documents

Publication Publication Date Title
JP3977016B2 (ja) 仮想レジスタ番号を用いて論理レジスタ番号を物理レジスタ番号にマッピングするように構成されるプロセッサ
US6119223A (en) Map unit having rapid misprediction recovery
EP0686914B1 (en) Resynchronisation of a superscalar processor
EP1116103B1 (en) Mechanism for store-to-load forwarding
JP3628379B2 (ja) 命令を処理するためのパイプラインを有するマイクロプロセッサ装置およびそれにおいて用いるためのプログラムカウンタ値を発生する装置
US5889982A (en) Method and apparatus for generating event handler vectors based on both operating mode and event type
JP3714992B2 (ja) 複数の動作を同時に行なうためのプロセッサ、その中のスタック、およびスタック制御方法
JP4344870B2 (ja) 特殊浮動小数点数の迅速な検出のための浮動小数点値のタグ付け
EP0957428B1 (en) Method and apparatus for fetching non-contiguous instructions in a data processing system
US6192465B1 (en) Using multiple decoders and a reorder queue to decode instructions out of order
US6212622B1 (en) Mechanism for load block on store address generation
US20080177988A1 (en) Partial Load/Store Forward Prediction
KR100698493B1 (ko) 좁은 피연산자들에서 계산을 수행하는 방법 및 장치
US6260134B1 (en) Fixed shift amount variable length instruction stream pre-decoding for start byte determination based on prefix indicating length vector presuming potential start byte
JP3866920B2 (ja) 命令のリタイアメント時に物理レジスタを選択的に自由にするよう構成されたプロセッサ
US6266763B1 (en) Physical rename register for efficiently storing floating point, integer, condition code, and multimedia values
JP3866921B2 (ja) ストアアドレス生成およびユニバーサルな依存性ベクトルに基づくロードブロックのためのメカニズム
US6405303B1 (en) Massively parallel decoding and execution of variable-length instructions
US6175909B1 (en) Forwarding instruction byte blocks to parallel scanning units using instruction cache associated table storing scan block boundary information for faster alignment
US7783692B1 (en) Fast flag generation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091013

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees