Patent US5878244A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5878244A Expired / Lapsed US ⏱️ 0.0 years remaining

Reorder buffer configured to allocate storage capable of storing results corresponding to a maximum number of concurrently receivable instructions regardless of a number of instructions received

Assignee: GlobalFoundries Inc
•
Filing: 1996-07-26
•
Granted: 1999-03-02
•
Expires: 2016-07-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A reorder buffer is configured into multiple lines of storage, wherein a line of storage includes sufficient storage for instructions results regarding a predefined maximum number of concurrently dispatchable instructions. A line of storage is allocated whenever one or more instructions are dispatched. The line of storage remains allocated until each instruction within the line is ready to retire, and then the line is deallocated as the one or more instructions are concurrently retired.

Inventors

  • 👤 David B. Witt
  • 👤 Thang M. Tran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 05:17
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/126; G06F9/30003; G06F9/30007; G06F9/30036; G06F9/3818; G06F9/382; G06F9/3838; G06F9/384; G06F9/3853; G06F9/3854; G06F9/3856; G06F9/3858; G06F9/46; G06F9/52

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 87 words
A reorder buffer comprising: an instruction storage including multiple lines of storage, wherein each of said lines of storage is configured to store a predefined maximum number of instructions concurrently receivable by said reorder buffer; and a first control unit coupled to said instruction storage, wherein said first control unit is configured to allocate one of said lines of storage to one or more concurrently received instructions, and wherein said one of said lines of storage is allocated regardless of a number of said concurrently received instructions.
Claim 2
Dependent Claim 87 words
A reorder buffer comprising: an instruction storage including multiple lines of storage, wherein each of said lines of storage is configured to store a predefined maximum number of instructions concurrently receivable by said reorder buffer; and a first control unit coupled to said instruction storage, wherein said first control unit is configured to allocate one of said lines of storage to one or more concurrently received instructions, and wherein said one of said lines of storage is allocated regardless of a number of said concurrently received instructions.
Claim 3
Dependent Claim 31 words
The reorder buffer as recited in claim 1 wherein said maximum number of concurrently receivable instructions comprises a maximum number of concurrently decodable instructions within a microprocessor employing said reorder buffer.
Claim 4
Dependent Claim 31 words
The reorder buffer as recited in claim 1 wherein said maximum number of concurrently receivable instructions comprises a maximum number of concurrently dispatchable instructions within a microprocessor employing said reorder buffer.
Claim 5
Dependent Claim 63 words
The reorder buffer as recited in claim 1 wherein said instruction storage comprises a FIFO buffer, and wherein a first one of said lines of storage is defined as a bottom of said FIFO buffer, and wherein said bottom of said FIFO buffer stores one or more instructions which are prior to instructions stored in any other line of storage in program order.
Claim 6
Dependent Claim 35 words
The reorder buffer as recited in claim 4 further comprising a second control unit coupled to said instruction storage, wherein said second control unit is configured to manage retirement of instructions from said reorder buffer.
Claim 7
Dependent Claim 23 words
The reorder buffer as recited in claim 5 wherein said second control unit concurrently retires instructions stored within a particular line of storage.
Claim 8
Dependent Claim 21 words
The reorder buffer as recited in claim 6 wherein said particular line of storage comprises said bottom of said FIFO buffer.
Claim 9
Dependent Claim 45 words
The reorder buffer as recited in claim 7 wherein said second control unit is further configured to shift a content of each line of storage to another line of storage upon retirement of instructions such that a FIFO order within said FIFO buffer is maintained.
Claim 10
Dependent Claim 37 words
The reorder buffer as recited in claim 1 wherein each of said lines of storage is divided into multiple portions, and wherein each of said concurrently received instructions is stored into a different one of said portions.
Claim 11
Dependent Claim 52 words
The reorder buffer as recited in claim 9, wherein each of said portions includes a last in buffer indication indicating, when set, that a particular concurrently received instruction stored therein is last, in program order, of instructions stored in said instruction storage to update a destination of said particular concurrently received instruction.
Claim 12
Dependent Claim 53 words
The reorder buffer as recited in claim 9, wherein each of said portions includes a last in line indication indicating, when set, that a particular concurrently received instruction stored therein is last, in program order, of instructions stored in said line of storage to update a destination of said particular concurrently received instruction.
Claim 13
Dependent Claim 27 words
The reorder buffer as recited in claim 9 wherein said reorder buffer is coupled to receive a plurality of instruction results from a plurality of functional units.
Claim 14
Dependent Claim 47 words
The reorder buffer as recited in claim 12 wherein each one of said plurality of instruction results is stored into a particular one of said portions corresponding to one of said plurality of functional units from which said one of said plurality of instruction results is conveyed.
Claim 15
Dependent Claim 49 words
The reorder buffer as recited in claim 9 wherein each one of said portions which is void of a valid instruction due to dispatch of less than said maximum number of receivable instructions when said line of storage is allocated indicates that no valid instruction information is stored therein.
Claim 16
Independent Claim 131 words
An apparatus for reordering instructions which were executed out of order, comprising: a first decode unit configured to decode and dispatch a first instruction; a second decode unit configured to decode and dispatch a second instruction concurrent with said first instruction; and a reorder buffer coupled to said first decode unit and said second decode unit, wherein said reorder buffer is configured to allocate a line of storage to store instruction results corresponding to said first instruction and said second instruction upon dispatch of said first instruction and said second instruction, and wherein said line of storage is configured to store a maximum number of concurrently dispatchable instructions, and wherein said line of storage is allocated regardless of a number of concurrently dispatched instructions provided at least one instruction is dispatched.
Claim 17
Independent Claim 131 words
An apparatus for reordering instructions which were executed out of order, comprising: a first decode unit configured to decode and dispatch a first instruction; a second decode unit configured to decode and dispatch a second instruction concurrent with said first instruction; and a reorder buffer coupled to said first decode unit and said second decode unit, wherein said reorder buffer is configured to allocate a line of storage to store instruction results corresponding to said first instruction and said second instruction upon dispatch of said first instruction and said second instruction, and wherein said line of storage is configured to store a maximum number of concurrently dispatchable instructions, and wherein said line of storage is allocated regardless of a number of concurrently dispatched instructions provided at least one instruction is dispatched.
Claim 18
Dependent Claim 42 words
The apparatus as recited in claim 15 further comprising a first reservation station coupled to a first decode unit, wherein said first reservation station is configured to store said first instruction and corresponding operand information prior to execution of said first instruction.
Claim 19
Dependent Claim 18 words
The apparatus as recited in claim 16 wherein said reorder buffer is configured to provide said operand information.
Claim 20
Dependent Claim 33 words
The apparatus as recited in claim 17 wherein said operand information comprises a tag identifying a third instruction stored within said reorder buffer if said first instruction is dependent upon said third instruction.
Claim 21
Dependent Claim 23 words
The apparatus as recited in claim 18 wherein said operand information further comprises a corresponding instruction result if said third instruction has executed.
Claim 22
Dependent Claim 45 words
The apparatus as recited in claim 18 further comprising a register file coupled to said reorder buffer, wherein said register file is configured to store values corresponding to a plurality of registers subsequent to execution of instructions which have been retired by said reorder buffer.
Claim 23
Dependent Claim 29 words
The apparatus as recited in claim 20 wherein said operand information comprises a register value from said register file if said first instruction is independent of said third instruction.
Claim 24
Dependent Claim 93 words
The apparatus as recited in claim 16 further comprising a first functional unit coupled to said first reservation station, wherein said first functional unit is configured to execute said first instruction and to provide a first instruction result corresponding to said first instruction to said reorder buffer, and wherein said first functional unit further provides a line tag indicating said line of storage within said reorder buffer, and wherein said first instruction is located within said line of storage by detecting that said first instruction result is provided by said first functional unit.
Claim 25
Dependent Claim 48 words
The apparatus as recited in claim 15 wherein said first decode unit comprises an early decode unit and an opcode decode unit, wherein said early decode unit provides operand request information to said reorder buffer, and wherein said opcode decode unit decodes an opcode of said first instruction.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-01 2002-08-31 2003-03-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-01 2006-08-31 2007-03-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-01 2010-08-31 2011-03-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag