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