• DocumentCode
    3208716
  • Title

    Continuous optimization

  • Author

    Fahs, Brian ; Rafacz, Todd ; Patel, Sanjay J. ; Lumetta, Steven S.

  • Author_Institution
    Center for Reliable & High Performance Comput., Illinois Univ. at Urbana-Champaign, IL, USA
  • fYear
    2005
  • fDate
    4-8 June 2005
  • Firstpage
    86
  • Lastpage
    97
  • Abstract
    This paper presents a hardware-based dynamic optimizer that continuously optimizes an application´s instruction stream. In continuous optimization, dataflow optimizations are performed using simple, table-based hardware placed in the rename stage of the processor pipeline. The continuous optimizer reduces dataflow height by performing constant propagation, reassociation, redundant load elimination, store forwarding, and silent store removal. To enhance the impact of the optimizations, the optimizer integrates values generated by the execution units back into the optimization process. Continuous optimization allows instructions with input values known at optimization time to be executed in the optimizer, leaving less work for the out-of-order portion of the pipeline. Continuous optimization can detect branch mispredictions earlier and thus reduce the misprediction penalty. In this paper, we present a detailed description of a hardware optimizer and evaluate it in the context of a contemporary microarchitecture running current workloads. Our analysis of SPECint, SPECfp, and mediabench workloads reveals that a hardware optimizer can directly execute 33% of instructions, resolve 29% of mispredicted branches, and generate addresses for 76% of memory operations. These positive effects combine to provide speed ups in the range 0.99 to 1.27.
  • Keywords
    data flow computing; instruction sets; optimisation; optimising compilers; pipeline processing; SPECfp; SPECint; dataflow optimization; hardware-based dynamic optimizer; mediabench workload; processor pipeline; redundant load elimination; silent store removal; store forwarding; table-based hardware; Decoding; Hardware; High performance computing; Microarchitecture; Optimizing compilers; Out of order; Pipelines; Program processors; Registers; Uninterruptible power systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2005. ISCA '05. Proceedings. 32nd International Symposium on
  • ISSN
    1063-6897
  • Print_ISBN
    0-7695-2270-X
  • Type

    conf

  • DOI
    10.1109/ISCA.2005.19
  • Filename
    1431548