• 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