A STUDY OF BRANCH PREDICTION STRATEGIES - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

A STUDY OF BRANCH PREDICTION STRATEGIES

Description:

SCI2:Performs matrix inversion ... a table of the most recently used branch instructions that are not taken. If a branch instruction is in the table, predict ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 31
Provided by: acade116
Category:

less

Transcript and Presenter's Notes

Title: A STUDY OF BRANCH PREDICTION STRATEGIES


1
A STUDY OF BRANCH PREDICTION STRATEGIES
  • JAMES E.SMITH
  • Presented By
  • Prasanth Kanakadandi

2
INTRODUCTION
  • Break the smooth flow of instruction
  • fetch and instruction execution
  • Cause Delay
  • Delay reduced by branch prediction
  • More delay if prediction is wrong

3
PROGRAMS USED IN THE STUDY
  • ADVAN Calculates the solution of three
    simultaneous partial differential equations
  • SCI2Performs matrix inversion
  • SINCOS Converts a series of points from polar to
    Cartesian coordinates
  • SORTST Sorts a list of 10,000 integers
  • GIBSON An artificial program that compiles to
    instructions that roughly satisfy the so called
    GIBSON mix
  • TBLLNK Processes a linked list and contains a
    variety of conditional branches

4
BRANCH PREDICTION STRATEGIES
  • Two types
  • Static Strategies
  • Dynamic Strategies
  • Two approaches
  • Predict that branches are always taken
  • Predict that branches are never taken

5
STRATEGY 1
  • Predict that all branches will be taken
  • Results
  • Program Prediction Accuracy
  • ADVAN 99.4
  • GIBSON 65.4
  • SCI2 96.2
  • SINCOS 80.2
  • SORTST 57.4
  • TBLLNK 61.5

6
  • Majority of branches taken
  • Success rates vary
  • Program Sensitivity The algorithm, the
    programmer and the compiler have an effect on the
    number of branches taken

7
Strategy 2
  • Predict that a branch will be decided the same
    way as its last execution
  • If not previously executed, predict that it will
    be taken
  • Not realizable

8
RESULTS FOR STRATEGY 2
  • Program Prediction Accuracy
  • ADVAN 98.9
  • GIBSON 97.9
  • SCI2 96.0
  • SINCOS 76.2
  • SORTST 81.7
  • TBLLNK 91.7

9
STRATEGY 1a
  • Predict that all branches with certain opcodes
    will be taken predict that others will not be
    taken
  • Examine which branches are usually taken
  • Results
  • Program Prediction Accuracy
    Strategy 1
  • ADVAN 99.4
    99.4
  • GIBSON 98.5
    65.4
  • SCI2 97.9
    96.2
  • SINCOS 65.7
    80.2
  • SORTST 82.5
    57.4
  • TBLLNK 76.2
    61.5

10
STRATEGY 3
  • Predict that all backward branches will be taken
    predict that all forward branches will not be
    taken
  • Loops terminated by backward branches
  • Program Sensitivity is high
  • Disadvantage Prediction is slower

11
RESULTS FOR STRATEGY 3
  • Program Prediction Accuracy
  • ADVAN 81.9
  • GIBSON 98.0
  • SCI2 35.2
  • SINCOS 82.5
  • TBLLNK 84.9

12
  • DYNAMIC PREDICTION STRATEGIES

13
STRATEGY 4
  • Maintain a table of the most recently used branch
    instructions that are not taken
  • If a branch instruction is in the table, predict
    that it will not be taken. Remove table entries
    if they are taken, and use LRU replacement to add
    new entries

14
RESULTS FOR STRATEGY 4
  • Program Prediction Accuracy
  • Table Size
  • 1 2 4
    8
  • ADVAN 98.9 98.9 98.9
    98.9
  • GIBSON 65.4 97.9 97.9
    97.9
  • SCI2 96.1 96.1 96.0
    96.0
  • SINCOS 76.2 76.2 76.2
    76.2
  • SORTST 57.3 81.7 81.7
    81.7
  • TBLLNK 61.5 61.5 91.7
    91.7

15
A VARIATION TO STRATEGY 4
  • Faster predictions
  • Instruction words compared with associative
    memory
  • Observe whether next word is in sequence or
    out-of-sequence
  • If out-of-sequence ,address of the
    out-of-sequence word is given

16
  • Instruction fetch can begin at that location
  • Prediction made before decomposing instruction
    word into separate instructions

17
STRATEGY 5
  • Maintain a bit for each instruction in the cache.
    If the instruction is a branch instruction, the
    bit is used to record if it was taken on its last
    execution. Branches are predicted to be decided
    as on their last execution if a branch has not
    been executed, it is predicted to be taken

18
RESULTS FOR STRATEGY 5
  • Program Prediction Accuracy
  • ADVAN 98.9
  • GIBSON 97.0
  • SCI2 96.0
  • SINCOS 76.1
  • SORTST 81.7
  • TBLLNK 91.7

19
IMPROVED DYNAMIC STRATEGIES
  • Use random access memory instead of associative
    memory
  • Deal with anomalous decisions more effectively

20
STRATEGY 6
  • Hash the branch instruction address to m bits and
    use this index to address a RAM containing the
    outcome of the most recent branch instruction
    indexing the same location. Predict that the
    branch outcome will be the same.

21
  • Default prediction controlled by initializing
    memory to all 0s or 1s
  • Results
  • Program Prediction Accuracy
  • ADVAN 98.9
  • GIBSON 97.9
  • SCI2 96.0
  • SINCOS 76.2
  • SORTST 81.7
  • TBLLNK 91.8

22
STRATEGY 7
  • Use strategy 6 with twos compliment counts
    instead of a single bit. Predict that the branch
    will be taken if the sign bit is 1. Increment the
    count when a branch is taken decrement it when a
    branch is not taken

23
RESULTS FOR STRATEGY 7
  • Program Prediction Accuracy
  • 2 Bit Counter
    3 Bit Counter
  • ADVAN 99.4
    99.4
  • GIBSON 97.9
    97.3
  • SCI2 98.0
    98.0
  • SINCOS 80.1
    83.4
  • SORTST 84.7
    81.7
  • TBLLNK 95.2
    94.6

24
HIERARCHICAL PREDICTION
  • Time penalty
  • Need for a level of confidence to be attached to
    branch prediction

25
AN EXAMPLE
  • For instruction prefetch, if the prediction is
    incorrect, delay is 6 cp and if the prediction is
    correct, delay is 3 cp
  • For instruction prefetch and instruction
    preissue, no delay if the prediction is correct.
    If the prediction is incorrect, delay is 12 cp

26
  • 70 of the branches can be predicted correctly
  • Half of the branches with 50 accuracy (Set A)
  • Other half of with 90 accuracy (Set B)

27
Possible Strategies and average delays
  • Prefetch for all branches
  • (0.3 6 cp) (0.7 3 cp) 3.9 cp
  • Prefetch and preissue for all branches
  • (0.3 12 cp) (0.7 0) 3.6 cp
  • Prefetch for branches in A and prefetch and
    preissue for branches in B
  • 0.5 (0.5 3 cp) (0.5 6 cp) 0.5
    (0.1 12 cp) (0.9 0 ) 2.85 cp

28
HIERARCHICAL PREDICTION FOR STRATEGY 7
  • Strategy 7 provides natural way for implementing
    hierarchical prediction.
  • If a counter is at its maximum value when a
    prediction is made, the last prediction must have
    been that the branch be taken, and it must have
    been correct. A following similar prediction is
    likely to be correct
  • High confidence prediction at extreme counter
    values

29
RESULTS
  • Program Prediction Accuracy
  • Prediction Correct
    Correct Correct
  • at extremes at extremes
    not at extremes overall
  • ADVAN 99.3 99.4
    87.8 99.4
  • GIBSON 91.3 98.3
    86.8 97.3
  • SCI2 98.0 99.8
    99.4 98.0
  • SINCOS 78.4 85.7
    75.1 83.4
  • SORTST 78.5 92.1
    57.7 84.7
  • TBLLNK 96.8 95.2
    76.2 94.6
  • (Results
    with 3 bit counter and 16-word RAM)

30
  • CONCLUSION
Write a Comment
User Comments (0)
About PowerShow.com