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

Pipelined floating point processing unit

Assignee: Advanced Micro Devices Inc
•
Filing: 1990-04-02
•
Granted: 1991-10-01
•
Expires: 2010-04-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A floating point processor for pipelining a series of calculations of simple and compound arithmetic operations includes at least one arithmetic operation unit for performing arithmetic operations on input operands provided to the arithmetic operation units and at least one accumulator for storing the results of the arithmetic operations performed by the arithmetic operation unit. The results stored in the accumulators are then provided to the arithmetic operation units. Arithmetic operations are pipelined through the floating point processor by a series of latches which sequence the input operands, results produced by the arithmetic operation units using the input operands, and results produced by the arithmetic operation units using the input operands and the accumulated operands.

Inventors

  • 👤 Robert M. Perlman
  • 👤 Prem Sobel
  • 👤 Brian D. McMinn
  • 👤 Robert C. Thaden
  • 👤 Glenn A. Tamura
  • 👤 Thomas W. Lynch
  • 👤 Raju Vesgesna

Bibliographic Details

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

Claims Analysis

Total Claims: 40
Claim 1
Independent Claim 158 words
A pipelining floating point processor comprising: first and second arithmetic operation units; means for providing input operands to said first and second arithmetic operation units; at least one accumulator for storing the results of arithmetic operations performed by said first arithmetic operation unit; means for providing the results stored in said at least one accumulator as accumulated input operands to said second arithmetic operation unit; first staging means for sequencing said input operands and said accumulated input operands to said second arithmetic unit; and second staging means for latching intermediate results of arithmetic operations performed by said first arithmetic operation unit using said input operands and intermediate results produced by said second arithmetic operation unit using said input operands and said accumulated operands; wherein said first and second staging means and said accumulator provide for the pipelining of compound arithmetic operations performed by said floating point processor using said input and accumulated operands through said floating point processor.
Claim 2
Dependent Claim 158 words
A pipelining floating point processor comprising: first and second arithmetic operation units; means for providing input operands to said first and second arithmetic operation units; at least one accumulator for storing the results of arithmetic operations performed by said first arithmetic operation unit; means for providing the results stored in said at least one accumulator as accumulated input operands to said second arithmetic operation unit; first staging means for sequencing said input operands and said accumulated input operands to said second arithmetic unit; and second staging means for latching intermediate results of arithmetic operations performed by said first arithmetic operation unit using said input operands and intermediate results produced by said second arithmetic operation unit using said input operands and said accumulated operands; wherein said first and second staging means and said accumulator provide for the pipelining of compound arithmetic operations performed by said floating point processor using said input and accumulated operands through said floating point processor.
Claim 3
Dependent Claim 30 words
A floating point processor as set forth in claim 1 wherein said first arithmetic operation unit is a floating point multiply unit having first and second inputs and an output.
Claim 4
Dependent Claim 30 words
A floating point processor as set forth in claim 2 wherein said second staging means further comprises a first latch connected to said output of said foating point multiply unit.
Claim 5
Dependent Claim 49 words
A floating point processor as set forth in claim 3 wherein said floating point multiply unit further comprises: a 32 by 32 multiplier having first and second inputs and an output; and a partial product summer having an input connected to said 32 by 32 multiplier and an output.
Claim 6
Dependent Claim 45 words
A floating point processor as set forth in claim 4 wherein said first latch is connected to said output of said partial product summer and wherein said second staging means further comprises a second latch connected to the output of said 32 by 32 multiplier.
Claim 7
Dependent Claim 30 words
A floating point processor as set forth in claim 3 wherein said second arithmetic operation unit is a floating point adder unit having first and second inputs and an output.
Claim 8
Dependent Claim 30 words
A floating point processor as set forth in claim 6 wherein said second staging means further comprises a second latch connected to said output of said floating point adder unit.
Claim 9
Dependent Claim 267 words
A pipelining floating point processor comprising: a floating point multiply unit having first and second inputs and an output; a floating point add unit having input means and an output; means for providing input operands to said multiply and add units; at least one accumulator for storing the results of arithmetic operations performed by said multiply and add units; means for providing the results stored in said at least one accumulator as accumulated operands to said multiply and add units; staging means for sequencing said input operands, results produced by said multiply and add unit using said input operands, and results produced by said mulitply and add units using said input operands and said accumulated operands, said staging means further comprising: means for temporarily delaying input operands to be provided to said multiply and add units for compound arithmetic operations while producing accumulated operands to be provided to said multiply and add units with said delayed input operands for compound arithmetic operations; a first latch connected to said output of said multiply unit, said first latch latching intermediate results produced by said multiply unit; and a second latch connected to said output of said floating point add unit, said second latch latching intermediate results produced by said add unit; said staging means providing for the pipelining of arithmetic operations, including compound arithmetic operations performed using said accumulated operands, through said floating point processor; and a denormalizer for denormalizing normalized numbers, said denormalizer having first and second inputs and input means; wherein the input means of said add unit is connected to said output means of said denormalizer.
Claim 10
Dependent Claim 267 words
A pipelining floating point processor comprising: a floating point multiply unit having first and second inputs and an output; a floating point add unit having input means and an output; means for providing input operands to said multiply and add units; at least one accumulator for storing the results of arithmetic operations performed by said multiply and add units; means for providing the results stored in said at least one accumulator as accumulated operands to said multiply and add units; staging means for sequencing said input operands, results produced by said multiply and add unit using said input operands, and results produced by said mulitply and add units using said input operands and said accumulated operands, said staging means further comprising: means for temporarily delaying input operands to be provided to said multiply and add units for compound arithmetic operations while producing accumulated operands to be provided to said multiply and add units with said delayed input operands for compound arithmetic operations; a first latch connected to said output of said multiply unit, said first latch latching intermediate results produced by said multiply unit; and a second latch connected to said output of said floating point add unit, said second latch latching intermediate results produced by said add unit; said staging means providing for the pipelining of arithmetic operations, including compound arithmetic operations performed using said accumulated operands, through said floating point processor; and a denormalizer for denormalizing normalized numbers, said denormalizer having first and second inputs and input means; wherein the input means of said add unit is connected to said output means of said denormalizer.
Claim 11
Dependent Claim 39 words
A floating point processor as set forth in claim 8 wherein said intermediate results latch means further a third latch having an input connector to said denormalizer output means and an output connected to said adder circuit input means.
Claim 12
Dependent Claim 273 words
A pipelining floating point processor comprising: a floating point multiply unit having first and second inputs and an output; a floating point add unit having first and second inputs and an output; means for providing input operands to said multiply and add units; at least one accumulator for storing the results of arithmetic operations performed by said multiply and add units; means for providing the results stored in said at least one accumulator as accumulated operands to said multiply and add units; staging means for sequencing said input operands, results produced by said multiply and add units using said input operands, and results produced by said multiply and add units using said input operands and said accumulated operands, said staging means further comprising: means for temporarily delaying input operands to be provide to said multiply and add units for compound arithmetic operations while producing accumulated operands to be provided to said multiply and add units with said delayed input operands for compound arithmetic operations; a first latch connected to said output of said multiply unit, said first latch latching intermediate results produced by said multiply unit; and a second latch connected to said output of said add unit, said second latch latching intermediate results produced by said add unit; wherein said staging means provides for the pipelining of arithmetic operations, including compound arithmetic operations performed using said accumulated operands, through said floating point processor; and a renormalizer for normalizing denormalized numbers, said renormalizer having an input connected to the output of said add unit and an ouput, wherein denormalized intermediate results produced by said add unit are input into said renormalizer for normalization.
Claim 13
Dependent Claim 273 words
A pipelining floating point processor comprising: a floating point multiply unit having first and second inputs and an output; a floating point add unit having first and second inputs and an output; means for providing input operands to said multiply and add units; at least one accumulator for storing the results of arithmetic operations performed by said multiply and add units; means for providing the results stored in said at least one accumulator as accumulated operands to said multiply and add units; staging means for sequencing said input operands, results produced by said multiply and add units using said input operands, and results produced by said multiply and add units using said input operands and said accumulated operands, said staging means further comprising: means for temporarily delaying input operands to be provide to said multiply and add units for compound arithmetic operations while producing accumulated operands to be provided to said multiply and add units with said delayed input operands for compound arithmetic operations; a first latch connected to said output of said multiply unit, said first latch latching intermediate results produced by said multiply unit; and a second latch connected to said output of said add unit, said second latch latching intermediate results produced by said add unit; wherein said staging means provides for the pipelining of arithmetic operations, including compound arithmetic operations performed using said accumulated operands, through said floating point processor; and a renormalizer for normalizing denormalized numbers, said renormalizer having an input connected to the output of said add unit and an ouput, wherein denormalized intermediate results produced by said add unit are input into said renormalizer for normalization.
Claim 14
Dependent Claim 34 words
A floating point processor as set forth in claim 10 wherein said intermediate results latch means further comprises a third latch having an input connected to the output of said renormalizer and an output.
Claim 15
Dependent Claim 45 words
A floating point processor as set forth in claim 11 further comprising a rounder unit for rounding the results produced by said adder, multiplier, or renormalizer, said rounder unit having an input connected to the outputs of said adder, multiplier and renormalizer and an output.
Claim 16
Dependent Claim 33 words
A floating point processor as set forth in claim 12 wherein each of said at least one accumulator further comprises an input connected to the output of said rounder unit and an output.
Claim 17
Dependent Claim 66 words
A floating point processor as set forth in claim 12 wherein said means for providing input operands to said at least one arithmetic operation unit further comprises: a first input operand bus for providing a first series of first input operands to said floating point processor; and a second input operand bus for providing a second series of second input operands to said floating point processor.
Claim 18
Dependent Claim 68 words
A floating point processor as set forth in claim 14 wherein said first input operand bus is connected to the first input of said multiplier and said second input of said multiplier further comprises first multiplexer means having inputs connected to said second input operand bus and said output of said accumulators and a single output for selectively providing one of said first multiplexer inputs to said multiplier.
Claim 19
Dependent Claim 48 words
A floating point processor as set forth in claim 15 wherein said means for temporarily delaying input operands to said second arithmetic operation unit further comprises at least one latch having an input connected to said second input operand bus and an output connected to said adder unit.
Claim 20
Dependent Claim 86 words
A floating point processor as set forth in claim 15 wherein said first input of said adder further comprises second multiplexer means having inputs connected to said first input operand bus and said multiplier output and a single output for selectively providing one of said second multiplexer inputs to said adder and said second input of said adder further comprises third multiplexer means having inputs connected to said output of said means for temporarily delaying input operands, said second input operand bus and said accumulator outputs.
Claim 21
Dependent Claim 45 words
A floating point processor as set forth in claim 17 further comprising a divider unit having a first input connected to said first input operand bus, a second input connected to said second input operand bus and an output connected to said rounder unit input.
Claim 22
Dependent Claim 37 words
A floating point processor as set forth in claim 18 wherein said intermediate results latch means further comprises a fourth latch having an input connectd to said divider unit and an output connected to said rounder unit.
Claim 23
Dependent Claim 22 words
A floating point processor as set forth in claim 19 further comprising an output result bus connected to said rounder unit output.
Claim 24
Dependent Claim 36 words
A floating point processor as set forth in claim 20 further comprising a controller circuit for providing latch and unlatch signals to said first, second, third and fourth intermediate result latches and said input operand latch.
Claim 25
Dependent Claim 167 words
A floating point processor comprising: a first arithmetic operation unit having a pair of inputs for receiving input operands and an output for transmitting a result of said first arithmetic operation; a second arithmetic operation unit having a pair of inputs for receiving input operands and an output for transmitting a result of said second arithmetic operation, said second arithmetic operation unit including a denormalizer for denormalizing normalized input operands; a renormalizer for normalizing denormalized results produced by said second arithmetic unit; a rounder unit having an input connected to said first arithmetic operation unit output, said second arithmetic operation unit output and said renormalizer output; at least one accumulator for storing the results of arithmetic operations performed by said first and second arithmetic operation unit, each of said at least one accumulators having an input and an output; means for providing said accumulator output to said first and second arithmetic operation units; and means for for pipelining input operands and results through said floating point processor.
Claim 26
Dependent Claim 167 words
A floating point processor comprising: a first arithmetic operation unit having a pair of inputs for receiving input operands and an output for transmitting a result of said first arithmetic operation; a second arithmetic operation unit having a pair of inputs for receiving input operands and an output for transmitting a result of said second arithmetic operation, said second arithmetic operation unit including a denormalizer for denormalizing normalized input operands; a renormalizer for normalizing denormalized results produced by said second arithmetic unit; a rounder unit having an input connected to said first arithmetic operation unit output, said second arithmetic operation unit output and said renormalizer output; at least one accumulator for storing the results of arithmetic operations performed by said first and second arithmetic operation unit, each of said at least one accumulators having an input and an output; means for providing said accumulator output to said first and second arithmetic operation units; and means for for pipelining input operands and results through said floating point processor.
Claim 27
Dependent Claim 59 words
A floating point processor as set forth in claim 22 wherein said means for pipelining input operands and results through said floating point processor further comprises: a first latch for latching said first arithmetic operation unit output; a second latch for latching for latching said second arithmetic operation unit output; and a third latch for latching said renormalizer output.
Claim 28
Dependent Claim 36 words
A floating point processor as set forth in claim 23 wherein said means for pipelining input operands and results through said floating point processor further comprises a fourth latch for latching an output of said denormalizer.
Claim 29
Dependent Claim 64 words
A floating point processor as set forth in claim 24 wherein said means for pipelining input operands and results through said floating point processor further comprises a fifth latch for latching a first one of said pair of input operands to be provided to said second arithmetic operation unit when a second one of said pair of input operands is provided by said accumulator.
Claim 30
Dependent Claim 44 words
A floating point processor as set forth in claim 25 wherein said means for pipelining input operands and results through said floating point processor further comprises a control circuit for providing latch and unlatch signals to said first, second, third, fourth and fifth latches.
Claim 31
Dependent Claim 38 words
A floating point processor as set forth in claim 26 further comprising a third arithmetic operation unit having a pair of inputs for receiving input operands and an output for transmitting a result of said third arithmetic operation.
Claim 32
Dependent Claim 28 words
A floating point processor as set forth in claim 27 wherein the output of said third arithmetic operation unit is connected to the input of said rounder unit.
Claim 33
Dependent Claim 28 words
A floating point processor as set forth in claim 28 further comprising means for providing said rounder unit output to said first, second and third arithmetic operation units.
Claim 34
Dependent Claim 39 words
A floating point processor as set forth in claim 29 wherein said first arithmetic operation unit is a multiplier unit, said second arithmetic operation unit is an adder unit and said third arithmetic operation unit is a divider unit.
Claim 35
Dependent Claim 177 words
A pipelining floating point processor comprising: at least one arithmetic operation unit, said at least one arithmetic operator unit including an adder having input and output means; means for providing input operands to said at least one arithmetic operation unit; at least one accumulator or storing the results of arithmetic operations performed by said at least one arithmetic operation unit; means for providing the results stored in said at least one accumulator as accumulated operands to said at least one arithmetic operation unit; a denormalizer for denormalizing normalized numbers, said denormalizer having input and output means, said input means of said add unit being connected to said output means of said denormalizer; staging means for sequencing said input operands, results produced by said at least one arithmetic operation unit using said input operands, and results produced by said at least one arithmetic operation unit using said input operands and said accumulated operands; wherein said staging means provides for the pipelining of arithmetic operations, including compound arithmetic operations performed using said accumulated operands, through said floating point processor.
Claim 36
Dependent Claim 177 words
A pipelining floating point processor comprising: at least one arithmetic operation unit, said at least one arithmetic operator unit including an adder having input and output means; means for providing input operands to said at least one arithmetic operation unit; at least one accumulator or storing the results of arithmetic operations performed by said at least one arithmetic operation unit; means for providing the results stored in said at least one accumulator as accumulated operands to said at least one arithmetic operation unit; a denormalizer for denormalizing normalized numbers, said denormalizer having input and output means, said input means of said add unit being connected to said output means of said denormalizer; staging means for sequencing said input operands, results produced by said at least one arithmetic operation unit using said input operands, and results produced by said at least one arithmetic operation unit using said input operands and said accumulated operands; wherein said staging means provides for the pipelining of arithmetic operations, including compound arithmetic operations performed using said accumulated operands, through said floating point processor.
Claim 37
Dependent Claim 36 words
A floating point processor as set forth in claim 31 wherein said staging means further comprises a first latch connected to said output of said denormalizer, said first latch latching intermediate results produced by said denormalizer.
Claim 38
Dependent Claim 178 words
A pipelining floating processor comprising: at least one arithmetic operation unit; means for providing input operands to said at least one arithmetic operation unit; at least one accumulator for storing the results of arithmetic operations performed by said at least one arithmetic operation unit; means for providing the results stored in said at least one accumulator as accumulated operands to said at least one arithmetic operation unit; a renormalizer for normalizing denormalized numbers, said renormalizer having an input connected to the output of said at least one arithmetic operation unit and an output, wherein denormalized intermediate results produced by said at least one arithmetic operation unit are input into said renormalizer for normalization; staging means for sequencing said input operands, results produced by said at least one arithmetic operation unit using said input operands, and results produced by said at least one arithmetic operation unit using said input operands and said accumulated operands; wherein said staging means provides for the pipelining of arithmetic operations, including compound arithmetic operations perfomed using said accumulated operands, through said floating point processor.
Claim 39
Dependent Claim 178 words
A pipelining floating processor comprising: at least one arithmetic operation unit; means for providing input operands to said at least one arithmetic operation unit; at least one accumulator for storing the results of arithmetic operations performed by said at least one arithmetic operation unit; means for providing the results stored in said at least one accumulator as accumulated operands to said at least one arithmetic operation unit; a renormalizer for normalizing denormalized numbers, said renormalizer having an input connected to the output of said at least one arithmetic operation unit and an output, wherein denormalized intermediate results produced by said at least one arithmetic operation unit are input into said renormalizer for normalization; staging means for sequencing said input operands, results produced by said at least one arithmetic operation unit using said input operands, and results produced by said at least one arithmetic operation unit using said input operands and said accumulated operands; wherein said staging means provides for the pipelining of arithmetic operations, including compound arithmetic operations perfomed using said accumulated operands, through said floating point processor.
Claim 40
Dependent Claim 36 words
A floating point processor as set forth in claim 33 wherein said staging means further comprises a first latch connected to said ouput of said renormalizer, said first latch latching intermediate results produced by said renormalizer.

References Cited (Backward Citations)

US4075704A Cited
US4589067A Cited
US4766564A Cited
US4683547A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-09-30 1995-04-01 1995-10-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-09-30 1999-04-01 1999-10-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-09-30 2003-04-01 2003-10-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag