Method and apparatus for nearest potential store tagging

US10467010B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10467010-B2
Application numberUS-201414209736-A
CountryUS
Kind codeB2
Filing dateMar 13, 2014
Priority dateMar 15, 2013
Publication dateNov 5, 2019
Grant dateNov 5, 2019

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 method for performing memory disambiguation in an out-of-order microprocessor pipeline is disclosed. The method comprises storing a tag with a load operation, wherein the tag is an identification number representing a store instruction nearest to the load operation, wherein the store instruction is older with respect to the load operation and wherein the store has potential to result in a RAW violation in conjunction with the load operation. The method also comprises issuing the load operation from an instruction scheduling module. Further, the method comprises acquiring data for the load operation speculatively after the load operation has arrived at a load store queue module. Finally, the method comprises determining if an identification number associated with a last contiguous issued store with respect to the load operation is equal to or greater than the tag and gating a validation process for the load operation in response to the determination.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for performing memory disambiguation in an out-of-order microprocessor pipeline, said method comprising: storing a tag with a load operation, wherein said tag is an identification number representing a store instruction nearest to said load operation, wherein said store instruction is older with respect to said load operation and wherein said store has potential to result in a read-after-write (RAW) violation in conjunction with said load operation if said store instruction targets a same memory address as said load operation; issuing said load operation from an instruction scheduling module; acquiring data for said load operation speculatively after said load operation has arrived at a load store queue module; determining if an identification number associated with a last contiguous issued store with respect to said load operation is equal to or greater than said tag, wherein said identification number of said last contiguous issued store indicates a position in an instruction stream to which all store instructions have been resolved and is associated with a global signal tracked by a reorder buffer (ROB), wherein the last contiguous issued store was issued for execution prior to determining if the identification number associated with the last contiguous issued store is equal to or greater than said tag; in response to a determination that said identification number associated with said last contiguous issued store is equal to or greater than said tag, validating said data acquired by said load operation by performing an address check against stores in said load store queue module to determine if any of said stores has potential to result in a RAW hazard, wherein said stores are older than said load operation; and broadcasting, in the out-of-order microprocessor pipeline, said identification number associated with said last contiguous issued store during every cycle of said out-of-order microprocessor pipeline. 2. The method of claim 1 , further comprising: committing said load operation in response to a determination that none of said stores has potential to result in the RAW hazard. 3. The method of claim 1 , wherein said determining is performed in response to said instruction scheduling module broadcasting said identification number associated with said last contiguous issued store. 4. The method of claim 1 , wherein said identification number associated with said tag is assigned by said reorder buffer (ROB). 5. The method of claim 1 , wherein said storing is performed using an inheritance process, wherein said identification number associated with said tag is inherited from an instruction prior to said load operation. 6. The method of claim 1 , wherein an address of the last contiguous issued store was disambiguated or resolved prior to determining if the identification number associated with the last contiguous issued store is less than said tag. 7. A processor unit configured to perform a method for performing memory disambiguation in an out-of-order microprocessor pipeline, said method comprising: storing a tag with a load operation, wherein said tag is an identification number representing a store instruction nearest to said load operation, wherein said store instruction is older with respect to said load operation and wherein said store has potential to result in a read-after-write (RAW) violation in conjunction with said load operation if said store instruction targets a same memory address as said load operation; issuing said load operation from an instruction scheduling module; acquiring data for said load operation speculatively after said load operation has arrived at a load store queue module; determining if an identification number associated with a last contiguous issued store with respect to said load operation is equal to or greater than said tag, wherein said identification number of said last contiguous issued store indicates a position in an instruction stream to which all store instructions have been resolved and is associated with a global signal tracked by a reorder buffer (ROB), wherein the last contiguous issued store was issued for execution prior to determining if the identification number associated with the last contiguous issued store is equal to or greater than said tag; in response to a determination that said identification number associated with said last contiguous issued store is equal to or greater than said tag, validating said data acquired by said load operation by performing an address check against stores in said load store queue module to determine if any of said stores has potential to result in a RAW hazard, wherein said stores are older than said load operation; and broadcasting, in the processor unit, said identification number associated with said last contiguous issued store during every cycle of said out-of-order microprocessor pipeline. 8. The processor unit as described in claim 7 , wherein said method further comprises: committing said load operation in response to a determination that none of said stores has potential to result in the RAW hazard. 9. The processor unit as described in claim 7 , wherein said determining is performed in response to said instruction scheduling module broadcasting said identification number associated with said last contiguous issued store. 10. The processor unit as described in claim 7 , wherein said identification number associated with said tag is assigned by the reorder buffer (ROB). 11. The processor unit as described in claim 7 , wherein said storing is performed using an inheritance process, wherein said identification number associated with said tag is inherited from an instruction prior to said load operation. 12. An apparatus configured to perform a method for performing memory disambiguation in an out-of-order microprocessor pipeline, said apparatus comprising: a memory; a processor communicatively coupled to said memory, wherein said processor is configured to process instructions out of order, and further wherein said processor is configured to: store a tag with a load operation, wherein said tag is an identification number representing a store instruction nearest to said load operation in program order, wherein said store instruction is older with respect to said load operation and wherein said store has potential to result in a read-after-write (RAW) violation in conjunction with said load operation if said store instruction targets a same memory address as said load operation; issue said load operation from an instruction scheduling module; acquire data for said load operation speculatively after said load operation has arrived at a load store queue module; determine if an identification number associated with a last contiguous issued store with respect to said load operation is equal to or greater than said tag, wherein said identification number of said last contiguous issued store indicates a position in an instruction stream to which all store instructions have been resolved and is associated with a global signal tracked by a reorder buffer (ROB), wherein the last contiguous issued store was executed prior to determining if the identification number associated with the last contiguous issued store is equal to or greater than said tag; and gate a validation process for said load operation in response to a determination of whether said identification number associated with said last contiguous issued store is equal to or greater than said tag, wherein the validation process comprises validating said data acquired by said load operation by performing an address check against stores in said load store queue module to determine if any

Assignees

Inventors

Classifications

  • G06F9/3834Primary

    Maintaining memory consistency · CPC title

  • LOAD or STORE instructions; Clear instruction · CPC title

  • Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title

  • Speculative instruction execution · CPC title

  • Physics · mapped topic

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 US10467010B2 cover?
A method for performing memory disambiguation in an out-of-order microprocessor pipeline is disclosed. The method comprises storing a tag with a load operation, wherein the tag is an identification number representing a store instruction nearest to the load operation, wherein the store instruction is older with respect to the load operation and wherein the store has potential to result in a RAW…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/3834. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 05 2019 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).