Thumbnail
Access Restriction
Subscribed

Author Allan, Vicki H. ♦ Jones, Reese B. ♦ Lee, Randall M. ♦ Allan, Stephen J.
Source ACM Digital Library
Content type Text
Publisher Association for Computing Machinery (ACM)
File Format PDF
Copyright Year ©1995
Language English
Subject Domain (in DDC) Computer science, information & general works ♦ Data processing & computer science
Subject Keyword Instruction level parallelism ♦ Loop reconstruction ♦ Optimization ♦ Software pipelining
Abstract Utilizing parallelism at the instruction level is an important way to improve performance. Because the time spent in loop execution dominates total execution time, a large body of optimizations focuses on decreasing the time to execute each iteration. Software pipelining is a technique that reforms the loop so that a faster execution rate is realized. Iterations are executed in overlapped fashion to increase parallelism.Let ${\textit{ABC}}\textit{n}$ represent a loop containing operations A, B, C that is executed $\textit{n}$ times. Although the operations of a single iteration can be parallelized, more parallelism may be achieved if the entire loop is considered rather than a single iteration. The software pipelining transformation utilizes the fact that a loop ${\textit{ABC}}\textit{n}$ is equivalent to $\textit{A}{\textit{BCA}}\textit{n}™1\textit{BC}.$ Although the operations contained in the loop do not change, the operations are from different iterations of the original loop.Various algorithms for software pipelining exist. A comparison of the alternative methods for software pipelining is presented. The relationships between the methods are explored and possibilities for improvement highlighted.
ISSN 03600300
Age Range 18 to 22 years ♦ above 22 year
Educational Use Research
Education Level UG and PG
Learning Resource Type Article
Publisher Date 1995-09-01
Publisher Place New York
e-ISSN 15577341
Journal ACM Computing Surveys (CSUR)
Volume Number 27
Issue Number 3
Page Count 66
Starting Page 367
Ending Page 432


Open content in new tab

   Open content in new tab
Source: ACM Digital Library