Advanced Computer Architecture, Imperial
College 2001
2
Motivation
•There
are many many opportunities for speculation; in each case, effectiveness relies on good prediction:
•Control hazards: given a conditional jump, and limited resources, which branch should be speculatively
executed?
•Cache block replacement: which of the candidates for replacement will be the least-soon reused?
•Adaptive cache allocation: is the newly-loaded value
more likely to be reused than the cached
value it would overwrite?
•Prefetching: can we predict the next memory load address
sufficiently well to initiate the access in
advance?
•Value prediction: given a data hazard, can we guess what
the register value will be?