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

Common format for encoding both single and double precision floating point numbers

Assignee: HP Inc
•
Filing: 1992-09-14
•
Granted: 1993-12-07
•
Expires: 2012-09-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A technique for encoding multiple floating point formats into a double precision floating point number by padding single word floating point numbers with zeros to form a 64-bit double word in a way that allows a single precision arithmetic logic unit to be built on top of a double precision arithmetic logic unit. The formatting circuitry of the invention requires only small differences in the hardware for single and double precision operations so as to simplify the arithmetic logic unit and the multiplier of the floating point processing units. The encoding technique of the invention includes right justifying the exponent and mantissa of the floating point number in a "common format" such that rounding of the mantissa need only occur in one place, thereby greatly simplifying the rounding procedure. The technique of the invention also removes multiplexers from critical speed paths in the floating point processing units when it is desired to accommodate multiple data formats.

Inventors

  • 👤 Russell W. Mason
  • 👤 Craig A. Heikes

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 13:46
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/483; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/3001; G06F9/30014; G06F2207/00; G06F2207/38; G06F2207/3804; G06F2207/3808; G06F2207/3812; G06F2207/3816

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 199 words
A processor for performing floating point operations on input operands, comprising: a data register for storing operands of at least one of a first and a second precision, where said second precision has a greater number of mantissa bits than said first precision; a floating point processor for performing floating point mathematical operations on said operands stored in said data register; and an operand alignment circuit for converting said operands from said data register into operands in a common format having the precision of said floating point processor and for providing the operands in said common format to said floating point processor for processing, said operand alignment circuit comprising means for aligning least significant bits of exponents and mantissas of operands of both said first and second precisions, means for inserting a predetermined number of bits of a predetermined logic value into the most significant bits of said exponents and mantissas of said operands when converting an operand of said first precision to said common format, and means for eliminating a predetermined number of most significant bits of said exponents and mantissas of results when converting a result from said common format to a result of said first precision.
Claim 2
Dependent Claim 199 words
A processor for performing floating point operations on input operands, comprising: a data register for storing operands of at least one of a first and a second precision, where said second precision has a greater number of mantissa bits than said first precision; a floating point processor for performing floating point mathematical operations on said operands stored in said data register; and an operand alignment circuit for converting said operands from said data register into operands in a common format having the precision of said floating point processor and for providing the operands in said common format to said floating point processor for processing, said operand alignment circuit comprising means for aligning least significant bits of exponents and mantissas of operands of both said first and second precisions, means for inserting a predetermined number of bits of a predetermined logic value into the most significant bits of said exponents and mantissas of said operands when converting an operand of said first precision to said common format, and means for eliminating a predetermined number of most significant bits of said exponents and mantissas of results when converting a result from said common format to a result of said first precision.
Claim 3
Dependent Claim 82 words
A processor as in claim 1, wherein said operand alignment circuit comprises a multiplexer responsive to an indication of whether a current floating point mathematical operation includes operands representing single word integers, double word integers, single precision floating point values and double precision floating point values and at least one result in said common format output from said floating point processor at respective inputs thereof, said multiplexer providing a single output in said common format to said floating point processor for processing.
Claim 4
Independent Claim 188 words
A method of performing floating point operations, comprising the steps of: providing input operands of at least one of a first and a second precision, where said second precision has a greater number of mantissa bits than said first precision; converting said input operands into operands in a common format having the precision of predetermined floating point processors which perform said floating point operations, said operand converting step comprising the steps of aligning least significant bits of exponents and mantissas of input operands of both said first and second precisions, inserting a predetermined number of bits of a predetermined logic value into the most significant bits of said exponents and mantissas of said input operands when converting an operand of said first precision to said common format, and eliminating a predetermined number of most significant bits of said exponents and mantissas of results when converting a result from said common format to a result of said first precision; providing the input operands in said common format to said floating point processors for processing; and performing floating point mathematical operations on operands provided in said input operands providing step.
Claim 5
Independent Claim 188 words
A method of performing floating point operations, comprising the steps of: providing input operands of at least one of a first and a second precision, where said second precision has a greater number of mantissa bits than said first precision; converting said input operands into operands in a common format having the precision of predetermined floating point processors which perform said floating point operations, said operand converting step comprising the steps of aligning least significant bits of exponents and mantissas of input operands of both said first and second precisions, inserting a predetermined number of bits of a predetermined logic value into the most significant bits of said exponents and mantissas of said input operands when converting an operand of said first precision to said common format, and eliminating a predetermined number of most significant bits of said exponents and mantissas of results when converting a result from said common format to a result of said first precision; providing the input operands in said common format to said floating point processors for processing; and performing floating point mathematical operations on operands provided in said input operands providing step.
Claim 6
Dependent Claim 59 words
A method as in claim 3, comprising the further steps of performing additional floating point operations on the results of said operations performing step without performing said converting step on said results, and then storing the results of said additional floating point operations in data registers corresponding to the floating point processor used for said additional floating point operations.

References Cited (Backward Citations)

US3872442A Cited
US4831575A Cited
US5161117A Cited
US5038309A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag