Patent ID: 8122222
Filing Date: 2012-02-21
Classification: G06F

Abstract:
1. A method, in a data processing system, for predicting whether to perform speculative retrieval of data for a data request from a main memory of the data processing system, comprising: extracting a first address and a scope predictor from a first data request, wherein the scope predictor identifies whether a local or a global request is predicted to be necessary to obtain data for the first data request; determining if a memory controller receiving the first data request is local to a source of the first data request; and controlling whether to speculatively retrieve the data for the first data request from a main memory based on whether the memory controller is local to the source of the first data request and whether the scope predictor identifies whether a local or a global request is predicted to be necessary, wherein: if the scope predictor identifies a global request being predicted to be necessary to obtain the data for the first data request, and the memory controller is local to the source of the first data request, then a determination is made that speculative retrieval of the data from the main memory should not be performed; if the scope indicator indicates a local request is predicted to be necessary or the memory controller is determined to not be local to the source of the first data request, the method further comprises: extracting a domain indicator from the first data request, wherein the domain indicator identifies whether or not a cache line associated with a memory block corresponding to the first address has a special invalid state; comparing the first address to memory regions associated with second addresses stored in address registers of a plurality of finite state machines (FSMs) of a memory controller, selecting a FSM whose memory region includes the first address; and controlling whether to speculatively retrieve the data for the first data request from a main memory based on whether the domain indicator indicates that the cache line has the special invalid state or not and, if the domain indicator identifies that the cache line does not have the special invalid state, based on information stored in registers associated with the selected FSM, by: