Title :
Store-Load-Branch (SLB) predictor: A compiler assisted branch prediction for data dependent branches
Author :
Farooq, Muhammad Umar ; Khubaib, K. ; John, Lizy Kurian
Author_Institution :
Dept. of Electr. & Comput. Eng., Univ. of Texas at Austin, Austin, TX, USA
Abstract :
Data-dependent branches constitute single biggest source of remaining branch mispredictions. Typically, data-dependent branches are associated with program data structures, and follow store-load-branch execution sequence. A set of memory locations is written at an earlier point in a program. Later, these locations are read, and used for evaluating branch condition. Branch outcome depends on data values stored in data structure, which, typically do not have repeatable pattern. Therefore, in addition to history-based dynamic predictor, we need a different kind of predictor for handling such branches. This paper presents Store-Load-Branch (SLB) predictor; a compiler-assisted dynamic branch prediction scheme for data-dependent direct and indirect branches. For every data-dependent branch, compiler identifies store instructions that modify the data structure associated with the branch. Marked store instructions are dynamically tracked, and stored values are used for computing branch flags ahead of time. Branch flags are buffered, and later used for making predictions. On average, compared to standalone TAGE predictor, combined TAGE+SLB predictor reduces branch MPKI by 21% and 51% for SPECINT and EEMBC benchmark suites respectively.
Keywords :
data handling; data structures; program compilers; SLB predictor; compiler assisted branch prediction; data dependent branches; data values; history based dynamic predictor; memory locations; program data structures; store load branch; Accuracy; Arrays; Benchmark testing; Discrete cosine transforms; Hardware; History;
Conference_Titel :
High Performance Computer Architecture (HPCA2013), 2013 IEEE 19th International Symposium on
Conference_Location :
Shenzhen
Print_ISBN :
978-1-4673-5585-8
DOI :
10.1109/HPCA.2013.6522307