Bearbeitung von Medienformaten

Grafikprozessor statt DSP

20. April 2012, 9:51 Uhr | Zeljko Loncaric
© congatec

Embedded-Computing-Aufgaben werden in allen Applikationen immer anspruchsvoller. Prozessoren müssen flexibel und individuell anpassbar sein, um verschiedenste Mediensignale und Datenformate wie JPEG, MP3 oder MPEG2 zu kodieren oder dekodieren. Je nach Anforderung stehen verschiedene Prozessortypen für den Einsatz zur Verfügung. Neuere »x86«-Bausteine mit integriertem Grafikprozessor können eine interessante Alternative zu DSPs sein.

Diesen Artikel anhören

Längst ist neben einer hohen generischen, zumeist seriellen Rechenleistung der CPUs auch zusätzliche, dedizierte, oft parallele Performance zur Verarbeitung komplexer Algorithmen gefragt: Sei es für die En- oder Decodierung von hochauflösenden Videos, die Verarbeitung von Rohdaten, beispielsweise bei der industriellen Bildverarbeitung, oder komplexe vektorielle Berechnungen in bildgebenden Diag-noseverfahren in der Medizintechnik.

Sollen diese Aufgaben über ein x86er Design abgearbeitet werden, war bisher eine hohe Rechenleistung mit hohen Taktfrequenzen nötig, was zwangsweise hohe Verlustleistung in Form von Wärme zur Folge hatte. Die Multicore-Bausteine sowie ständige Effizienzsteigerungen der Prozessortechnologie können dieses Problem zwar etwas mildern. Dennoch bleibt die Tatsache, dass die Taktrate schneller Prozessoren allein nicht alle Anforderungen erfüllen kann.

Benötigt wird beispielsweise hohe 3D-Leistung für ansprechende Animationen und Visualisierungen sowie eine flüssige Wiedergabe von HD-Inhalten. Der Grafikcore muss die CPU auch beim Dekodieren von HD-Videos entlasten, was beispielsweise im Bereich der Medizintechnik (4D-Ultraschall oder -Endoskopie) wie auch Infotainment-Applikationen von Bedeutung ist. Je näher die Embedded-Applikationen am Bereich der Unterhaltungselektronik angesiedelt sind, desto höher ist die Erwartungshaltung des Anwenders.

passend zum Thema

Bild 1: Architektur der »Embedded G-Series« von AMD
Bild 1: Architektur der »Embedded G-Series« von AMD
© congatec

Deshalb hat der Prozessorhersteller AMD mit der Plattform »embedded G-Series« sowohl eine CPU als auch eine GPU (Graphics Processing Unit) auf einem Die vereint (Bild 1). Diese ist zum Beispiel auf einer Serie von Computer-on-Modules von congatec verbaut (siehe Kasten »AMDs Fusion-Prozessoren auf Boards von congatec«). Anwendern steht damit eine leistungsfähige Grafikeinheit mit einer breit skalierbaren Prozessorperformance zur Verfügung. Dieses von AMD »APU« (Accelerated Processing Unit) genannte System kombiniert die serielle Rechenleistung der Prozessor-Cores mit der parallelen Rechenleistung der Grafikkarte.

Das bedeutet, dass auch die bisher vorhandene softwaretechnische Aufgabenteilung von Prozessor und Grafikeinheit verschmilzt. Einfach ausgedrückt kann die Grafikeinheit die Prozessor-Cores bei parallelen Aufgaben entlasten und somit die Gesamtperformance des Systems weit über das bisher Mögliche erhöhen.
Die bei congatec verbauten AMD-Prozessoren reichen von sparsamen Singlecore-Varianten mit 1,2 GHz bis hin zur Dualcore-Version mit 2 x 1,6 GHz. Damit deckt die Prozessorplattform rund 80 Prozent aller Applikationsanforderungen im Embedded-Markt ab. Um das Performance-Spektrum auf bekannte Maßstäbe herunterzubrechen, kann man auch sagen: Die »embedded G-Series« ist für Lösungen vom Anforderungsprofil eines »Atom«-Prozessors bis hin zur Dualcore-Performance eines »Core i5« von Intel skalierbar.

Mehr als nur Grafik

Getrieben vom Consumer-Markt hat die Leistungsfähigkeit der Grafik-Cores ständig zugenommen. Insbesondere die 3D-Darstellung virtueller Welten hat die Spezialisierung der Grafikkarten auf höchste parallele Rechenkapazität vorangetrieben. Aufgrund der Vielfalt der Grafikdaten wie Berechnung von Texturen, Volumina und 3D-Modelling für Kollisionsabfragen sowie Vertex-Shader für Geometrieberechnungen sind die Funktionen nicht mehr fest in Hardware gegossen, sondern lassen sich frei programmieren. Damit bieten moderne Grafikeinheiten ein flexibles Leistungspotenzial, das enorm ist. Dieses Möglichkeiten lassen sich mittels der sogenannten GPGPU (General Purpose Graphics Processing Unit) nicht nur für die Grafikberechnung und Darstellung, sondern auch für die Datenverarbeitung nutzen. Beispielsweise bei der Berechnung von 3D/4D-Ultraschallbildern in der Medizin, bei der Gesichtserkennung im Bereich Security, bei der Bildverarbeitung in industriellen Applikationen oder aber bei der Ver- und Entschlüsselung von Daten.

Bestimmte Datenformen beispielsweise von Sensoren, Messköpfen, Transceivern oder Videokameras lassen sich mit dedizierten Processing-Cores effizienter und schneller verarbeiten als mit der generischen, seriellen Rechenleistung von x86er Prozessoren. Denn bei GPGPU ist es unerheblich, ob die Daten rein virtuell von Programmcode erzeugt werden oder aber von externen Quellen zugeliefert werden. Es spricht also einiges dafür, CPU und GPU in einer APU (Accelerated Processing Unit) zu vereinen, um daraus ein noch stärkeres Team zu bilden.

Davon können beispielsweise 4D-Anwendungen profitieren. Dabei ist die vierte Dimension die Bewegung beziehungsweise die zeitliche Veränderung der dreidimensionalen Darstellung. Eine typische 4D-Aufgabenstellung in der Medizintechnik ist dabei die Färbung und Schärfung von Graustufen-Informationen bei Ultraschallbildern. Bei der Magnet-resonanz- und der Röntgentomografie ist es die Färbung von Komponenten mit identischer Dichte.

Richtig anspruchsvoll wird es dann bei Echtzeitanforderungen (Realtime-Movies). Die ganzen Koordinatentransformationen müssen innerhalb von 1/25 Sekunde (40 ms) abgeschlossen sein, damit kein Ruckeln in der Betrachtung der Bewegtbilder entsteht. Das funktioniert nur mit einer dedizierten Hardware beziehungsweise jetzt auch mit AMDs GPGPU-Lösung, in der sich die eigenen Algorithmen implementieren lassen. Eine bisherige übliche Alternative dazu waren FPGAs beispielsweise ab »Spartan-6« von Xilinx. Bei diesen werden die Algorithmen als diskrete Logik implementiert, was aber sehr unflexibel und teuer ist.

CPU-Performance nicht mehr entscheidend

Nicht CPU-, sondern APU-Performance ist entscheidend. Damit müssen sich OEMs und Anwender jedoch von der Marketingaussage »herausragende CPU-Performance« verabschieden, denn nicht mehr nur die CPU definiert die Rechenleistung, sondern auch die Grafikeinheit spielt eine entscheidende Rolle. Abseits von der reinen Grafikdarstellung wird diese bereits in Massenapplikationen genutzt, beispielsweise in Filteralgorithmen von Bildbearbeitungsprogrammen wie »Photoshop«, Programmen zum Encodieren und Konvertieren von Videodaten sowie bei Adobes »Flashplayer«.

Doch mussten Entwickler bislang damit kämpfen, dass sich traditionelle CPU-Architekturen und Programmierwerkzeuge nur sehr bedingt für vektororientierte Datenmodelle mit parallelen Multi-Threads eigneten. Mit AMDs »Fusion«-Technologie ist diese Hürde überwunden. Über einfach zu nutzende APIs wie beispielsweise »DirectCompute« von Microsoft oder OpenCL, welche die Fusion-Technologie unterstützt, können Applikationsentwickler die Leistungsfähigkeit der Grafikcores der APU effizient für verschiedenste Aufgaben abseits der eigentlichen Bilddarstellung nutzen. Voraussetzung ist allerdings, dass der Grafikcore dies auch unterstützt. Und die »embedded G-Series«-Plattform ist laut Hersteller die erste integrierte Embedded-Grafik, die genau dies tut. Der Chiphersteller bietet dafür bereits SDKs (Software Development Kits) an, was den Einstieg in die neue Art der Datenverarbeitung vereinfacht.

Bild 2: Bei der »Fusion«-GPU von AMD lassen sich die Grafik-Engines flexibel einsetzen und für unterschiedliche Aufgaben aufteilen
Bild 2: Bei der »Fusion«-GPU von AMD lassen sich die Grafik-Engines flexibel einsetzen und für unterschiedliche Aufgaben aufteilen
© congatec

Eine GPU deckt einen bestimmten Anwendungsbereich in der Signalverarbeitung ab. Auch wenn es weniger Grafik-Engines sind als bei einem digitalen Signalprozessor, überzeugt die GPU durch die Reprogrammierbarkeit. Die einzelnen Engines lassen sich flexibel einsetzen und für unterschiedliche Aufgaben aufteilen (Bild 2).

Beispielsweise können dann parallel 30 Engines für die Fast-Fourier-Transformation (FFT), 40 En-gines für JPG und weitere 50 der je nach GPU insgesamt 300 möglichen Engines für die MPEG2-Kodierung eingesetzt werden. Eine GPU ist dadurch für den spezifischen Aufgabenbereich effizienter als ein DSP.

Generell passen für GPUs Anwendungen mit eher weniger Daten und einfachen Algorithmen, damit das System und der Memory-Bus nicht überlastet werden. Ein klassischer DSP kommt häufig für kleinere Anwendungen zum Einsatz, zum Beispiel bei der kontinuierlichen Bearbeitung von digitalen Audio- oder Videosignalen. Unterschieden wird hauptsächlich zwischen Gleitkomma- und Festkomma-DSPs. Ein digitaler Signalprozessor ist dabei für diese eine Operation optimiert, massiv parallelisiert und erreicht eine hohe Ausführungsgeschwindigkeit. Anwendungen wären zum Beispiel Mischpulte zur Klangbeeinflussung, Festplatten oder Frequenzweiche für Lautsprecher.

Zukünftig werden GPGPUs der klassischen Aufgabe eines digitalen Signalprozessors noch näher kommen können. Klar ist aber auch, dass eine GPGPU eine reine DSP-Anwendung nicht ersetzen wird. Eine GPGPU wird eine digitale Signalverarbeitung nur ausführen, wenn die Applikation typische computerunterstützende Merkmale trägt.

Über den Autor:

Zeljko Loncaric ist Marketing-Ingenieur bei congatec.

AMDs »Fusion«-Prozessoren auf Boards von congatec
Das »conga-QAF« im Qseven-Format von congatec, ausgestattet mit der »Fusion«-Plattform von AMD, ist prädestiniert für mobile und kompakte Anwendungen. Es ist erhältlich mit der Dualcore-Prozessorvariante »G-T40E« mit 1,0 GHz und 6,4 W Verlustleistung und in der Singlecore-Version »G-T40R« mit 1,0 GHz und 5,5 W Verlustleistung sowie mit bis zu 4 GByte DDR3-Speicher auf dem Modul. Der integrierte Grafikcore mit dem »Universal Video Decoder 3.0« für die flüssige Verarbeitung von Bluerays mit HDCP (1080p), MPEG-2, HD und DivX (MPEG-4) unterstützt DirectX 11 und OpenGL 4.0 für eine schnelle 2D- und 3D-Bilddarstellung sowie OpenGL 1.1. An Grafikschnittstellen werden LVDS sowie DisplayPort oder HDMI unterstützt. Das conga-QAF mit seinen Abmessungen von 70 mm x 70 mm verwendet den »Fusion«-Controller Hub »Hudson-E1« und stellt eine Zwei-Chip-Lösung mit vollständigem Featuresatz dar. Differenzielle Schnittstellen wie PCI Express und SATA stehen zur Verfügung. Außerdem werden 8x USB 2.0, 2x SATA 3.0, 1x SDIO, 4x PCIe 2.0 sowie LPC- und I2C-Bus, Gigabit-Ethernet und High-Definition-Audio unterstützt. OEMs können damit auf Basis einer einzigen Prozessorarchitektur ihr komplettes Produktspektrum umsetzen, unabhängig für welches Segment. Dies reduziert nicht nur Entwicklungskosten und -zeit, sondern es vereinfacht darüber hinaus auch das Management der Lieferkette (Supply Chain) sowie des Lebenszyklus´(Lifecycle) und die damit verbundenen Kosten. OEMs und Entwickler, die am liebsten die Core-Computing-Komponenten ohne großen Designaufwand direkt einsetzen und ihr Supply-Chain-Management mit möglichst flexiblen COTS-Plattformen (Commerial Off The Shelf) weiter optimieren möchten, empfiehlt sich der Einsatz von Computer-on-Modules.

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu congatec AG

Weitere Artikel zu SBCs / CPU-Boards / CoM / SoM

Weitere Artikel zu Medizinelektronik