Methods and apparatus for performing fast floating point operations
AssigneeLockheed Martin Corporation
InventorsMichele D. Van Dyke-Lewis, Woodrow Meeker
Life of this patent
Estimating the term…
Abstract
A format for representing floating point numbers reduces the overhead typically associated with parsing floating point numbers and thereby provides for significantly improved processing speeds, particularly for bit-serial processors. According to an exemplary single-precision embodiment, numbers are represented using a 36-bit data format. Extra bits in the representation according to the invention allow certain conditions, such as overflow/underflow and the zero-ness of a number, to be detected and asserted quickly. Other conditions, such as denormalization are subsumed into normal processing through the extension of an exponent range in the representation.
Claims10
A method for encoding a value using a fixed number of bits, comprising the steps of:
- partitioning the fixed number of bits into a one-bit sign field, a one-bit overflow/underflow field, a multiple-bit type field, a multiple-bit fraction field and a multiple bit exponent field;
- setting the one-bit sign field to indicate a sign of the value;
- setting the one-bit overflow/underflow field to indicate whether the value is a result of one of an overflow and an underflow condition;
- setting the multiple-bit type field to indicate whether the value is any of at least three special value types, said at least three special value types including zero, infinity and not a number;
- setting the multiple-bit fraction field equal to a fractional part of a normalized representation of the value;
- and
- setting the multiple-bit exponent field equal to an exponent of a normalized representation of the value.
A method for converting a first floating point representation of a number to a second floating point representation of the number, wherein said first floating point representation includes a fraction field and an exponent field and results from a first floating point representation scheme, the first floating point representation scheme permitting the use of both normalized and denormalized fraction and exponent values to represent a finite set of possible numbers, said method comprising the steps of:
- decoding the fraction field and the exponent field of the first floating point representation of the number to obtain a value of the number;
- encoding the value of the number in an expanded exponent field and a corresponding fraction field of the second floating point representation, guaranteeing that the expanded exponent field and the corresponding fraction field are normalized;
- determining whether the value of the first number is any of at least three special value types, the at least three special value types including zero, infinity and not a number;
- and
- encoding a type field of the second floating point representation to indicate whether the value of the first number is any of the at least three special types.
Apparatus configured to encode a value using a fixed number of bits, comprising:
- means for partitioning the fixed number of bits into a one-bit sign field, a one-bit overflow/underflow field, a multiple-bit type field, a multiple-bit fraction field and a multiple bit exponent field;
- means for setting the one-bit sign field to indicate a sign of the value;
- means for setting the one-bit overflow/underflow field to indicate whether the value is a result of one of an overflow and an underflow condition;
- means for setting the multiple-bit type field to indicate whether the value is any of at least three special value types, said at least three special value types including zero, infinity and not a number;
- means for setting the multiple-bit fraction field equal to a fractional part of a normalized representation of the value;
- and
- means for setting the multiple-bit exponent field equal to an exponent of a normalized representation of the value.
Apparatus configured to convert a first floating point representation of a number to a second floating point representation of the number, wherein said first floating point representation includes a fraction field and an exponent field and results from a first floating point representation scheme, the first floating point representation scheme permitting the use of both normalized and denormalized fraction and exponent values to represent a finite set of possible numbers, said apparatus comprising:
- means for decoding the fraction field and the exponent field of the first floating point representation of the number to obtain a value of the number;
- means for encoding the value of the number in an expanded exponent field and a corresponding fraction field of the second floating point representation, guaranteeing that the expanded exponent field and the corresponding fraction field are normalized;
- means for determining whether the value of the first number is any of at least three special value types, the at least three special value types including zero, infinity and not a number;
- and
- means for encoding a type field of the second floating point representation to indicate whether the value of the first number is any of the at least three special types.
Dependencies are inferred from the claim text.