DocumentCode
3631215
Title
Experiment flows and microbenchmarks for reverse engineering of branch predictor structures
Author
Vladimir Uzelac;Aleksandar Milenkovic
Author_Institution
Electrical and Computer Engineering Department, The University of Alabama in Huntsville, USA
fYear
2009
Firstpage
207
Lastpage
217
Abstract
Insights into branch predictor organization and operation can be used in architecture-aware compiler optimizations to improve program performance. Unfortunately, such details are rarely publicly disclosed. In this paper we introduce a set of experiment flows and corresponding microbenchmarks for reverse engineering cache-like branch target and outcome predictor structures, indexed by branch address or program path information. The experiment flows are demonstrated on the Intel Pentium M branch predictor. We have been able to determine the size, organization, internal operation, and interactions between various hardware structures used in the Pentium M branch predictor, namely the branch target buffer, indirect branch target buffer, loop branch predictor buffer, global predictor, and bimodal predictor. These findings have been validated using a functional PIN model.
Keywords
"Reverse engineering","History","Microprocessors","Hardware","Interference","Program processors","Optimizing compilers","Pipelines","Clocks","Hazards"
Publisher
ieee
Conference_Titel
Performance Analysis of Systems and Software, 2009. ISPASS 2009. IEEE International Symposium on
Print_ISBN
978-1-4244-4184-6
Type
conf
DOI
10.1109/ISPASS.2009.4919652
Filename
4919652
Link To Document