<div class="csl-bib-body">
<div class="csl-entry">Hue, J. (2024). <i>Interprocedural constant loop bound propagation for patmos architecture</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.112348</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2024.112348
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/194726
-
dc.description.abstract
Real-time systems demand not only accurate computation but also strict adherence to temporal constraints. The Patmos processor, designed for real-time applications, supports a code generation technique known as single-path code. This technique ensures that all program executions consistently follow a singular path, independent of runtime events. A crucial aspect of achieving this predictability is the availability of loop bounds during compilation. The correct generation of code relies on knowing the exact number of iterations loops will perform, provided at compile time.To facilitate this, the Patmos compiler provides support for a pragma allowing developers to specify the lower and upper bounds of loops directly in C code. This information is then utilized to generate single-path code, guaranteeing loop iterations occur precisely as defined. However, a challenge arises when loop bounds are contingent upon function arguments. In such cases, loop bound pragmas are rendered ineffective due to their inability to accommodate non-constant values, resulting in compilation failures.This master's thesis explores the optimization of real-time systems using the Patmos processor, with a specific focus on addressing the challenge of loop bounds depending on function arguments. The research investigates alternative strategies to circumvent this limitation, aiming to enhance the applicability of single-path code generation in scenarios where loop bounds dynamically depend on runtime parameters. The findings contribute to advancing the capabilities of real-time systems development on the Patmos platform, making it possible to write code that couldn't be handled before.
en
dc.description.abstract
Echtzeitsysteme erfordern nicht nur genaue Berechnungen, sondern auch die strikte Einhaltung zeitlicher Beschränkungen. Der Patmos-Prozessor, der für Echtzeitanwendungen entwickelt wurde, unterstützt eine Technik zur Codegenerierung, die als Single-Path-Code bekannt ist. Diese Technik stellt sicher, dass alle Programmausführungen konsistent einem einzigen Pfad folgen, unabhängig von Laufzeitereignissen. Ein entscheidender Aspekt beim Erreichen dieser Vorhersagbarkeit ist die Verfügbarkeit von Schleifengrenzen während der Kompilierung. Die korrekte Generierung von Code hängt davon ab, dass die genaue Anzahl der Iterationen von Schleifen bekannt ist, die zur Kompilierungszeit Zeit bereitgestellt wird.Um dies zu erleichtern, bietet der Patmos-Compiler Unterstützung für ein Pragma, das es Entwicklern ermöglicht, die unteren und oberen Grenzen von Schleifen direkt im C-Code anzugeben. Diese Informationen werden dann verwendet, um Single-Path-Code zu erzeugen, der garantiert, dass Schleifeniterationen genau wie definiert ablaufen. Eine Herausforderung ergibt sich jedoch, wenn die Schleifengrenzen von Funktionsargumenten abhängen. In solchen fällen werden Schleifenbegrenzungspragmas unwirksam, da sie nicht in der Lage sind nicht konstante Werte zu berücksichtigen, was zu Kompilierungsfehlern führt.Diese Masterarbeit untersucht die Optimierung von Echtzeitsystemen mit dem Patmos-Prozessor und konzentriert sich auf die Herausforderung, dass Schleifengrenzen von Funktionsargumenten abhängen. Die Forschung untersucht alternative Strategien zur Umgehung dieser Einschränkung und zielt darauf ab, die Anwendbarkeit der Single-Path-Code-Generierung in Szenarien zu verbessern, in denen Schleifengrenzen dynamisch von Laufzeitparametern abhängen. Die Ergebnisse tragen dazu bei, die Möglichkeiten der Entwicklung von Echtzeitsystemen auf der Patmos-Plattform zu verbessern, indem sie es ermöglichen, Code zu schreiben, der vorher nicht verarbeitet werden konnte.
de
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
Compilers
en
dc.subject
Program Analysis
en
dc.subject
Optimizatoin
en
dc.subject
Single-path code
en
dc.subject
real-time systems
en
dc.subject
LLVM
en
dc.title
Interprocedural constant loop bound propagation for patmos architecture