Title :
Using compiler-generated approximate critical path information to prioritise instructions for value prediction
Author :
Zhao, Q. ; Lilja, D.J.
Author_Institution :
Sun Microsystems, Menlo Park, CA, USA
Abstract :
One of the potential difficulties in developing cost-effective value prediction mechanisms is determining which instructions should be selected for prediction when the hardware resources are limited. The authors examine a compiler algorithm that statically assigns priorities to instructions using approximate critical path information to identify the best candidates for value prediction. This static priority information is encoded into the instructions and subsequently used by the hardware to choose the most critical instructions at run-time for value prediction. The algorithm is implemented in the GCC compiler and performance potential is evaluated using an extended version of the SimpleScalar processor simulator. Our results with the SPEC95 and SPEC2000 benchmark programs show that this approximate algorithm can effectively capture the critical path information to consistently improve the performance of a processor with a hybrid value predictor compared to using no information about the criticality of instructions. Furthermore, it is shown that using only four priority levels encoded into two instruction bits is sufficient to capture enough priority information to effectively use the value prediction hardware.
Keywords :
compiler generators; instruction sets; parallel architectures; performance evaluation; program control structures; GCC compiler; SPEC2000 benchmark; SPEC95 benchmark; SimpleScalar processor simulator; approximate critical path information; compiler-generated critical path information; hybrid value predictor; instruction prioritisation; performance evaluation; static priority assignment; value prediction;
Journal_Title :
Computers and Digital Techniques, IEE Proceedings -
DOI :
10.1049/ip-cdt:20040643