• DocumentCode
    958135
  • Title

    Experiments with low-level speculative computation based on multiple branch prediction

  • Author

    Holtmann, Ulrich ; Ernst, Rolf

  • Author_Institution
    Dept. of Comput. Sci., Tech. Univ. Braunschweig, Germany
  • Volume
    1
  • Issue
    3
  • fYear
    1993
  • Firstpage
    262
  • Lastpage
    267
  • Abstract
    Coprocessor design is one application of high-level synthesis. We want to focus on high-performance coprocessors to speed up time critical parts in hardware-software codesign of embedded controllers. Time critical software parts often contain nested loops, often with data-dependent branches and data-dependent number of iterations. When (loop) pipelining is employed for high performance, the control dependencies become a dominant limitation to pipeline utilization. Branch prediction is a possible approach, but is usually restricted to few instructions and to one branch because of hardware and control overhead. Multiple branch prediction and speculative computation take a more global view on the program flow. We give practical examples of how speculative computation with multiple branch prediction increases performance far beyond a usual ASAP scheduling based on a CDFG. For scheduling, speculative computation requires a modification of the CDFG and, for the allocation phase, the insertion of register sets to save the processor status. The controller needs slight modification. We conclude that manual application of our approach will in general be too difficult, such that it can only be used in connection with synthesis.<>
  • Keywords
    VLSI; application specific integrated circuits; circuit CAD; logic CAD; microprocessor chips; pipeline processing; satellite computers; scheduling; ASIC; coprocessor design; embedded controllers; hardware-software codesign; high-level synthesis; loop pipelining; low-level speculative computation; multiple branch prediction; scheduling; Application software; Coprocessors; Embedded software; HDTV; Hardware; High level synthesis; Pipeline processing; Processor scheduling; Registers; Sequential analysis;
  • fLanguage
    English
  • Journal_Title
    Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1063-8210
  • Type

    jour

  • DOI
    10.1109/92.238440
  • Filename
    238440