Title :
Software pipelining: a comparison and improvement
Author :
Jones, Reese B. ; Allan, Vicki H.
Author_Institution :
Dept. of Comput. Sci., Utah State Univ., Logan, UT, USA
Abstract :
Software pipelining can significantly increase the execution rate of loops. Each of the four major software pipelining algorithms takes a different approach to software pipelining. This paper discusses each method and explores some of the similarities and differences among the methods. On loops consisting of a single basic block, the perfect pipelining algorithm is the only software pipelining algorithm that currently achieves time optimality, in the absence of resource constraints. A technique for unrolling the loop before pipelining is presented as an improvement to software pipelining, as it can allow Lam´s algorithm to achieve time optimality for these restricted loops. Unrolling has an advantage over perfect pipelining because it can reduce the code space required for the software pipeline
Keywords :
microprogramming; pipeline processing; software engineering; perfect pipelining algorithm; software pipelining; time optimality; unrolling; Computer science; Delay; Parallel processing; Pipeline processing; Software algorithms; Steady-state;
Conference_Titel :
Microprogramming and Microarchitecture. Micro 23. Proceedings of the 23rd Annual Workshop and Symposium., Workshop on
Conference_Location :
Orlando, FL
Print_ISBN :
0-8186-2124-9
DOI :
10.1109/MICRO.1990.151426