PROJECT TITLE :
On-Demand Dynamic Branch Prediction
In out-of-order (OoO) processors, speculative execution with high branch prediction accuracy is employed to realize good single thread performance. In these processors the branch prediction unit tables (BPU) are accessed in parallel with the instruction cache before it's known whether or not a fetch group contains branch instructions. For integer applications, we realize 85 % of BPU lookups are in dire straits non-branch operations and of the remaining lookups, forty two percent are in hot water highly biased branches that can be predicted statically with high accuracy. We evaluate on-demand branch prediction (ODBP), a novel technique that uses compiler generated hints to spot those directions that can be additional accurately predicted statically to eliminate unnecessary BPU lookups. We evaluate an implementation of ODBP that combines static and dynamic branch prediction. For a four wide superscalar processor, ODBP delivers as much as nine % improvement in average energy-delay (ED) product, seven p.c core average energy saving, and three % speedup. ODBP additionally allows the employment of huge BPU's for a given power budget.
Did you like this research project?
To get this research project Guidelines, Training and Code... Click Here