METHOD AND APPARATUS FOR NEAREST POTENTIAL STORE TAGGING
First Claim
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 RAW violation in conjunction with 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; and
gating a validation process for said load operation in response to said determining.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
53 Citations
20 Claims
-
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 RAW violation in conjunction with 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; and gating a validation process for said load operation in response to said determining. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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 RAW violation in conjunction with 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; and gating a validation process for said load operation in response to said determining. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. 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, wherein said store instruction is older with respect to said load operation and wherein said store has potential to result in a RAW violation in conjunction with 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; 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. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification