• DocumentCode
    174643
  • Title

    Leveraging dynamic slicing to enhance indirect branch prediction

  • Author

    Ghandour, Walid J. ; Ghandour, Nadine J.

  • Author_Institution
    Comput. Eng. Dept., Fahad Bin Sultan Univ., Tabuk, Saudi Arabia
  • fYear
    2014
  • fDate
    19-22 Oct. 2014
  • Firstpage
    292
  • Lastpage
    299
  • Abstract
    An indirect branch specifies where the address of the next instruction to execute is located. The address to be jumped to is not known until the instruction is executed. Indirect branches can incur a significant fraction of branch misprediction overhead even though they remain less frequent than the more predictable conditional branches. Indirect branch instructions implement multiway branch statements and virtual function calls in object-oriented languages. Multiple targets indirect branch instructions are difficult to predict. We employ dynamic slicing to categorize indirect branches and use the most convenient predictor for each category. We also propose Dynamic Slicing directed Indirect Branch (DSIB) predictor, a profiling based target address prediction technique for indirect branch instructions. We compare the proposed predictor to VBBI and ITTAGE predictors. DSIB enhances prediction accuracy by 13% and 9% over VBBI and ITTAGE respectively. DSIB also results in IPC improvement of 11%, 4.2% and 3.55% over BTB, VBBI and ITTAGE respectively.
  • Keywords
    object-oriented languages; program slicing; DSIB; ITTAGE predictors; VBBI predictors; branch misprediction overhead fraction; dynamic slicing directed indirect branch predictor; indirect branch prediction enhancement; multiple target indirect branch instructions; multiway branch statements; object-oriented languages; predictable conditional branches; profiling based target address prediction technique; virtual function; Accuracy; Context; Correlation; Heuristic algorithms; History; Instruments; Prediction algorithms; branch target prediction; correlation-based prediction; dynamic slicing; indirect branch;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Design (ICCD), 2014 32nd IEEE International Conference on
  • Conference_Location
    Seoul
  • Type

    conf

  • DOI
    10.1109/ICCD.2014.6974696
  • Filename
    6974696