Bitte warten...
Bitte warten...
English
Hilfe
Login
Forschungsportal
Suche
Forschungsprofile
Forschungsprojekte
Projektvollmacht
Lehre
Forschung
Organisation
Compiler-Unterstützung für Zeitanalyse
01.07.2006 - 30.06.2009
Forschungsförderungsprojekt
Das Projekt COSTA beschäftigt sich mit der Analyse der Maximalen Programmausführungszeit (WCET) von Eingebetteten Systemen, wobei der Fokus im Speziellen auf der Entwicklung von Compiler-Techniken zur Unterstützung der WCET-Analyse liegt. Ein Compiler hat detailliertes Wissen über ein Programm und die darauf angewendeten Transformationen, was dazu benutzt werden kann, die Verwendbarkeit der WCET-Analysise und die Präzision der berechneten WCET-Schranke zu verbessern. Zur Erreichung dieser Ziele behandeln wir die folgenden zwei Beiträge: 1) Transformation von Fluss-Daten um die WCET-Analyse für optimierten Code zu unterstützen, und 2) eine Codegenerierung welche den Code durch die Vermeidung von Zeitanomalien besser vorhersagbar macht. Um die WCET zu berechnen sind Informationen notwendig, welche erreichbare Programmpfade beschreiben. Wir nehmen an, das solche Information ¿ auch ¿Fluss-Daten¿ genannt ¿ bereits mittels automatischer Berechnung oder manueller Zusicherungen vorliegen. Es ist vorteilhaft wenn solche Fluss-Daten auf einer abstrakten Ebene wie etwa auf Quellcodeebene vorliegen: die automatische Berechnung der Fluss-Daten hat in diesem Fall mehr Programminformation zur Verfügung und bei Verwendung von manueller Zusicherungen ist es wesentlich komfortabler, diese auf der selben Ebene anzugeben, wo man auch das Programm entwickelt. Um jedoch präzise Ergebnisse für einen konkreten Prozessor zu erhalten, muss die WCET-Analyse selbst auf der Ebene des Objektcodes gemacht werden. Innerhalb von COSTA werden wir eine Methode zur Transformation der Fluss-Daten entwickeln, welche die auf Quellcodeebene gesammelten Flussdaten konsistent hält wenn der Compiler während der Kompilierung Codetransformationen durchführt. Vorarbeiten haben gezeigt, dass die Anpassung der Fluss-Daten nicht ohne die Hilfe des Compilers gemacht werden kann. Neben den Fluss-Daten werden auch die Ausführungszeiten von Programminstruktionen benötigt um letztendlich die WCET zu berechnen. Da aber komplexe Prozessoren mit Features wie etwa Pipelining oder Caching kontext-abhängige Instruktionsausführungszeiten haben, ist es eine Herausforderung, diese Instruktionsausführungszeiten zu berechnen. Effekte wie die so genannten ¿Zeitanomalien¿ können auftreten, wobei im Extremfall sogar eine kleine Änderung einer Instruktionsausführungszeit zu einer unbeschrankten Veränderung der Gesamtausführungszeit führen kann. Aus diesem Grunde entwickeln wir als weitere Unterstützung der WCET-Analyse ein Compiler-Modul zur Codegenerierung, welches Instruktionsscheduling zur Vermeidung des potentiellen Auftretens von Zeitanomalien durchführt. Compiler, die eine Unterstützung der WCET-Analyse anbieten, werden dazu beitragen, die Qualität der Analyse zu verbessern sowie die Akzeptanz von WCET-Analysetechniken seitens der Industrie zu erhöhen.
Personen
Projektleiter_in
Raimund Kirner
(E182)
Subprojektleiter_in
Jens Knoop
(E182)
Projektmitarbeiter_innen
Albrecht Kadlec
(E182)
Adrian Prantl
(E182)
Peter Puschner
(E182)
Ingomar Wenzel
(E182)
Institut
E182 - Institut für Technische Informatik
Förderungsmittel
FWF - Österr. Wissenschaftsfonds (National)
Fonds zur Förderung der wissenschaftlichen Forschung (FWF)
Forschungsschwerpunkte
Information and Communication Technology
Schlagwörter
Deutsch
Englisch
Maximale Programmausführungszeit (WCET)
worst-case execution time analysis (WCET)
Flussfakten
flow facts
Compilertechniken
compilation techniques
Zeitanomalien
timing anomalies
Laufzeitmessungen
execution time measurements
Externe Partner_innen
Institut für Computersprachen
Publikationen
Publikationsliste