Title :
Branch history guided instruction prefetching
Author :
Srinivasan, Viji ; Davidson, Edward S. ; Tyson, Gary S. ; Charney, Mark J. ; Puzak, Thomas R.
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Michigan Univ., Ann Arbor, MI, USA
Abstract :
Instruction cache misses stall the fetch stage of the processor pipeline and hence affect instruction supply to the processor. Instruction prefetching has been proposed as a mechanism to reduce instruction cache (I-cache) misses. However, a prefetch is effective only if accurate and initiated sufficiently early to cover the miss penalty. This paper presents a new hardware-based instruction prefetching mechanism, Branch History Guided Prefetching (BHGP), to improve the timeliness of instruction prefetches. BHGP correlates the execution of a branch instruction with I-cache misses and uses branch instructions to trigger prefetches of instructions that occur (N-1) branches later in the program execution, for a given N>1. Evaluations on commercial applications, windows-NT applications, and some CPU2000 applications show an average reduction of 66% in miss rate over all applications. BHGP improved the IPC bp 12 to 14% for the CPU2000 applications studied; on average 80% of the BHGP prefetches arrived in cache before their next use, even on a 4-wide issue machine with a 15 cycle L2 access penalty
Keywords :
cache storage; memory architecture; Branch History Guided Prefetching; instruction prefetches; instruction prefetching; instruction prefetching mechanism; Accuracy; Current measurement; Delay; History; Loss measurement; Pipelines; Prefetching; Timing;
Conference_Titel :
High-Performance Computer Architecture, 2001. HPCA. The Seventh International Symposium on
Conference_Location :
Monterrey
Print_ISBN :
0-7695-1019-1
DOI :
10.1109/HPCA.2001.903271