• DocumentCode
    2814532
  • Title

    Compiler controlled value prediction using branch predictor based confidence

  • Author

    Larson, Eric ; Austin, Todd

  • Author_Institution
    Dept. of Electr. Eng. & Comput. Sci., Michigan Univ., Ann Arbor, MI, USA
  • fYear
    2000
  • fDate
    2000
  • Firstpage
    327
  • Lastpage
    336
  • Abstract
    Value prediction breaks data dependencies in a program thereby creating instruction level parallelism that can increase program performance. Hardware based value prediction techniques have been shown to increase speed, but at great cost as designs include prediction tables, selection logic, and a confidence mechanism. This paper proposes compiler-controlled value prediction optimizations that obtain good speedups while keeping hardware costs low. The branch predictor is used to estimate the confidence of the value predictor for speculated instructions. This technique obtains 4.6% speedup when completely implemented in software and 15.2% speedup when minimal hardware support (a 1 KB predictor table) is added. We also explore the use of critical path information to aid in the selection of value prediction candidates. The key result of our study is that programs with long dynamic dependence chains benefit with this technique while programs with shorter chains benefit more so from simple selection methods that favor optimization frequency. A new branch instruction that ignores innocuous value mispredictions is shown to eliminate unnecessary mispredictions when program semantics aren´t violated by confidence branch mispredictions
  • Keywords
    program compilers; software performance evaluation; branch predictor based confidence; compiler controlled value prediction; confidence mechanism; critical path information; data dependencies; instruction level parallelism; prediction tables; program performance; selection logic; Computer science; Cost function; Counting circuits; Frequency; Hardware; Hazards; Logic design; Optimization methods; Optimizing compilers; Parallel processing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2000. MICRO-33. Proceedings. 33rd Annual IEEE/ACM International Symposium on
  • Conference_Location
    Monterey, CA
  • ISSN
    1072-4451
  • Print_ISBN
    0-7695-0924-X
  • Type

    conf

  • DOI
    10.1109/MICRO.2000.898082
  • Filename
    898082