IP Library Granted Patent US 9,778,906
Granted Patent B2
US 9,778,906 · App. 14/582,875 · Granted Oct 3, 2017

Apparatus and method for performing conversion operation

Inventors: David Raymond Lutz (Austin, TX); Neil Burgess (Austin, TX); Christopher Neal Hinds (Austin, TX)
Assignee: ARM Limited
G06F7/483G06F5/012G06F7/38G06F7/48G06F7/4991G06F7/49915G06F7/49921G06F7/49942G06F7/507G06F9/3001G06F9/30014G06F9/3016G06F9/30018G06F9/30025G06F9/30036G06F9/30112G06F9/30185G06F9/30192G06F9/3885G06F11/3476G06F11/3636G06F11/3648G06F17/16H03M7/12H03M7/24G06F7/506G06F11/3404G06F11/348G06F11/3644G06F2201/865G06F2207/483
View Patent ↗
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 9,778,906
App. No.
14/582,875
Granted
Oct 3, 2017
Kind
B2
Abstract

An apparatus comprises processing circuitry to perform a conversion operation to convert a floating-point value to a vector comprising a plurality of data elements representing respective bit significance portions of a binary value corresponding to the floating-point value.

Claims (26)

1. An apparatus comprising:

processing circuitry to perform a conversion operation to convert a floating-point value to a vector comprising a plurality of data elements representing respective bit significance portions of a binary value corresponding to the floating-point value; said processing circuitry comprising:

circuitry to perform a plurality of lanes of conversion processing on said floating-point value, each lane receiving an exponent and a significand of said floating-point value and a lane significance indication indicative of the significance of the respective bit significance portion to be generated by that lane, and

circuitry to process the significand in dependence on the lane significance indication and the exponent value to generate said respective bit significance portion of said binary value.

2. The apparatus according to claim 1 , wherein the processing circuitry is configured to determine the lane significance indication for each lane from a base value indicative of the significance of a predetermined data element of said plurality of data elements.

3. The apparatus according to claim 1 , wherein the processing circuitry is configured to obtain the lane significance indication for each lane from a respective element of an anchor vector providing separate indications of the significance of the bit significance portions to be represented by the plurality of data elements.

4. The apparatus according to claim 1 , wherein for each of said plurality of data elements, the processing circuitry is to determine, based on the exponent of the floating-point value and the lane significance indication, whether to populate the data element with bit values depending on the floating-point value.

5. The apparatus according to claim 1 , wherein for at least one data element, the processing circuitry is to generate the data element by forming an initial value depending on the significand of the floating-point value and shifting the initial value by a shift amount depending on the exponent of the floating-point value and the lane significance indication.

6. The apparatus according to claim 1 , wherein in the conversion operation, the processing circuitry is to select values for said plurality of data elements in dependence on the floating-point value and programmable control information.

7. The apparatus according to claim 6 , wherein the control information is indicative of a variable number of data elements of the vector to be generated based on the floating-point value.

8. The apparatus according to claim 6 , wherein the control information is independent of the floating-point value.

9. The apparatus according to claim 1 , wherein the vector comprises a greater number of bits than a significand of the at least one floating-point value.

10. The apparatus according to claim 1 , wherein the processing circuitry comprises a plurality of processing units to generate at least two of the plurality of data elements in parallel.

11. The apparatus according to claim 1 , wherein each data element comprises a two's complement value.

12. The apparatus according to claim 11 , wherein when the floating-point value is negative, the processing circuitry is to perform a negation operation during the conversion operation to generate at least one data element with a value negated relative to a significand of the floating-point value.

13. The apparatus according to claim 1 , wherein the processing circuitry is to perform the conversion operation in response to a first instruction.

14. The apparatus according to claim 13 , wherein the first instruction comprises a conversion instruction.

15. The apparatus according to claim 13 , wherein the first instruction comprises an arithmetic instruction.

16. The apparatus according to claim 15 , wherein the floating-point value comprises a result of an arithmetic operation performed by the processing circuitry in response to the arithmetic instruction.

17. The apparatus according to claim 15 , wherein the floating-point value comprises a result of multiplying two floating-point operands in response to the arithmetic instruction.

18. The apparatus according to claim 15 , wherein the processing circuitry is responsive to the arithmetic instruction to perform an arithmetic operation on the vector generated in the conversion operation.

19. The apparatus according to claim 18 , wherein the arithmetic operation comprises adding or subtracting the vector and a further vector comprising a plurality of data elements representing respective bit significance portions of a second binary value.

20. A data processing method comprising:

performing, using processing circuitry, a conversion operation to convert a floating-point value to a vector comprising a plurality of data elements representing respective bit significance portions of a binary value corresponding to the floating-point value;

performing a plurality of lanes of conversion processing on said floating-point value, each lane receiving an exponent and a significand of said floating-point value and a lane significance indication indicative of the significance of the respective bit significance portion to be generated by that lane; and

processing the significand in dependence on the lane significance indication and the exponent value to generate said respective bit significance portion of said binary value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2015
From: LUTZ, DAVID RAYMOND; BURGESS, NEIL; HINDS, CHRISTOPHER NEAL
To: ARM LIMITED
Reel/Frame 035168/0631 →
Continuity (2)
Provisional Application 62074149 · Nov 3, 2014
Related Publication 20160126975A1 · May 5, 2016