An Effective Programmable Prefetch Engine for On-Chip Caches

Tien-Fu Chen


In this paper, we consider a prefetch engine called Hare, which handles prefetches at run time and is built in supporting on-chip data cache for high-performance processors. The key design is that it is programmable by user code so that techniques of software prefetching can be also employed in exploiting the benefits of prefetching. The engine always drives prefetches ahead of current execution, which is controlled by the program counter. We evaluate the proposed scheme by trace-driven simulation and consider area and cycle time factors for the evaluation of cost-effectiveness. Our performance results show that the prefetch engine can provide significant data access penalty with only least prefetching overhead.


data prefetch, programmable engine, software prefetch, compiler optimization

Talk Overheads (138982 bytes)