Optimierung von Maschinenprogrammen



Moderne Mikroprozessoren stellen eine Reihe von Anforderungen an die Eigenschaften von Maschinenprogrammen, damit diese effizient abgearbeitet werden können. Bei den zunehmend an Bedeutung gewinnenden superskalaren Prozessoren steht dabei die Auslastung einer immer größeren Anzahl von Verarbeitungseinheiten im Vordergrund. Um die dazu notwendige Parallelität auf Befehlsebene nutzbar zu machen, werden in einem Übersetzer eine Reihe von Programmtransformationen durchgeführt, die ein gegebenes Programm in ein semantisch äquivalentes mit geringerer Ausführungszeit umwandeln.

Das Seminar beschäftigt sich im wesentlichen mit den Techniken des lokalen und globalen Instruction Scheduling und des Software Pipelining. Parallel dazu wird die Abbildung auf spezielle Architektur- und Implementierungsmerkmale von Prozessoren betrachtet. An dieser Stelle soll auf die Bedeutung der Sichtweise von Prozessor und Übersetzer als ein System eingegangen werden.

Das Seminar richtet sich an Studierende im Hauptstudium Informatik (Diplom). Kenntnisse auf den Gebieten Übersetzerbau/Programmiersprachen und Rechnerarchitektur sind hilfreich, aber nicht Voraussetzung.

Zielgruppe: Studierende im Hauptstudium ab 5. Semester