Floating point unit for multiple data architectures
First Claim
1. A computer system for supporting a plurality of floating point architectures, each floating point architecture having at least one format, the system comprising:
- a floating point unit having an internal data-flow according to an internal floating point format for performing floating point operations in the internal format, wherein the internal format has a number of exponent bits which is at least the minimum number required to support each of the plurality of floating point architectures and the internal format has a number of fraction bits which is at least the minimum number required to support each of the plurality of floating point architectures; and
a converter for converting an exponent value corresponding to each one of the plurality of floating point architectures into the internal floating point format such that an operand of any one of the plurality of floating point architectures input to the floating point unit is converted into the internal floating point format for operation by the floating point unit, and the result of the operation is converted back into the one of the plurality of floating point architectures by converting an exponent value corresponding to the internal floating point format into the one of the plurality of floating point architectures.
2 Assignments
0 Petitions
Accused Products
Abstract
An embodiment of the present invention provides a computer system with a floating point unit (“FPU”) for supporting multiple floating point architectures. Multiple floating point architectures are supported by an FPU with an internal data-flow format that accommodates formats of each architecture. The system includes a format converter for converting between the internal data flow format and the architected external data types by multiplexing the exponent. The system includes a floating point unit having an internal data-flow according to an internal floating point format for performing floating point operations. The internal format has a number of exponent bits sufficient to support each of the plurality of floating point architectures and the internal format has a number of fraction bits sufficient to support each of the plurality of floating point architectures. The system also includes format converters for converting the exponent value of each floating point architecture into the internal floating point format so that a data operand of any of the floating point architectures input to the floating point unit is converted into the internal floating point format for subsequent arithmetic operations, and the result of the operation is converted back into the original floating point architecture by converting the exponent value of the result from the internal floating point format into the original floating point architecture.
17 Citations
18 Claims
-
1. A computer system for supporting a plurality of floating point architectures, each floating point architecture having at least one format, the system comprising:
-
a floating point unit having an internal data-flow according to an internal floating point format for performing floating point operations in the internal format, wherein the internal format has a number of exponent bits which is at least the minimum number required to support each of the plurality of floating point architectures and the internal format has a number of fraction bits which is at least the minimum number required to support each of the plurality of floating point architectures; and
a converter for converting an exponent value corresponding to each one of the plurality of floating point architectures into the internal floating point format such that an operand of any one of the plurality of floating point architectures input to the floating point unit is converted into the internal floating point format for operation by the floating point unit, and the result of the operation is converted back into the one of the plurality of floating point architectures by converting an exponent value corresponding to the internal floating point format into the one of the plurality of floating point architectures. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17)
-
-
12. A floating point unit for supporting a first floating point architecture and a second floating point architecture, the first and second floating point architectures each having at least one format, the unit comprising:
-
an internal floating point format compatible with both the first and second floating point architectures, and sharing the fraction bits and sign bit with both of the floating point architectures;
a first converter to convert an operand of the first floating point architecture type to the internal floating point format by multiplexing the exponent bits of the operand, and to convert an operand of the second floating point architecture type to the internal floating point format by multiplexing the exponent bits of the operand;
a floating point unit having an internal data-flow for the internal floating point format that supports the converted data of both the first and second floating point architectures, and that performs floating point operations on data formatted in the internal floating point format by the first converter; and
a second converter to convert data of the internal floating point format into data of the transformed first floating point architecture by multiplexing the exponent bits of the operand, and to convert data of the internal floating point format into data of the transformed second floating point architecture by multiplexing the exponent bits of the operand.
-
-
18. A method for processing data corresponding to a plurality of floating point architectures, comprising:
-
determining the instant floating point architecture;
converting the exponent of the data corresponding to the determined architecture into an internal floating point format by;
correcting the radix point location of the exponent data, and pre-aligning the corrected exponent data;
performing arithmetic computations on the converted data;
re-converting the exponent of the computed data by;
re-correcting the radix point location of the exponent of the computed data, and post-aligning the re-corrected exponent of the computed data; and
outputting the re-converted data to thereby provide floating point data corresponding to the original floating point architecture without incurring a delay beyond that required to compute the resulting output in the internal floating point format.
-
Specification