Selectively controlling instruction execution in transactional processing

US9772854B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9772854-B2
Application numberUS-201213524898-A
CountryUS
Kind codeB2
Filing dateJun 15, 2012
Priority dateJun 15, 2012
Publication dateSep 26, 2017
Grant dateSep 26, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for controlling execution of instructions within transactions of a computing environment, a transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction, 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; and executing, by the processor, the machine instruction, the executing comprising: initiating a transaction; and using a first control of the at least one control 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 one of an allow access register modification control or an allow floating point operation control, and wherein based on the first control being the allow access register modification control, the first type comprises instructions that modify a type of register referred to as an access register, the access register including an indirect specification of an address space control element to be used in address translation, the allow access register modification control to be used to indicate whether the transaction is permitted to execute an instruction that modifies an access register; and 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. 2. The computer program product of claim 1 , wherein the first control is the allow access register modification control, and the using comprises performing a logical AND of the allow access register modification 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 access register modification control. 3. The computer program product of claim 1 , wherein the first control is the allow floating point operation control, and 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. 4. The computer program product of claim 1 , wherein the first control is the allow access register modification control and the first type comprises instructions that modify the access register, and wherein the at least one control further comprises a second control, the second control comprising the allow floating point operation control to be used to indicate whether the transaction is permitted to execute specified floating point instructions. 5. The computer program product of claim 1 , wherein the transaction comprises a nonconstrained transaction. 6. The computer program product of claim 1 , wherein the transaction comprises a constrained transaction. 7. The computer program product of claim 1 , 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 instruction is an instruction to be prohibited from execution; and executing the instruction based on the determining indicating the instruction is not to be prohibited from execution. 8. The computer program product 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. 9. The computer program product of claim 1 , wherein the one or more types of instructions comprises specified floating point instructions or instructions that modify the access register; and wherein, the instruction of the first type comprises a floating point instruction or an instruction that modifies an access register. 10. A computer system for controlling execution of instructions within transactions of a computing environment, a transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction, 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 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; and executing, by the processor, the machine instruction, the executing comprising: initiating a transaction; and using a first control of the at least one control 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 one of an allow access register modification control or an allow floating point operation control, and wherein based on the first control being the allow access register modification control, the first type comprises instructions that modify a type of register referred to as an access register, the access register including an indirect specification of an address space control element to be used in address translation, the allow access register modification control to be used to indicate whether the transaction is permitted to execute an instruction that modifies an access register; and 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. 11. The computer system of claim 10 , wherein the first control is the allow access register modification control, and the using comprises performing a logical AND of the allow access register modification 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 access register modification control. 12. The computer system of claim 10 , wherein the first control is the allow floating point operation control, and 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 operatio

Assignees

Inventors

Classifications

  • Transaction processing · CPC title

  • G06F9/3861Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9772854B2 cover?
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 co…
Who is the assignee on this patent?
Greiner Dan F, Jacobi Christian, Rogers Robert R, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/3861. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 26 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).