Ronald Hecht Universität Rostock, Deutschland Internet-on-a-Chip: The Network is the Computer Linux-basierte Middleware für Networks-on-Chip Ronald Hecht Universität Rostock, Deutschland GRK-Workshop Schwarzenhof, November2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Network-on-Chip (NoC) Überblick Trends und Motivation Network-on-Chip (NoC) Anwendungsschicht Entwurfsparadigmen Rekonfigurierbare Hardware Architekturen Virtuelle Hardware Linux Erweiterungen Zusammenfassung Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Mobile Alleskönner Mobiltelefon Messaging Web und e-mail Multimedia Spiele! Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
System-on-Chip (SoC) Mix aus Hardware und Software Viele Systemkomponenten Datenströme Von Neumann Architektur Flaschenhals Systembus Speicher Feste Hardware Große Chipfläche Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Multifunktionalität Skalierbarkeit Dezentralisierung Ziele Kosten Time-to-Market Stromverbrauch Performance Effizienz Programmierbarkeit Multifunktionalität Skalierbarkeit Dezentralisierung Datenstromorientierte Kommunikation Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Network-on-Chip (NoC) Skalierbare on-Chip Kommunikation „Route Packets not Wires“ Dezentralisierung Abstraktion durch Schichtenmodell Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Physical und Data Link Layer Verbindung zwischen benachbarten Routern Verbindung zwischen Router und Ressource Leitungen, Takt und Fehlerkorrektur Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Network Layer Verbindung zwischen entfernten Routern Schnelles, deterministisches Routing durch das Netz Geographische Adressierung Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Transport Layer Punkt-zu-Punkt Verbindung zwischen Ressourcen/Prozessen Verbindungslose und Verbindungsorientierte Dienste Logische Adressierung und Portnummern Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Application Layer Verbindung zwischen Anwendungen Anwendungsprotokoll Audio, Video, Crypto, Networking ... Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Entwurfsparadigmen für NoC-Anwendungen NoC als Ersatz für SoC-Bus Sockets, Netzwerk-Programmierung Message Passing Remote Procedure Call Verteilte Objektsysteme Abstraktion Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
NoC als Ersatz für SoC-Bus Dezentralisierung durch Topologie Programmierung wie bisher (Adressen und Daten) Noch immer von Neumann Speicher ist Flaschenhals Nicht Datenstrom orientiert Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
NoC Sockets Client-Server Architektur Lokaler Speicher Message Passing Datenstromorientierte Kommunikation Dezentralisierung der Datenströme Bessere Lastverteilung im Netzwerk Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Remote Procedure Call Auch in Hardware realisierbar Verfeinerung von Schnittstellen Gleichberechtigung von Hardware und Software Verteilung der Rechenlast Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Objektorientierter Ansatz „Everything is an Object“ IP Cores sind Objekte IP Cores haben Schnittstellen Einsatz von UML Einfache Partitionierung in Hardware und Software Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Remote Method Invocation (RMI) IP Cores kommunizieren über Nachrichten miteinander Automation durch Interface Description Language (IDL) Nachrichtenformat Proxy Skeleton Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Hardware/Software Entwurf Grafischer System-Entwurf Komponenten-basiert Manuelle Partitionierung IDL Compiler Automatische Generierung der HW/SW-Schnittstelle Abbildung auf NoC Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Verteiltes Objektsystem IP Cores sind im NoC verteilt Verteilte Objekte, Entfernte Referenzen Verwendung der Module wird durch Middleware vereinfacht Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Code Beispiel AES Crypto Core // Referenz auf AESCore deklarieren AESCoreRef myAESCore; // Explizites Binden mit AESCore // Lokalisieren des AESCore im NoC myAESCore = AESCore::getInstance(); // Remote Method Invocation myAESCore->setKey(aKey); aCypher = myAESCore->encrypt(aMessage); // Explizites Trennen vom AESCore myAESCore->releaseInstance(); Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Linux-Integration Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
NoC Device Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Dezentralisierung und Verteilung NoC – Zusammenfassung Dezentralisierung und Verteilung Kommunikation Rechenlast Abstraktion der Kommunikation Objektorientierung UML-Entwurf von Hardware und Software Automation durch IDL Vereinfachung Keine Treiber, sondern Anwendungsprotokolle Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Hardware oder Software ? Parallele Verarbeitung – Datenfluss-Dominiert Hohe Effizienz Fest verdrahtet, Für eine Anwendung zugeschnitten Hohe Kosten, Kompliziert, Hohes Risiko Software Sequentielle Verarbeitung – Kontrollfluss-Dominiert Niedrige Effizienz Programmierbar Multifunktional Niedrige Kosten, Geringes Risiko Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Rekonfigurierbare Hardware Field Programmable Gate Arrays (FPGA) Programmierbare Hardware Logik und Verbindungen konfigurierbar Virtueller ASIC Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Hoher Abstraktionsgrad Schneller Entwurfszyklus Geringes Risiko Vorteile Hoher Abstraktionsgrad Schneller Entwurfszyklus Geringes Risiko Hardware-Updates „Bananaware“ Time-to-Market Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Aktuelle FPGAs Mix aus Logik und Leitungen Speicher Prozessoren und Hardmacros Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
FPGAs der Zukunft (Ausblick) Festverdrahtetes NoC Hardmacros im NoC integriert Tiles mit Logik und Speicher I/Os über dem gesamten Chip verteilt Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Partielle dynamische Rekonfiguration Rekonfiguration der Tiles zur Laufzeit Einspielen von Updates Virtuelle Hardware Mehrfachnutzung von Chipfläche Hardware-Swapping Fragestellungen Physikalische Verbindungen Logische Verbindung Relokation Sichern des Zustands Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Betriebsystem für Virtuelle Hardware Verwaltung der rekonfigurierbaren Chipfläche Selbstrekonfiguration Virtualisierung, Vereinfachung Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
NoC und Dynamische Rekonfiguration Feste physikalische Schnittstellen zwischen Tile und NoC Logische Punkt-zu-Punkt Verbindung zwischen Prozessen Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Zur Realisierung von IP Core-Swapping Zwischen Tiles Relokation Zur Realisierung von IP Core-Swapping Zwischen Tiles Zwischen Tiles und Software Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Accelerators und Decelerators Hardware-Implementierung Wird in Tile geladen Schnell Decelerator Software-Implementierung (Emulator) Läuft auf Prozessor Wenn kein Tile (mehr) vorhanden Wenn Beschleunigung nicht nötig ist Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Sichern des Zustands Objektorientierter Ansatz „Serialisieren“ von IP Cores Verpacken der Attribute Nur zwischen atomaren Operationen erlaubt Nicht alle Speicherele-mente des IP Cores Erweiterung der IP Core Schnittstelle Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Verteiltes Objektsystem Erweiterung um Allokation und Deallokation IP Core Loader startet Decelerators Accelerators Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Codebeispiel – Dynamische Rekonfiguration AESCoreRef myAESCore; // Explizites Binden mit AESCore // Initialisieren des Decelerators // Eventuelles Laden des Accelerators myAESCore = AESCore::getInstance(); // Remote Method Invocation myAESCore->setKey(aKey); aCypher = myAESCore->encrypt(aMessage); // Explizites Trennen vom AESCore // Decelerator und Accelerator entfernen myAESCore->releaseInstance(); Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Implizites Binden { AESCoreRef myAESCore; // Implizites Binden mit AESCore // Decelerator und Accelerator laden // Remote Method Invocation myAESCore->setKey(aKey); aCypher = myAESCore->encrypt(aMessage); // Implizites Trennen vom AESCore // Decelerator und Accelerator entfernen } Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
IP Core Scheduler und Dispatcher Faire Zuteilung der Chipfläche Scheduler nutzt Priorität IP Core-Auslastung Netzauslastung Trifft Entscheidungen Dispatcher führt sie aus Laden des Accelerators oder Decelerators Relocation NoC Konfiguration Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Linux Erweiterungen Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Erweiterung des /proc-Dateisystems Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Entwurfsprozess Manuelle Partitionierung IDL-Compiler Decelerator aus Software-Implementierung Accelerator durch Verfeinerung der Implementierung Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock
Verteiltes Objektsystem Hohes Potential zur Automation Zusammenfassung Überblick über NoC-Anwendungsschicht Dynamische Rekonfiguration von Hardware Verteiltes Objektsystem Hohes Potential zur Automation Keine Treiber sondern Anwendungsprotokolle Linux-Integration FPGA-Modell Ronald Hecht, November 2005 Institut für Angewandte Mikroelektronik und Datentechnik, Universität Rostock