Die Vorlesung befasst sich mit der Architektur und Anwendung rekonfigurierbarer und paralleler Rechnersysteme. Rekonfigurierbarkeit bezeichnet die Möglichkeit, Funktionsblöcke und deren Verschaltung zu verändern. Auf diese Weise können die zur Verfügung stehenden Ressourcen an sich ändernde Anforderungsprofile angepasst werden. Behandelt werden zum einen verschiedene Ansätze zur Rekonfiguration und die daraus resultierenden Architekturen. Die Vielfalt der betrachteten Architekturen reicht von feingranularen Architekturen auf der Basis feldprogrammierbarer Gate Array (FPGAs) bis hin zu grobgranularen Architekturen, die es erlauben, komplexe Module, wie z.B. Arithmetikeinheiten, zu verschalten. Von besonderem Interesse sind dabei Verfahren, die eine dynamische, partielle Rekonfiguration ermöglichen. Dynamische Rekonfigurierbarkeit beschreibt die Möglichkeit, ein System während des Betriebs umzukonfigurieren. Kann ein System partiell rekonfiguriert werden, so bedeutet dies, dass seine interne Struktur nur teilweise verändert wird.
Für die Programmierung der Architekturen kommen neben klassischen Entwurfsmethoden auf Basis von Hardwarebeschreibungssprachen auch neue Hochsprachen-basierte Konzepte zum Einsatz. Im Rahmen der Vorlesung und der begleitenden Übung betrachten wir daher neben VHDL insbesondere High-level Synthese (Hardware-Entwurf auf Basis von C-/C++-Beschreibungen) sowie OpenCL-basierte Entwurfsabläufe.
On-Chip-Multiprozessoren (MPSoCs, Multi- oder Manycores) bilden einen weiteren Schwerpunkt der Vorlesung. Hier betrachten wir insbesondere Architekturen, die ihre Leistungsfähigkeit aus hochparallelen Prozessorfeldern beziehen. Der Einsatz von Grafikprozessoren für die Beschleunigung rechenintensiver Applikationen (GPGPU) wird ebenso behandelt, wie neue Universalprozessorarchitekturen mit mehreren hundert Prozessorknoten. Neben den Architekturen diskutieren wir auch die Entwurfsverfahren für die Programmierung rekonfigurierbarer und paralleler Systeme. Einen Schwerpunkt bilden hier automatisierte Werkzeuge, die aus einer Hochsprachenbeschreibung (in der Regel in der Programmiersprache C) voll- oder teilautomatisiert Hardwareimplementierungen für rekonfigurierbare Architekturen oder parallelisierte Umsetzungen für Manycore-Systeme generieren.
Der Besuch der Vorlesung "Digitalelektronik" wird empfohlen
Rhythmus | Tag | Uhrzeit | Format / Ort | Zeitraum |
---|
Modul | Veranstaltung | Leistungen | |
---|---|---|---|
39-M-Inf-RPRS Rekonfigurierbare und parallele Rechnersysteme | Rekonfigurierbare und parallele Rechnersysteme | unbenotete Prüfungsleistung
benotete Prüfungsleistung |
Studieninformation |
Die verbindlichen Modulbeschreibungen enthalten weitere Informationen, auch zu den "Leistungen" und ihren Anforderungen. Sind mehrere "Leistungsformen" möglich, entscheiden die jeweiligen Lehrenden darüber.
Die Vorlesung vermittelt ein vertieftes Verständnis der Eigenschaften und Anforderungen rekonfigurierbarer und paralleler Rechnersysteme. Zudem zeigt sie Methoden zum Einsatz und zur Programmierung der Architekturen auf. Die Studierenden sind nach dem Besuch der Lehrveranstaltung in der Lage, komplexe Anwendungen so zu beschreiben, dass sie effizient auf die betrachteten Systeme umgesetzt werden können und für eine gegebene Anwendung geeignete Architekturvarianten auszuwählen.
Zu dieser Veranstaltung existiert ein Lernraum im E-Learning System. Lehrende können dort Materialien zu dieser Lehrveranstaltung bereitstellen: