• DocumentCode
    2170511
  • Title

    An analysis of hard to predict branches

  • Author

    Ozturk, Celal ; Sendag, Resit

  • Author_Institution
    Dept. of Electr., Comput. & Biomed. Eng., Univ. of Rhode Island, Kingston, RI, USA
  • fYear
    2010
  • fDate
    28-30 March 2010
  • Firstpage
    213
  • Lastpage
    222
  • Abstract
    Branch prediction accuracy remains to be critical for high performance and low power. Prior work has studied causes of branch mispredictions in order to provide insights into how better branch predictors can be designed. However, most of the previous works have only considered run-time classification of branch mispredictions, leaving a large number of mispredictions in an unknown category. For more comprehensive analysis, in this paper, we present a detailed source code analysis of branch mispredictions for SPEC CPU 2000 and Mibench benchmarks. Our analysis show that constant loop exits, insufficient history lengths, wrong-type history, array access/pointer references, complex linked list data structures, changing function inputs, and varying loop counts are the major causes for most of the branch mispredictions. We further show that most mispredictions have repetitive patterns that suggest different design strategies for future branch predictors.
  • Keywords
    computer architecture; data structures; pattern classification; Mibench benchmarks; SPEC CPU 2000; branch predictors; linked list data structures; source code analysis; Accuracy; Biomedical computing; Biomedical engineering; Graphics; High performance computing; History; Performance analysis; Power engineering computing; Runtime; Taxonomy;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Performance Analysis of Systems & Software (ISPASS), 2010 IEEE International Symposium on
  • Conference_Location
    White Plains, NY
  • Print_ISBN
    978-1-4244-6023-6
  • Electronic_ISBN
    978-1-4244-6024-3
  • Type

    conf

  • DOI
    10.1109/ISPASS.2010.5452016
  • Filename
    5452016