Font Size: a A A

Research On Software Pipelining Based On GCC

Posted on:2007-08-02Degree:MasterType:Thesis
Country:ChinaCandidate:Y YangFull Text:PDF
GTID:2178360185966523Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the rapid development of the information technology including computer technology and communication technology, and with the widely use of the Internet, embedded system has made a great progress. The use of the embedded system has changed modern life. From personal digital equipments like mp3, PDA to intelligent tools and carried equipments, from digital machine tool to industrial robots, embedded system make them smaller and smarter.The deeper embedded system is used, the higher its performance is demanded. For raising the performance, most modern processor support instruction level parallelism. Compiler often uses some code optimizations to transfer the program in order to discover the instruction level parallelism in the program and software pipelining is one of these optimizations, which can improve the loop-executing performance of any system that allows instruction-level parallelism. It works by allowing parts of several iterations of a loop to be in process at the same time, so as to take advantage of the parallelism available in the loop body. However, this technique also increases the register pressure while it takes advantage of the instruction-level parallelism, and the register spilling is an effective approach to solve this problem. Swing modulo scheduling is a software pipelining arithmetic that provide close optimized schedule while trying to reduce the register pressure. It has become a new pass in most recently GCC release. Though swing modulo scheduling considers the register pressure, it can still make the register pressure increased. So there must be a method to control the register pressure.AT first, this thesis describes the software pipelining and focuses on the reason that causes the increment of the register pressure. Then, it describes the implementation of the swing modulo scheduling in GCC and rise a method that fit for swing modulo scheduling to control the register pressure after the scheduling.
Keywords/Search Tags:compiler, code optimization, software pipelining, swing modulo scheduling, register spilling, GCC
PDF Full Text Request
Related items