HNI Logo
Realtime Multiprozessor SoC
Realtime Multiprozessor SoC

Echtzeit Multiprozessor SoCs für den Einsatz in mobilen Ad-Hoc-Netzwerken

Im Rahmen des Teilprojektes C6 des Sonderforschungsbereichs 376 entwickelte die Fachgruppe Schaltungstechnik in Zusammenarbeit mit der Fachgruppe Algorithmen und Komplexität eine Entwurfsmethodik zur Entwicklung von Multiprozessorsystemen für den Einsatz in mobilen Ad-Hoc-Netzwerken. Als Proof-of-Concept entstand einer der ersten ASIC-Multiprozessoren Detuschlands mit 8 Prozessorkernen und einem neuartigen Network-On-Chip.

Entwurfsmethodik

Paketflussgraph

Die Entwurfsmethodik zeichnet sich durch einen starke Beschleunigung des Entwurfszeitraums aus und besteht aus vier Teilschritten:

  • Simulation
  • Charakterisierung
  • Abbildung
  • Realisierung

In der Simulation wird das auf den Multiprozessor abzubildende Netzwerkprotokoll durch einen Paketflussgraphen beschrieben und im Netzwerksimulator SAHNE simuliert. So lassen sich schon im frühsten Entwurfsstadium Aussagen über Verhalten des verwendeten Protokolls treffen.
Die Charakterisierung des Systems geschieht durch Co-Simulation von Hardware und Software in der PERFMON-Umgebung. Über einen Instruktionssatzsimulator werden die Compilate für die Prozessorkerne des Multiprozessors simuliert und Ausführungszeiten für die einzelnen Methoden des Paketflussgraphen ermittelt. Außerdem kann die Software in einem Prozessor-Subsystem bestehend aus einem Prozessorkern, Hardwarebeschleunigern und Speicher zyklenakurat simuliert werden. Über die Synthese bzw. Simulation auf Gatterebene werden Flächenbedarf und Energieverbrauch bestimmt. Die im Schritt Charakterisierung ermittelten Annotierungsdaten werden im Schritt Abbildung dazu benutzt, die Methoden des Paketflussgraphen der Anwendung auf eine gegebene Multiprozessorarchitektur abzubilden. Dieses geschieht automatisch mit dem „Network Application Mapper – NetAMap“ . Neben der Wahl des Optimierungsziels (minimaler Energieverbrauch, minimale Latenz) lassen sich auch Informationen über die Ressourcenauslastung der Komponenten des Multiprozessors (Verarbeitungseinheiten, NoC) ablesen. Wurde für eine gegebene Anwendung die geeignete Multiprozessor-Architektur gefunden, so besteht der letzte Schritt der Entwurfsmethodik aus der Realisierung des Multiprozessors.

Charakterisierung durch PERFMON (links) und Abbildung durch Net-A-Map (rechts)

Chip Prototyp

Zur Verifizierung der Entwurfsmethodik wurde ein Multiprozessor in 180nm UMC-Standardzellentechnologie gefertigt. Hierbei wurde ein neuartiger Ansatz für das NoC verwendet, der garantierte Latenz und Bandbreiten ermöglicht, ohne die Gesamtperformanz des Netzwerkes herabzusetzen. Der Multiprozessor besteht aus acht Verarbeitungseinheiten ( 32-Bit RISC Prozessor S-Core), die über zwei Switchboxen und das NoC miteinander verbunden sind. Die Außenanbindung erfolgt über zwei physikalische Ports. Um auch die Ausführung von speicherintensiven Anwendungen zu ermöglichen, sind zwei Verarbeitungseinheiten über eine SRAM-Schnittstelle an externen Speicher angeschlossen.

Testumgebung

Tochtermodul für RAPTOR2000

Neben dem Multiprozessor sind auf dem Tochtermodul ein FPGA zur Anbindung des Multiprozessors an das  RAPTOR2000 Motherboard und 32MBit SRAM vorhanden. Über eine Hardwareabstraktionsebene einer Paketverarbeitungsbibliothek von SAHNE kann der Multiprozessor die Paketverarbeitung eines Knotens in der Simulation eines mobilen Ad-hoc-Netzwerks übernehmen. Somit ist die Hardware-Software-Co-Simulation eines realen Knotens in einer virtuellen Umgebung möglich.



Nach oben