CPC G06F 9/3806 (2013.01) [G06F 9/30043 (2013.01); G06F 9/3842 (2013.01)] | 19 Claims |
1. An apparatus comprising:
processing circuitry to issue load operations to load data from a data store;
load tracking circuitry to maintain tracking information for one or more load operations issued by the processing circuitry; and
load prediction circuitry to determine a prediction for enabling a load operation to be speculatively issued ahead of an older load operation based on the prediction before it is known whether the prediction is correct; in which:
the load tracking circuitry is configured to:
determine whether the tracking information indicates that there is a risk of target data, corresponding to an address of a speculatively-issued load operation which is speculatively issued based on the prediction determined by the load prediction circuitry, having changed between the target data being loaded for the speculatively-issued load operation and data being loaded for a given older load operation bypassed by the speculatively-issued load operation; and
in response to determining that the tracking information indicates that that there is a risk of the target data having changed between the target data being loaded for the speculatively-issued load operation and data being loaded for the given older load operation, and independent of whether the address of the speculatively-issued load operation corresponds to an address of the given older load operation, request re-issuing of at least the speculatively-issued load operation, even when the prediction for the speculatively-issued load operation is correct.
|