•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