Processor performance improvement for instruction sequences that include barrier instructions

US8935513B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8935513-B2
Application numberUS-201213369029-A
CountryUS
Kind codeB2
Filing dateFeb 8, 2012
Priority dateFeb 8, 2012
Publication dateJan 13, 2015
Grant dateJan 13, 2015

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 technique for processing an instruction sequence that includes a barrier instruction, a load instruction preceding the barrier instruction, and a subsequent memory access instruction following the barrier instruction includes determining that the load instruction is resolved based upon receipt of an earliest of a good combined response for a read operation corresponding to the load instruction and data for the load instruction. The technique also includes if execution of the subsequent memory access instruction is not initiated prior to completion of the barrier instruction, initiating in response to determining the barrier instruction completed, execution of the subsequent memory access instruction. The technique further includes if execution of the subsequent memory access instruction is initiated prior to completion of the barrier instruction, discontinuing in response to determining the barrier instruction completed, tracking of the subsequent memory access instruction with respect to invalidation.

First claim

Opening claim text (preview).

What is claimed is: 1. A data processing system configured to process an instruction sequence that includes a barrier instruction, a load instruction preceding the barrier instruction, and a subsequent memory access instruction following the barrier instruction, the data processing system comprising: a cache memory; and a processor core coupled to the cache memory, wherein the processor core is configured to: determine that the load instruction is resolved based upon receipt by the processor core of an earliest of a good combined response for a read operation corresponding to the load instruction and data for the load instruction; if execution of the subsequent memory access instruction is not initiated prior to completion of the barrier instruction, initiating by the processor core, in response to determining the barrier instruction completed, execution of the subsequent memory access instruction; and if execution of the subsequent memory access instruction is initiated prior to completion of the barrier instruction, discontinuing by the processor core, in response to determining the barrier instruction completed, tracking of the subsequent memory access instruction with respect to invalidation. 2. The data processing system of claim 1 , wherein the processor core is further configured to: insert an entry for the load instruction into a load reorder queue; and mark the entry in the load reorder queue as resolved in response to determining that the load instruction is resolved. 3. The data processing system of claim 1 , wherein the subsequent memory access instruction is a subsequent load instruction. 4. The data processing system of claim 1 , wherein the subsequent memory access instruction is a subsequent store instruction. 5. The data processing system of claim 1 , further comprising the processor core receiving the good combined response for the read operation corresponding to the load instruction prior to receiving the data for the load instruction. 6. The data processing system of claim 1 , further comprising the processor core receiving the good combined response for the read operation corresponding to the load instruction subsequent to receiving the data for the load instruction. 7. The data processing system of claim 1 , wherein the barrier instruction completes when all load and store instructions prior to the barrier instruction are resolved. 8. A data processing system configured to process an instruction sequence that includes a barrier instruction, a load instruction preceding the barrier instruction, and a subsequent memory access instruction following the barrier instruction, the data processing system comprising: a level two cache memory; and a processor core coupled to the cache memory, wherein the processor core is configured to: determine that the load instruction is resolved based upon receipt by the processor core of an earliest of a good combined response for a read operation corresponding to the load instruction and data for the load instruction; if execution of the subsequent memory access instruction is not initiated prior to completion of the barrier instruction, initiating by the processor core, in response to determining the barrier instruction completed, execution of the subsequent memory access instruction; and if execution of the subsequent memory access instruction is initiated prior to completion of the barrier instruction, discontinuing by the processor core, in response to determining the barrier instruction completed, tracking of the subsequent memory access instruction with respect to invalidation. 9. The data processing system of claim 8 , wherein the processor core includes a load-store unit that includes a load reorder queue (LRQ) and LRQ resolving logic, and wherein the LRQ resolving logic is configured to: insert an entry for the load instruction into the LRQ; and mark the entry in the LRQ as resolved in response to determining that the load instruction is resolved. 10. The data processing system of claim 8 , wherein the subsequent memory access instruction is a subsequent load instruction. 11. The data processing system of claim 8 , wherein the subsequent memory access instruction is a subsequent store instruction. 12. The data processing system of claim 8 , further comprising the processor core receiving the good combined response for the read operation corresponding to the load instruction prior to receiving the data for the load instruction. 13. The data processing system of claim 8 , further comprising the processor core receiving the good combined response for the read operation corresponding to the load instruction subsequent to receiving the data for the load instruction.

Assignees

Inventors

Classifications

  • Instruction analysis, e.g. decoding, instruction word fields · CPC title

  • G06F9/52Primary

    Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title

  • using a bus scheme, e.g. with bus monitoring or watching means · CPC title

  • Maintaining memory consistency · 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 US8935513B2 cover?
A technique for processing an instruction sequence that includes a barrier instruction, a load instruction preceding the barrier instruction, and a subsequent memory access instruction following the barrier instruction includes determining that the load instruction is resolved based upon receipt of an earliest of a good combined response for a read operation corresponding to the load instructio…
Who is the assignee on this patent?
Guthrie Guy L, Starke William J, Williams Derek E, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 13 2015 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).