Predicting prefetch data sources for runahead execution triggering read
operations eliminates the latency penalties of missing read operations
that typically are not addressed by runahead execution mechanisms. Read
operations that most likely trigger runahead execution are identified.
The code unit that includes those triggering read operations is modified
so that the code unit branches to a prefetch predictor. The prefetch
predictor observes sequence patterns of data sources of triggering read
operations and develops prefetch predictions based on the observed data
source sequence patterns. After a prefetch prediction gains reliability,
the prefetch predictor supplies a predicted data source to a prefetcher
coincident with triggering of runahead execution.