IP Library Granted Patent US 8,924,454
Granted Patent B2
US 8,924,454 · App. 13/358,399 · Granted Dec 30, 2014

Merged floating point operation using a modebit

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 8,924,454
App. No.
13/358,399
Granted
Dec 30, 2014
Kind
B2
Abstract

A first floating-point operation unit receives first and second variables and performs a first operation generating a first output. A first rounding unit receives and rounds the first output to generate a second output if a control bit is in a first state. A second floating-point operation unit receives a third variable and either the first output or the second output and performs a second operation on the third variable and either the first output or the second output, to generate a third output. The second floating-point operation unit receives and operates on the first output if the control bit is in the first state, or the second output if the control bit is in the second state. A second rounding unit receives and rounds the third output.

Claims (39)

1. A floating-point processing system comprising:

a first storage unit configured to store a control bit having a first state and a second state;

a first floating-point operation unit configured to receive a first floating-point variable and a second floating-point variable, and to perform a first floating-point operation on the first floating-point variable and the second floating-point variable so as to generate a first floating-point output having a first precision;

a first rounding unit responsive to the control bit and configured to receive and round the first floating-point output if the control bit is in the first state so as to generate a second floating-point output having a second precision being less than the first precision; and

a second floating-point operation unit configured to receive a third floating-point variable, and either the first floating-point output if the control bit is in the second state or the second floating-point output if the control bit is in the first state, the second floating-point operation unit further configured to perform a second floating-point operation on the third floating-point variable and either the first floating-point output or the second floating-point output so as to generate a third floating-point output having a third precision.

2. The floating-point processing system of claim 1 further comprising a second rounding unit configured to receive and round the third floating-point output so as to generate a fourth floating-point output having a fourth precision less than the third precision.

3. The floating-point processing system of claim 2 wherein the fourth precision is equal to the second precision.

4. The floating-point processing system of claim 1 wherein the third precision is equal to the first precision.

5. The floating-point processing system of claim 1 wherein the first floating-point operation unit and the second floating-point operation unit are further configured to be responsive to a single instruction.

6. The floating-point processing system of claim 1 wherein the first storage unit is further configured to store either the first state or the second state of the control bit during an initialization of the floating-point processing system.

7. The floating-point processing system of claim 1 wherein the first storageunit is further configured to store either the first state or the second state of the control bit responsive to an execution unit coupled to the floating-point processing system during execution of a program.

8. The floating-point processing system of claim 1 wherein the first floating-point operation is floating-point multiplication or floating-point negate-multiplication.

9. The floating-point processing system of claim 1 wherein the second floating-point operation is floating-point addition or floating-point subtraction.

10. A method of processing a floating-point operation comprising:

storing a control bit having a first state and a second state;

performing a first floating-point operation on a first floating-point variable and a second floating-point variable so as to generate a first floating-point output having a first precision;

rounding the first floating-point output if the control bit is in the first state so as to generate a second floating-point output having a second precision being less than the first precision; and

performing a second floating-point operation on a third floating-point variable and either the first floating-point output if the control bit is in the second state or the second floating-point output if the control bit is in the first state so as to generate a third floating-point output having a third precision.

11. The method of claim 10 further comprising rounding the third floating-point output so as to generate a fourth floating-point output having a fourth precision being less than the third precision.

12. The method of claim 11 wherein the fourth precision is equal to the second precision.

13. The method of claim 10 wherein the third precision is equal to the first precision.

14. The method of claim 10 wherein the steps of performing a first floating-point operation and performing a second floating-point operation are responsive to a single instruction.

15. The method of claim 10 wherein the storing a control bit step stores either the first state or the second state of the control bit during an initialization of the floating-point processing system.

16. The method of claim 10 wherein the storing a control bit step stores either the first state or the second state of the control bit responsive to an execution unit coupled to the floating-point processing system during execution of a program.

17. The method of claim 10 wherein the first floating-point operation is floating-point multiplication or floating-point negate-multiplication.

18. The method of claim 10 wherein the second floating-point operation is floating-point addition or floating-point subtraction.

19. A non-transitory computer readable storage medium including instructions defining logic blocks of a floating-point processing system, the computer readable storage medium adapted for use by an electronic design automation application executed by a computer, wherein the logic blocks are configured to perform an operation comprising:

storing a control bit having a first state and a second state;

performing a first floating-point operation on a first floating-point variable and a second floating-point variable so as to generate a first floating-point output having a first precision;

rounding the first floating-point output if the control bit is in the first state so as to generate a second floating-point output having a second precision being less than the first precision; and

performing a second floating-point operation on a third floating-point variable and either the first floating-point output if the control bit is in the second state or the second floating-point output if the control bit is in the first state so as to generate a third floating-point output having a third precision.

20. The non-transitory computer readable storage medium of claim 19 further comprising rounding the third floating-point output so as to generate a fourth floating-point output having a fourth precision being less than the third precision.

21. The non-transitory computer readable storage medium of claim 20 wherein the fourth precision is equal to the second precision.

22. The non-transitory computer readable storage medium of claim 19 wherein the third precision is equal to the first precision.

23. The non-transitory computer readable storage medium of claim 19 wherein the steps of performing a first floating-point operation and performing a second floating-point operation are responsive to a single instruction.

24. The non-transitory computer readable storage medium of claim 19 wherein the storing a control bit step stores either the first state or the second state of the control bit during an initialization of the floating-point processing system.

25. The non-transitory computer readable storage medium of claim 19 wherein the storing a control bit step stores either the first state or the second state of the control bit responsive to an execution unit coupled to the floating-point processing system during execution of a program.

26. The non-transitory computer readable storage medium of claim 19 wherein the first floating-point operation is floating-point multiplication or floating-point negate-multiplication.

27. The non-transitory computer readable storage medium of claim 19 wherein the second floating-point operation is floating-point addition or floating-point subtraction.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: BRIDGE CROSSING, LLC
To: ARM FINANCE OVERSEAS LIMITED
Reel/Frame 033074/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: MIPS TECHNOLOGIES, INC.
To: BRIDGE CROSSING, LLC
Reel/Frame 030202/0440 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2013
From: MIPS TECHNOLOGIES, INC.
To: BRIDGE CROSSING, LLC
Reel/Frame 029904/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2012
From: LAU, DAVID YIU-MAN
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 027595/0001 →