Load-store dependency predictor content management
First Claim
1. A processor comprising:
- a reorder buffer;
one or more reservation stations;
a load-store dependency predictor coupled to the one or more reservation stations, the load-store dependency predictor comprising;
a table with entries, wherein each entry comprises;
a load identifier, a store identifier, a reorder buffer entry number, a strength of prediction indicator, and an armed bit used to indicate that a store operation having an identifier matching a store identifier of the respective entry has been dispatched;
andcircuitry configured to;
set an armed bit for an entry in the table, responsive to detecting dispatch of a store operation having an identifier that matches a store identifier stored in that entry of the table;
in response to detecting that a given load operation has an identifier that matches a load identifier of a given entry that has an armed bit that is set;
predict the given load operation is dependent on a given store operation having an identifier that matches a store identifier of the given entry;
increment a strength of prediction indicator of the given entry responsive to determining data for the given load operation is retrieved from a first location, the first location comprising a store queue; and
decrement the strength of prediction indicator of the given entry responsive to determining the data for the given load operation is retrieved from a second location that is different from the first location, wherein the second location is a cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatuses for managing load-store dependencies in an out-of-order processor. A load store dependency predictor may include a table for storing entries for load-store pairs that have been found to be dependent and execute out of order. Each entry in the table includes a counter to indicate a strength of the dependency prediction. If the counter is above a threshold, a dependency is enforced for the load-store pair. If the counter is below the threshold, the dependency is not enforced for the load-store pair. When a store is dispatched, the table is searched, and any matching entries in the table are armed. If a load is dispatched, matches on an armed entry, and the counter is above the threshold, then the load will wait to issue until the corresponding store issues.
104 Citations
14 Claims
-
1. A processor comprising:
-
a reorder buffer; one or more reservation stations; a load-store dependency predictor coupled to the one or more reservation stations, the load-store dependency predictor comprising; a table with entries, wherein each entry comprises; a load identifier, a store identifier, a reorder buffer entry number, a strength of prediction indicator, and an armed bit used to indicate that a store operation having an identifier matching a store identifier of the respective entry has been dispatched; and circuitry configured to; set an armed bit for an entry in the table, responsive to detecting dispatch of a store operation having an identifier that matches a store identifier stored in that entry of the table; in response to detecting that a given load operation has an identifier that matches a load identifier of a given entry that has an armed bit that is set; predict the given load operation is dependent on a given store operation having an identifier that matches a store identifier of the given entry; increment a strength of prediction indicator of the given entry responsive to determining data for the given load operation is retrieved from a first location, the first location comprising a store queue; and decrement the strength of prediction indicator of the given entry responsive to determining the data for the given load operation is retrieved from a second location that is different from the first location, wherein the second location is a cache. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
maintaining a table with entries, wherein each entry comprises; a load identifier, a store identifier, a reorder buffer entry number, a strength of prediction indicator and an armed bit used to indicate that a store operation having an identifier matching a store identifier of the respective entry has been dispatched; setting an armed bit for an entry in the table, responsive to detecting dispatch of a store operation having an identifier that matches a store identifier stored in that entry of the table; in response to detecting that a given load operation has an identifier that matches a load identifier of a given entry that has an armed bit that is set, predicting the given load operation is dependent on a given store operation having an identifier that matches a store identifier of the given entry; incrementing a strength of prediction indicator of the given entry responsive to determining data for the given load operation is retrieved from a first location, the first location comprising a store queue; and decrementing the strength of prediction indicator of the given entry responsive to determining the data for the given load operation is retrieved from a second location that is different from the first location, wherein the second location is a cache. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification