Improving processor performance by simplifying and bypassing trivial computations

Joshua J. Yi, David J Lilja

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

Abstract

During the course of a program's execution, a processor performs many trivial computations; that is, computations that can be simplified or where the result is zero, one, or equal to one of the input operands. This paper shows that, despite compiling a program with aggressive optimizations (-03), approximately 30% of all arithmetic instructions, which account for 12% of all dynamic instructions, are trivial computations. The amount of trivial computation is not heavily dependent on the program's specific input values. Our results show that eliminating trivial computations dynamically at run-time yields an average speedup of 8% for a typical processor. Even for a very aggressive processor (i.e. one with no functional unit constraints), the average speedup is still 6%. It also is important to note that the area cost (i.e. hardware) required to dynamically detect and eliminate these trivial computations is very low, consisting of only a few comparators and multiplexers.

Original languageEnglish (US)
Article number77
Pages (from-to)462-465
Number of pages4
JournalProceedings-IEEE International Conference on Computer Design: VLSI in Computers and Processors
DOIs
StatePublished - Jan 1 2002

Fingerprint Dive into the research topics of 'Improving processor performance by simplifying and bypassing trivial computations'. Together they form a unique fingerprint.

Cite this