IP Library Patent Application 18210630
Patent Application
App. No. 18/210,630

EXTENDED FLOATING-POINT RANGE ADDITION AND MULTIPLICATION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
18/210,630
Abstract

A first storage location is to store a first floating-point data element. The first data element has a sign bit, an N-bit first exponent value, and M bits. A second storage location is to store a second floating-point data element that is to have a same number of bits as the first floating-point data element. The second data element has a sign bit, an N-bit first exponent value, and M bits. The N-bit first exponent value of the second data element is all zeroes and the M bits of the second data element include a significand and a second exponent value. A floating-point arithmetic unit is coupled with the first and second storage locations. The floating-point arithmetic unit is to perform either multiplication or addition on the first and second data elements to generate a result data element based at least in part on the second exponent value.

Claims (29)

1 . An apparatus comprising:

a first storage location to store a first floating-point data element, the first floating-point data element having a sign bit, an N-bit first exponent value, and M bits;

a second storage location to store a second floating-point data element that is to have a same total number of bits as the first floating-point data element, the second floating-point data element having a sign bit, an N-bit first exponent value, and M bits, wherein the N-bit first exponent value of the second floating-point data element is all zeroes and the M bits of the second floating-point data element include a significand and a second exponent value; and

a floating-point arithmetic unit coupled with the first storage location and the second storage location, the floating-point arithmetic unit to perform either multiplication or addition on the first floating-point data element and the second floating-point data element to generate a result floating-point data element based at least in part on the second exponent value of the second floating-point data element.

2 . The apparatus of claim 1 , wherein the M bits of the first floating-point data element is an M-bit significand when the N-bit first exponent value is not all zeros and when the N-bit first exponent value is not all ones.

3 . The apparatus of claim 1 , wherein the floating-point arithmetic unit is to perform the multiplication, including subtracting the second exponent value from a sum of the N-bit first exponent value of the first floating-point data element and the N-bit first exponent value of the second floating-point data element.

4 . The apparatus of claim 1 , wherein the N-bit first exponent value of the first floating-point data element is all zeroes and the M bits of the first floating-point data element include a significand and a second exponent value, and wherein the floating-point arithmetic unit is to perform the multiplication, including subtracting a sum of the second exponent value of the first floating-point data element and the second exponent value of the second floating-point data element from a sum of the N-bit first exponent value of the first floating-point data element and the N-bit first exponent value of the second floating-point data element.

5 . The apparatus of claim 1 , wherein the floating-point arithmetic unit is to perform the addition, including using the N-bit first exponent value of the first floating-point data element as a base exponent for the addition, and determining a right shift amount, to be used to right shift the significand of the second floating-point data element, to be a sum of the N-bit first exponent value of the first floating-point data element and the second exponent value of the second floating-point data element.

6 . The apparatus of claim 1 , wherein the N-bit first exponent value of the first floating-point data element is all zeroes and the M bits of the first floating-point data element include a significand and a second exponent value, and wherein the floating-point arithmetic unit is to perform the addition, including using a base exponent of zero for the addition, and determining a right shift amount, to be used to right shift a significand, to be an absolute value of a difference between the second exponent value of the first floating-point data element and the second exponent value of the second floating-point data element.

7 . The apparatus of claim 1 , wherein the floating-point arithmetic unit, to generate the result floating-point data element, is to use the second exponent value to identify a position of a binary point relative to the significand of the second floating-point data element.

8 . The apparatus of claim 7 , wherein the floating-point arithmetic unit, to generate the result floating-point data element, is to use the second exponent value to represent the second floating-point data element.

9 . The apparatus of claim 1 , wherein the significand of the second floating-point data element and the second exponent value of the second floating-point data element together include all the M bits of the second floating-point data element, and wherein the second exponent value comprises a plurality of least significant bits of the M bits of the second floating-point data element.

10 . The apparatus of claim 1 , wherein the total number of bits is 64-bits, wherein the N-bit first exponent value of the first floating-point data element is an 11-bit value, wherein the M bits of the first floating-point data element is fifty-two bits, wherein the significand of the second floating-point data element includes from forty-six to fifty bits, and wherein the second exponent value includes from two to six bits.

11 . The apparatus of claim 1 , wherein the total number of bits is 32-bits, wherein the N-bit first exponent value of the first floating-point data element is an 8-bit value, wherein the M bits of the first floating-point data element is twenty-three bits, wherein the significand of the second floating-point data element includes from eighteen to twenty-one bits, and wherein the second exponent value includes from two to five bits.

12 . A method executed by a computer processor, the method comprising:

accessing a first floating-point data element from a first storage location, the first floating-point data element having a sign bit, an N-bit first exponent value that is not all zeroes and that is not all ones, and an M-bit significand;

accessing a second floating-point data element, having a same total number of bits as the first floating-point data element, from a second storage location, the second floating-point data element having a sign bit, an N-bit first exponent value that is all zeroes, and M bits including a significand and a second exponent value; and

performing either multiplication or addition, with circuitry of the computer processor, on the first floating-point data element and the second floating-point data element to generate a result floating-point data element based at least in part on the second exponent value of the second floating-point data element.

13 . The method of claim 12 , wherein said performing either the multiplication or the addition comprises performing the multiplication, and wherein performing the multiplication includes subtracting the second exponent value of the second floating-point data element from a sum of the N-bit first exponent value of the first floating-point data element and the N-bit first exponent value of the second floating-point data element.

14 . The method of claim 12 , wherein said performing either the multiplication or the addition comprises performing the addition, and wherein performing the addition includes using the N-bit first exponent value of the first floating-point data element as a base exponent for the addition, and determining a right shift amount, to right shift the significand of the second floating-point data element, to be a sum of the N-bit first exponent value of the first floating-point data element and the second exponent value of the second floating-point data element.

15 . The method of claim 12 , wherein generating the result floating-point data element includes using the second exponent value to represent the second floating-point data element.

16 . The method of claim 12 , wherein the significand of the second floating-point data element and the second exponent value of the second floating-point data element together include all of the M bits of the second floating-point data element, and wherein the second exponent value of the second floating-point data element comprises a plurality of least significant bits of the M bits of the second floating-point data element.

17 . The method of claim 12 , wherein the total number of bits is 32-bits, wherein the N-bit first exponent value of the first floating-point data element is an 8-bit value, wherein the M bits of the first floating-point data element is twenty-three bits, wherein the significand of the second floating-point data element includes from eighteen to twenty-one bits, and wherein the second exponent value of the second floating-point data element includes from two to five bits.

18 . A non-transitory machine-readable storage medium comprising instructions that, when executed, cause processor circuitry to at least:

access a first floating-point data element from a first storage location, the first floating-point data element to have a sign bit, an N-bit first exponent value that is not all zeroes and that is not all ones, and an M-bit significand;

access a second floating-point data element, having a same total number of bits as the first floating-point data element, from a second storage location, the second floating-point data element to have a sign bit, an N-bit first exponent value that is all zeroes, and M bits including a significand and a second exponent value; and

perform either multiplication or addition on the first floating-point data element and the second floating-point data element to generate a result floating-point data element based at least in part on the second exponent value of the second floating-point data element.

19 . The non-transitory machine-readable storage medium of claim 18 , wherein the instructions, when executed, cause the processor circuitry to perform the multiplication, and wherein performing the multiplication includes subtracting the second exponent value from a sum of the N-bit first exponent value of the first floating-point data element and the N-bit first exponent value of the second floating-point data element

20 . The non-transitory machine-readable storage medium of claim 18 , wherein the total number of bits is 32-bits, wherein the N-bit first exponent value of the first floating-point data element is an 8-bit value, wherein the M bits of the first floating-point data element is twenty-three bits, wherein the significand of the second floating-point data element includes from eighteen to twenty-one bits, and wherein the second exponent value includes from two to five bits.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 066353/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2023
From: LANGHAMMER, MARTIN
To: INTEL CORPORATION
Reel/Frame 063968/0417 →