Using compiler-generated approximate critical path information to prioritise instructions for value prediction

Q. Zhao, David J Lilja

Research output: Contribution to journalArticle

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.

Original languageEnglish (US)
Pages (from-to)321-331
Number of pages11
JournalIEE Proceedings: Computers and Digital Techniques
Volume151
Issue number5
DOIs
StatePublished - Sep 1 2004

    Fingerprint

Cite this