Compilerbau 2

Modulnummer
PI5007
Modulverantwortliche
Hellwig Geisse
Dozenten
  • 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