DFG Schwerpunktprogramm Rekonfigurierbare Rechensysteme Anschlusskolloquium in Tübingen, 28./29.04.2005 Dynamisch rekonfigurierbare Prozessoren für Mobilfunksysteme Dipl.-Ing. Heiko Hinkelmann, (Dr.-Ing. Thilo Pionteck) Institut für Datentechnik Karlstrasse 15, 64283 Darmstadt
Übersicht Motivation 1. Projektphase: Dynamisch rekonfigurierbare Prozessoren für die Sicherungsschicht in WLANs 2. Projektphase: Dynamisch rekonfigurierbare Systeme für funkbasierte Sensornetze 1/20
Motivation Wozu rekonfigurierbare Prozessoren im Mobilfunkbereich? Nachteile handelsüblicher Realisierungen: Software benötigt hohe Taktraten» Hoher Leistungsverbrauch» Problematisch bei mobilen Geräten Hardware, Software + Hardwarebeschleuniger Mangelnde Flexibilität» sobald sich Spezifikationen ändern wird ein Redesign erforderlich Rekonfigurierbare Prozessoren Hohe Flexibilität + Leistungsfähigkeit Prozessor: Realisierung kontrollflussdominierter Aufgaben Rekonfigurierbare Hardware: Beschleunigung rechenintensiver, datenflussdominierter Aufgaben 2/20
Motivation Betrachtetes Anwendungsgebiet: WLAN verschiedene konkurrierende Standards (Hiperlan2, IEEE 802.11) Ähnlichkeit auf der Bitübertragungsschicht Unterschiede liegen vor allem in der Sicherungsschicht häufige Änderungen und Erweiterungen (IEEE 802.11e / f / h / i ) Entwurf einer rekonfigurierbaren Architektur für die Sicherungsschicht in WLANs Unterstützung verschiedener Standards Multi-Standard-Realisierung Fähigkeit, Änderungen und Erweiterungen zu folgen Integration in einen RISC Prozessor als rekonfigurierbare Funktionseinheit (RFU) 3/20
Realisierung der RFU Einschränkung der Rekonfigurationsmöglichkeiten Auswahl geeigneter Funktionsgruppen: Powermanagement Flusskontrolle Software Kanalzugriffsverfahren Quality of Service Verschlüsselung Fehlererkennung Hardware Fehlerkorrektur grob-granulare, funktionsspezifische Architektur höhere Effizienz geringerer Aufwand für dynamische Rekonfiguration 4/20
Realisierung der RFU Blockdiagramm und Datenpfad der RFU: Spezifische Module zur Verschlüsselung und Fehlerkorrektur Speicherzugangsmodul zur Entlastung des Prozessors Arithmetische Komponenten (Galois-Feld Multiplizierer) Common- Resource- Speicherkomponenten (LUTs) Block Fehlererkennungs- und -korrekturmodul 32 32 Speicherzugang LUT-Modul arithmetische Komponenten 32 Kryptographiemodul Zugang zum Datenspeicher Konfigurationssteuerung 5/20
Realisierung der RFU Kryptographiemodul Eingabe Optimiert bezüglich Flächenbedarf key expansion Pro Takt wird ein State bearbeitet Schlüsselgenerierung in mehreren Runden erste Runde for i=2 to Nr Pipelining innerhalb einer Runde AddRound Key SubBytes ShiftRows MixColumns AddRound Key SubBytes ShiftRows AddRound Key round key(0) round key(i) round key(nr) round key(nr) round key(i) round key(0) AddRound Key InvSubBytes InvShiftRows AddRound Key InvMixColumns InvSubBytes InvShiftRows AddRound Key erste Runde for i=2 to Nr Ausgabe Common-Resource-Block (Inv)MixColumn Klartext/ Chiffretext Schlüssel 32 32 (Inv)SubByte (Inv)ShiftRow 32 Schlüsselgenerator Common-Resource- Block Chiffretext/ Klartext 6/20
Realisierung der RFU Fehlererkennungs- und -korrekturmodul Block A: Chien-Suche, Euklidischer Algorithmus, Syndromberechnung, Erzeugung von RS-Codes, Kodierung/Dekodierung von CRC-Codes Block B: Chien-Suche, Euklidischer Algorithmus, Forney-Algorithmus von Zelle n-1 0 M11 serial_input add n M12 Reg2 n M13 Reg1 n 0 0 Common-Resource-Block RFU-Kontrolllogik quot quot M14 GFMult M17 enc_input 0 LUT M16 i σ '( α ) Block A...Zelle A1 Zelle A 2 Zelle A15 Zelle A* 16 Kontrolllogik Block A zu Zelle n+1 8 8 XOR-Netzwerk Ausgabemodul 8 32 M21 Reg3 n M25 quot M22 von Zelle n-1 Zelle B 1 Zelle B 2 Zelle B 9 Block B... 0 GFMult 0 M24 Reg4 n 0 M23 Reg5 n zu Zelle n+1 7/20
Realisierung der RFU Konfigurationssteuerung Programmiereinheit Steuersignal der RFU externer Konfigurationsspeicher Konfigurationsvektor 32 32 64 39 Tab_Const1.. Tab_Var1. Ablaufsteuerung 7 3 Tab1. 5. Tab_Var2. Tab_Const2 Konfigurationstabellen Befehlswort Steuersignale zur Kontrolle der Prozessorpipeline config_vector = Tab_Var[tab_sel][Tab1[i][7...3]]&Tab_Const[tab_sel] 8/20
Integration der RFU in einen Prozessor Einbindung als Funktionseinheit IF Direkte Integration in eine 5-stufige Prozessorpipeline stall signals Steuerung über spezifische Instruktionen Erweiterung des Befehlssatzes Entwurf einer Speicherschnittstelle Entlastung des Prozessors Erhöhte Effizienz durch parallele Nutzung von RFU und ALU Config. Memory Main Memory Configuration Control Configuration Tables memory access RFU ALU ID EX Pipeline Control Logic Effizientes Auslagern von Funktionen auf die RFU einzelne Befehle... regfile ME WB... komplette Funktionen 9/20
Integration der RFU in einen Prozessor Integration der RFU in den LEON2-Prozessor Syntheseergebnisse: 0,25µm 1P5M CMOS Technologie Flächenersparnis gegenüber Referenzarchitektur Referenzentwürfe Modul Freq. [MHz] Fläche (normiert) CRC Kodierer/Dekodierer 205 9,9 RS Kodierer 209 11,4 RS Dekodierer 59 95,0 AES Kodierer/Dekodierer 305 54,8 Summe - 171,1 LEON-2-Testsystem Modul Freq. [MHz] Fläche (normiert) RFU 86 117,9 Konfigurationssteuerung 260 26,8 Ablaufsteuerung 101 3,1 Datenpfad 86 88,0 LEON-2-Prozessor 86 32,6 Gesamtsystem 82 158,2 (Flächenwerte normiert auf die Größe eines 8-Bit Multiplizierers ohne Pipeline) 10/20
Leistungsdaten der RFU Leistungsvergleich zwischen RFU und Software bei gleicher Taktrate Anwendung RFU Softwarelösung [Mbps] Faktor [Mbps] Faktor RS(255,239) Kodierung 565,7 46,4 12,2 1 RS(255,239) Dekodierung 308,1 33,1 9,3 1 CRC Kod./Dekod. 2.624,0 167,1 15,7 1 AES 128 Verschlüsselung 164,0 10,3 15,9 1 AES 128 Dekodierung 143,7 9,6 15,0 1 Implementierung eines Kommunikationsprotokolls auf dem LEON2-System in enger Anlehnung an den IEEE Std. 802.11 Simulationen zeigen die Praxistauglichkeit der Architektur Nachteil: keine Interrupt-Unterstützung in der RFU 11/20
Zusammenfassung der 1. Projektphase Entwurf einer rekonfigurierbaren Architektur für die Sicherungsschicht in WLANs Funktionsspezifische Architektur Effiziente Konfigurationssteuerung zur dynamischen Rekonfiguration Integration als Funktionseinheit in einen RISC Prozessor Flächenersparnis gegenüber vergleichbarer Hardwarelösung Bessere Performance als Softwarelösung Praxistaugliches Konzept: Datenraten ausreichend für WLAN Erfolgreiche Verwendung der RFU in Protokollsoftware Multi-Standard-Realisierung: IEEE 802.11 IEEE 802.11i Hiperlan2 Fehlererkennung CRC-32 CRC-24, CRC-16 Verschlüsselung AES DES (z.z. in Arbeit) 12/20
Weiterführende Forschungsarbeiten Forschungsziele für die 2. Projektphase Ausweitung des betrachteten Funktionsspektrums zuerst Sicherungsschicht + Bitübertragungsschicht später auch Einbeziehung der übrigen Schichten Cross-Layer Ansätze Entwurf einer anwendungsspezifischen Systemlösung Vertiefung der Untersuchungen dynamischer Rekonfiguration Effiziente Nutzung der Hardware durch häufige dynamische Rekonfiguration Untersuchung verschiedener Rekonfigurationsverfahren Vertiefung der Integrationskonzepte Verbesserung der Interrupt-Unterstützung engere Betrachtung von Software und rekonfigurierbarer Hardware 13/20
Funkbasierte Sensornetze Neues Anwendungsgebiet: Funkbasierte Sensornetze einzelne Sensorknoten können per Funk miteinander kommunizieren Vernetzung zu einem Ad-Hoc-Netzwerk 14/20
Funkbasierte Sensornetze Sensorknoten Anforderungen: geringe Größe niedrige Datenraten lange Lebensdauer keine etablierten Standards IEEE 802.15.4, Zigbee viele weitere Protokolle Entwurfskriterien: Hohe Energieeffizienz Hohe Flexibilität Moderate Taktraten Geringe Chipfläche Vorteile dynamisch rekonfigurierbarer Hardware Wiederverwendung begrenzter Hardwareressourcen für unterschiedlichste Aufgaben Energieeinsparungen gegenüber reiner Softwarelösung Dennoch hohe Flexibilität 15/20
Untersuchung dynamischer Rekonfiguration Implementierung der gesamten Anwendung auf einem System meist sequentielle Abarbeitung der erforderlichen Funktionen in Software oder rekonfigurierbarer Hardware häufige dynamische Rekonfiguration erforderlich möglich aufgrund niedriger Datenraten rekonfigurierbare Hardware erlaubt jedoch auch parallele Ausführung einiger Funktionen z.b. für längerfristig aktive Zustandsfunktionen (Kanalzugriffsverfahren) Daten Daten 16/20
Untersuchung dynamischer Rekonfiguration Implementierung der gesamten Anwendung auf einem System Auswirkungen auf die Struktur der rekonfigurierbaren Hardware? Granularität: fein / grob / heterogen? Verbindungsstrukturen? Integration von Speicherkomponenten? kein häufiges Umkopieren von Daten Ideale Voraussetzungen für die Realisierung von Cross-Layer- Optimierungen spezielle Unterstützung bereits beim Systementwurf Realisierung einer separaten generischen Sensorschnittstelle mittels rekonfigurierbarer Hardware Gewinn gegenüber konventionellen Lösungen? 17/20
Untersuchung dynamischer Rekonfiguration Untersuchung von Rekonfigurationsmethoden Analyse und Klassifizierung bestehender Verfahren aus Industrie und Forschung Ableiten charakteristischer Parameter Analyse des Entwurfsraums Programmierbarkeit / Rekonfigurierbarkeit mehrstufige Rekonfiguration Erstellung von Modellen und Entwurfsrichtlinien Entwurf eigener Rekonfigurationsmethoden rekonfigurierbare Konfigurationsnetze 18/20
Software-Integration Erfolgreiche Realisierung eines funktionsfähigen Gesamtsystems erfordert geeignete Software Echtzeit-Betriebssystem Anpassung an zugrundeliegende Hardware Berücksichtigung der Rekonfiguration Rahmen für Integration von Funktionen einfaches Hinzufügen oder Entfernen Realisierung entweder in SW oder durch rekonfigurierbare HW Softwarelösung dient gleichzeitig als Testsystem und Referenz 19/20
Ausblick Analyse Anforderungen Rekonfigurationsmethoden Entwurf eines dynamisch rekonfigurierbaren Sensorknotens Software-bezogener Systementwurf Hardware-bezogener Systementwurf Realisierung ausgewählter Funktionsgruppen Prototyping Kooperationen? 20/20
Publikationen Heiko Hinkelmann, Thilo Pionteck, Oliver Kleine, Manfred Glesner: Prozessorintegration und Speicheranbindung dynamisch rekonfigurierbarer Funktionseinheiten. In 18th International Conference on Architecture of Computing Systems (ARCS), Workshop on Dynamically Reconfigurable Systems, März 2005. M. Glesner, H. Hinkelmann, T. Hollstein, L. Indrusiak, T. Murgan, A. Obeid, M. Petrov, T. Pionteck, P. Zipf: Reconfigurable Embedded Systems: An Application-Oriented Perspective on Architectures and Design Techniques. In Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS), July 2005 Thilo Pionteck, Thorsten Staake, Thorsten Stiefmeier, Lukusa D. Kabulepa, Manfred Glesner: Design of a Reconfigurable AES Encryption/Decryption Engine for Mobile Terminals. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS), May 2004. Manfred Glesner, Thomas Hollstein, Leandro Soares Indrusiak, Peter Zipf, Thilo Pionteck, Mihail Petrov, Heiko Zimmer, Tudor Murgan: Reconfigurable Platforms for Ubiquitous Computing. In Proceedings of the first Conference on Computing Frontiers, 2004. Thilo Pionteck, Thomas Stiefmeier, Thorsten Staakte, Lukusa D. Kabulepa und Manfred Glesner: Integration dynamisch rekonfigurierbarer Funktionseinheiten in Prozessoren. In: 17th International Conference on Architecture of Computing Systems (ARCS), Workshop on Dynamically Reconfigurable Systems, März 2004. Thilo Pionteck, Thorsten Staake, Thomas Stiefmeier, Lukusa D. Kabulepa, and Manfred Glesner: On the Design of a Function-Specific Reconfigurable Hardware Accelerator for the MAC-Layer in WLANs. In Proceeding of the 2004 ACM/SIGDA 12th International Symposium on Field Programmable Gate Arrays (FPGA), 2004. Thilo Pionteck, Lukusa D. Kabulepa, Clemens Schlachta, and Manfred Glesner: Reconfiguration Requirements for High Speed Wireless Communicatio Systems. Proceedings of IEEE International Conference on Field-Programmable Technology (FPT), December 2003. Thilo Pionteck, Thomas Stiefmeier, Thorsten R. Staake, and Manfred Glesner: A Dynamically Reconfigurable Function-Unit for Error Detection and Correction in Mobile Terminals. In 14th International Conference on Field-Programmable Logic and Applications (FPL), 2004.
Vielen Dank