Restricted instructions in transactional execution
US-2016357553-A1 · Dec 8, 2016 · US
US9983882B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9983882-B2 |
| Application number | US-201414527188-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 29, 2014 |
| Priority date | Jun 15, 2012 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Execution of instructions in a transactional environment is selectively controlled. A TRANSACTION BEGIN instruction initiates a transaction and includes controls that selectively indicate whether certain types of instructions are permitted to execute within the transaction. The controls include one or more of an allow access register modification control and an allow floating point operation control.
Opening claim text (preview).
What is claimed is: 1. A method of controlling execution of instructions within transactions of a computing environment, said method comprising: obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: an operation code to specify a transaction begin operation; and at least one control to be used in controlling execution of one or more types of instructions in transactional processing, the at least one control including a first control, the first control comprising an allow floating point operation control; and executing, by the processor, the machine instruction, the executing comprising: initiating a transaction within the processor; and using the first control of the at least one control of the machine instruction to determine a first value, the first value to control execution within the transaction of an instruction of a first type, wherein the first control is the allow floating point operation control, and wherein based on the first control being the allow floating point operation control, the first type comprises specified floating point instructions, the allow floating point operation control to be used to indicate whether the transaction is permitted to execute the specified floating point instructions; and controlling execution of a particular instruction of the transactional processing based on the first value, the first value determined using the allow floating point operation control. 2. The method of claim 1 , wherein the using comprises performing a logical AND of the allow floating point operation control of the machine instruction for a current nesting level of transactions of which the machine instruction is a part and outer nesting levels, if any, to determine the first value, the first value comprising an effective allow floating point operation control. 3. The method of claim 1 , wherein the at least one control further comprises a second control, the second control comprising an allow access register modification control to be used to indicate whether the transaction is permitted to execute an instruction that modifies an access register. 4. The method of claim 1 , wherein the transaction is part of a nest of transactions, and wherein the method further comprises re-determining the first value based on termination of a transaction of the nest of transactions. 5. The method of claim 1 , further comprising: obtaining, by the processor, an instruction within the transaction initiated by the transaction begin operation; determining by the processor based on at least one value computed based on the at least one control whether the obtained instruction is an instruction to be prohibited from execution; and executing the obtained instruction based on the determining indicating the instruction is not to be prohibited from execution. 6. The method of claim 1 , wherein the transaction comprises a nonconstrained transaction. 7. The method of claim 1 , wherein the one or more types of instructions comprises specified floating point instructions or instructions that modify the access register. 8. A computer program product for controlling execution of instructions within transactions of a computing environment, said computer program product comprising: a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: an operation code to specify a transaction begin operation; and at least one control to be used in controlling execution of one or more types of instructions in transactional processing, the at least one control including a first control, the first control comprising an allow floating point operation control; and executing, by the processor, the machine instruction, the executing comprising: initiating a transaction within the processor; and using the first control of the at least one control of the machine instruction to determine a first value, the first value to control execution within the transaction of an instruction of a first type, wherein the first control is the allow floating point operation control, and wherein based on the first control being the allow floating point operation control, the first type comprises specified floating point instructions, the allow floating point operation control to be used to indicate whether the transaction is permitted to execute the specified floating point instructions; and controlling execution of a particular instruction of the transactional processing based on the first value, the first value determined using the allow floating point operation control. 9. The computer program product of claim 8 , wherein the using comprises performing a logical AND of the allow floating point operation control of the machine instruction for a current nesting level of transactions of which the machine instruction is a part and outer nesting levels, if any, to determine the first value, the first value comprising an effective allow floating point operation control. 10. The computer program product of claim 8 , wherein the at least one control further comprises a second control, the second control comprising an allow access register modification control to be used to indicate whether the transaction is permitted to execute an instruction that modifies an access register. 11. The computer program product of claim 8 , wherein the transaction is part of a nest of transactions, and wherein the method further comprises re-determining the first value based on termination of a transaction of the nest of transactions. 12. The computer program product of claim 8 , wherein the method further comprises: obtaining, by the processor, an instruction within the transaction initiated by the transaction begin operation; determining by the processor based on at least one value computed based on the at least one control whether the obtained instruction is an instruction to be prohibited from execution; and executing the obtained instruction based on the determining indicating the instruction is not to be prohibited from execution. 13. The computer program product of claim 8 , wherein the transaction comprises a nonconstrained transaction. 14. The computer program product of claim 8 , wherein the one or more types of instructions comprises specified floating point instructions or instructions that modify the access register. 15. A computer system for controlling execution of instructions within transactions of a computing environment, said computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising: obtaining, by the processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: an operation code to specify a transaction begin operation; and at least one control to be used in controlling execution of one or more types of instructions in transactional processing, the at least one control including a first control, the first control comprising an allow floating point operation control; and executing, by the processor, the machine instruction, the executing comprising: initiati
Transaction processing · CPC title
Recovery, e.g. branch miss-prediction, exception handling (error detection or correction G06F11/00) · CPC title
Maintaining memory consistency · CPC title
Instruction operation extension or modification · CPC title
Instruction analysis, e.g. decoding, instruction word fields · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.