Indirect branch prediction is becoming increasingly important in modern high-performance processors. However, previous indirect branch predictors either require a significant amount of hardware storage and complexity, or heavily rely on the expensive manual profiling. In this paper, we propose the Compiler-Guided Value Pattern (CVP) prediction, an energy-efficient and accurate indirect branch prediction via compiler-microarchitecture cooperation. The key of CVP prediction is to use the compiler-guided value pattern as the correlated information to hint the dynamic predictor. The value pattern reflects the pattern regularity of the value correlation, and thus significantly improves the prediction accuracy even in the case of deep pipeline st...
Value prediction breaks data dependencies in a pro-gram thereby creating instruction level paralleli...
Indirect branch prediction is likely to become increasingly important in the future because indirect...
Value prediction breaks data dependencies in a program thereby creating instruction level parallelis...
Indirect branch prediction is becoming increasingly impor-tant in modern high-performance processors...
Indirect branch prediction is important to boost instruction-level parallelism in modern processors....
textPerformance of modern pipelined processor depends on steady flow of useful instructions for proc...
Indirect branches have become increasingly common in modular programs written in modern object-orien...
Nowadays energy-efficiency becomes the first design metric in chip development. To pursue higher ene...
Branch prediction is critical in exploring instruction level parallelism for modern processors. Prev...
Modern superscalar processors rely on branch predictors to sustain a high instruction fetch throughp...
Pipeline stalls due to branches represent one of the most significant impediments to realizing the p...
Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipe...
Although high branch prediction accuracy is necessary for high performance, it typically comes at th...
Predicting indirect-branch targets has become a performance bottleneck for many applications. Previo...
Main goal of the paper is introducing a dynamic branch prediction scheme suitable for energy-aware V...
Value prediction breaks data dependencies in a pro-gram thereby creating instruction level paralleli...
Indirect branch prediction is likely to become increasingly important in the future because indirect...
Value prediction breaks data dependencies in a program thereby creating instruction level parallelis...
Indirect branch prediction is becoming increasingly impor-tant in modern high-performance processors...
Indirect branch prediction is important to boost instruction-level parallelism in modern processors....
textPerformance of modern pipelined processor depends on steady flow of useful instructions for proc...
Indirect branches have become increasingly common in modular programs written in modern object-orien...
Nowadays energy-efficiency becomes the first design metric in chip development. To pursue higher ene...
Branch prediction is critical in exploring instruction level parallelism for modern processors. Prev...
Modern superscalar processors rely on branch predictors to sustain a high instruction fetch throughp...
Pipeline stalls due to branches represent one of the most significant impediments to realizing the p...
Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipe...
Although high branch prediction accuracy is necessary for high performance, it typically comes at th...
Predicting indirect-branch targets has become a performance bottleneck for many applications. Previo...
Main goal of the paper is introducing a dynamic branch prediction scheme suitable for energy-aware V...
Value prediction breaks data dependencies in a pro-gram thereby creating instruction level paralleli...
Indirect branch prediction is likely to become increasingly important in the future because indirect...
Value prediction breaks data dependencies in a program thereby creating instruction level parallelis...