• 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