Hazard detection of out-of-order execution of load and store instructions in processors without using real addresses

US10417002B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10417002-B2
Application numberUS-201715726538-A
CountryUS
Kind codeB2
Filing dateOct 6, 2017
Priority dateOct 6, 2017
Publication dateSep 17, 2019
Grant dateSep 17, 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.

Technical solutions are described for hazard detection of out-of-order execution of load and store instructions without using real addresses in a processing unit. An example includes an out-of-order load-store unit (LSU) for transferring data between memory and registers. The LSU detects a store-hit-load (SHL) in an out-of-order execution of instructions based only on effective addresses by: determining an effective address associated with a store instruction; determining whether a load instruction entry using said effective address is present in a load reorder queue; and indicating that a SHL has been detected based at least in part on determining that load instruction entry using said effective address is present in the load reorder queue. The LSU, in response to detecting the SHL, flushes instructions starting from a load instruction corresponding to the load instruction entry.

First claim

Opening claim text (preview).

What is claimed is: 1. A processing unit for executing one or more instructions, the processing unit comprising: a load-store unit for transferring data between memory and registers, the load-store unit configured to: detect a store-hit-load (SHL) in an out-of-order execution of instructions based only on effective addresses by: determining an effective address associated with a store instruction; determining whether a load instruction entry using said effective address is present in a load reorder queue; and indicating that a SHL has been detected based at least in part on determining that load instruction entry using said effective address is present in the load reorder queue; and in response to detecting the SHL, flush instructions starting from a load instruction corresponding to the load instruction entry; detect a load-hit-load (LHL) in the out-of-order execution of instructions based only on the effective addresses, wherein the load instruction is a first load instruction, the load instruction entry is a first load instruction entry, and detecting the LHL comprises: determining the effective address associated with the first load instruction; determining whether a second load instruction entry using said effective address is present in the load reorder queue; and indicating that a LHL has been detected based at least in part on determining that second load instruction entry using said effective address is present in the load reorder queue; and in response to detecting the LHL, flush instructions starting from the second load instruction. 2. The processing unit of claim 1 , wherein the load-store unit is further configured to maintain the load instruction entry for the load instruction in the load reorder queue until completion of the load instruction. 3. The processing unit of claim 1 , wherein determining whether the load instruction entry using said effective address is present in the load reorder queue further comprises: determining whether an effective real table index for the load instruction entry and the store instruction match each other. 4. The processing unit of claim 1 , wherein determining whether the second load instruction entry using said effective address is present in the load reorder queue further comprises: determining whether an effective real table index for the first load instruction entry and the second load instruction match each other. 5. The processing unit of claim 1 , wherein flushing instructions starting from the load instruction corresponding to the load instruction entry comprises: sending a flush message to an instruction fetch unit that comprises an identifier of the load instruction, wherein the flushing comprises relinquishing launch of the instructions fetched by the instruction fetch unit starting from the load instruction. 6. The processing unit of claim 1 , wherein the load reorder queue comprises a number of partitions, one partition for each load instruction issued concurrently by the load-store unit. 7. A computer-implemented method for executing one or more out-of-order instructions by a processing unit, the method comprising: detecting, by a load-store unit, a store-hit-load (SHL) in an out-of-order execution of instructions based only on effective addresses by: determining an effective address associated with a store instruction; and determining whether a load instruction entry using said effective address is present in a load reorder queue; and indicating that a SHL has been detected based at least in part on determining that load instruction entry using said effective address is present in the load reorder queue; and in response to detecting the SHL, sending, by the load-store unit, a flush message for instructions starting from a load instruction corresponding to the load instruction entry; detecting, by load-store unit, a load-hit-load (LHL) in the out-of-order execution of instructions based only on the effective addresses by: determining the effective address associated with the first load instruction; and determining whether a second load instruction entry using said effective address is present in the load reorder queue; and indicating that a LHL has been detected based at least in part on determining that second load instruction entry using said effective address is present in the load reorder queue; and in response to detecting the LHL, flushing instructions starting from the second load instruction. 8. The computer-implemented method of claim 7 , further comprising maintaining, by the load-store unit, the load instruction entry for the load instruction in the load reorder queue until completion of the load instruction. 9. The computer-implemented method of claim 7 , wherein determining whether the load instruction entry using said effective address is present in the load reorder queue further comprises: determining whether effective real table index for the load instruction entry and the store instruction match each other. 10. The computer-implemented method of claim 7 , wherein determining whether the first load instruction entry using said effective address is present in the load reorder queue further comprises: determining whether effective real table index for the first load instruction entry and the second load instruction match each other. 11. The computer-implemented method of claim 7 , wherein flushing instructions starting from the load instruction corresponding to the load instruction entry comprises: sending a flush message to an instruction fetch unit that comprises an identifier of the load instruction, wherein the flushing comprises relinquishing launch of the instructions fetched by the instruction fetch unit starting from the load instruction. 12. The computer-implemented method of claim 7 , wherein the load reorder queue comprises a number of partitions, one partition for each load instruction issued concurrently by the load-store unit. 13. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising: detecting, by a load-store unit, a store-hit-load (SHL) in an out-of-order execution of instructions based only on effective addresses by: determining an effective address associated with a store instruction; and determining whether a load instruction entry using said effective address is present in a load reorder queue; and indicating that a SHL has been detected based at least in part on determining that load instruction entry using said effective address is present in the load reorder queue; and in response to detecting the SHL, sending, by the load-store unit, a flush message for instructions starting from a load instruction corresponding to the load instruction entry; detecting, by load-store unit, a load-hit-load (LHL) in the out-of-order execution of instructions based only on the effective addresses by: determining the effective address associated with the first load instruction; and determining whether a second load instruction entry using said effective address is present in the load reorder queue; and indicating that a LHL has been detected based at least in part on determining that second load instruction entry using said effective address is present in the load reorder queue; and in response to detecting the LHL, flushing instructions starting from the second load instruction. 14. The computer program product of claim 13 , wherein determining whether the load instruction entry using said effective address is present in the load reorder

Assignees

Inventors

Classifications

  • G06F9/3834Primary

    Maintaining memory consistency · CPC title

  • Operand accessing · CPC title

  • LOAD or STORE instructions; Clear instruction · CPC title

  • Addressing or accessing the instruction operand or the result {; Formation of operand address; Addressing modes (address translation G06F12/00)} · CPC title

  • Indexed addressing · 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 US10417002B2 cover?
Technical solutions are described for hazard detection of out-of-order execution of load and store instructions without using real addresses in a processing unit. An example includes an out-of-order load-store unit (LSU) for transferring data between memory and registers. The LSU detects a store-hit-load (SHL) in an out-of-order execution of instructions based only on effective addresses by: de…
Who is the assignee on this patent?
IBM
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 Sep 17 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).