Instruction and logic for reducing data cache evictions in an out-of-order processor

US9870209B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9870209-B2
Application numberUS-201414228697-A
CountryUS
Kind codeB2
Filing dateMar 28, 2014
Priority dateMar 28, 2014
Publication dateJan 16, 2018
Grant dateJan 16, 2018

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.

A processor includes a resource scheduler, a dispatcher, and a memory execution unit. The memory execution unit includes logic to identify an executed, unretired store operation in a memory ordered buffer, determine that the store operation is speculative, determine whether an associated cache line in a data cache is non-speculative, and determine whether to block a write of the store operation results to the data cache based upon the determination that the store operation is speculative and a determination that the associated cache line is non-speculative.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor, comprising: a resource scheduler including circuitry to assign alias resources to instructions within an atomic region of instructions, the atomic region including a plurality of reordered instructions; and a memory execution unit including circuitry to: identify an executed, unretired store operation from the atomic region in a memory ordered buffer; determine that the store operation is speculative, wherein a speculative store operation is a store operation having a potential to cause a data-dependency violation; determine that a particular cache line in a data cache associated with the store operation is non-speculative based on the particular cache line comprising result data of one or more non-speculative operations; and determine that a write of a result of the store operation to the data cache is to be blocked, at least temporarily, based upon the determination that the store operation is speculative and a determination that the particular cache line is non-speculative. 2. The processor of claim 1 , wherein the memory execution unit further includes circuitry to: determine that an exception to the determination that the write of the store operation result to the data cache is to be blocked is met; evict the particular cache line to a write-back buffer; and write the store operation result to the particular cache line. 3. The processor of claim 1 , wherein the memory execution unit further includes circuitry to: determine whether an exception to the determination that the write of the store operation result to the data cache is to be blocked is met, including circuitry to: determine whether the block of the write of the store operation result to the data cache would cause a block of a load operation; and unblock the write of the store operation result to the data cache based upon a determination that the block of the write of the store operation result to the data cache would cause a block of a load operation. 4. The processor of claim 1 , wherein the memory execution unit further includes circuitry to: determine whether an exception to the determination that the write of the store operation result to the data cache is to be blocked is met, including circuitry to: determine whether the block of the write of the store operation result to the data cache would cause a block of a commit operation at retirement; and unblock the write of the store operation result to the data cache based upon a determination that the block of the write of the store operation result to the data cache would cause a block of a commit operation at retirement. 5. The processor of claim 1 , wherein the memory execution unit further includes circuitry to predict whether a write of the store operation result will cause eviction of the particular cache line to the write-back-buffer. 6. The processor of claim 1 , wherein the memory execution unit further includes circuitry to: determine whether a previous store operation caused eviction of the particular cache line to the write-back-buffer; and predict whether the write of the store operation will cause eviction of the particular cache line to the write-back buffer, the prediction based upon the determination of whether a previous store operation caused eviction of the particular cache line to the write-back-buffer. 7. The processor of claim 1 , wherein the memory execution unit further includes circuitry to: predict whether a write of the store operation will cause eviction of the particular cache line to the write-back-buffer; and mark a younger store operation in the memory ordered buffer as associated with a speculative cache line. 8. A method comprising, within a processor: dispatching an atomic region of instructions for execution; identifying an executed, unretired store operation within the atomic region in a memory ordered buffer; determining that the store operation is speculative, wherein a speculative store operation is a store operation having a potential to cause a data-dependency violation; determining that a particular cache line in a data cache associated with the store operation is non-speculative based on the particular cache line comprising result data of one or more non-speculative operations; and determining that a write of a result of the store operation to the data cache is to be blocked, at least temporarily, based upon the determination that the store operation is speculative and a determination that the particular cache line is non-speculative. 9. The method of claim 8 , further comprising: determining whether an exception to the determination that the write of the store operation result to the data cache is to be blocked is met, including: determining whether the block of the write of the store operation result to the data cache would cause a block of a load operation. 10. The method of claim 8 , further comprising: determining whether an exception to the determination that the write of the store operation result to the data cache is to be blocked is met, including: determining whether the block of the write of the store operation result to the data cache would cause a block of a commit operation at retirement. 11. The method of claim 8 , further comprising predicting whether a write of the store operation result will cause eviction of the particular cache line to the write-back-buffer. 12. The method of claim 8 , further comprising: determining whether a previous store operation caused eviction of the particular cache line to the write-back-buffer; and predicting whether the write of the store operation result will cause eviction of the particular cache line to the write-back buffer, the prediction based upon the determination whether the previous store operation caused eviction of the particular cache line to the write-back-buffer. 13. The method of claim 8 , further comprising: predicting whether a write of the store operation result will cause eviction of the particular cache line to the write-back-buffer; and marking a younger store operation in the memory ordered buffer as associated with a speculative cache line. 14. A system comprising a processor, the processor including: a resource scheduler including circuitry to assign alias resources to instructions within an atomic region of instructions, the atomic region including a plurality of reordered instructions; and a memory execution unit including circuitry to: identify an executed, unretired store operation in the atomic region in a memory ordered buffer; determine that the store operation is speculative, wherein a speculative store operation is a store operation having a potential to cause a data-dependency violation; determine that a particular cache line in a data cache associated with the store operation is non-speculative based on the particular cache line comprising result data of one or more non-speculative operations; and determine that a write of a result of the store operation to the data cache is to be blocked, at least temporarily, based upon the determination that the store operation is speculative and a determination that the particular cache line is non-speculative. 15. The system of claim 14 , wherein the memory execution unit further includes circuitry to: determine that an exception to the determination that the write of the store operation result to the data cache is to be blocked is met; evict the particular cache line to a write-back buffer; and write the store operation result to the particular cache line. 16. The system of claim 14 , wherein the memory executio

Assignees

Inventors

Classifications

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 US9870209B2 cover?
A processor includes a resource scheduler, a dispatcher, and a memory execution unit. The memory execution unit includes logic to identify an executed, unretired store operation in a memory ordered buffer, determine that the store operation is speculative, determine whether an associated cache line in a data cache is non-speculative, and determine whether to block a write of the store operation…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F8/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 16 2018 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).