Fakultät für Elektrotechnik Professur für Technische Informatik Helmut Schmidt Universität/ Universität der Bundeswehr Hamburg Plazierung von unterschiedlich großen Komponenten in gleich große rekonfigurierbare Flächen unter Berücksichtigung der Signallaufzeiten 1 von 14
Grundidee Rechner der Zukunft Prozessor... Prozessor FPGA Besch Besch Prozessor Hauptspeicher Beschleuniger Besch Prozessor Beschleuniger Komponente 2 von 14
Anwendungsbereiche Bildbearbeitung Videobearbeitung Simulation physikalischer Phänomene Kryptographie Computerspiele 3 von 14
Grundprobleme Rechner der Zukunft Prozessor... Prozessor FPGA Besch Besch Prozessor Hauptspeicher Beschleuniger Granularitätsproblem Rekonfiguration von vielen unterschiedlich großen Komponenten zur Laufzeit Intra FPGA Vernetzung 4 von 14
Granularitätsproblem FPGA reconf Module Small CPU (PIC/ATmega) reconf Module CPU (A,MIPS) Problem Die Wahl der richtigen Partitionsgröße bei der Laufzeitrekonfiguration reconf Module reconf Module graue Boxen Endlicher Automat Verwendeter Platz innerhalb eines Modules 5 von 14
Granularitätsproblem - Grouping Solution CPU Core Idee Aufteilung in Gruppen von Modulen nach Größe CPU Core Endlicher Automat einfache boolsche Funktion 6 von 14
Granularitätsproblem - Granularity Solution CPU1 Core f 1 (B) f 2 (B) Idee Aufteilung in viele gleichgroße s mit identischer Signal Schnittstelle Endlicher Automat CPU2 Core einfache boolsche Funktion Laufzeitrekonfigurierbare Fläche 7 von 14
Beispiel Implementierung IOB IOB IOB Crossbar Switch Configurable Entity Block = laufzeitrekonfigurierbare Partition Input/Output Block 8 von 14
Beispiel Implementierung Uplink FPGA - reconfiguration plattform Ethernet/ Uart reconfiguration Module ICAP OCSN Switch OCSN Switch IOB OCSN Switch IOB Downlink Ethernet/ Uart Crossbar Switch IOB Input/Output Block Plazierung von Configurable unterschiedlich Entity großen Block Komponenten = in gleich große OCSN rekonfigurierbare OnChip Switching Flächen Network 8 von 14
Beispiel Plazierung: kleine CPU Fetch 0 Ctrl 1 0 ALU 1 Plazierung eines einfachen Prozessors mit Hilfe der Signallaufzeit-Matrix CSN 0 CSN 1 RegF 3 Dec 2 3 2 0 1 0 1 3 CSN 2 CSN 3 2 3 2 Fetch Ctrl RegF Dec ALU Läd Instruktionen aus dem RAM Steuerwerk des Prozessors Registersatz des Prozessors Dekodiert die Instruktionen Arithmetische und Logische Berechnungen 9 von 14
Signallaufzeit-Matrix 0-0 0-1 0-2 0-3 1-0 1-1 1-2 1-3 2-0 2-1 2-2 2-3 3-0 3-1 3-2 3-3 0-0 2.36 5.61 5.34 5.07 7.75 8.58 9.61 10.82 8.70 10.41 9.41 8.25 10.33 9.82 9.65 9.65 0-1 5.72 2.90 7.37 6.32 9.28 10.11 11.14 12.35 9.74 11.45 10.45 9.29 11.37 10.85 10.69 11.37 0-2 5.32 7.22 3.07 5.82 7.46 8.29 9.32 10.53 8.24 9.94 8.94 7.78 9.86 9.35 9.19 9.86 0-3 5.05 6.19 5.85 2.31 9.12 9.95 10.98 12.18 8.43 10.14 9.14 7.97 10.06 9.54 9.38 10.05 1-0 7.57 9.36 7.39 8.19 1.83 4.15 5.25 5.46 10.42 12.12 11.12 9.96 9.62 9.13 8.89 9.70 1-1 8,63 10.62 8.65 9.45 4.60 2.39 1.86 1.91 11.68 13.38 12.38 11.22 10.32 9.83 9.60 10.40 1-2 10.00 11.80 9.82 10.62 5.50 6.65 3.15 6.05 12.85 14.56 13.56 12.40 10.76 10.27 10.04 10.84 1-3 10.68 12.47 12.47 11.30 5.40 6.48 5.74 2.70 13.53 15.23 14.24 13.07 10.50 10.01 9.78 10.58 2-0 8.86 9.79 8.43 8.60 10.72 11.51 12.90 13.90 1.87 5.22 6.04 4.62 9.45 8.78 8.32 9.25 2-1 10.56 11.49 10.13 10.31 12.43 13.22 14.60 15.61 5.22 3.01 6.16 5.45 10.04 9.38 8.91 9.85 2-2 9.38 10.31 8.95 9.12 11.24 12.03 13.42 14.43 5.86 5.99 2.44 1.33 9.08 8.42 7.95 8.89 2-3 8.34 9.26 7.90 8.08 10.20 10.99 12.38 13.38 4.55 5.38 6.07 2.63 9.38 8.72 8.25 9.19 3-0 10.06 10.99 9.63 9.80 9.96 10.21 10.86 10.92 9.50 10.09 9.31 9.51 3.24 6.19 6.10 6.03 3-1 9.46 10.39 9.03 9.21 9.54 9.79 10,43 10.50 8.91 9.50 8.72 8.92 6.26 3.00 4.67 5.84 3-2 8.60 9.53 8.17 8.35 8.92 9.17 9.82 9.88 8.04 8.63 7.85 8.05 5.78 4.28 2.17 4.67 3-3 9.81 10.74 9.38 9.55 10.00 10.24 10.89 10.96 9.25 9.84 9.06 9.26 5.98 5.72 4.95 2.70 Tabelle: Matrix der Signallaufzeiten für alle s in ns Configurable Entity Block = laufzeitrekonfigurierbare Partition 10 von 14
CSN - Taktraten CSN- Clk s (MHz) Clk c (MHz) 0 135 67 1 150 75 2 162 81 3 159 79 Tabelle: Maximale Taktraten über einen Switch Clk s Clk c Takt bei Schaltwerken Takt bei Schaltnetzen mit 5ns als pessimistische Signallaufzeit durch das Schaltnetz 11 von 14
Floorplan der Beispiel Implementierung 0 1 0 1 CSN 0 CSN 1 3 2 3 2 0 1 0 1 CSN 2 CSN 3 3 2 3 2 Gelb CSN 0 Rot CSN 1 Grün CSN 2 Lila CSN 3 Hellblau belegte rekonfigurierbare Fläche 12 von 14
Ausblick Zukünftiges Forschungsziel: einfache Integration von FPGAs ins General-Purpose Computing Nutzung von FPGA Resourcen ähnlich wie USB Geräte Anweder kann FPGAs ohne Know-How nutzen 13 von 14
Danke Vielen Dank für Ihre Aufmerksamkeit! 14 von 14