WO2002057908A3 - A superscalar processor having content addressable memory structures for determining dependencies - Google Patents

A superscalar processor having content addressable memory structures for determining dependencies Download PDF

Info

Publication number
WO2002057908A3
WO2002057908A3 PCT/US2002/000319 US0200319W WO02057908A3 WO 2002057908 A3 WO2002057908 A3 WO 2002057908A3 US 0200319 W US0200319 W US 0200319W WO 02057908 A3 WO02057908 A3 WO 02057908A3
Authority
WO
WIPO (PCT)
Prior art keywords
superscalar processor
addressable memory
content addressable
dependencies
memory structures
Prior art date
Application number
PCT/US2002/000319
Other languages
French (fr)
Other versions
WO2002057908A2 (en
Inventor
Micah C Knapp
Poonacha P Kongetira
Marc E Lamere
Julie M Staraitis
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to JP2002558126A priority Critical patent/JP2004529405A/en
Priority to EP02701018A priority patent/EP1354267A2/en
Publication of WO2002057908A2 publication Critical patent/WO2002057908A2/en
Publication of WO2002057908A3 publication Critical patent/WO2002057908A3/en

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/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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory

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)

Abstract

A superscalar processor having a content addressable memory structure that transmits a first and second output signal is presented. The superscalar processor performs out of order processing on an instruction set. From the first output signal, the dependencies between currently fetched instructions of the instruction set and previous in-flight instructions can be determined and used to generate a dependency matrix for all in-flight instructions. From the second output signal, the physical register addresses of the data required to execute an instruction, once the dependencies have been removed, may be determined.
PCT/US2002/000319 2001-01-16 2002-01-02 A superscalar processor having content addressable memory structures for determining dependencies WO2002057908A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002558126A JP2004529405A (en) 2001-01-16 2002-01-02 Superscalar processor implementing content addressable memory for determining dependencies
EP02701018A EP1354267A2 (en) 2001-01-16 2002-01-02 A superscalar processor having content addressable memory structures for determining dependencies

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/761,494 US6862676B1 (en) 2001-01-16 2001-01-16 Superscalar processor having content addressable memory structures for determining dependencies
US09/761,494 2001-01-16

Publications (2)

Publication Number Publication Date
WO2002057908A2 WO2002057908A2 (en) 2002-07-25
WO2002057908A3 true WO2002057908A3 (en) 2002-11-07

Family

ID=25062382

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/000319 WO2002057908A2 (en) 2001-01-16 2002-01-02 A superscalar processor having content addressable memory structures for determining dependencies

Country Status (4)

Country Link
US (1) US6862676B1 (en)
EP (1) EP1354267A2 (en)
JP (1) JP2004529405A (en)
WO (1) WO2002057908A2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US7437724B2 (en) * 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
JP3734032B2 (en) * 2002-07-25 2006-01-11 日本電気株式会社 Information processing apparatus and memory control method thereof
US7475232B2 (en) * 2005-07-19 2009-01-06 International Business Machines Corporation Performance of an in-order processor by no longer requiring a uniform completion point across different execution pipelines
US7958336B2 (en) * 2008-06-30 2011-06-07 Intel Corporation System and method for reservation station load dependency matrix
US8127116B2 (en) * 2009-04-03 2012-02-28 International Business Machines Corporation Dependency matrix with reduced area and power consumption
US20100257341A1 (en) * 2009-04-03 2010-10-07 International Business Machines Corporation Selective Execution Dependency Matrix
US20100257339A1 (en) * 2009-04-03 2010-10-07 International Business Machines Corporation Dependency Matrix with Improved Performance
EP2583879B1 (en) * 2010-06-18 2020-06-24 Hitachi Automotive Systems, Ltd. Electronic control device
US10942747B2 (en) 2017-11-30 2021-03-09 International Business Machines Corporation Head and tail pointer manipulation in a first-in-first-out issue queue
US10564979B2 (en) 2017-11-30 2020-02-18 International Business Machines Corporation Coalescing global completion table entries in an out-of-order processor
US10922087B2 (en) 2017-11-30 2021-02-16 International Business Machines Corporation Block based allocation and deallocation of issue queue entries
US10929140B2 (en) * 2017-11-30 2021-02-23 International Business Machines Corporation Scalable dependency matrix with a single summary bit in an out-of-order processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201057A (en) * 1987-01-22 1993-04-06 Uht Augustus K System for extracting low level concurrency from serial instruction streams
WO1993020505A2 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation Superscalar risc instruction scheduling
US5710902A (en) * 1995-09-06 1998-01-20 Intel Corporation Instruction dependency chain indentifier
US5761476A (en) * 1993-12-30 1998-06-02 Intel Corporation Non-clocked early read for back-to-back scheduling of instructions
WO2000011548A1 (en) * 1998-08-24 2000-03-02 Advanced Micro Devices, Inc. Mechanism for load block on store address generation and universal dependency vector

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553256A (en) * 1994-02-28 1996-09-03 Intel Corporation Apparatus for pipeline streamlining where resources are immediate or certainly retired
DE69508753T2 (en) 1994-05-16 1999-12-02 Apple Computer METHOD FOR STORING ANY DATA WITH OBJECTS OF A GRAPHIC USER INTERFACE
US5581684A (en) 1994-08-01 1996-12-03 Ddtec Sa Application-external help system for a windowing user interface
US5914906A (en) 1995-12-20 1999-06-22 International Business Machines Corporation Field programmable memory array
US5872951A (en) 1996-07-26 1999-02-16 Advanced Micro Design, Inc. Reorder buffer having a future file for storing speculative instruction execution results
US5923328A (en) 1996-08-07 1999-07-13 Microsoft Corporation Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control
GB2318814B (en) 1996-11-01 2001-02-21 Sofitech Nv Foamable gel composition
US5933139A (en) 1997-01-31 1999-08-03 Microsoft Corporation Method and apparatus for creating help functions
US5918005A (en) * 1997-03-25 1999-06-29 International Business Machines Corporation Apparatus region-based detection of interference among reordered memory operations in a processor
US5913049A (en) 1997-07-31 1999-06-15 Texas Instruments Incorporated Multi-stream complex instruction set microprocessor
US6005824A (en) 1998-06-30 1999-12-21 Lsi Logic Corporation Inherently compensated clocking circuit for dynamic random access memory
US6360314B1 (en) 1998-07-14 2002-03-19 Compaq Information Technologies Group, L.P. Data cache having store queue bypass for out-of-order instruction execution and method for same
US6622237B1 (en) * 2000-01-03 2003-09-16 Advanced Micro Devices, Inc. Store to load forward predictor training using delta tag
US6629233B1 (en) 2000-02-17 2003-09-30 International Business Machines Corporation Secondary reorder buffer microprocessor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201057A (en) * 1987-01-22 1993-04-06 Uht Augustus K System for extracting low level concurrency from serial instruction streams
WO1993020505A2 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation Superscalar risc instruction scheduling
US5761476A (en) * 1993-12-30 1998-06-02 Intel Corporation Non-clocked early read for back-to-back scheduling of instructions
US5710902A (en) * 1995-09-06 1998-01-20 Intel Corporation Instruction dependency chain indentifier
WO2000011548A1 (en) * 1998-08-24 2000-03-02 Advanced Micro Devices, Inc. Mechanism for load block on store address generation and universal dependency vector

Also Published As

Publication number Publication date
WO2002057908A2 (en) 2002-07-25
US6862676B1 (en) 2005-03-01
EP1354267A2 (en) 2003-10-22
JP2004529405A (en) 2004-09-24

Similar Documents

Publication Publication Date Title
JP6227621B2 (en) Method and apparatus for fusing instructions to provide OR test and AND test functions for multiple test sources
US5826089A (en) Instruction translation unit configured to translate from a first instruction set to a second instruction set
WO2002057908A3 (en) A superscalar processor having content addressable memory structures for determining dependencies
US6115808A (en) Method and apparatus for performing predicate hazard detection
US8117423B1 (en) Pipeline replay support for multicycle operations
KR100308618B1 (en) Pipelined data processing system having a microprocessor-coprocessor system on a single chip and method for interfacing host microprocessor with coprocessor
WO1999026132A3 (en) Processor configured to generate lookahead results from collapsed moves, compares and simple arithmetic instructions
EP0849671A3 (en) A method for utilizing a multi-word instruction register during debugging of a data processing system
EP1241567B1 (en) Method and apparatus for executing coprocessor instructions
JP2002512399A (en) RISC processor with context switch register set accessible by external coprocessor
EP1343076A3 (en) integrated circuit with multiple functions sharing multiple internal signal buses according to distributed bus access and control arbitration
EP0849673A3 (en) Single stepping a processor pipeline and subsystem pipelines during debugging of a data processing system
EP0768602A3 (en) Variable word length VLIW-instruction processor
TW201530320A (en) Data processing apparatus and semiconductor integrated circuit device
US20030046518A1 (en) Look-ahead load pre-fetch in a processor
US6237083B1 (en) Microprocessor including multiple register files mapped to the same logical storage and inhibiting sychronization between the register files responsive to inclusion of an instruction in an instruction sequence
WO2004111838A3 (en) Method and data processor for reduced pipeline stalling
KR960706124A (en) Processing system with word aligned branch target
CA2003004C (en) Apparatus and method for executing a conditional branch instruction
US6516410B1 (en) Method and apparatus for manipulation of MMX registers for use during computer boot-up procedures
US6078940A (en) Microprocessor with an instruction for multiply and left shift with saturate
EP1089168A3 (en) Very long instruction word processor
US11175916B2 (en) System and method for a lightweight fencing operation
US6044460A (en) System and method for PC-relative address generation in a microprocessor with a pipeline architecture
US20080065868A1 (en) Software programmable hardware state machines

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2002701018

Country of ref document: EP

Ref document number: 2002558126

Country of ref document: JP

Ref document number: 1020037009516

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2002701018

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWR Wipo information: refused in national office

Ref document number: 1020037009516

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1020037009516

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 2002701018

Country of ref document: EP