• DocumentCode
    2540608
  • Title

    Instruction pre-processing in trace processors

  • Author

    Jacobson, Quinn ; Smith, James E.

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Wisconsin Univ., Madison, WI, USA
  • fYear
    1999
  • fDate
    9-13 Jan 1999
  • Firstpage
    125
  • Lastpage
    129
  • Abstract
    In trace processors, a sequential program is partitioned at run time into “traces”. A trace is an encapsulation of a dynamic sequence of instructions. A processor that uses traces as the unit of sequencing and execution achieves high instruction fetch rates and can support very wide-issue execution engines. We propose a new class of hardware optimizations that transform the instructions within traces to increase the performance of trace processors. Traces are “pre-processed” to optimize the instructions for execution together. We propose three specific optimizations: instruction scheduling, constant propagation, and instruction collapsing. Together, these optimizations offer substantial performance benefit, increasing performance by up to 24%
  • Keywords
    instruction sets; parallel architectures; parallel programming; program processors; scheduling; constant propagation; dynamic instruction sequence; hardware optimizations; instruction collapsing; instruction fetch rates; instruction pre-processing; instruction scheduling; performance benefit; sequential program partitioning; trace processors; wide-issue execution engines; Clocks; Computer aided instruction; Delay; Distributed processing; Encapsulation; Engines; Hardware; Microarchitecture; Optimizing compilers; Processor scheduling;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Performance Computer Architecture, 1999. Proceedings. Fifth International Symposium On
  • Conference_Location
    Orlando, FL
  • Print_ISBN
    0-7695-0004-8
  • Type

    conf

  • DOI
    10.1109/HPCA.1999.744347
  • Filename
    744347