Network-on-Chip basierende Laufzeitsysteme für dynamisch rekonfigurierbare Hardware Ronald Hecht Institut für Mikroelektrotechnik und Datentechnik Universität Rostock
Überblick Xilinx Virtex2-Pro Betriebssystem Network-on-Chip Schichtenmodell Prototyp
Xilinx Virtex2-Pro PowerPC Linux ICAP Spaltenweise dynamisch rekonfigurierbar Signalintegrität durch Busmakros
FPGA Floorplan Dynamisch rekon- figurierbare Tiles Ladbare IPCores Verwaltung durch Linux auf PowerPC Rekonfiguration mit ICAP Interconnect?
Betriebssystemelemente Verwaltung von IPCores Verwaltung der Tiles Laden der IPCores Device Drivers Informationen zur Steuerung?
Anforderungen an die Kommunikationsstruktur Dezentral Fehlertolerant Feste physikalische Schnittstellen Einheitliche plattformunabhängige Kommunikationsmechanismen Quality of Service Automatisiertes Laden von IPCores
Network on Chip Sicheres Hinzufügen und Entfernen von IPCores zur Laufzeit Wie bei Computernetzwerken Vereinheitlichte Kommunikation Heterogene Prozesse IPCore in Hardware als auch in Software High-Level Kommunikation Message Passing Remote Procedure Call Distributed Shared Memory
Network on Chip Elemente
Network on Chip – Layout Virtex2-Pro20 PowerPC mit Linux 1D-Netzwerk 3 NoC-Switches 2 Tiles BlockRAMs in Switches und Tiles Reconfig 1Reconfig 2 Switch 2 Switch 0 ICAP Switch 1 PowerPC NoC
NoC Protokoll Stack
Bitübertragungsschicht Phys. Leitungen Synchronisation Daten-Flit Breite Busse sind on-Chip effektiver Bei aktuellen FPGAs beschränkt auf Bit
NoC Routing Anforderungen: Schnell Frei von Deadlocks Deterministisch bezüglich Latenz und Durchsatz Statische Adressierung? Einfache schnelle Routing-Algorithmen Logische Dynamische Adressierung? Verschiebung von IPCores
Logische und physikalische Adressierung Physikalische geographische Adressen auf Sicherungsschicht Schnelles und deterministisches Switching Logische Adressen auf Vermittlungsschicht Verschiebbare IPCores
Sicherungsschicht – NOCDL Framing, Fehlererkennung Physikalische geographische Adressen Schnelles, deterministisches xy-Wormhole-Routing Layer 2 Switches DSTSRCPRIOTYPEDATAFCS
Vermittlungsschicht – NOCP Logische Adressierung Abstraktion des NoC Topologieunabhängig Routing, QoS Umsetzung logische/geographische Adressen SRCDSTQoSLENPROTDATA
Distributed NoCs Verteilte rekonf. Rechensysteme Mehrstufige Adressierung NoC Adresse : IPCore Adresse
NoC Management – NOCMP Echo Routing-Tables Umsetzung logische/physikalische Addresse Statistics + Flusskontrolle Steuerung des IPCore-Schedulers Automatisiertes Laden von IPCores TYPECODEDATA
NoC Transportschicht Signale Verbindungsorientiert Verbindungslos Portkonzept
NoC Implementierung Output Buffers Look-up Tables Port Buffers Signaling Function Reconfig Interface
Prototyp 1D-Switch + Vermittlungsschicht 6 BlockRAMs,340 Slices 120 MHz PowerPC mit Debian Linux
Zusammenfassung und Ausblick Dezentrale Hardware-Architektur Physikalische Adressierung Logische Adressierung Verteilte rekonfigurierbare Systeme Software-Schnittstelle Betriebssystemerweiterungen
IPCore Signaling – NOCSP Interrupt vom OS zum IPCore Acknowledge vom IPCore Ermitteln und Senden des Kontexts Wiederherstellung und Start