Speculative finish of instruction execution in a processor core

US9389867B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9389867-B2
Application numberUS-201514840997-A
CountryUS
Kind codeB2
Filing dateAug 31, 2015
Priority dateNov 16, 2012
Publication dateJul 12, 2016
Grant dateJul 12, 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.

In a processor core, high latency operations are tracked in entries of a data structure associated with an execution unit of the processor core. In the execution unit, execution of an instruction dependent on a high latency operation tracked by an entry of the data structure is speculatively finished prior to completion of the high latency operation. Speculatively finishing the instruction includes reporting an identifier of the entry to completion logic of the processor core and removing the instruction from an execution pipeline of the execution unit. The completion logic records dependence of the instruction on the high latency operation and commits execution results of the instruction to an architected state of the processor only after successful completion of the high latency operation.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of data processing, comprising: tracking high latency operations of a processor core in entries of a data structure associated with an execution unit of a processor core; in the execution unit, prior to completion of a high latency operation tracked by an entry of the data structure, speculatively finishing execution of an instruction dependent on the high latency operation, wherein the speculatively finishing includes reporting an identifier of the entry to completion logic of the processor core and freeing a resource in an execution pipeline of the execution unit utilized by the instruction; the completion logic recording a dependence of the instruction on the high latency operation and committing an execution result of the instruction to an architected state of the processor core only after successful completion of the high latency operation; and in response to unsuccessful completion of the high latency operation: the completion logic flushing the instruction without committing the execution result to the architected state; and the processor core reissuing the instruction with an indication that speculative finishing of the instruction is inhibited. 2. The method of claim 1 , wherein: the processor core includes a completion table including a plurality of entries for tracking instructions, wherein each of the plurality of entries includes a bit vector including multiple bits each corresponding to a respective one of the entries in the data structure that tracks high latency operations; the recording includes setting a bit in the bit vector corresponding to the entry of the data structure that tracks the high latency operation on which the instruction is dependent. 3. The method of claim 2 , and further comprising: in response to successful completion of the high latency operation, removing a condition of instruction completion from multiple instructions tracked by the completion table by resetting, in all of the multiple bit vectors, the bit corresponding to the entry of the data structure that tracks the high latency operation. 4. The method of claim 1 , wherein: the processor core includes an upper level cache; the execution unit is a load-store execution unit (LSU) that executes memory access instructions; the data structure is a load miss queue (LMQ); the instruction is a load-type instruction; and the high latency operation is a read memory access operation that misses in the upper level cache. 5. The method of claim 4 , wherein: the read memory access operation requests a target memory block; and the speculatively finishing includes speculatively finishing the load-type instruction in response to receipt by the LSU of a critical data word of the target memory block. 6. The method of claim 1 , and further comprising: after the speculatively finishing and prior to committing the execution result, utilizing the execution resource to execute another instruction.

Assignees

Inventors

Classifications

  • G06F9/3842Primary

    Speculative instruction execution · CPC title

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

  • Operand accessing · CPC title

  • Physics · mapped topic

  • Dependency mechanisms, e.g. register scoreboarding · 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 US9389867B2 cover?
In a processor core, high latency operations are tracked in entries of a data structure associated with an execution unit of the processor core. In the execution unit, execution of an instruction dependent on a high latency operation tracked by an entry of the data structure is speculatively finished prior to completion of the high latency operation. Speculatively finishing the instruction incl…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/3842. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 12 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).