Slide 8 of 30
Notes:
Memory references are typically tied to data structure accesses from a high-level language. The first two prefetching techniques that we will look at, work for memory references caused by two very important data structure accesses.
Stride prefetchers exploit the fact that many memory references are separated by a constant stride as it is common in array references.
Recursive prefetchers have been designed to deal with the memory reference patterns caused by linked data structures such as lists and trees.
In both of these cases, a prefetch can be issued by a simple hardware controller or it can be issued by a compiler using a special prefetch instructions. The former are called hardware prefetchers and the latter software prefetchers.