COMPLETING LOAD AND STORE INSTRUCTIONS IN A WEAKLY-ORDERED MEMORY MODEL
First Claim
1. A processor, comprising:
- a load queue; and
a store queue;
wherein the processor is configured to;
associate queue information with a load instruction in an instruction stream being executed by the processor, wherein the queue information indicates a location of the load instruction in the load queue, and wherein the queue information indicates one or more locations in the store queue that are associated with one or more store instructions that are older than the load instruction;
determine, using the queue information, that the load instruction does not conflict with a store instruction in the store queue that is older than the load instruction; and
remove the load instruction from the load queue while the store instruction remains in the store queue.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed relating to completion of load and store instructions in a weakly-ordered memory model. In one embodiment, a processor includes a load queue and a store queue and is configured to associate queue information with a load instruction in an instruction stream. In this embodiment, the queue information indicates a location of the load instruction in the load queue and one or more locations in the store queue that are associated with one or more store instructions that are older than the load instruction. The processor may determine, using the queue information, that the load instruction does not conflict with a store instruction in the store queue that is older than the load instruction. The processor may remove the load instruction from the load queue while the store instruction remains in the store queue. The queue information may include a wrap value for the load queue.
57 Citations
20 Claims
-
1. A processor, comprising:
-
a load queue; and a store queue; wherein the processor is configured to; associate queue information with a load instruction in an instruction stream being executed by the processor, wherein the queue information indicates a location of the load instruction in the load queue, and wherein the queue information indicates one or more locations in the store queue that are associated with one or more store instructions that are older than the load instruction; determine, using the queue information, that the load instruction does not conflict with a store instruction in the store queue that is older than the load instruction; and remove the load instruction from the load queue while the store instruction remains in the store queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
associating queue information with a load instruction in an instruction stream being executed by a computer processor, wherein the queue information indicates a location of the load instruction in a load queue, and wherein the queue information indicates one or more store instructions in a store queue that are older than the load instruction; determining, using the queue information for the load instruction, that the load instruction does not conflict with a set of store instructions in the store queue that are older than the load instruction; and removing the load instruction from the load queue while at least one of the set of store instructions remains in the store queue. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A processor, comprising:
-
a load queue; and a store queue; wherein the processor is configured to; associate queue information with a store instruction in an instruction stream being executed by the processor, wherein the queue information indicates a location of the store instruction in the store queue, and wherein the queue information indicates one or more load instructions in the load queue that are younger than the store instruction; determine, using the queue information, that the store instruction does not conflict with a particular load instruction in the load queue that is younger than the store instruction; retire the particular load instruction from the load queue while the store instruction is still in the store queue. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification