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
Frequency | Weekday | Time | Format / Place | Period |
---|
Module | Course | Requirements | |
---|---|---|---|
39-M-Inf-RPRS Rekonfigurierbare und parallele Rechnersysteme | Rekonfigurierbare und parallele Rechnersysteme | Ungraded examination
Graded examination |
Student information |
The binding module descriptions contain further information, including specifications on the "types of assignments" students need to complete. In cases where a module description mentions more than one kind of assignment, the respective member of the teaching staff will decide which task(s) they assign the students.
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.
A corresponding course offer for this course already exists in the e-learning system. Teaching staff can store materials relating to teaching courses there: