Prof. Dr.-Ing. Frank Kesel, Hochschule Pforzheim
1. Was sind die Vorteile einer Hardwareimplementierung? 2. Verwendung des Zynq-SOCs in einem Embedded System 3. Zu dieser Serie
Die Fortschritte der Halbleitertechnik ermöglichen es heute bei Strukturgrößen von 7 nm mehrere Milliarden von Transistoren auf einem Chip zu integrieren. Dies wiederum führt zur Entwicklung komplexer Prozessorsysteme, einem sogenannten System-On-Chip (SOC), das beispielsweise in Smartphones Verwendung findet. Der Kirin 970-SOC von Huawei integriert beispielsweise vier ARM Cortex-A73 und vier Cortex-A53 64-Bit-Prozessorkerne, eine Graphics Processing Unit (GPU) sowie eine Neural Processing Unit (NPU) und benötigt hierzu etwa 5,5 Milliarden Transistoren auf einer Chipfläche von rund 100 mm2. Als Embedded System wird ein Prozessorsystem bezeichnet, wenn es für den Anwender nicht als solches erkennbar ist und in ein technisches System, wie beispielsweise eine Kaffeemaschine oder ein Kraftfahrzeug, eingebettet ist. Hier werden häufig keine Hochleistungs-SOCs benötigt, sondern dies ist die Domäne von preisgünstigen sogenannten Mikrocontrollern, bei denen etwas einfachere Prozessoren mit Speicher und Peripherieeinheiten auf einem Chip integriert werden. Auch bei den Mikrocontrollern werden sehr häufig Prozessorkerne des Unternehmens ARM verwendet, in der Regel die einfacheren 32-Bit Prozessorkerne der Cortex-M-Serie. Gemeinsam ist diesen Systemen, dass der Anwender dieser Chips die Funktionalität des Systems über die darauf ausgeführte Software definiert, die (digitale) Hardware der Chips ist nicht veränderbar.
Im Gegensatz dazu kann bei programmierbaren Logik-Bausteinen, dem sogenannten Programmable Logic Device (PLD) die digitale Hardware in ihrer Funktion verändert werden. Für die Integration von komplexen Systemen sind insbesondere Field-Programmable Gate-Arrays (FPGAs) geeignet. Den größten Anteil stellen hier SRAM-FPGAs dar, bei denen die Programmierbarkeit durch SRAM-Zellen implementiert wird. Die Unternehmen Altera/Intel und Xilinx sind die beiden großen Anbieter von SRAM-FPGAs. Mit FPGAs wird es möglich, Algorithmen, die auf einem Prozessorsystem in Software implementiert werden, direkt in der programmierbaren Hardware zu implementieren.
Was sind die Vorteile einer Hardwareimplementierung?
Die Software wird auf einem Mikroprozessor durch die Maschinenbefehle sequentiell abgearbeitet. Performance-Steigerungen sind durch höhere Taktfrequenzen, superskalare Prozessorarchitekturen und die Verwendung mehrerer Prozessorkerne möglich – dies alles wird in modernen SOCs auch ausgenutzt. Bei einer Implementierung der Algorithmen in Hardware kann allerdings sehr viel stärker parallelisiert werden und damit auch eine deutlich höhere Performance erreicht werden. Gerade für Signalverarbeitungsalgorithmen sind FPGAs sehr gut geeignet: Ein Xilinx Virtex UltraScale+ FPGA verfügt beispielsweise über knapp 10.000 DSP-Cores, die jeweils eine sogenannte Multiply-Accumulate-Operation durchführen können, so dass es beispielsweise möglich wird, digitale Filter vollständig parallel zu implementieren. Insbesondere auch die Bildverarbeitung profitiert von der Möglichkeit, die Algorithmen stärker parallelisiert in Hardware implementieren zu können.





