DE69032465T2 - Prozessorarchitektur mit entkoppelter Befehlsbereitstellung - Google Patents

Prozessorarchitektur mit entkoppelter Befehlsbereitstellung

Info

Publication number
DE69032465T2
DE69032465T2 DE69032465T DE69032465T DE69032465T2 DE 69032465 T2 DE69032465 T2 DE 69032465T2 DE 69032465 T DE69032465 T DE 69032465T DE 69032465 T DE69032465 T DE 69032465T DE 69032465 T2 DE69032465 T2 DE 69032465T2
Authority
DE
Germany
Prior art keywords
processor architecture
instruction provision
decoupled
decoupled instruction
provision
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
DE69032465T
Other languages
English (en)
Other versions
DE69032465D1 (de
Inventor
Valeri Popescu
Merle A Schultz
Gary A Gibson
John E Spracklen
Bruce D Lightner
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.)
SK Hynix America Inc
Original Assignee
Hyundai Electronics America 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 Hyundai Electronics America Inc filed Critical Hyundai Electronics America Inc
Application granted granted Critical
Publication of DE69032465D1 publication Critical patent/DE69032465D1/de
Publication of DE69032465T2 publication Critical patent/DE69032465T2/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, 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, look ahead
    • G06F9/3802Instruction prefetching
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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, 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; 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, 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3844Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
    • 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, 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, 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
    • 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, 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; 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
DE69032465T 1989-12-15 1990-12-13 Prozessorarchitektur mit entkoppelter Befehlsbereitstellung Expired - Lifetime DE69032465T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US45140389A 1989-12-15 1989-12-15
US07/622,893 US5487156A (en) 1989-12-15 1990-12-05 Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched

Publications (2)

Publication Number Publication Date
DE69032465D1 DE69032465D1 (de) 1998-08-13
DE69032465T2 true DE69032465T2 (de) 1999-02-04

Family

ID=27036360

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69032465T Expired - Lifetime DE69032465T2 (de) 1989-12-15 1990-12-13 Prozessorarchitektur mit entkoppelter Befehlsbereitstellung

Country Status (5)

Country Link
US (9) US5487156A (de)
EP (1) EP0432774B1 (de)
JP (2) JP3014773B2 (de)
KR (1) KR940009098B1 (de)
DE (1) DE69032465T2 (de)

Families Citing this family (208)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5487156A (en) * 1989-12-15 1996-01-23 Popescu; Valeri Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched
US5692169A (en) * 1990-12-14 1997-11-25 Hewlett Packard Company Method and system for deferring exceptions generated during speculative execution
US5488729A (en) * 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
US5826055A (en) * 1991-07-08 1998-10-20 Seiko Epson Corporation System and method for retiring instructions in a superscalar microprocessor
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
EP0547247B1 (de) * 1991-07-08 2001-04-04 Seiko Epson Corporation Risc-prozessor mit dehnbarer architektur
US5493687A (en) * 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
WO1993020505A2 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation Superscalar risc instruction scheduling
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
DE69308548T2 (de) * 1992-05-01 1997-06-12 Seiko Epson Corp Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
DE69329778T2 (de) * 1992-09-29 2001-04-26 Seiko Epson Corp System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
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
EP0682789B1 (de) * 1992-12-31 1998-09-09 Seiko Epson Corporation System und verfahren zur änderung der namen von registern
US5604912A (en) * 1992-12-31 1997-02-18 Seiko Epson Corporation System and method for assigning tags to instructions to control instruction execution
US5628021A (en) * 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
JPH06242948A (ja) * 1993-02-16 1994-09-02 Fujitsu Ltd パイプライン処理計算機
US6704861B1 (en) * 1993-06-17 2004-03-09 Hewlett-Packard Development Company, L.P. Mechanism for executing computer instructions in parallel
WO1995016952A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Superscalar microprocessor instruction pipeline including instruction dispatch and release control
US5684971A (en) * 1993-12-27 1997-11-04 Intel Corporation Reservation station with a pseudo-FIFO circuit for scheduling dispatch of instructions
DK0661625T3 (da) * 1994-01-03 2000-04-03 Intel Corp Fremgangsmåde og apparatur til implementering af et firetrins system til bestemmelse af programforgreninger (Four Stage Bra
US6378062B1 (en) * 1994-01-04 2002-04-23 Intel Corporation Method and apparatus for performing a store operation
TW353732B (en) * 1994-03-31 1999-03-01 Ibm Processing system and method of operation
US5734856A (en) * 1994-04-05 1998-03-31 Seiko Epson Corporation System and method for generating supplemental ready signals to eliminate wasted cycles between operations
US6205538B1 (en) 1994-08-24 2001-03-20 Sun Microsystems, Inc. Instruction result labeling in a counterflow pipeline processor
US5649137A (en) * 1994-10-20 1997-07-15 Advanced Micro Devices, Inc. Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
US5675758A (en) * 1994-11-15 1997-10-07 Advanced Micro Devices, Inc. Processor having primary integer execution unit and supplemental integer execution unit for performing out-of-order add and move operations
US5642493A (en) * 1994-11-25 1997-06-24 Motorola, Inc. Method of loading instructions into an instruction cache by repetitively using a routine containing a mispredicted branch instruction
JP3494489B2 (ja) * 1994-11-30 2004-02-09 株式会社ルネサステクノロジ 命令処理装置
US5799179A (en) * 1995-01-24 1998-08-25 International Business Machines Corporation Handling of exceptions in speculative instructions
EP0724215A1 (de) * 1995-01-26 1996-07-31 Sun Microsystems, Inc. Verfahren und Anordnung zum Rückgängigmachen von falsch vorhergesagten Verzweigungen in einem Pipeline-Prozessor
EP0815507B1 (de) * 1995-02-14 2013-06-12 Fujitsu Limited Struktur und verfahren für einen hochleistungsprozessor mit spekulativer befehlsausführung und speziellen funktionen
US5745726A (en) * 1995-03-03 1998-04-28 Fujitsu, Ltd Method and apparatus for selecting the oldest queued instructions without data dependencies
US5896528A (en) * 1995-03-03 1999-04-20 Fujitsu Limited Superscalar processor with multiple register windows and speculative return address generation
US5708788A (en) * 1995-03-03 1998-01-13 Fujitsu, Ltd. Method for adjusting fetch program counter in response to the number of instructions fetched and issued
JP4309480B2 (ja) * 1995-03-07 2009-08-05 株式会社東芝 情報処理装置
US5822574A (en) * 1995-04-12 1998-10-13 Advanced Micro Devices, Inc. Functional unit with a pointer for mispredicted resolution, and a superscalar microprocessor employing the same
US5832297A (en) * 1995-04-12 1998-11-03 Advanced Micro Devices, Inc. Superscalar microprocessor load/store unit employing a unified buffer and separate pointers for load and store operations
US5778434A (en) * 1995-06-07 1998-07-07 Seiko Epson Corporation System and method for processing multiple requests and out of order returns
US5903918A (en) * 1995-08-23 1999-05-11 Sun Microsystems, Inc. Program counter age bits
JPH0991136A (ja) * 1995-09-25 1997-04-04 Toshiba Corp 信号処理装置
US5751983A (en) * 1995-10-03 1998-05-12 Abramson; Jeffrey M. Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations
US5745724A (en) * 1996-01-26 1998-04-28 Advanced Micro Devices, Inc. Scan chain for rapidly identifying first or second objects of selected types in a sequential list
US5765035A (en) * 1995-11-20 1998-06-09 Advanced Micro Devices, Inc. Recorder buffer capable of detecting dependencies between accesses to a pair of caches
US5781790A (en) * 1995-12-29 1998-07-14 Intel Corporation Method and apparatus for performing floating point to integer transfers and vice versa
US5815724A (en) * 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
US5799167A (en) * 1996-05-15 1998-08-25 Hewlett-Packard Company Instruction nullification system and method for a processor that executes instructions out of order
US5796975A (en) * 1996-05-24 1998-08-18 Hewlett-Packard Company Operand dependency tracking system and method for a processor that executes instructions out of order
EP0810518B1 (de) * 1996-05-30 2004-03-17 Matsushita Electric Industrial Co., Ltd. Verfahren und Schaltkreis zur Steuerung verzögerter Verzweigungsbefehle
US5748934A (en) * 1996-05-31 1998-05-05 Hewlett-Packard Company Operand dependency tracking system and method for a processor that executes instructions out of order and that permits multiple precision data words
US5765220A (en) * 1996-06-18 1998-06-09 Hewlett-Packard Company Apparatus and method to reduce instruction address storage in a super-scaler processor
US5652774A (en) * 1996-07-08 1997-07-29 International Business Machines Corporation Method and apparatus for decreasing the cycle times of a data processing system
US5802564A (en) * 1996-07-08 1998-09-01 International Business Machines Corp. Method and apparatus for increasing processor performance
US5838944A (en) * 1996-07-31 1998-11-17 Hewlett-Packard Company System for storing processor register data after a mispredicted branch
US5822575A (en) * 1996-09-12 1998-10-13 Advanced Micro Devices, Inc. Branch prediction storage for storing branch prediction information such that a corresponding tag may be routed with the branch instruction
US6209020B1 (en) * 1996-09-20 2001-03-27 Nortel Networks Limited Distributed pipeline memory architecture for a computer system with even and odd pids
US5889975A (en) * 1996-11-07 1999-03-30 Intel Corporation Method and apparatus permitting the use of a pipe stage having an unknown depth with a single microprocessor core
US5920710A (en) * 1996-11-18 1999-07-06 Advanced Micro Devices, Inc. Apparatus and method for modifying status bits in a reorder buffer with a large speculative state
US5870579A (en) * 1996-11-18 1999-02-09 Advanced Micro Devices, Inc. Reorder buffer including a circuit for selecting a designated mask corresponding to an instruction that results in an exception
US6035424A (en) * 1996-12-09 2000-03-07 International Business Machines Corporation Method and apparatus for tracking processing of a command
US5822788A (en) * 1996-12-20 1998-10-13 Intel Corporation Mechanism for prefetching targets of memory de-reference operations in a high-performance processor
US5978900A (en) * 1996-12-30 1999-11-02 Intel Corporation Renaming numeric and segment registers using common general register pool
US6088793A (en) * 1996-12-30 2000-07-11 Intel Corporation Method and apparatus for branch execution on a multiple-instruction-set-architecture microprocessor
EP0851343B1 (de) * 1996-12-31 2005-08-31 Metaflow Technologies, Inc. System zur Ausführung von Gleitkommaoperationen
US5805849A (en) * 1997-03-31 1998-09-08 International Business Machines Corporation Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions
US5878242A (en) * 1997-04-21 1999-03-02 International Business Machines Corporation Method and system for forwarding instructions in a processor with increased forwarding probability
US5784588A (en) * 1997-06-20 1998-07-21 Sun Microsystems, Inc. Dependency checking apparatus employing a scoreboard for a pair of register sets having different precisions
US5790827A (en) * 1997-06-20 1998-08-04 Sun Microsystems, Inc. Method for dependency checking using a scoreboard for a pair of register sets having different precisions
US6058466A (en) * 1997-06-24 2000-05-02 Sun Microsystems, Inc. System for allocation of execution resources amongst multiple executing processes
US5958047A (en) * 1997-06-25 1999-09-28 Sun Microsystems, Inc. Method for precise architectural update in an out-of-order processor
US6058472A (en) * 1997-06-25 2000-05-02 Sun Microsystems, Inc. Apparatus for maintaining program correctness while allowing loads to be boosted past stores in an out-of-order machine
US6098165A (en) * 1997-06-25 2000-08-01 Sun Microsystems, Inc. Fetching and handling a bundle of instructions comprising instructions and non-complex instructions
US5850533A (en) * 1997-06-25 1998-12-15 Sun Microsystems, Inc. Method for enforcing true dependencies in an out-of-order processor
US6055616A (en) * 1997-06-25 2000-04-25 Sun Microsystems, Inc. System for efficient implementation of multi-ported logic FIFO structures in a processor
US5860018A (en) * 1997-06-25 1999-01-12 Sun Microsystems, Inc. Method for tracking pipeline resources in a superscalar processor
US5978864A (en) * 1997-06-25 1999-11-02 Sun Microsystems, Inc. Method for thermal overload detection and prevention for an intergrated circuit processor
US6085305A (en) 1997-06-25 2000-07-04 Sun Microsystems, Inc. Apparatus for precise architectural update in an out-of-order processor
US5898853A (en) * 1997-06-25 1999-04-27 Sun Microsystems, Inc. Apparatus for enforcing true dependencies in an out-of-order processor
US6075931A (en) * 1997-06-25 2000-06-13 Sun Microsystems, Inc. Method for efficient implementation of multi-ported logic FIFO structures in a processor
US5875316A (en) * 1997-06-25 1999-02-23 Sun Microsystems, Inc. Method for handling complex instructions in an out-of-order processor
US5941977A (en) * 1997-06-25 1999-08-24 Sun Microsystems, Inc. Apparatus for handling register windows in an out-of-order processor
US6144982A (en) * 1997-06-25 2000-11-07 Sun Microsystems, Inc. Pipeline processor and computing system including an apparatus for tracking pipeline resources
US6035374A (en) * 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US5838988A (en) * 1997-06-25 1998-11-17 Sun Microsystems, Inc. Computer product for precise architectural update in an out-of-order processor
US5999727A (en) * 1997-06-25 1999-12-07 Sun Microsystems, Inc. Method for restraining over-eager load boosting using a dependency color indicator stored in cache with both the load and store instructions
US6094719A (en) * 1997-06-25 2000-07-25 Sun Microsystems, Inc. Reducing data dependent conflicts by converting single precision instructions into microinstructions using renamed phantom registers in a processor having double precision registers
US6052777A (en) * 1997-06-25 2000-04-18 Sun Microsystems, Inc. Method for delivering precise traps and interrupts in an out-of-order processor
US5884070A (en) * 1997-06-25 1999-03-16 Sun Microsystems, Inc. Method for processing single precision arithmetic operations in system where two single precision registers are aliased to one double precision register
US5948106A (en) * 1997-06-25 1999-09-07 Sun Microsystems, Inc. System for thermal overload detection and prevention for an integrated circuit processor
US6049868A (en) * 1997-06-25 2000-04-11 Sun Microsystems, Inc. Apparatus for delivering precise traps and interrupts in an out-of-order processor
US5870597A (en) * 1997-06-25 1999-02-09 Sun Microsystems, Inc. Method for speculative calculation of physical register addresses in an out of order processor
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
US5961636A (en) * 1997-09-22 1999-10-05 International Business Machines Corporation Checkpoint table for selective instruction flushing in a speculative execution unit
US6148372A (en) * 1998-01-21 2000-11-14 Sun Microsystems, Inc. Apparatus and method for detection and recovery from structural stalls in a multi-level non-blocking cache system
US6226713B1 (en) 1998-01-21 2001-05-01 Sun Microsystems, Inc. Apparatus and method for queueing structures in a multi-level non-blocking cache subsystem
US6065110A (en) * 1998-02-09 2000-05-16 International Business Machines Corporation Method and apparatus for loading an instruction buffer of a processor capable of out-of-order instruction issue
US6061785A (en) * 1998-02-17 2000-05-09 International Business Machines Corporation Data processing system having an apparatus for out-of-order register operations and method therefor
US6862732B1 (en) 1998-02-25 2005-03-01 Metaserver, Inc. Method and apparatus for event-driven processing of data
US6609189B1 (en) * 1998-03-12 2003-08-19 Yale University Cycle segmented prefix circuits
US6260138B1 (en) * 1998-07-17 2001-07-10 Sun Microsystems, Inc. Method and apparatus for branch instruction processing in a processor
US6189093B1 (en) * 1998-07-21 2001-02-13 Lsi Logic Corporation System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register
US6289445B2 (en) 1998-07-21 2001-09-11 Lsi Logic Corporation Circuit and method for initiating exception routines using implicit exception checking
US6163839A (en) * 1998-09-30 2000-12-19 Intel Corporation Non-stalling circular counterflow pipeline processor with reorder buffer
US6393556B1 (en) * 1998-10-30 2002-05-21 Intel Corporation Apparatus and method to change processor privilege without pipeline flush
US6233645B1 (en) 1998-11-02 2001-05-15 Compaq Computer Corporation Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high
US6216178B1 (en) * 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
SE9901145D0 (sv) * 1998-11-16 1999-03-29 Ericsson Telefon Ab L M A processing system and method
US6311267B1 (en) * 1998-11-20 2001-10-30 International Business Machines Corporation Just-in-time register renaming technique
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US6389449B1 (en) * 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
US7257814B1 (en) * 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US6978462B1 (en) 1999-01-28 2005-12-20 Ati International Srl Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled
US7013456B1 (en) 1999-01-28 2006-03-14 Ati International Srl Profiling execution of computer programs
US6954923B1 (en) * 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US8127121B2 (en) * 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US8121828B2 (en) * 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US6826748B1 (en) 1999-01-28 2004-11-30 Ati International Srl Profiling program execution into registers of a computer
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US6738896B1 (en) * 1999-02-01 2004-05-18 Hewlett-Packard Development Company, L.P. Method and apparatus for determining availability of a queue which allows random insertion
US6704856B1 (en) * 1999-02-01 2004-03-09 Hewlett-Packard Development Company, L.P. Method for compacting an instruction queue
US6542987B1 (en) * 1999-02-01 2003-04-01 Hewlett-Packard Development Company L.P. Method and circuits for early detection of a full queue
US7505974B2 (en) 1999-02-12 2009-03-17 Gropper Robert L Auto update utility for digital address books
US6883000B1 (en) 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US6266744B1 (en) 1999-05-18 2001-07-24 Advanced Micro Devices, Inc. Store to load forwarding using a dependency link file
US6473832B1 (en) 1999-05-18 2002-10-29 Advanced Micro Devices, Inc. Load/store unit having pre-cache and post-cache queues for low latency load memory operations
US6415360B1 (en) 1999-05-18 2002-07-02 Advanced Micro Devices, Inc. Minimizing self-modifying code checks for uncacheable memory types
US6473837B1 (en) 1999-05-18 2002-10-29 Advanced Micro Devices, Inc. Snoop resynchronization mechanism to preserve read ordering
US6393536B1 (en) 1999-05-18 2002-05-21 Advanced Micro Devices, Inc. Load/store unit employing last-in-buffer indication for rapid load-hit-store
US6427193B1 (en) 1999-05-18 2002-07-30 Advanced Micro Devices, Inc. Deadlock avoidance using exponential backoff
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
US7089404B1 (en) 1999-06-14 2006-08-08 Transmeta Corporation Method and apparatus for enhancing scheduling in an advanced microprocessor
US7634635B1 (en) 1999-06-14 2009-12-15 Brian Holscher Systems and methods for reordering processor instructions
US6640315B1 (en) * 1999-06-26 2003-10-28 Board Of Trustees Of The University Of Illinois Method and apparatus for enhancing instruction level parallelism
US20030135717A1 (en) * 1999-08-17 2003-07-17 Ansari Ahmad R. Method and apparatus for transferring vector data
US6549959B1 (en) 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6513109B1 (en) * 1999-08-31 2003-01-28 International Business Machines Corporation Method and apparatus for implementing execution predicates in a computer processing system
US6748589B1 (en) 1999-10-20 2004-06-08 Transmeta Corporation Method for increasing the speed of speculative execution
US6662280B1 (en) 1999-11-10 2003-12-09 Advanced Micro Devices, Inc. Store buffer which forwards data based on index and optional way match
US6665708B1 (en) 1999-11-12 2003-12-16 Telefonaktiebolaget Lm Ericsson (Publ) Coarse grained determination of data dependence between parallel executed jobs in an information processing system
US6345351B1 (en) 1999-11-12 2002-02-05 Telefonaktiebolaget Lm Ericsson(Publ) Maintenance of speculative state of parallel executed jobs in an information processing system
US6539470B1 (en) * 1999-11-16 2003-03-25 Advanced Micro Devices, Inc. Instruction decode unit producing instruction operand information in the order in which the operands are identified, and systems including same
US6697932B1 (en) * 1999-12-30 2004-02-24 Intel Corporation System and method for early resolution of low confidence branches and safe data cache accesses
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
US6804769B1 (en) * 2000-02-18 2004-10-12 Hewlett-Packard Development Company, L.P. Unified buffer for tracking disparate long-latency operations in a microprocessor
US7065632B1 (en) * 2000-04-07 2006-06-20 Ip First Llc Method and apparatus for speculatively forwarding storehit data in a hierarchical manner
US6662293B1 (en) * 2000-05-23 2003-12-09 Sun Microsystems, Inc. Instruction dependency scoreboard with a hierarchical structure
AU2001273211A1 (en) 2000-07-14 2002-01-30 Clearwater Networks, Inc. Instruction fetch and dispatch in multithreaded system
JP4025493B2 (ja) * 2000-08-08 2007-12-19 富士通株式会社 適切な発行先に命令を発行する命令発行装置
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US6754807B1 (en) 2000-08-31 2004-06-22 Stmicroelectronics, Inc. System and method for managing vertical dependencies in a digital signal processor
US6671799B1 (en) 2000-08-31 2003-12-30 Stmicroelectronics, Inc. System and method for dynamically sizing hardware loops and executing nested loops in a digital signal processor
US6754808B1 (en) * 2000-09-29 2004-06-22 Intel Corporation Valid bit generation and tracking in a pipelined processor
US7865747B2 (en) * 2000-10-31 2011-01-04 International Business Machines Corporation Adaptive issue queue for reduced power at high performance
US6622269B1 (en) * 2000-11-27 2003-09-16 Intel Corporation Memory fault isolation apparatus and methods
US6920547B2 (en) * 2000-12-20 2005-07-19 Intel Corporation Register adjustment based on adjustment values determined at multiple stages within a pipeline of a processor
US6883090B2 (en) * 2001-05-17 2005-04-19 Broadcom Corporation Method for cancelling conditional delay slot instructions
US6785804B2 (en) * 2001-05-17 2004-08-31 Broadcom Corporation Use of tags to cancel a conditional branch delay slot instruction
US6859874B2 (en) * 2001-09-24 2005-02-22 Broadcom Corporation Method for identifying basic blocks with conditional delay slot instructions
JP3729087B2 (ja) 2001-05-23 2005-12-21 日本電気株式会社 マルチプロセッサシステム、データ依存投機実行制御装置およびその方法
US6976152B2 (en) * 2001-09-24 2005-12-13 Broadcom Corporation Comparing operands of instructions against a replay scoreboard to detect an instruction replay and copying a replay scoreboard to an issue scoreboard
US7203817B2 (en) * 2001-09-24 2007-04-10 Broadcom Corporation Power consumption reduction in a pipeline by stalling instruction issue on a load miss
US7269714B2 (en) 2001-09-24 2007-09-11 Broadcom Corporation Inhibiting of a co-issuing instruction in a processor having different pipeline lengths
US7114059B2 (en) * 2001-11-05 2006-09-26 Intel Corporation System and method to bypass execution of instructions involving unreliable data during speculative execution
US7055021B2 (en) * 2002-02-05 2006-05-30 Sun Microsystems, Inc. Out-of-order processor that reduces mis-speculation using a replay scoreboard
US20030182537A1 (en) * 2002-03-21 2003-09-25 International Business Machines Corporation Mechanism to assign more logical load/store tags than available physical registers in a microprocessor system
US7124331B2 (en) * 2002-05-14 2006-10-17 Sun Microsystems, Inc. Method and apparatus for providing fault-tolerance for temporary results within a CPU
JP3816845B2 (ja) * 2002-07-05 2006-08-30 富士通株式会社 プロセッサ及び命令制御方法
US20040064679A1 (en) * 2002-09-30 2004-04-01 Black Bryan P. Hierarchical scheduling windows
US7136938B2 (en) * 2003-03-27 2006-11-14 International Business Machines Corporation Command ordering based on dependencies
US7308562B2 (en) * 2003-05-22 2007-12-11 International Business Machines Corporation System and method for improved branch performance in pipelined computer architectures
US7321964B2 (en) * 2003-07-08 2008-01-22 Advanced Micro Devices, Inc. Store-to-load forwarding buffer using indexed lookup
US6925928B2 (en) * 2003-09-18 2005-08-09 Anthony Fox Trash compactor for fast food restaurant waste
US20050108711A1 (en) * 2003-11-13 2005-05-19 Infineon Technologies North America Corporation Machine instruction for enhanced control of multiple virtual processor systems
US20050114632A1 (en) * 2003-11-21 2005-05-26 Intel Corporation Method and apparatus for data speculation in an out-of-order processor
US8607241B2 (en) * 2004-06-30 2013-12-10 Intel Corporation Compare and exchange operation using sleep-wakeup mechanism
US7152155B2 (en) * 2005-02-18 2006-12-19 Qualcomm Incorporated System and method of correcting a branch misprediction
US7949861B2 (en) * 2005-06-10 2011-05-24 Qualcomm Incorporated Method and apparatus for managing instruction flushing in a microprocessor's instruction pipeline
US7376817B2 (en) * 2005-08-10 2008-05-20 P.A. Semi, Inc. Partial load/store forward prediction
US7634644B2 (en) * 2006-03-13 2009-12-15 Sun Microsystems, Inc. Effective elimination of delay slot handling from a front section of a processor pipeline
US7475226B2 (en) * 2006-09-20 2009-01-06 International Business Machines Corporation System for managing data dependency using bit field instruction destination vector identifying destination for execution results
US20080077777A1 (en) * 2006-09-25 2008-03-27 Arm Limited Register renaming for instructions having unresolved condition codes
US20090037885A1 (en) * 2007-07-30 2009-02-05 Microsoft Cororation Emulating execution of divergent program execution paths
US8037366B2 (en) * 2009-03-24 2011-10-11 International Business Machines Corporation Issuing instructions in-order in an out-of-order processor using false dependencies
US8589892B2 (en) * 2010-11-21 2013-11-19 International Business Machines Corporation Verification of speculative execution
DE102011084569B4 (de) * 2011-10-14 2019-02-21 Continental Automotive Gmbh Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System
US9128725B2 (en) 2012-05-04 2015-09-08 Apple Inc. Load-store dependency predictor content management
US9600289B2 (en) 2012-05-30 2017-03-21 Apple Inc. Load-store dependency predictor PC hashing
KR101774993B1 (ko) 2012-06-15 2017-09-05 인텔 코포레이션 분산된 구조를 갖는 동적 디스패치 윈도우를 가지는 가상 load store 큐
WO2013188705A2 (en) 2012-06-15 2013-12-19 Soft Machines, Inc. A virtual load store queue having a dynamic dispatch window with a unified structure
KR101825585B1 (ko) 2012-06-15 2018-02-05 인텔 코포레이션 명확화 없는 비순차 load store 큐를 갖는 재정렬된 투기적 명령어 시퀀스들
KR101826399B1 (ko) 2012-06-15 2018-02-06 인텔 코포레이션 Load store 재정렬 및 최적화를 구현하는 명령어 정의
CN104823168B (zh) * 2012-06-15 2018-11-09 英特尔公司 用于实现从由加载存储重新排序和优化导致的推测性转发遗漏预测/错误中恢复的方法和系统
TWI599879B (zh) 2012-06-15 2017-09-21 英特爾股份有限公司 在處理器中之免消歧義失序載入儲存佇列方法和微處理器
JP6098429B2 (ja) * 2013-08-12 2017-03-22 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9710268B2 (en) 2014-04-29 2017-07-18 Apple Inc. Reducing latency for pointer chasing loads
US10514925B1 (en) 2016-01-28 2019-12-24 Apple Inc. Load speculation recovery
US10437595B1 (en) 2016-03-15 2019-10-08 Apple Inc. Load/store dependency predictor optimization for replayed loads
US11106466B2 (en) * 2018-06-18 2021-08-31 International Business Machines Corporation Decoupling of conditional branches
US11403254B2 (en) * 2018-08-16 2022-08-02 Tachyum Ltd. System and method for populating multiple instruction words

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4325121A (en) * 1978-11-17 1982-04-13 Motorola, Inc. Two-level control store for microprogrammed data processor
US4338661A (en) * 1979-05-21 1982-07-06 Motorola, Inc. Conditional branch unit for microprogrammed data processor
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
US4402042A (en) * 1980-11-24 1983-08-30 Texas Instruments Incorporated Microprocessor system with instruction pre-fetch
JPS58146941A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
JPS58151655A (ja) * 1982-03-03 1983-09-08 Fujitsu Ltd 情報処理装置
JPS5932045A (ja) * 1982-08-16 1984-02-21 Hitachi Ltd 情報処理装置
US4807115A (en) * 1983-10-07 1989-02-21 Cornell Research Foundation, Inc. Instruction issuing mechanism for processors with multiple functional units
US5146570A (en) * 1984-10-31 1992-09-08 International Business Machines Corporation System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
CA1223969A (en) * 1984-10-31 1987-07-07 William M. Johnson Microcode control of a parallel architecture microprocessor
US4722049A (en) * 1985-10-11 1988-01-26 Unisys Corporation Apparatus for out-of-order program execution
US4811215A (en) * 1986-12-12 1989-03-07 Intergraph Corporation Instruction execution accelerator for a pipelined digital machine with virtual memory
US4926323A (en) * 1988-03-03 1990-05-15 Advanced Micro Devices, Inc. Streamlined instruction processor
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
US5072364A (en) * 1989-05-24 1991-12-10 Tandem Computers Incorporated Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel
US5075844A (en) * 1989-05-24 1991-12-24 Tandem Computers Incorporated Paired instruction processor precise exception handling mechanism
CA2016068C (en) * 1989-05-24 2000-04-04 Robert W. Horst Multiple instruction issue computer architecture
US5487156A (en) * 1989-12-15 1996-01-23 Popescu; Valeri Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched

Also Published As

Publication number Publication date
EP0432774B1 (de) 1998-07-08
JPH04270421A (ja) 1992-09-25
US5627983A (en) 1997-05-06
EP0432774A2 (de) 1991-06-19
US5561776A (en) 1996-10-01
DE69032465D1 (de) 1998-08-13
US5987588A (en) 1999-11-16
EP0432774A3 (en) 1993-04-07
US5592636A (en) 1997-01-07
JP3014773B2 (ja) 2000-02-28
US5487156A (en) 1996-01-23
US5625837A (en) 1997-04-29
KR910012911A (ko) 1991-08-08
US5797025A (en) 1998-08-18
KR940009098B1 (en) 1994-09-29
JP2000029699A (ja) 2000-01-28
US5832293A (en) 1998-11-03
US5708841A (en) 1998-01-13

Similar Documents

Publication Publication Date Title
DE69032465T2 (de) Prozessorarchitektur mit entkoppelter Befehlsbereitstellung
DE69033384T2 (de) Entwicklungsgerät
DK540289D0 (da) Protein
DK0570359T3 (da) Heuristisk processor
DE68927029T2 (de) Pipelineprozessor
DE68925397T2 (de) Pipelineprozessor
DE69030066D1 (de) Rechner ausgestattet mit mehreren Prozessoren
DE68927202T2 (de) Paralleler Prozessor
KR900702583A (ko) 초전도성 복합체
DK395288D0 (da) Proteiner
FI91488B (fi) Seula
DK219589D0 (da) Klaebemiddel
BR8907497A (pt) Conjunto fotografico
DE68925572T2 (de) Vektorprozessor
DE4090809T1 (de) Steuerprozessor
DK354989D0 (da) Modificerede proteiner
DK0392700T3 (da) Sikkerhedsdør
DK577689D0 (da) Poelseemballage
DE69028825D1 (de) Elektro-optischer Volladdierer
DE68926430T2 (de) Vektorprozessor
BR6802322U (pt) Multiprocessador eletroneurodiagnostico
BR6802011U (pt) Cavalete desmontavel
BR6802430U (pt) Disposicao em compasso
BR8801375A (pt) Distanciometro eletro-optico
BR8806447A (pt) Vitrine circulante

Legal Events

Date Code Title Description
8364 No opposition during term of opposition