• DocumentCode
    3244246
  • Title

    Dynamic optimization of micro-operations

  • Author

    Slechta, Brian ; Crowe, David ; Fahs, Brian ; Fertig, Michael ; Muthler, Gregory ; Quek, Justin ; Spadini, Francesco ; Patel, Sanjay J. ; Lumetta, Steven S.

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Illinois Univ., Urbana, IL, USA
  • fYear
    2003
  • fDate
    8-12 Feb. 2003
  • Firstpage
    165
  • Lastpage
    176
  • Abstract
    Inherent within complex instruction set architectures such as ×86 are inefficiencies that do not exist in a simpler ISA. Modern ×86 implementations decode instructions into one or more micro-operations in order to deal with the complexity of the ISA. Since these micro-operations are not visible to the compiler the stream of micro-operations can contain redundancies even in statically optimized ×86 code. Within a processor implementation, however barriers at the ISA level do not apply, and these redundancies can be removed by optimizing the micro-operation stream. In this paper we explore the opportunities to optimize code at the micro-operation granularity. We execute these micro-operation optimizations using the rePLay Framework as a microarchitectural substrate. Using a simple set of seven optimizations, including two that aggressively and speculatively attempt to remove redundant load instructions, we examine the effects of dynamic optimization of micro-operations using a trace-driven simulation environment. Simulation reveals that across a sampling of SPECint 2000 and real ×86 applications, rePLay is able to reduce micro-operation count by 21% and, in particular load micro-operation count by 22%. These reductions correspond to a boost in observed instruction-level parallelism on an 8-wide optimizing rePLay processor by 17% over a non-optimizing configuration.
  • Keywords
    instruction sets; optimising compilers; parallel architectures; performance evaluation; redundancy; ×86 applications; SPECint 2000; complex instruction set architectures; dynamic optimization; instruction-level parallelism; micro-operations; microarchitectural substrate; rePLay Framework; redundancies; trace-driven simulation; Application software; Computer architecture; Decoding; Hardware; Instruction sets; Microarchitecture; Parallel processing; Performance evaluation; Redundancy; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings. The Ninth International Symposium on
  • ISSN
    1530-0897
  • Print_ISBN
    0-7695-1871-0
  • Type

    conf

  • DOI
    10.1109/HPCA.2003.1183535
  • Filename
    1183535