CRC (Configurable Reconfigurable Core) Bewertungs- und für prozessorartig rekonfigurierbare Architekturen Dipl. Inform. <oppold@informatik.uni-tuebingen.de> Dipl. Inform. Thomas Schweizer <tschweiz@informatik.uni-tuebingen.de> Dr. Tommy Kuhn <kuhn@informatik.uni-tuebingen.de> Prof. Dr. Wolfgang Rosenstiel <rosenstiel@informatik.uni-tuebingen.de> Universität Wilhelm-Schickard-Institut Zwischenkolloquium DFG-SPP 1148
Gliederung Architektur / Kostenfunktionen 2
Problemstellung Die Vorteile der Rekonfigurierbarkeit sind nur dann nutzbar, wenn sich effizient abbilden lassen. einer bestimmten Anwendungsklasse Architektur Möglichst Möglichst optimale optimale Ausnutzung Ausnutzung der der zur zur Verfügung Verfügung stehenden stehenden Ressourcen Ressourcen Unterschiedliche Unterschiedliche erfordern erfordern unterschiedliche unterschiedliche Architekturen Architekturen Automatisierte Automatisierte Abbildung Abbildung von von Entwurf Entwurf auf auf hohen hohen Abstraktionsebenen Abstraktionsebenen 3
Prozessorartig rekonfigurierbare Hardware Spezialisierung der Prozessor- Architektur verdrahtet Anwendungsspezifischer µp Standard- µp Problemspezifischer µp Anwenderspezifischer µp Zeitliche Abbildung Prozessorartig rekonfigurierbare HW Ausführungszeit Energieverbrauch Flexibilität Markteinführung Konfiguration nach Herstellung Rekonfigurierbare HW Einmalig konfigurierbare HW Fest- Räumliche Abbildung 4
Prozessorartig rekonfigurierbare Hardware Spezialisierung der Prozessor- Architektur Anwenderspezifischer µp Ausführungszeit Energieverbrauch verdrahtet Anwendungsspezifischer µp HW Schritthalten der Rekonfiguration mit der Ausführung Flexibilität Häufiges Rekonfigurieren Markteinführung ist Teil der normalen Ausführung Standard- µp Problemspezifischer µp Zeitliche Abbildung Prozessorartig rekonfigurierbare HW Problemspezifische, räumliche Abbildung Konfiguration nach Herstellung Rekonfigurierbare HW Verschiedenste Probleme nach der Herstellung lösbar Zeit für Rekonfigurieren @ Takt Einmalig konfigurierbare Fest- Räumliche Abbildung 5
Prozessorartig rekonfigurierbare Hardware Spezialisierung der Prozessor- Architektur Problemspezifischer µp Rekonfigurierbare HW Anwenderspezifischer NEC: Dynamically Reconfigurable Processor Architecture (DRP) µp Ausführungszeit verdrahtet PACT: extreme Processor Platform (XPP) Energieverbrauch Anwendungsspezifischer IPFlex: DAP/DNA µp Architecture Flexibilität Morpho Technologies Standard- : Markteinführung reconfigurable DSP (rdsp) µp Zeitliche Abbildung Prozessorartig rekonfigurierbare HW Konfiguration nach Herstellung Einmalig konfigurierbare HW Fest- Räumliche Abbildung 6
CRC-Modell Configurable Reconfigurable Core Veränderbares Modell für prozessorartig rekonfigurierbare Architekturen Funktions- Einheit Konfigurations- Speicher Register-Satz Verbindungsnetzwerk Block- Speicher 7
Vorgehensmodell Iterativer Prozeß, der die drei Aspekte Architektur, und berücksichtigt CRC-Modell einer bestimmten Anwendungsklasse Eingabesprache: C Techniken aus Hardware-Synthese Architektur Anwendungsklassen-spezifische Architektur und 8
CRC- Wähle eine Anwendung aus einer definierten Anwendungsklasse Wähle eine Architekturvariante Wähle eine -Variante Bewerte Ergebnis 9
CRC- Wähle eine Anwendung aus einer definierten Anwendungsklasse Wähle eine Architekturvariante Wähle eine -Variante Bewerte Ergebnis Herstellungskosten Ausführungszeit Energieverbrauch Ausnutzung der Ressourcen 10
CRC- Wähle eine Anwendung aus einer definierten Anwendungsklasse Wähle eine Architekturvariante Wähle eine -Variante Bewerte Ergebnis Herstellungskosten Ausführungszeit Energieverbrauch Ausnutzung der Ressourcen 11
CRC- Wähle eine Anwendung aus einer definierten Anwendungsklasse Wähle eine Architekturvariante Simulation Wähle eine -Variante Bewerte Ergebnis Herstellungskosten Ausführungszeit Energieverbrauch Ausnutzung der Ressourcen 12
CRC- Wähle eine Anwendung aus einer definierten Anwendungsklasse Wähle eine Architekturvariante Wähle eine -Variante Bewerte Ergebnis Herstellungskosten Ausführungszeit Energieverbrauch Ausnutzung der Ressourcen 13
CRC- Wähle eine Anwendung aus einer definierten Anwendungsklasse Wähle eine Architekturvariante Wähle eine -Variante Bewerte Ergebnis -Paar 14
CRC- Wähle eine Anwendung aus einer definierten Anwendungsklasse Wähle eine Architekturvariante Wähle eine -Variante Bewerte Ergebnis -Paar Anwendungsklassen-spezifische Architektur und 15
Anwendung GGT Diffeq Kalman Filter Elliptic Function Fast Fourier Transform Grey Filter RGB-CMYK Viterbi Packet Flow Control JG Matrix Arithmetic Life Bubblesort DES Ray Casting Rijndael Reed-Solomon Referenz HLSynth 92 Benchmark EEMBC- Embedded Microprocessor Benchmark Consortium RAW Benchmark Suite (MIT,1997) DFG-SPP Projekt RAVC 16
Anwendungsklassen GGT Diffeq Anwendung Klasse Kalman Filter Elliptic Function Fast Fourier Transform Kontrollorientierte Grey Filter RGB-CMYK Viterbi Packet Flow Control JG Datenorientierte Matrix Arithmetic Life Bubblesort DES Ray Casting Spezielle Funktionseinheiten von RAVC Rijndael Reed-Solomon Operationen über einem Galois-Feld 17
Stand der Anwendungsentwicklung Anwendung GGT Diffeq Kalman Filter Elliptic Function Fast Fourier Transform Grey Filter RGB-CMYK Stand SimpleC (von uns definiertes C-Subset ohne Zeiger und Systemaufrufe) SystemC (FPGA-Synthese) Viterbi Packet Flow Control JG Matrix Arithmetic Life Bubblesort DES Ray Casting Rijndael Reed-Solomon 18
LANCE Centrum Dortmund Allokation C-Frontend Architekturunabhängige Transformationen/Optimierungen (Auswahl einer Architekturvariante) CADDY Scheduling Bindung Zuweisung von Operationen an Kontexte Zuweisung von Operationen an s FSM- Generierung Steuerung der Kontextwechsel 19
Entwicklungsstand des s LANCE Centrum Dortmund Allokation C-Frontend Architekturunabhängige Transformationen/Optimierungen (Auswahl einer Architekturvariante) CADDY Scheduling List Scheduling Basic Block-Erweiterung: Zuweisung von Operationen an Kontexte Zuweisung von Operationen an Bindung s Extraktion von Parallelität auf Instruktionsebene FSM- durch Steuerung der Kontextwechsel Analyse Generierung des Kontrollflusses Operator Chaining Automatisierter Ablauf C Scheduling 20
Erweiterungen des s DFG-Projekt OASE LANCE Centrum Dortmund Objektorientierte / Multithread- Beschreibungen C-Frontend Architekturunabhängige Transformationen/Optimierungen Allokation (Auswahl einer Architekturvariante) CADDY Scheduling Bindung Zuweisung von Operationen an Kontexte Zuweisung von Operationen an s FSM- Generierung Steuerung der Kontextwechsel Integration in Bindung Verbindungen zwischen den s 21
Kostenfunktionen Idealfall: detaillierte Kostenfunktionen einer geeigneten kommerziellen Architektur, die von uns verändert werden kann Architektur NEC-DRP Fläche, Verzögerungen Geeignet für C-Synthese ja Veränderbar (nein) Verfügbar (ja) PACT-XPP ja nein ja ja QuickSilver ja (nein) ja ja IPFlex ClearSpeed Morpho Technologies??? (nein) (nein) (nein) (nein) (nein) (nein) ja ja? Erstellung eines synthetisierbaren Modells 22
Modul CRC, Typ 1 Submodul Verbindungsnetzwerk, Typ 1 Verbindungsnetzwerk Block- Speicher 23
Modul CRC, Typ 1 Submodul, Typ 1 24
Submodul, Typ 1 Kontext- Speicher FSM FU CLK Modifikation des CRC-Modells entsprechend Register-Satz Register-Satz Daten / Status Daten / Status 25
Zeit für prozessorartiges Rekonfigurieren Kontext- Speicher 3 2,5 2,45 2,36 FSM Verzögerung [ns] 2 1,5 1 1,82 2,07 Synopsys Design 0,13 µm Standardzellen- Bibliothek 0,5 0 4 8 16 32 Anzahl Kontext, Anzahl Zustände 26
Verzögerungen im Vergleich mit FPGAs Virtex-II, Technologie: 0,15 µm (0,12 µm Transistoren) CRC, Technologie: 0,13 µm Standardzellen MULT 16x16 MULT 8x8 2,33 3,48 23,91 34,03 MULT 4x4 1,57 15,44 ADD (CLA) 32 3,25 35,76 ADD (CLA) 16 ADD (CLA) 8 1,96 1,56 0,6 AND 32 0,16 0,6 AND 16 0,23 AND 8 0,6 0,31 14,98 18,08 FU 0 5 10 15 20 25 30 35 40 Verzögerung [ns] 27
Zusammensetzung der Fläche 25.000 20.000 CLK Kontext- Speicher FSM FU Register-Satz Register-Satz Daten Daten / Status / Status Arithmetische/logische Operationen (+, ==, <, AND, OR, NOT, SEL) Multiplizierer (halbe Bit- Breite) Fläche [Gatter] 15.000 10.000 5.000 0 Register (Daten: 12, Status: 12) Multiplexer (Daten: 7, Status: 7) FSM und Kontext- Speicher (Zustände: 16, Kontexte: 16) 8 16 32 Bit-Breite des Datenpfades Konfiguration von aussen (64-Bit Schieberegister) 28
Energieverbrauch 1 : 0,68 mw @ 50 MHz (statische Abschätzung mit Standardwerten für Schaltaktivität) CLK Kontext- Speicher FSM FU Register-Satz Register-Satz Daten / Status Daten / Status Konfiguration von aussen 28% FU 3% Register 11% Multiplexer 19% Kontextspeicher 31% FSM 8% 29
RAVC (Universität, Prof. Dr. Straßer) RAVC CRC: FU für Visual Computing, CRC RAVC: CRC-Modell, AMURHA (Universität Karlsruhe, Prof. Dr. Becker) AMURHA CRC: Kennwerte der HonyComb-Architektur CRC AMURHA:, Architekturbewertung ALadyn (Universität Karlsruhe, Prof. Dr. Müller-Glaser, Prof. Dr. Becker) ALadyn: Online-Scheduling von Hardware-Modulen CRC: Abbildung von Multithread-Beschreibungen (gegen Ende der ersten 2-jährigen Projektphase), Architekturbewertung TU Dresden, Prof. Dr. Merker, Architekturbewertung 30
10/03: Grobe Spezifikation des CRC-Modells 06/04: Erste Implementierung der Werkzeuge und von 10/04: Festlegung der Kostenfunktionen für die Architekturbewertung 03/05: Implementierung der Werkzeuge nach der Verfeinerung des CRC-Modells 06/05: Validierung anhand einer kommerziellen Architektur 07/05: Abschließende Dokumentation 31
Veröffentlichungen T. Oppold, T. Schweizer, T. Kuhn, W. Rosenstiel. A Design Environment for Processor-Like Reconfigurable Hardware. PARELEC, Dresden, September,2004. T. Oppold, T. Schweizer, T. Kuhn, W. Rosenstiel. A New Design Approach for Processor-Like Reconfigurable Hardware. Euro DesignCon, München, Oktober 2004. T. Oppold, T. Schweizer, T. Kuhn, W. Rosenstiel. Cost Functions for the Design of Dynamically Reconfigurable Processor Architectures. SASIMI, Kanazawa, Japan, Oktober 2004 (eingereicht). 32
Gemeinsame Entwicklung von Architektur und in einem iterativen Temporale Partitionierung mit erprobten Techniken durch prozessorartige Rekonfigurierbarkeit Kostenfunktionen durch synthetisierbares CRC-Modell Weiteres Vorgehen: planmäßige Fortsetzung der Forschungsarbeiten mit Schwerpunkt Energieverbrauch 33
CRC (Configurable Reconfigurable Core) Bewertungs- und für prozessorartig rekonfigurierbare Architekturen Kontakt: crc@informatik.uni-tuebingen.de http://www-ti.informatik.uni-tuebingen.de/crc Dipl. Inform. <oppold@informatik.uni-tuebingen.de> Dipl. Inform. Thomas Schweizer <tschweiz@informatik.uni-tuebingen.de> Dr. Tommy Kuhn <kuhn@informatik.uni-tuebingen.de> Prof. Dr. Wolfgang Rosenstiel <rosenstiel@informatik.uni-tuebingen.de> Universität Wilhelm-Schickard-Institut Zwischenkolloquium DFG-SPP 1148