15 Rekonfigurierbare Prozessoren 1
Inhalt Vorhandene Architekturen Rekonfigurierbare Systeme Rekonfigurierbare Hardware Rekonfigurierbarer Instruction Set Processor CRISP 2
DSP Processor Spec FU Spec FU Main L2 L1 Specialized Code Spec FU Spec FU High performance Specialized, parallel FU Low power Specialiced code Limits operator combinations Only those available that are needed for the application Power down not used FUs For interactive multimedia Specialization can not be changed Not enough FUs 3
VLIW Processors Main CONSUMPPTION L2 L1 FU FU FU FU High performance Parallel FUs High power Non specialized FUs Wide program memory All operator combinations possible Power down not used FUs For interactive multimedia To much power and bandwidth needed for program memory Not enough FUs 4
Reconfigurable Systems Systems which allow to execute different types of algorithms on differen types of processing hardware that canbeadaptedto thetypeof thealgorithm. Als Architekturen kommen in Betracht z.b.: FPGA-basierte Architekturen, rekonfigurierbare Datenpfade auf der Register/Transfer- Ebene, Prozessoren mit konfigurierbarem Instruktionssatz und dynamisch rekonfigurierbare Netzwerke. 5
Konfiguration Konfiguration: Das System wird für eine spezielle Aufgabe konfiguriert, in dem man es aus vorhandenen Komponenten zusammensetzt. Man spricht auch von einem sog. plattformbasierten Entwurf, wenn eine bestehende Plattform (Architektur und Werkzeuge) Ausgangspunkt des Entwurfs eines neuen Systems sind. Spezialisierung erfolgt durch angepasste Auswahl aus einer Vielfalt existierender Komponenten und Werkzeuge, so dass sich der Entwicklungsaufwand auf nur wenige neu zu implementierende Funktionen und Komponenten reduziert. Konfiguration erfolgt zur Entwurfszeit (Compilezeit) (engl. (CTR) - compile-time reconfiguration). 6
Rekonfiguration Rekonfiguration: Von Rekonfigurierbarkeit spricht man, wenn ein System auch nach dem Entwurf noch angepasst werden kann, also mehrfach konfiguriert werden kann. Zum Beispiel erlaubt die Implementierung einer Funktion in Software die Änderbarkeit gegenüber einer Hardwareimplementierung noch nach der Inbetriebnahme. Man spricht von partieller Rekonfigurierbarkeit, wenn die Konfigurierbarkeit nur Teile des Systems betrifft. 7
Dynamische Rekonfiguration Dynamische Rekonfiguration: Von dynamischer Rekonfiguration spricht man schließlich, wenn die Fähigkeit zur Rekonfiguration während des Betriebs, also zur Laufzeit, ein integraler Bestandteil der Funktionalität eines Systems ist. Man spricht auch von Rekonfiguration zur Laufzeit (engl. (RTR) - run-time reconfiguration). 8
Anwendungsgebiete Als zentrale Anwendungsgebiete gelten vor allem: Bereiche der Automobiltechnik (ausfallsichere Systeme), der Signal- und Bildverarbeitung (hohe Rechenleistung) sowie der Kryptographie (z.b. Elliptische Kurven- Kryptochips), und insbesondere auch der Bereich des Mobile Computing 9
Abstraktionsebenen Rekonfigurierbarkeit ist mit unterschiedlicher Hardware denkbar. Dazu gehören neue SoC-Architekturen, Multiprozessorsysteme, FPGA-basierte Co-Prozessoren und neue, nicht FPGA-basierte Ansätze für hochdynamisches Rekonfigurieren. 10
Rekonfigurierbare Hardware Rekonfigurierbare Hardware passt sich dem Bedarf an, indem Hardware-Komponenten dynamisch verschaltet werden, um gezielt bestimmte, sich wechselnde Funktionen zu erbringen. Z.B wird beim Software Defined Funk eine neue Hardware-Konfiguration über die Luftschnittstelle geladen, so dass sich das Gerät an neue lokale Übertragungsstandards anpassen kann. 11
Reconfigurable Processors reconfigurable processor = microprocessor + reconfigurable logic advantage increase flexibility maintain high specialization types attached reconfigurable logic system-on-programmable-chip 12
13
Adaptierbarer Chip 14
Weiche Hardware Die Zukunft gehört der weichen Hardware. Weiche Hardware braucht keine Software mehr wie die herkömmliche harte Hardware, weiche Hardware braucht Configware. Weiche Hardware ist Flexware. Die Konfiguration der Chips wird der jeweiligen Aufgabe optimal angepaßt und sozusagen in die Anwendungsprogramme hinein integriert. 15
Weiche Hardware Ein sogenannter Konfigurations-Kode (Configware) ändert ständig - oder zu bestimmten, gewünschten Zeiten - die Art und Weise, wie die Bauteile des Chips miteinander verschaltet sind. In Bruchsteilen von Sekunden wird die Logik, die Rechen-Intelligenz des Chips, neu konfiguriert. Ebenso schnell ändert sich die Verdrahtung, welche durch Transistoren immer wieder zu neuen Strukturen verknüpft wird. 16
Weiche Hardware Das kann man sich vielleicht wie einen Riesen- Rangierbahnhof vorstellen, wo gleichzeitig Hunderte von Waggons oder gar Zügen hindurch laufen. Und die Programmierung besteht darin, dass man die Weichen stellt. Dies wird durch Configware bewirkt und diese wird intern in Speicherelementen abgelegt, die dann die Stellung der jeweiligen Weichen [Transistoren] festhalten für eine längere Zeit. 17
Intellectual Property Mit den rekonfigurierbaren Cores bleibt ein SoC selbst nach der Fertigung während des gesamten Produktzyklus programmierbar. Das bedeutet, dass System-OEMs ihr Know-how über Systemapplikationen nicht außer Haus geben müssen. IP: Intellectual Property Geistiges Eigentum 18
Hardware 19
Kiviat Diagramm 20
Reconfigurable Logic reconfigurable logic interface host processor local memory host memory 21
ASIP / ASIC / FPGA / Reconfigurable processor = microprocessor + reconfigurable logic ASIC: application-specific integrated circuit non-programmable low power / high performance high design cost, OK for huge volumes ASP / ASIP: application-specific processor (at design time) configurable low power / high performance high design cost, OK for application domains FPGA: field programmable gate arrays reconfigurable logic glue logic / prototyping / several modules on chip 22
ASIC / FPGA 23
Architektur 24
FPGA Field Programmable Gate Array collection of programmable gates connected in a flexible interconnect network look-up tables LUT K-LUT = K-input lookup table 2-LUT In Out 00 0 01 1 10 1 11 0 25
FPGA floorplan interconnect I/O cell logic block 26
Progammierbare Verbindungen SRAM Speichertechnik 27
28
FPGA users buy or develop IP-blocks and integrate them on a single chip multipliers DSP blocks I/O interfaces Ethernet, IrDA, USB, peripherals timers, counters, 29
Attached Reconfigurable Logic Download cable Input reconfigurable Voltage switcheslogicregulator interface host processor local memory FPGA host memory Output LEDs 30
Systemintegration Verschiedene Weisen, auf die eine rekonfigurierbare Komponente (RC) in ein adaptives Rechensystem integriert werden kann. 31
Example FPGA System 32
Integration with system components 33
FPGA The two main development steps are: Development of the algorithm Integration with the remaining system components interfaces 34
Trends in reconfigurable computing platform - FPGA embedded RAM blocks embedded multipliers embedded processors hardcore PowerPC (Xilinx) ARM, MIPS (Altera) softcore MicroBlaze (Xilinx) NIOS (Altera) partial reconfiguration 35
Future? Reconfigurable Instruction Set Processor (RISP) Fetch Decode Configuration Controller Issue Integer Floating Point Branch Load/ Store Reconfigurable Functional Unit Writeback 36
What is a Reconfigurable Instruction Set Processor? Instruction set of the processor can be changed from one application to another Enabled by Memory Based Decoders (Mikroprgram) Instruction Set A Instruction Set B n bits Change the Decoder Memory n bits Decoder Memory Decoder Memory m bits m bits To Function Units/interconnect To Function Units/interconnect 37