Slide 28 of 30
Notes:
The Markov prefetcher tries to fill an important gap that is left by stride and recursive prefetchers. Neither one of the two is really a good general solution, because a stride prefetcher is not well suited for linked traversals and a recursive prefetcher is not well suited for a strided memory access pattern. However applications contain a mix of the two. Therefore, to achieve good coverage, a more general approach is really needed.
Unfortunately the Markov prefetcher is not really the right answer, because a strided prefetcher is going to be much more effective at prefetching a strided memory reference pattern. Joseph and Grunwald recognize this and introduce an interesting idea that we will discuss next.