Floating point unit with support for variable length numbers
AssigneeOracle International Corporation
InventorsJeffrey S. Brooks, Christopher H. Olson, Hesam Fathi Moghadam, Josephus C. Ebergen
Life of this patent
Estimating the term…
Abstract
Embodiments of a processor are disclosed for performing arithmetic operations on a machine independent number format. The processor may include a floating point unit, and a number unit. The number format may include a sign/exponent block, a length block, and multiple mantissa digits. The number unit may be configured to perform an operation on two operands by converting the digit format of each mantissa digit of each operand, to perform the operation using the converted mantissa digits, and then to convert each mantissa digit of the result of the operation back into the original digit format.
Claims20
A processor, comprising:
- a logic circuit is configured to:
- receive an indication of an operation, a first operand including a first plurality of mantissa digits;
- and a second operand including a second plurality of mantissa digits;
- convert an encoding of the first plurality of mantissa digits and the second plurality of mantissa digits from a first format to a second format;
- in response to a determination that the operation is a multiplication or division operation convert the encoding of the first plurality of mantissa digits and the second plurality of mantissa digits from the second format to a third format;
- and
- a multiplication circuit configured to perform the operation using the first operand and the second operand to generate a result, wherein the result includes a third plurality of mantissa digits encoded with the third format;
- and
- wherein the logic circuit is further configured to convert an encoding of the third plurality of mantissa digits from the third format to the second format.
A method, comprising:
- receiving, by a number unit included in a processor, information indicative of an operation, a first number, and a second number, wherein the first number and the second number are included in a database, and wherein the first number and the second number are encoded using a first format;
- converting an encoding of the first number and the second number from the first format to a second format by the number unit included in the processor;
- in response to determining that the operation is a multiplication or division operation:
- converting the encoding of the first number and the second number from the second format to a third format by the number unit included in the processor;
- performing, by the number unit included in the processor, the operation using the first number encoded with the third format and the second number encoded with the third format to generate a result, wherein the result is encoded with the third format;
- and
- converting an encoding of the result from the third format to the second format by the number unit included in the processor.
A system, comprising:
- a memory configured to store a database;
- and
- a plurality of processors, wherein a particular processor of the plurality of processors includes a number unit configured to:
- receive information indicative of an operation, a first operand including a first plurality of mantissa digits;
- and a second operand including a second plurality of mantissa digits, wherein the first operand and the second operand are included in the database;
- convert an encoding of the first plurality of mantissa digits and the second plurality of mantissa digits from a first format to a second format;
- in response to a determination that the operation is a multiplication or division operation:
- convert the encoding of the first plurality of mantissa digits and the second plurality of mantissa digits from the second format to a third format;
- perform the operation using the first operand and the second operand to generate a result, wherein the result includes a third plurality of mantissa digits encoded with the third format;
- and
- convert an encoding of the third plurality of mantissa digits from the third format to the second format.
Dependencies are inferred from the claim text.