• DocumentCode
    2977428
  • Title

    Diverge-Merge Processor (DMP): Dynamic Predicated Execution of Complex Control-Flow Graphs Based on Frequently Executed Paths

  • Author

    Kim, Hyesoon ; Joao, José A. ; Mutlu, Onur ; Patt, Yale N.

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Texas Univ., Austin, TX
  • fYear
    2006
  • fDate
    Dec. 2006
  • Firstpage
    53
  • Lastpage
    64
  • Abstract
    This paper proposes a new processor architecture for handling hard-to-predict branches, the diverge-merge processor (DMP). The goal of this paradigm is to eliminate branch mispredictions due to hard-to-predict dynamic branches by dynamically predicating them without requiring ISA support for predicate registers and predicated instructions. To achieve this without incurring large hardware cost and complexity, the compiler provides control-flow information by hints and the processor dynamically predicates instructions only on frequently executed program paths. The key insight behind DMP is that most control-flow graphs look and behave like simple hammock (if-else) structures when only frequently executed paths in the graphs are considered. Therefore, DMP can dynamically predicate a much larger set of branches than simple hammock branches. Our evaluations show that DMP out performs a baseline processor with an aggressive branch predictor by 19.3% on average over SPEC integer 95 and 2000 benchmarks, through a reduction of 38% in pipeline flushes due to branch mispredictions, while consuming 9.0% less energy. We also compare DMP with previously proposed predication and dual-path/multipath execution paradigms in terms of performance, complexity, and energy consumption, and find that DMP is the highest performance and also the most energy-efficient design
  • Keywords
    computer architecture; aggressive branch predictor; complex control-flow graph; diverge-merge processor; dynamic predicated execution; energy consumption; multipath execution paradigm; processor architecture; Costs; Delay; Energy consumption; Hardware; History; Instruction sets; Pipelines; Program processors; Registers; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2006. MICRO-39. 39th Annual IEEE/ACM International Symposium on
  • Conference_Location
    Orlando, FL
  • ISSN
    1072-4451
  • Print_ISBN
    0-7695-2732-9
  • Type

    conf

  • DOI
    10.1109/MICRO.2006.20
  • Filename
    4041835