Lookahead PC (Chen and Baer)
Initially set equal to PC
Incremented by 1 every cycle
(Branches predicted using BPT)
Lookahead PC will run ahead of PC when PC stalls due to cache miss
Lookahead PC used to index RPT and issue prefetches
Distance between Lookahead PC and PC not allowed to exceed memory latency
Notes:
Here is how the lookahead PC is maintained. It is initially set to be equal to the PC. Each cycle it is incremented by one, except at branch points that are predicted by using a branch prediction table.
When cache misses cause the PC to be stalled, the lookahead PC continues until it has reached its desired distance ahead of the PC. This distance is approximately the memory latency. Because of early prefetching and misspredicted branches, a larger distance is not desirable.
Stride prefetchers such as the one by Chen and Baer are generally accurate and have a good coverage.