University of Colorado at Boulder
|Topic:||The Evolution of a Load Value Predictor|
|Date:||Tuesday, April 18, 2000|
|Place:||Gould-Simpson, Room 701|
Microprocessors are becoming increasingly complex, making it harder and harder to utilize them effectively. For example, the growing latency of load instructions already often impedes processor performance. Load value predictors alleviate this problem by allowing the CPU to speculatively continue processing without having to wait for loads to complete, which can significantly improve execution speed.
This talk presents the insight-driven evolution of an initially simple predictor into a more complex but very effective load value predictor. In particular, the observations leading to an improved confidence estimator and the design-choices resulting in a dense high-performance load value predictor are discussed in detail.
Cycle-accurate simulations of a four-way superscalar microprocessor running SPECint95 show that the presented predictor outperforms other predictors by almost forty percent over a wide range of sizes. With eleven kilobytes of state, the smallest examined configuration, it surpasses the speedups delivered by other, eight times larger predictors both with a re-fetch and a re-execute misprediction recovery mechanism.