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

Interleaving operations in a floating-point numeric processor

Assignee: LSI Corp
•
Filing: 1992-07-10
•
Granted: 1993-04-20
•
Expires: 2012-07-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A pipelined floating point multiplier is disclosed having the capability of interleaving floating point multiplication with iterative floating point operations (calculations), such as division and square-root taking, by making use of idle stages (pipeline bubbles). This is accomplished with minimal additional circuitry over that required for conventional floating-point multipliers, and does not adversely affect the speed of iterative calculations. Method and apparatus are disclosed.

Inventors

  • 👤 Allen Lyu
  • 👤 Charles Stearns

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 15:23
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/57; G06F2207/00; G06F2207/38; G06F2207/3804; G06F2207/386; G06F2207/3884; G06F7/483

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 344 words
A method of interleaving at least one floating-point multiplication operation with an iterative floating-point operation comprising: providing an interleaved pipelined floating-point multiplier (pipelined multiplier) for performing an iterative floating point operation according to a control sequence, by: providing a plurality of pipeline multiplier stages, beginning with a first pipeline multiplier stage having a first input and a second input, continuing with subsequent pipeline multiplier stages, ending with a last subsequent pipeline multiplier stage which is a final pipeline multiplier stage; providing a first operand input register; providing a second operand input register; providing at least one interleaf first operand register; providing at least one interleaf second operand register; providing at least one fed-back interim value from at least one of said successive pipeline multiplier stages; selecting said first input of said first pipelined multiplier stage as one of: said first operand input register, said at least one interleaf first operand register, or said at least one fed-back interim value; selecting said second input of said first pipelined multiplier stage as one of: said second operand input register, said at least one interleaf second operand register, or said at least one fed-back interim value; said final pipeline multiplier stage has at least one "normal" register adapted to receive a final result from said pipelined multiplier; and said final pipeline multiplier stage also has at least one interleaf output register adapted to receive a final result from said pipelined multiplier; further comprising: analyzing said iterative floating-point operation to identify cycles wherein said first pipelined multiplier stage is unused, said cycles being "bubble" cycles; selecting one interleaf first operand register and one interleaf second operand register as the first input and second input, respectively, to the first pipelined multiplier stage during each bubble cycle so identified in said iterative floating-point operation, thus initiating one interleaved multiplication for each bubble cycle, eventually producing one result at the final pipeline multiplier stage for each interleaved multiplication so initiated; and latching into at least one interleaf output register the result of each interleaved multiplication at the final pipeline multiplier stage.
Claim 2
Independent Claim 344 words
A method of interleaving at least one floating-point multiplication operation with an iterative floating-point operation comprising: providing an interleaved pipelined floating-point multiplier (pipelined multiplier) for performing an iterative floating point operation according to a control sequence, by: providing a plurality of pipeline multiplier stages, beginning with a first pipeline multiplier stage having a first input and a second input, continuing with subsequent pipeline multiplier stages, ending with a last subsequent pipeline multiplier stage which is a final pipeline multiplier stage; providing a first operand input register; providing a second operand input register; providing at least one interleaf first operand register; providing at least one interleaf second operand register; providing at least one fed-back interim value from at least one of said successive pipeline multiplier stages; selecting said first input of said first pipelined multiplier stage as one of: said first operand input register, said at least one interleaf first operand register, or said at least one fed-back interim value; selecting said second input of said first pipelined multiplier stage as one of: said second operand input register, said at least one interleaf second operand register, or said at least one fed-back interim value; said final pipeline multiplier stage has at least one "normal" register adapted to receive a final result from said pipelined multiplier; and said final pipeline multiplier stage also has at least one interleaf output register adapted to receive a final result from said pipelined multiplier; further comprising: analyzing said iterative floating-point operation to identify cycles wherein said first pipelined multiplier stage is unused, said cycles being "bubble" cycles; selecting one interleaf first operand register and one interleaf second operand register as the first input and second input, respectively, to the first pipelined multiplier stage during each bubble cycle so identified in said iterative floating-point operation, thus initiating one interleaved multiplication for each bubble cycle, eventually producing one result at the final pipeline multiplier stage for each interleaved multiplication so initiated; and latching into at least one interleaf output register the result of each interleaved multiplication at the final pipeline multiplier stage.
Claim 3
Dependent Claim 14 words
The method of claim 1, wherein exactly one interleaf first operand register is provided.
Claim 4
Dependent Claim 14 words
The method of claim 1, wherein exactly one interleaf second operand register is provided.
Claim 5
Dependent Claim 13 words
The method of claim 1, wherein exactly one interleaf output register is provided.
Claim 6
Dependent Claim 14 words
The method of claim 1 wherein the iterative floating-point operation is a floating-point division.
Claim 7
Dependent Claim 13 words
The method of claim 1 wherein the iterative floating-point operation is square-root taking.
Claim 8
Dependent Claim 220 words
An interleaved pipelined floating-point multiplier (pipelined multiplier) for performing an iterative floating point operation and an interleaved multiplication comprising: a plurality of pipeline multiplier stages, beginning with a first pipeline multiplier stage having a first input and a second input, continuing with subsequent pipeline multiplier stages, ending with a last subsequent pipeline multiplier stage which is a final pipeline multiplier stage; a first operand input register; a second operand input register; at least one interleaf first operand register; at least one interleaf second operand register; at least one of said successive pipeline multiplier stage provides at least one fed-back interim value; means for selecting said first input of said first pipelined multiplier stage as one of: said first operand input register, said at least one interleaf first operand register, or said at least one successive pipeline multiplier stage; means for selecting said second input of said first pipelined multiplier stage as one of: said second operand input register, said at least one interleaf second operand register, or said at least one successive pipeline multiplier stage; said final pipeline multiplier stage has at least one "normal" register adapted to receive a final result from said pipelined multiplier; and said final pipeline multiplier stage also has at least one interleaf output register adapted to receive a final result from said pipelined multiplier.
Claim 9
Dependent Claim 220 words
An interleaved pipelined floating-point multiplier (pipelined multiplier) for performing an iterative floating point operation and an interleaved multiplication comprising: a plurality of pipeline multiplier stages, beginning with a first pipeline multiplier stage having a first input and a second input, continuing with subsequent pipeline multiplier stages, ending with a last subsequent pipeline multiplier stage which is a final pipeline multiplier stage; a first operand input register; a second operand input register; at least one interleaf first operand register; at least one interleaf second operand register; at least one of said successive pipeline multiplier stage provides at least one fed-back interim value; means for selecting said first input of said first pipelined multiplier stage as one of: said first operand input register, said at least one interleaf first operand register, or said at least one successive pipeline multiplier stage; means for selecting said second input of said first pipelined multiplier stage as one of: said second operand input register, said at least one interleaf second operand register, or said at least one successive pipeline multiplier stage; said final pipeline multiplier stage has at least one "normal" register adapted to receive a final result from said pipelined multiplier; and said final pipeline multiplier stage also has at least one interleaf output register adapted to receive a final result from said pipelined multiplier.
Claim 10
Dependent Claim 15 words
The interleaved pipelined floating-point multiplier of claim 7, having exactly one interleaf first operand register.
Claim 11
Dependent Claim 15 words
The interleaved pipelined floating-point multiplier of claim 7, having exactly one interleaf second operand register.
Claim 12
Dependent Claim 14 words
The interleaved pipelined floating-point multiplier of claim 7, having exactly one interleaf output register.

References Cited (Backward Citations)

US4999801A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-04-19 1996-10-19 1997-04-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-04-19 2000-10-19 2001-04-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-04-19 2004-10-19 2005-04-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag