Compilerbau 2

Modulnummer
PI5007
Modulverantwortlicher
  • Hellwig Geisse
Dozent
  • Hellwig Geisse
  • Jens Mehler
Kurzbeschreibung
Dieser Kurs diskutiert Algorithmen zur Registerallokation, zur Schleifenoptimierung und zum Instruktions-Pipelining und deren Umsetzung in einem konkreten Compiler.
Qualifikations- und Lernziele

Die Studierenden kennen die Anwendung von Graphenalgorithmen im Compilerbau, speziell im Hinblick auf Registerallokation, Schleifenoptimierungen und Pipelining. Diese werden in der Vorlesung erläutert und im Praktikum in Teamarbeit implementiert.

Lerninhalte

Datenflussgleichungen und Liveness, Registerallokation durch Graphenfärbung, Schleifenoptimierungen, Static-Single-Assignment-Form, Pipelining und Instruktions-Scheduling

Moduldauer (Semester)
1
Unterrichtssprache
Deutsch
Gesamtaufwand
6 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
Semesterwochenstunden
4
Lernformen

Vorlesung 2 SWS, Praktikum 2 SWS

Geprüfte Leistung

Prüfungsvorleistung: 1 anerkannte Hausübung

Prüfungsleistung: Klausur oder mündliche Prüfung

(Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben)

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der Prüfungsordnung (Teil I)

Häufigkeit des Angebots
Nach Bedarf
Literatur
  • K. D. Cooper, L. Torczon: Engineering a Compiler Morgan Kaufmann
  • A. W. Appel: Modern Compiler Implementation in Java, Second Edition Cambridge University Press
  • S. S. Muchnick: Advanced Compiler Design & Implementation Morgan Kaufmann
Voraussetzungen
CS1019 Compilerbau