• Speculation implies prediction
• many conditional branches are bimodal but not static
• a significant minority are dynamic - not bimodal
• many of those are correlated with other branches
• analysis of payoff matrix can tell you when it’s better to
execute both branches - predication
• many branch predictor variants, including ‘selective’
predictor, attempts to use best of several other
predictors
• multi-issue processors need to predict a trace of
branches
• similar ideas can be applied to other forms of
speculation, including prefetching, load-no-allocate,
adaptive load-exclusive, value prediction etc
34