IP Library › Granted Patent US 10,310,814
Granted Patent B2
US 10,310,814 · App. 15/631,106 · Granted Jun 4, 2019

Read and set floating point control register instruction

Inventors: Michael K. Gschwind (Chappaqua, NY); Valentina Salapura (Chappaqua, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F7/483G06F9/30094
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 10,310,814
App. No.
15/631,106
Granted
Jun 4, 2019
Kind
B2
Abstract

Setting or updating of floating point controls is managed. Floating point controls include controls used for floating point operations, such as rounding mode and/or other controls. Further, floating point controls include status associated with floating point operations, such as floating point exceptions and/or others. The management of the floating point controls includes efficiently updating the controls, while reducing costs associated therewith.

Claims (27)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:

obtaining an instruction to be executed, the instruction having associated therewith an operation code to indicate a read and set floating point control register operation; and

executing the instruction, the executing including:

reading one or more controls from a floating point control register; and

updating at least one control of the one or more controls comprising writing a value of the at least one control to the floating point control register, wherein the reading and updating are performed as one atomic operation.

2. The computer program product of claim 1 , wherein the instruction includes one field used to obtain at least one updated value to update the at least one control.

3. The computer program product of claim 2 , wherein the instruction further includes another field used to obtain at least one current value of the at least one control.

4. The computer program product of claim 1 , wherein the at least one control comprises a rounding mode control.

5. The computer program product of claim 1 , wherein the at least one control comprises an exception control.

6. The computer program product of claim 1 , wherein the instruction further includes at least one field used to explicitly specify the at least one control to be updated.

7. The computer program product of claim 1 , wherein the instruction further includes a field used to indicate a mask, the mask explicitly specifying the at least one control to be updated.

8. The computer program product of claim 7 , wherein the mask includes a plurality of indicators for a plurality of selectable controls to be updated, wherein an indicator set to a defined value indicates a control to be updated.

9. The computer program product of claim 1 , wherein the reading the one or more controls comprises reading one or more values of the one or more controls from the floating point control register and saving the one or more values of the one or more controls in a target operand of the instruction.

10. The computer program product of claim 1 , wherein the updating the at least one control comprises writing a value of the at least one control specified by a source operand of the instruction to the floating point control register.

11. The computer program product of claim 1 , wherein the updating the at least one control is performed based on determining at least one updated value of the at least one control is different from at least one value of the at least one control stored in the floating point control register.

12. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:

obtaining an instruction to be executed, the instruction having associated therewith an operation code to indicate a read and set floating point control register operation; and

executing the instruction, the executing including:

reading one or more controls from a floating point control register; and

updating at least one control of the one or more controls comprising writing a value of the at least one control to the floating point control register, wherein the reading and updating are performed as one atomic operation.

13. The computer system of claim 12 , wherein the instruction further includes one field used to obtain at least one updated value to update the at least one control.

14. The computer system of claim 13 , wherein the instruction further includes another field used to obtain at least one current value of the at least one control.

15. The computer system of claim 12 , wherein the instruction further includes at least one field used to explicitly specify the at least one control to be updated.

16. The computer system of claim 1 , wherein the updating the at least one control is performed based on determining at least one updated value of the at least one control is different from at least one value of the at least one control stored in the floating point control register.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: GSCHWIND, MICHAEL K.; SALAPURA, VALENTINA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042796/0896 →
Continuity (1)
Related Publication 20180373497A1 · Dec 27, 2018