Arbeitsgebiete

Das Fachgebiet Rechnerarchitektur führt Forschungen in den Gebieten parallele Rechnerarchitekturen, Spezialprozessoren und konfigurierbare Prozessoren durch. Die momentanen Forschungsaktivitäten lassen sich in drei Themenbereiche untergliedern. Ein Schwerpunkt der Arbeiten befasst sich mit massiv-parallelen Rechenmodellen und deren Hardware- und Software-Unterstützung. Dies betrifft die Bereiche Global Cellular Automata sowie Multi- und Many-Core-Architekturen. Ein anderer Schwerpunkt befasst sich mit Multi-Agenten-Systemen auf dem massiv-parallelen Rechenmodell des Zellularautomaten. Daneben werden am Fachgebiet  neue Multi- und Many-Core-Architekturen und deren Einsatz für parallele Algorithmen untersucht.

Die Arbeitsgebiete des Fachgebiets Rechnerarchitektur liegen im Bereich der Hardware (Struktur und Funktionsweise von Rechnersystemen,  Rechnerarchitekturen) und im Übergangsbereich von der Hardware zur Software (virtuelle Rechnerarchitekturen, Bereitstellung von Schnittstellen für die Software). Insbesondere arbeiten wir an innovativen massiv-parallelen Rechenmodellen und deren Umsetzung in effiziente Hardware-Architekturen. Eine Liste der Veröffentlichungen unserer Arbeitsgruppe zu diesen Themen finden Sie unter Publikationen.

Frühere Forschungsprojekte

Auf den folgenden Seiten sind frühere Forschungsprojekte und deren Ergebnisse beschrieben.

Allgemeines zur massiv-parallelen Verarbeitung

Viele Anwendungen sind inhärent parallel. Um diese Parallelität auszunutzen, setzt man üblicherweise Mehrprozessorsysteme oder vernetzte Rechner ein. Abgesehen von dem hohen Hardware- und Softwareaufwand, stößt dieses Konzept an seine Grenzen, wenn eine hohe Kommunikation zwischen den Teilprozessen stattfinden muß. Hier werden massiv-parallele Verarbeitungsmodelle benötigt, die eine direkte hardwareunterstützte Kommunikation beinhalten. Der parallele Algorithmus wird also nicht künstlich in kommunizierende Prozesse zerlegt, sondern in seiner Gesamtheit parallel implementiert.

Massiv-parallele Verarbeitungsmodelle sind z.B. der Zellularautomat (CA) und der von uns definierte Globale Zellularautomat (GCA). Unser Ziel ist es, (1) spezielle Hardware-Architekturen zu entwickeln, die solche Verarbeitungsmodelle effizient unterstützen und (2)  Software-Entwicklungsumgebungen anzubieten, die es dem Anwender erlaubt, seine Probleme einfach zu formulieren und zu simulieren, und (3) Compiler und Synthesewerkzeuge zu entwickeln, die eine effiziente Abbildung in die Spezialarchitekturen realisieren.

Anwendungen für den CA sind solche mit lokalen Nachbarschaftsbeziehungen wie Feldberechnungen, Gittergasmodelle, Wachstumsmodelle, Partikelbewegungen, Strömungsvorgänge, Logiksimulation, Numerische Algorithmen, Routing-Probleme, Bildverarbeitung, Genetische und Neuronale Algorithmen.

Anwendungen für den GCA scheinen nach unseren bisherigen Untersuchungen keinen Beschränkungen zu unterliegen, und sind deshalb universell einsetzbar. Parallele Algorithmen, wie z.B. das parallele Sortieren, lassen sich unmittelbar auf dieses Modell abbilden. Durch die Entwicklung einer geeigneten Hardware-Architektur wir die Effizienz dieses Modells nachweisen.

In dem Beitrag zum thema Forschung TUD Hardware-Unterstützung für eingebettete Hochleistungsanwendungen sind weitere einführende Informationen über den CA , GCA und die Zellulare Beschreibungssprache CDL zu finden. Diesen Beitrag finden Sie als PDF-Dokument hier.

Was bedeutet Rechnerarchitektur?

 [Foster]:  ... the art of designing a machine that will be a pleasure to work with ...

 [Dictionary of Architecture and Construction]: architecture is the art and science of designing building structures in keeping with aesthetic and functional criteria.

 [Amdahl, Blaauw and Brooks]: The term architecture is used to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior, as distinct from the organization and data flow and control, the logical design and the physical implementation.

 [Stone]: The study of computer architecture is the study of the organization and interconnection of components of computer systems. Computer architects construct computer from basic building blocks such as memories, arthmetic units and buses.  From these building blocks the computer architect can construct any one of a number of different types of computers...

Zu unterscheiden ist die Außenarchitektur von der Innenarchitektur eines Rechnersystems. Mit der Außenarchitektur ist die Wirkung der Schnittstelle nach außen gemeint. Mit der Innenarchitektur ist die Sicht von der Schnittstelle nach innen gemeint, nämlich die Implementierung der Schnittstelle durch eine Gliederung in Funktionseinheiten und deren Zusammenspiel, insbesondere unter logischen Gesichtspunkten.

Eine zentrale Rolle spielt der Maschinenbefehlssatz als Schnittstelle. Hierbei geht es um die Definition eines anwendungsfreundlichen, leistungsfähigen aber gleichzeitig effizienten implementierbaren Rechenmodells. Hierbei gewinnen zunehmend parallele Rechenmodelle an Bedeutung.

Im engeren Sinne ist mit dem Begriff Mikroarchitektur die Implementierung eines Maschinenbefehlssatzes gemeint, im weiteren Sinne ist die Implementierung eines Mikroprozessors oder eines komplexen Systems auf dem Chip (SOC, System on a chip) gemeint.

Der Begriff Rechnerarchitektur umfaßt aber nicht nur Schnittstellen, die durch feste Logik implementiert sind, sondern auch solche, die durch Firmware (weiche Logik) implementiert sind. Firmware kann z. B. durch ein Mikroprogramm, einen konfigurierbaren Logikbaustein (FPGA) oder ein fest eingebautes Maschinenprogramm realisiert sein.

In der Rechnerarchitektur werden oftmals zwei Ebenen betrachtet: Auf einer mikroprogrammierbaren Maschine wird ein Maschinenbefehlssatz durch ein Interpreter-Mikroprogramm realisiert. Auf einer Maschine wird eine virtuelle Maschine (z.B. JAVA Virtual Machine) durch ein Interpreter-Maschinenprogramm realisiert. Auf einer konfigurierbaren Maschine wird durch Laden eines Konfigurationsprogramms eine spezielle Architektur realisiert. Auf einem verteilten Rechnersystem mit getrennten Speichern wird durch spezielle Hardware und Software dem Benutzer ein einziges Rechnersystem mit zentralem Speicher vorgespiegelt. In diesem Zusammenhang spricht man von einer virtuellen Rechnerarchitektur, die erst durch den Einsatz von Firmware und einer Laufzeit-Umgebung ihr gewünschtes Verhalten erlangt.

A A A | Drucken Drucken | Impressum Impressum | Sitemap Sitemap | Suche Suche | Kontakt Kontakt | Webseitenanalyse: Mehr Informationen
zum Seitenanfangzum Seitenanfang