← Back to Patent Explorer
US5778247A Expired / Lapsed US ⏱️ 0.0 years remaining

Multi-pipeline microprocessor with data precision mode indicator

Assignee: Oracle America Inc
•
Filing: 1996-03-06
•
Granted: 1998-07-07
•
Expires: 2016-03-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention recognizes that for most functional units, there will rarely be both single and double precision operations in the pipeline at the same time. Accordingly, the present invention eliminates logic for checking whether a register designation is single or double precision for these functional units. Instead, a mode indicator is set to indicate whether the outstanding instructions in the pipeline are single or double precision. If a rare change in precision occurs, the instruction will not be dispatched until the pipeline is empty. The data dependency check logic can thus compare the register designations without knowing whether they are single or double precision.

Inventors

  • 👤 Marc Tremblay

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 21:52
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/3001; G06F9/30014; G06F9/30098; G06F9/30105; G06F9/30112; G06F9/30181; G06F9/30189; G06F9/38; G06F9/3836

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 104 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; and setting logic configured to set said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and to set said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units; wherein said multiple-precision instruction is a quad-precision instruction.
Claim 2
Dependent Claim 104 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; and setting logic configured to set said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and to set said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units; wherein said multiple-precision instruction is a quad-precision instruction.
Claim 3
Dependent Claim 95 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; and stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory.
Claim 4
Dependent Claim 95 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; and stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory.
Claim 5
Dependent Claim 60 words
The microprocessor of claim 2 further comprising: setting logic configured to set said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and to set said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units.
Claim 6
Dependent Claim 13 words
The microprocessor of claim 3 wherein said multiple-precision instruction is a double-precision instruction.
Claim 7
Dependent Claim 32 words
The microprocessor of claim 2 further comprising a register file having a plurality of entries, each of said entries storing either a multiple precision operand or a plurality of single precision operands.
Claim 8
Dependent Claim 52 words
The microprocessor of claim 2 further comprising: a completion unit at the end of at least one of said functional units; and bypass logic configured to bypass said completion unit by using data from said first group of functional units without checking the precision of data being provided to said completion unit.
Claim 9
Dependent Claim 92 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; and a precision mode indicator memory associated with a first group of at least one of said functional units; wherein said dispatch unit further comprises: check logic configured to check data dependencies by comparing register designations of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data.
Claim 10
Dependent Claim 92 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; and a precision mode indicator memory associated with a first group of at least one of said functional units; wherein said dispatch unit further comprises: check logic configured to check data dependencies by comparing register designations of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data.
Claim 11
Dependent Claim 82 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; and a precision mode indicator memory associated with a first group of at least one of said functional units; wherein said precision mode indicator memory comprises a 2 bit register, a first bit indicating either single or double precision, and a second bit indicating that said first group of functional units is empty of active and valid instructions.
Claim 12
Dependent Claim 82 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; and a precision mode indicator memory associated with a first group of at least one of said functional units; wherein said precision mode indicator memory comprises a 2 bit register, a first bit indicating either single or double precision, and a second bit indicating that said first group of functional units is empty of active and valid instructions.
Claim 13
Dependent Claim 85 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; a second group of at least one of said functional units; and dependency logic configured to determine data dependencies for instructions to be dispatched to said second group of functional units by analyzing whether register designations overlap between single and multiple precision instructions.
Claim 14
Dependent Claim 85 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; a second group of at least one of said functional units; and dependency logic configured to determine data dependencies for instructions to be dispatched to said second group of functional units by analyzing whether register designations overlap between single and multiple precision instructions.
Claim 15
Dependent Claim 19 words
The microprocessor of claim 9 wherein said second group of functional units comprises a load and store functional unit.
Claim 16
Dependent Claim 220 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; setting logic configured to set said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and to set said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory; a register file having a plurality of entries, each of said entries storing either a multiple precision operand or a plurality of single precision operands; and check logic configured to check data dependencies by comparing register designations in said register file of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data.
Claim 17
Dependent Claim 220 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; setting logic configured to set said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and to set said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory; a register file having a plurality of entries, each of said entries storing either a multiple precision operand or a plurality of single precision operands; and check logic configured to check data dependencies by comparing register designations in said register file of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data.
Claim 18
Dependent Claim 44 words
The microprocessor of claim 11 wherein said precision mode indicator memory comprises a 2 bit register, a first bit indicating either single or double precision, and a second bit indicating that said first group of functional units is empty of active and valid instructions.
Claim 19
Dependent Claim 262 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; setting logic configured to set said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and to set said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory; a register file having a plurality of entries, each of said entries storing either a multiple precision operand or a plurality of single precision operands; check logic configured to check data dependencies by comparing register designations in said register file of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data; a second group of at least one of said functional units; and dependency logic configured to determine data dependencies for instructions to be despatched to said second group of functional units by analyzing whether register designations overlap between single and multiple precision instructions.
Claim 20
Dependent Claim 262 words
A microprocessor comprising: a plurality of pipelined functional units configured to process instructions; a dispatch unit configured to dispatch instructions to said functional units; a precision mode indicator memory associated with a first group of at least one of said functional units; setting logic configured to set said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and to set said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory; a register file having a plurality of entries, each of said entries storing either a multiple precision operand or a plurality of single precision operands; check logic configured to check data dependencies by comparing register designations in said register file of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data; a second group of at least one of said functional units; and dependency logic configured to determine data dependencies for instructions to be despatched to said second group of functional units by analyzing whether register designations overlap between single and multiple precision instructions.
Claim 21
Independent Claim 89 words
A method for operating a microprocessor comprising the steps of: processing instructions in a plurality of pipelined functional units; dispatching instructions to said functional units; setting a precision mode indicator memory associated with a first group of at least one of said functional units; comparing a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; and stalling said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory.
Claim 22
Independent Claim 89 words
A method for operating a microprocessor comprising the steps of: processing instructions in a plurality of pipelined functional units; dispatching instructions to said functional units; setting a precision mode indicator memory associated with a first group of at least one of said functional units; comparing a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; and stalling said new instruction when said new instruction has a precision which does not match the precision indicated by said precision mode indicator memory.
Claim 23
Dependent Claim 58 words
The method of claim 14 further comprising the steps of: setting said precision mode indicator memory to a single-precision indication when a single precision instruction is dispatched to said first group of functional units and setting said precision mode indicator memory to a multiple-precision indication when a multiple-precision instruction is dispatched to said first group of functional units.
Claim 24
Dependent Claim 13 words
The method of claim 15 wherein said multiple-precision instruction is a double-precision instruction.
Claim 25
Dependent Claim 13 words
The method of claim 15 wherein said multiple-precision instruction is a quad-precision instruction.
Claim 26
Independent Claim 84 words
A method for operating a microprocessor comprising the steps of: processing instructions in a plurality of pipelined functional units; dispatching instructions to said functional units; setting a precision mode indicator memory associated with a first group of at least one of said functional units; and checking data dependencies by comparing register designations of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data.
Claim 27
Independent Claim 84 words
A method for operating a microprocessor comprising the steps of: processing instructions in a plurality of pipelined functional units; dispatching instructions to said functional units; setting a precision mode indicator memory associated with a first group of at least one of said functional units; and checking data dependencies by comparing register designations of a new instruction to be dispatched to register designations of instructions in said first group of functional units, without considering whether said register designations are for single or multiple precision data.
Claim 28
Dependent Claim 107 words
A computer system comprising: a memory; a microprocessor coupled to said memory, said microprocessor including a plurality of pipelined functional units configured to process instructions, a dispatch unit configured to dispatch instructions to said functional units, a precision mode indicator memory associated with a first group of at least one of said functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; and stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicted by said precision mode indicator memory.
Claim 29
Dependent Claim 107 words
A computer system comprising: a memory; a microprocessor coupled to said memory, said microprocessor including a plurality of pipelined functional units configured to process instructions, a dispatch unit configured to dispatch instructions to said functional units, a precision mode indicator memory associated with a first group of at least one of said functional units; a comparator configured to compare a precision of a new instruction to be dispatched to a precision indicated by said precision mode indicator memory; and stalling logic configured to stall said new instruction when said new instruction has a precision which does not match the precision indicted by said precision mode indicator memory.

References Cited (Backward Citations)

US4476537A Cited
US4755965A Cited
US4823260A Cited
US5488709A Cited
US5515520A Cited
US5681125A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-06 2002-01-05 2002-07-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-06 2006-01-05 2006-07-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-06 2010-01-05 2010-07-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag