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?