Speculative finish of instruction execution in a processor core

US9384002B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9384002-B2
Application numberUS-201213679639-A
CountryUS
Kind codeB2
Filing dateNov 16, 2012
Priority dateNov 16, 2012
Publication dateJul 5, 2016
Grant dateJul 5, 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 processor core, comprising: a data structure including multiple entries for tracking high latency operations associated with instructions executed by the processor core; an execution pipeline that executes instructions, wherein the execution pipeline, prior to completion of a high latency operation tracked by an entry of the data structure, speculatively finishes execution of an instruction dependent on the high latency operation by reporting an identifier of the entry and freeing a resource in the execution pipeline utilized by the instruction; and completion logic that, responsive to the identifier of the entry, records a dependence of the instruction on the high latency operation and commits an execution result of the instruction to an architected state of the processor core only after successful completion of the high latency operation, wherein the completion logic, in response to unsuccessful completion of the high latency operation, flushes the instruction without committing the execution result to the architected state and causes the processor core to reissue the instruction with an indication that speculative finishing of the instruction is inhibited. 2. The processor core 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 completion logic records the dependence of the instruction on the high latency operation by 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 processor core of claim 2 , wherein the completion logic, in response to successful completion of the high latency operation, removes 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 processor core of claim 1 , wherein: the processor core includes an upper level cache; the execution pipeline is a load-store execution pipeline 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 processor core of claim 4 , wherein: the read memory access operation requests a target memory block; and the load-store pipeline speculatively finishes the load-type instruction in response to receipt by the processor core of a critical data word of the target memory block. 6. The processor core of claim 1 , wherein the execution pipeline, after speculatively finishing the instruction and prior to commitment of the execution result, utilizes the execution resource to execute another instruction. 7. A data processing system, comprising: the processor core of claim 1 ; a cache memory coupled to the processor core; a system fabric coupled to the cache memory; and a memory interface coupled to the system fabric. 8. The data processing system of claim 7 , wherein the processor core, cache memory, system fabric and memory interface are integrated within a system-on-a-chip.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Concurrent instruction execution, e.g. pipeline or look ahead · CPC title

  • G06F9/3842Primary

    Speculative instruction execution · CPC title

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

  • Arrangements for executing machine instructions, e.g. instruction decode (for executing microinstructions G06F9/22) · 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 US9384002B2 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 05 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).