Sprungmarken

Servicenavigation

Hauptnavigation


Sie sind hier:

Home Lehre Lehrveranstaltungen WS 2007/2008 Compiler für Eingebettete Systeme

Bereichsnavigation

Hauptinhalt

Compiler für Eingebettete Systeme (WS 2007/2008)

Termine der Vorlesung

Donnerstags, 14.00 - 15.30
Otto-Hahn-Straße 14, Raum 104

Übungen

Zu dieser Vorlesung werden (leider) keine Übungsgruppen angeboten.

Evaluation

Diese Vorlesung gewinnt den Lehrer-Lämpel-Pokal im WS 2007/2008:   Thumbnail of LLP Thumbnail of LLP

Kontakt

Dr. Heiko Falk
Lehrstuhl Informatik 12
Entwurfsautomatisierung für Eingebettete Systeme
Technische Universität Dortmund

Über die Vorlesung

Die Bedeutung Eingebetteter Systeme steigt von Jahr zu Jahr. Innerhalb Eingebetteter Systeme steigt der Software-Anteil, der auf Prozessoren ausgeführt wird, aufgrund geringerer Kosten und höherer Flexibilität ebenso kontinuierlich. Wegen der besonderen Einsatzgebiete Eingebetteter Systeme kommen hier hochgradig spezialisierte Prozessoren zum Einsatz, die applikationsspezifisch auf ihr jeweiliges Einsatzgebiet ausgerichtet sind. So werden z.B. oft Digitale Signalprozessoren, Netzwerk-Prozessoren oder Prozessoren mit Parallelverarbeitung auf Instruktionsebene eingesetzt.

Diese hochgradig spezialisierten Prozessoren stellen hohe Anforderungen an einen Compiler, der Code von hoher Qualität z.B. hinsichtlich Laufzeit oder Energieverbrauch generieren soll. Die Vorlesung soll

  • den Einsatz von Compilern in den Entwicklungsprozeß Eingebetteter Systeme einordnen,
  • Struktur und Aufbau derartiger Compiler aufzeigen,
  • interne Zwischendarstellungen auf verschiedenen Abstraktionsniveaus einführen, und hauptsächlich
  • Problemstellungen und Optimierungstechniken in allen Phasen des Compilers erläutern.

Das Schwergewicht der Veranstaltung liegt klar auf dem letzten obigen Punkt. Aufgrund der hohen an Compiler für Eingebettete Systeme gestellten Anforderungen sind effektive Optimierungen unerlässlich. Hier soll bspw. darauf eingegangen werden

  • welche Arten von Optimierungen es auf Quellcode-Niveau gibt,
  • wie der eigentliche Übersetzungsvorgang von der Quellsprache nach Assembler vorgenommen wird,
  • wie hochgradig spezialisierte Befehlssätze in der Code-Generierung durch Optimierungstechniken ausgenutzt werden können,
  • welche Arten von Optimierungen auf Assembler-Niveau durchzuführen sind,
  • wie die Registerallokation vonstatten geht, und
  • wie Speicherhierarchien effizient ausgenutzt werden.

Da Compiler für Eingebettete Systeme oft verschiedene Zielfunktionen optimieren sollen (z.B. durchschnittliche oder worst-case Laufzeit, Energieverbrauch, Code-Größe), soll der Einfluß von Optimierungstechniken auf diese verschiedenen Zielfunktionen deutlich gemacht werden.

Diese Vorlesung ist für die Master-Studiengänge Informatik der TU Dortmund in dem Modul INF-MSc-410 beschrieben.