• DocumentCode
    304107
  • Title

    The design of a modulo scheduler for a superscalar RISC processor

  • Author

    Tinumalai, P. ; Beylin, Boris ; Subramanian, Krishna

  • Author_Institution
    Sun Microsystems Inc., Mountain View, CA, USA
  • fYear
    1996
  • fDate
    35339
  • Firstpage
    97
  • Lastpage
    109
  • Abstract
    Module scheduling is a form of software pipelining that extracts parallelism from inner loops by overlapping the execution of successive iterations. This paper describes the design of a commercial module scheduler for a modern superscalar RISC processor. Systematic amortization of instructions and partitioned dependence graph scheduling deliver good performance in the face of limited instruction issue. Slot reservation prior to scheduling permits effective handling of both pipelined and non-pipelined instructions. Constraining the dependence graph allows loops containing simple control flow to be scheduled with very limited architectural support. A virtual register allocation phase during scheduling uses simple but effective heuristics to control high register pressure. Extensive data on the performance of the module scheduler on a collection of over one thousand loops are presented
  • Keywords
    parallel architectures; parallel programming; performance evaluation; processor scheduling; reduced instruction set computing; dependence graph; inner loops; modulo scheduler; partitioned dependence graph scheduling; performance; software pipelining; superscalar RISC processor; systematic amortization; virtual register allocation phase; Clocks; Delay; Frequency; Pipeline processing; Process design; Processor scheduling; Reduced instruction set computing; Registers; Sun; Trademarks;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques, 1996., Proceedings of the 1996 Conference on
  • Conference_Location
    Boston, MA
  • ISSN
    1089-795X
  • Print_ISBN
    0-8186-7633-7
  • Type

    conf

  • DOI
    10.1109/PACT.1996.552642
  • Filename
    552642