Title: | Software Pipelining in a C-Compiler | Language: | English | Authors: | Huber, Benedikt Lukas | Qualification level: | Diploma | Keywords: | Software Pipelining; VLIW; embedded Software Pipelining; VLIW; embedded |
Advisor: | Krall, Andreas | Issue Date: | 2008 | Number of Pages: | 78 | Qualification level: | Diploma | Abstract: | Very long instruction word (VLIW) Prozessoren nutzen instruction level paralellism (ILP) um die Ausführungszeit von Programmen zu verkürzen, indem sie mehrere Operationen zeitgleich verarbeiten. Da das Scheduling, insbesondere die Parallelisierung, ausschließlich vom Compiler durchgeführt wird, sind durchdachte Algorithmen notwendig um die zur Verfügung stehenden Ressourcen effizient zu nutzen. Software pipelining ist eine Technik um ILP in Basic-Block-Schleifen zu erhöhen, indem die Ausführung von aufeinanderfolgenden Iterationen überlappt wird. Die Software-Pipelining-Heuristik, die wir für die LLVM Compiler-Infrastruktur implementiert haben, heißt swing modulo scheduling (SMS). SMS erzeugt dichte Schedules und schafft es die Anzahl der nötigen Register und die Compile-Zeit niedrig zu halten. Very long instruction word (VLIW) processors exploit instruction level parallelism (ILP) to reduce the execution time of programs by issuing multiple operations in parallel. Since scheduling---especially parallelization---has to be done entirely by the compiler sophisticated algorithms are necessary to utilize the available resources efficiently. Software pipelining is a scheduling technique to increase the ILP in basic block loops by overlapping the execution of consecutive iterations. The software pipelining heuristic we implemented for the LLVM compiler infrastructure is called swing modulo scheduling (SMS). SMS creates dense schedules while keeping register pressure and compile time low. |
URI: | https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-25657 http://hdl.handle.net/20.500.12708/12397 |
Library ID: | AC05038908 | Organisation: | E185 - Institut für Computersprachen | Publication Type: | Thesis Hochschulschrift |
Appears in Collections: | Thesis |
Files in this item:
File | Description | Size | Format | |
---|---|---|---|---|
Software Pipelining in a C-Compiler.pdf | 521.64 kB | Adobe PDF | ![]() View/Open |
Page view(s)
19
checked on Feb 21, 2021
Download(s)
58
checked on Feb 21, 2021

Google ScholarTM
Check
Items in reposiTUm are protected by copyright, with all rights reserved, unless otherwise indicated.