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
Link To Document :
بازگشت