How?
Hardware prefetching
- Nextline prefetching for instructions (in many micros; bring missing block and the next one if not already there)
- OBL “one block look-ahead” for data prefetching (lots of variations) (same idea as Nextline but with more state -- e.g. depends on whether prefetching was successful the previous time)
- Use of special assists: stream buffers, i.e. FIFO queues to fetch consecutive lines (good for instructions not that good for data), stream buffers with hardware stride detection mechanisms, use of a reference prediction table etc.