DocumentCode :
123928
Title :
Properties of Dynamically Dead Instructions for Contemporary Architectures
Author :
Jantz, Marianne J. ; Wu, Kaijie ; Kulkarni, Prasad A.
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Univ. of Kansas, Lawrence, KS, USA
fYear :
2014
fDate :
27-29 Aug. 2014
Firstpage :
341
Lastpage :
348
Abstract :
Processor frequency scaling has greatly stagnated over the last few years, making it difficult to continue improving sequential or single-threaded program speed. Hardware and software system developers now need to devise innovative and aggressive schemes to grow sequential software performance. The goal of this work is to assess the potential and feasibility of eliminating dynamically dead instructions (DDI) -- where the results of executed instructions are not used by the program -- to benefit program speed. Specifically, we quantify the ratio of DDI in the dynamic instruction stream for different classes of contemporary programs (general-purpose vs. embedded) and architectures (CISC vs. RISC), and explore characteristics of DDI to assist the design of effective solution mechanisms. To achieve our goal, we develop a robust and portable compiler (GCC) based framework for DDI research, and target this investigation at contemporary x86 and ARM based machines. We find that while a substantial fraction of instructions executed by all classes of programs are dynamically dead, architectural features show a visible impact. Our experiments reveal that a handful of static program instructions contribute a majority of DDI. We further find that DDI are often highly predictable, can be detected within small instruction windows, and a small amount of static context information can significantly benefit DDI detection at run-time. Thus, our research can induce the development and adoption of practical DDI elimination techniques to scale sequential program performance in future processors.
Keywords :
program compilers; reduced instruction set computing; software performance evaluation; ARM based machines; DDI detection; DDI elimination techniques; GCC based framework; architectural feature; contemporary architectures; contemporary programs; contemporary x86 based machine; dead instructions; dynamic instruction stream; dynamically dead instruction; executed instruction; hardware and software system developer; instruction window; portable compiler; processor frequency scaling; robust compiler; sequential program performance; sequential program speed; sequential software performance; single-threaded program speed; solution mechanism; static context information; static program instruction; Benchmark testing; Computer architecture; Context; Hardware; Optimization; Program processors; Registers; Dynamically dead instructions; architecture; compiler;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Digital System Design (DSD), 2014 17th Euromicro Conference on
Conference_Location :
Verona
Type :
conf
DOI :
10.1109/DSD.2014.108
Filename :
6927263
Link To Document :
بازگشت