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