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

Floating point unit using combined multiply and ALU functions

Assignee: Weitek Corp
•
Filing: 1987-09-01
•
Granted: 1989-09-12
•
Expires: 2007-09-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for combining the multiply and ALU functions for floating point numbers to enable the completion of a multiply-accumulate operation in a shorter time. The multiplied fraction is left in sum and carry form and is provided in this form to the ALU, eliminating the CP adder from the multiplier. The normalization of the fraction and the corresponding changes to the exponent in the multiplier are also eliminated. The ALU can combine the sum and carry of the product fraction simultaneously if the exponents are sufficiently similar. Otherwise, the sum and carry of the fraction product is combined first and compared with the new fraction, with the smaller of the fractions being right shifted prior to their combination.

Inventors

  • 👤 George K. Chu
  • 👤 Jan Fandrianto
  • 👤 Y. W. Sing

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 18:03
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/544; G06F7/5443; G06F7/483

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 138 words
A method for performing a multiplication and an addition or subtraction of floating point numbers, comprising the steps of: (a) multiplying a first floating point number by a second floating point number to give an unnormalized product fraction in sum and carry form and a product exponent; (b) determining the difference between said product exponent and an exponent of a third floating point number; (c) if said difference is a first value, first combining the sum and carry bits of said product fraction to give a sum product fraction in sum form and subsequently combining said sum product fraction with a fraction of said third number; and (d) if said difference is a second value, simultaneously combining the sum and carry bits of said product fraction with said fraction of said third number to give a combined fraction.
Claim 2
Independent Claim 138 words
A method for performing a multiplication and an addition or subtraction of floating point numbers, comprising the steps of: (a) multiplying a first floating point number by a second floating point number to give an unnormalized product fraction in sum and carry form and a product exponent; (b) determining the difference between said product exponent and an exponent of a third floating point number; (c) if said difference is a first value, first combining the sum and carry bits of said product fraction to give a sum product fraction in sum form and subsequently combining said sum product fraction with a fraction of said third number; and (d) if said difference is a second value, simultaneously combining the sum and carry bits of said product fraction with said fraction of said third number to give a combined fraction.
Claim 3
Dependent Claim 25 words
The method of claim 1 wherein said second value is one of 1, 0, -1 and -2 and said first value is any other number.
Claim 4
Dependent Claim 74 words
The method of claim 1 wherein step (c) further includes: determining the smaller exponent of said product exponent and said third number exponent; and shifting, prior to said subsequent combining step, the one of said product fraction and said third number fraction having said smaller exponent to the right by an amount corresponding to said difference, said subsequent combining step including performing a CP addition of said product fraction and said third number fraction.
Claim 5
Dependent Claim 41 words
The method of claim 1 wherein step (d) futher includes: performing a priority encode of said combined fraction to determine the number of leading zeros; and left shifting said combined fraction by an amount equal to said number of leading zeros.
Claim 6
Dependent Claim 20 words
The method of claim 4 wherein step (d) further includes adding said number of leading zeros to said product exponent.
Claim 7
Independent Claim 214 words
A method for performing a multiplication and an addition or subtraction of floating point numbers, comprising the steps of: (a) multiplying a first floating point number by a second floating point number to give an unnormalized product fraction in sum and carry form and a product exponent; (b) determining the difference between said product exponent and an exponent of a third floating point number; (c) if said difference is other than 1, 0, -1 or -2 then (i) determining the smaller exponent of said product exponent and said third number exponent; (ii) shifting the one of said product fraction and said third number fraction having said smaller exponent to the right by an amount corresponding to said difference; and (iii) performing a carry propagate addition of said product fraction and said third number fraction; and (d) if said difference is 1, 0, -1 or -2, then (i) simultaneously combining the sum and carry bits of said product fraction with said fraction of said third number to give a combined fraction; (ii) performing a priority encode of said combined fraction to determine the number of leading zeros; (iii) left shifting said combined fraction by an amount equal to said number of leading zeros; and (iv) adding said number of leading zeros to said product exponent.
Claim 8
Independent Claim 214 words
A method for performing a multiplication and an addition or subtraction of floating point numbers, comprising the steps of: (a) multiplying a first floating point number by a second floating point number to give an unnormalized product fraction in sum and carry form and a product exponent; (b) determining the difference between said product exponent and an exponent of a third floating point number; (c) if said difference is other than 1, 0, -1 or -2 then (i) determining the smaller exponent of said product exponent and said third number exponent; (ii) shifting the one of said product fraction and said third number fraction having said smaller exponent to the right by an amount corresponding to said difference; and (iii) performing a carry propagate addition of said product fraction and said third number fraction; and (d) if said difference is 1, 0, -1 or -2, then (i) simultaneously combining the sum and carry bits of said product fraction with said fraction of said third number to give a combined fraction; (ii) performing a priority encode of said combined fraction to determine the number of leading zeros; (iii) left shifting said combined fraction by an amount equal to said number of leading zeros; and (iv) adding said number of leading zeros to said product exponent.
Claim 9
Independent Claim 139 words
An apparatus for performing a multiplication and an addition or subtraction of floating point numbers, comprising: means for multiplying a first floating point number by a second floating point number to give an unnormalized product fraction in sum and carry form and a product exponent; means for determining the difference between said product exponent and an exponent of a third floating point number; means, if said difference is a first value, for first combining the sum and carry bits of said product fraction to give a sum product fraction in sum form and subsequently combining said sum product fraction with a fraction of said third number; and means, if said difference is a second value, for simultaneously combining the sum and carry bits of said product fraction with said fraction of said third number to give a combined fraction.
Claim 10
Independent Claim 139 words
An apparatus for performing a multiplication and an addition or subtraction of floating point numbers, comprising: means for multiplying a first floating point number by a second floating point number to give an unnormalized product fraction in sum and carry form and a product exponent; means for determining the difference between said product exponent and an exponent of a third floating point number; means, if said difference is a first value, for first combining the sum and carry bits of said product fraction to give a sum product fraction in sum form and subsequently combining said sum product fraction with a fraction of said third number; and means, if said difference is a second value, for simultaneously combining the sum and carry bits of said product fraction with said fraction of said third number to give a combined fraction.
Claim 11
Dependent Claim 25 words
The apparatus of claim 7 wherein said second value is one of 1, 0, -1 and -2 and said first value is any other number.
Claim 12
Dependent Claim 72 words
The apparatus of claim 7 wherein said means for first combining further includes: means for determining the smaller exponent of said product exponent and said third number exponent; means for shifting the one of said product fraction and said third number fraction having said smaller exponent to the right by an amount corresponding to said difference; and means for performing a CP addition of said product fraction and said third number fraction.
Claim 13
Dependent Claim 164 words
An ALU for adding a first floating point number in sum and carry form and a second floating point number in sum form, comprising: a full adder coupled to inputs for the sum and carry bits of said first number and the bits of said second number; a first CP adder coupled to an output of said full adder; p1 first and second data paths coupled to an output of said CP adder; and a second CP adder having a first input coupled to said second data path and a second input coupled to said input fur said second number, such that said second number can be combined in said full adder for a first condition, with an output being provided on said first data path, bypassing said second CP adder, and said second number can be combined in said second CP adder with a result of said full adder and said first CP adder for a second condition, using said second data path.
Claim 14
Dependent Claim 164 words
An ALU for adding a first floating point number in sum and carry form and a second floating point number in sum form, comprising: a full adder coupled to inputs for the sum and carry bits of said first number and the bits of said second number; a first CP adder coupled to an output of said full adder; p1 first and second data paths coupled to an output of said CP adder; and a second CP adder having a first input coupled to said second data path and a second input coupled to said input fur said second number, such that said second number can be combined in said full adder for a first condition, with an output being provided on said first data path, bypassing said second CP adder, and said second number can be combined in said second CP adder with a result of said full adder and said first CP adder for a second condition, using said second data path.
Claim 15
Dependent Claim 38 words
The ALU of claim 10 further comprising first and second multiplexers coupled between said first CP adder and said second CP adder; and a right shifter circuit coupled between said second multiplexer and said second carry propagate adder.
Claim 16
Dependent Claim 40 words
The ALU of claim 10 wherein said first data path comprises a priority encoder having an input coupled to said first carry propagate adder and a left shifter circuit having an input coupled to an output of said priority encoder.
Claim 17
Dependent Claim 127 words
The ALU of claim 10 further comprising: a third carry propagate adder having inputs coupled to receive a product exponent and the exponent of said second number; mass logic means, coupled to an output of said third carry propagate adder, for providing an output having a first value if the difference between said exponents is 1, 0, -1 or -2; and a multiplexer having an output coupled to said full adder, first and second inputs coupled to receive the fraction of said second number and 0, respectively, and a select input coupled to said mass logic means such that said first value of said mass logic means will select the second number input and a second value of said mass logic means will select said 0 input.

References Cited (Backward Citations)

US4760551A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-09-11 1993-03-13 1993-09-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-09-11 1997-03-13 1997-09-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-09-11 2001-03-13 2001-09-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag