Title :
Improving processor performance by simplifying and bypassing trivial computations
Author :
Yi, J.J. ; Lilja, David J.
Author_Institution :
Dept. of Electr. & Comput. Eng., Minnesota Univ., USA
Abstract :
During the course of a program´s execution, a processor performs mangy 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 (-O3), 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.
Keywords :
parallel architectures; performance evaluation; program compilers; aggressive optimizations; comparators; multiplexers; processor performance; program compilers; Cities and towns; Computer aided instruction; Costs; Optimizing compilers; Uninterruptible power systems;
Conference_Titel :
Computer Design: VLSI in Computers and Processors, 2002. Proceedings. 2002 IEEE International Conference on
Print_ISBN :
0-7695-1700-5
DOI :
10.1109/ICCD.2002.1106814