Processor assist facility

US9336007B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9336007-B2
Application numberUS-201313789183-A
CountryUS
Kind codeB2
Filing dateMar 7, 2013
Priority dateJun 15, 2012
Publication dateMay 10, 2016
Grant dateMay 10, 2016

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.

An operation is provided to signal a processor that action is to be taken to facilitate execution of a transaction that has aborted one or more times. The operation is specified within an instruction or is itself an instruction. The instruction is executed based on detecting an abort of the transactions, and includes a field indicating how many times the transaction has aborted. The processor uses this information to determine what action is to be taken.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of controlling execution within a computing environment, the method comprising: detecting, by a processor, that execution of an instruction stream has aborted; based on detecting that execution of the instruction stream has aborted and prior to retrying execution of the instruction stream, initiating execution of a machine instruction to indicate to the processor that re-execution of the instruction stream is a retry, the machine instruction being defined for computer execution according to a computer architecture and comprising a field to specify a requested assist operation to be performed by the processor, a value of the field indicating to the processor that re-execution of the instruction stream is a retry and indicating an action is to be taken to facilitate successful re-execution of the instruction stream; based on initiating execution of the machine instruction, performing the action; and retrying execution of the instruction stream. 2. The method of claim 1 , wherein the machine instruction is a perform processor assist instruction that further includes an operation code to specify a perform processor assist operation, and wherein the field is separate from the operation code and specifies an abort assist operation. 3. The method of claim 1 , wherein the field comprises an operation code specifying an abort assist operation. 4. The method of claim 1 , wherein the instruction stream is a transaction, the transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction. 5. The method of claim 4 , wherein the machine instruction further comprises a register field, the register field identifying a register usable by a program to indicate a number of times the transaction has aborted, and wherein the initiating execution comprises providing the number of times to the processor, the processor to take action based on the number of times the transaction has aborted. 6. The method of claim 5 , further comprising: based on execution of the machine instruction and a value of the identified register, determining by the processor one or more actions to facilitate successful re-execution of the transaction; and re-executing the transaction. 7. The method of claim 6 , wherein the performing one or more actions comprises setting state of the processor. 8. The method of claim 1 , wherein the instruction stream is a transaction, and wherein the method further comprises: initiating the transaction via a transaction begin instruction; and detecting an abort of the transaction. 9. The method of claim 8 , further comprising re-executing the transaction, subsequent to execution of the machine instruction. 10. The method of claim 1 , wherein the machine instruction further comprises another field, the another field identifying a register usable by a program to indicate a count of a number of times the instruction stream has aborted, and wherein the initiating execution of the machine instruction includes providing the number of times to the processor, the processor to take action based on the number of times the instruction stream has aborted, wherein different actions are taken based on the number of times the instruction stream has aborted to enable successful re-execution of the aborted instruction stream. 11. The method of claim 1 , wherein the action comprises at least one of: performing random delays within the processor; delaying processing within the processor based on a number of times the instruction stream has aborted as indicated by the machine instruction; temporarily suspending out-of-order execution within the processor; or disabling branching. 12. The method of claim 1 , wherein the action to be taken is to restrict processing of the processor or another processor during the retry, the action to be performed being selected based on an abort count associated with the instruction stream, wherein there are a plurality of abort counts configured that have selectable actions associated therewith at different levels of restrictiveness, and wherein the abort count associated with the instruction stream is an abort count of the plurality of abort counts. 13. The method of claim 1 , wherein the action to be performed is selected based on an abort count associated with the instruction stream, wherein a range of abort counts has one or more selectable actions associated therewith, and wherein the action selected to be performed comprises one or more actions of the one or more selectable actions associated with the range of abort counts comprising the abort count.

Assignees

Inventors

Classifications

  • Speculative instruction execution · CPC title

  • Transaction processing · CPC title

  • G06F9/3861Primary

    Recovery, e.g. branch miss-prediction, exception handling (error detection or correction G06F11/00) · CPC title

  • G06F9/3004Primary

    to perform operations on memory · CPC title

  • Synchronisation or serialisation instructions · 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 US9336007B2 cover?
An operation is provided to signal a processor that action is to be taken to facilitate execution of a transaction that has aborted one or more times. The operation is specified within an instruction or is itself an instruction. The instruction is executed based on detecting an abort of the transactions, and includes a field indicating how many times the transaction has aborted. The processor u…
Who is the assignee on this patent?
IBM
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 May 10 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).