KR100431975B1 - 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템 - Google Patents

분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템

Info

Publication number
KR100431975B1
KR100431975B1 KR1019960061584A KR19960061584A KR100431975B1 KR 100431975 B1 KR100431975 B1 KR 100431975B1 KR 1019960061584 A KR1019960061584 A KR 1019960061584A KR 19960061584 A KR19960061584 A KR 19960061584A KR 100431975 B1 KR100431975 B1 KR 100431975B1
Authority
KR
South Korea
Prior art keywords
instruction
instructions
branch
functional units
predicted
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
KR1019960061584A
Other languages
English (en)
Korean (ko)
Other versions
KR970049478A (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 KR970049478A publication Critical patent/KR970049478A/ko
Application granted granted Critical
Publication of KR100431975B1 publication Critical patent/KR100431975B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
    • 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/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • 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/3842Speculative instruction execution
    • 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
    • G06F9/38585Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
KR1019960061584A 1995-12-07 1996-12-04 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템 Expired - Lifetime KR100431975B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/569,725 US5809324A (en) 1995-12-07 1995-12-07 Multiple instruction dispatch system for pipelined microprocessor without branch breaks
US08/569,725 1995-12-07
US08/581,115 1995-12-29

Publications (2)

Publication Number Publication Date
KR970049478A KR970049478A (ko) 1997-07-29
KR100431975B1 true KR100431975B1 (ko) 2004-10-28

Family

ID=24276603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960061584A Expired - Lifetime KR100431975B1 (ko) 1995-12-07 1996-12-04 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템

Country Status (5)

Country Link
US (1) US5809324A (https=)
EP (1) EP0778519B1 (https=)
JP (1) JP3779012B2 (https=)
KR (1) KR100431975B1 (https=)
DE (1) DE69626263T2 (https=)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289437B1 (en) 1997-08-27 2001-09-11 International Business Machines Corporation Data processing system and method for implementing an efficient out-of-order issue mechanism
US6289442B1 (en) * 1998-10-05 2001-09-11 Advanced Micro Devices, Inc. Circuit and method for tagging and invalidating speculatively executed instructions
US6910123B1 (en) * 2000-01-13 2005-06-21 Texas Instruments Incorporated Processor with conditional instruction execution based upon state of corresponding annul bit of annul code
US6976150B1 (en) * 2000-04-06 2005-12-13 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Resource flow computing device
US7072998B2 (en) * 2003-05-13 2006-07-04 Via Technologies, Inc. Method and system for optimized FIFO full conduction control
US7636837B2 (en) 2003-05-28 2009-12-22 Fujitsu Limited Apparatus and method for controlling instructions at time of failure of branch prediction
US7949861B2 (en) * 2005-06-10 2011-05-24 Qualcomm Incorporated Method and apparatus for managing instruction flushing in a microprocessor's instruction pipeline
US8127115B2 (en) * 2009-04-03 2012-02-28 International Business Machines Corporation Group formation with multiple taken branches per group
KR20130066402A (ko) * 2011-12-12 2013-06-20 삼성전자주식회사 트레이스 데이터 저장 장치 및 방법
US9122424B1 (en) * 2013-07-18 2015-09-01 Western Digital Technologies, Inc. FIFO buffer clean-up

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4833599A (en) * 1987-04-20 1989-05-23 Multiflow Computer, Inc. Hierarchical priority branch handling for parallel execution in a parallel processor
JP2845646B2 (ja) * 1990-09-05 1999-01-13 株式会社東芝 並列演算処理装置
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
US5644779A (en) * 1994-04-15 1997-07-01 International Business Machines Corporation Processing system and method of operation for concurrent processing of branch instructions with cancelling of processing of a branch instruction
US5598546A (en) * 1994-08-31 1997-01-28 Exponential Technology, Inc. Dual-architecture super-scalar pipeline
US5542109A (en) * 1994-08-31 1996-07-30 Exponential Technology, Inc. Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities

Also Published As

Publication number Publication date
DE69626263D1 (de) 2003-03-27
KR970049478A (ko) 1997-07-29
EP0778519A2 (en) 1997-06-11
EP0778519A3 (en) 1998-06-10
JPH09274565A (ja) 1997-10-21
US5809324A (en) 1998-09-15
EP0778519B1 (en) 2003-02-19
DE69626263T2 (de) 2004-02-05
JP3779012B2 (ja) 2006-05-24

Similar Documents

Publication Publication Date Title
US6163839A (en) Non-stalling circular counterflow pipeline processor with reorder buffer
EP0957428B1 (en) Method and apparatus for fetching non-contiguous instructions in a data processing system
US5185868A (en) Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy
US6112299A (en) Method and apparatus to select the next instruction in a superscalar or a very long instruction word computer having N-way branching
EP0021399B1 (en) A method and a machine for multiple instruction execution
US6122656A (en) Processor configured to map logical register numbers to physical register numbers using virtual register numbers
US6742111B2 (en) Reservation stations to increase instruction level parallelism
KR100493126B1 (ko) 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서
JP3678443B2 (ja) スーパーパイプライン式スーパースカラーマイクロプロセッサ用の書き込みバッファ
US5909587A (en) Multi-chip superscalar microprocessor module
KR100431975B1 (ko) 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템
EP1354267A2 (en) A superscalar processor having content addressable memory structures for determining dependencies
EP1099158B1 (en) Processor configured to selectively free physical registers upon retirement of instructions
US6754813B1 (en) Apparatus and method of processing information for suppression of branch prediction
KR100335747B1 (ko) 무순서 인스트럭션 발행이 가능한 프로세서의 인스트럭션 버퍼에 인스트럭션을 로드하는 방법 및 장치
US5890006A (en) Apparatus for extracting instruction specific bytes from an instruction
US6119220A (en) Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions
US6061775A (en) Apparatus and method for predicting a first microcode instruction of a cache line and using predecode instruction data to identify instruction boundaries and types
JP7409208B2 (ja) 演算処理装置
US6134650A (en) Apparatus and method for predicting a first scanned instruction as microcode instruction prior to scanning predecode data
RU2816094C1 (ru) Vliw-процессор с дополнительным подготовительным конвейером и предсказателем перехода
US7783692B1 (en) Fast flag generation
US5729729A (en) System for fast trap generation by creation of possible trap masks from early trap indicators and selecting one mask using late trap indicators
CN120762763A (zh) 一种指令处理装置、方法及相关设备

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19961204

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20011130

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19961204

Comment text: Patent Application

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

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20040507

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20040510

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20070424

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20080425

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20090424

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20100427

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20110421

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20120423

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20130419

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20130419

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20140421

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20150416

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20160419

Start annual number: 13

End annual number: 13

EXPY Expiration of term
PC1801 Expiration of term