Digitale Signalprozessoren

Wege zu echter Multicore-Tauglichkeit

Seite: 3/3

Firmen zum Thema

Wird diese Software korrekt implementiert, macht sie den Chip für die Applikationsentwickler vollständig verfügbar und rüstet ihn für die Produktion. Auf der Basis dieses Multicore-SoC realisieren die Anbieter ein Entwicklungs-Ecosystem, um Hilfestellung bei der Applikationsentwicklung, dem Test und dem Leiterplattendesign zu leisten.

Für die Entwickler wird die Multicore-Lösung zu einer Herausforderung, sobald es an das Schreiben des Codes für die Multicore-Umgebung geht. Dies gilt insbesondere dann, wenn der Applikations-Code skalierbar, d.h. für große und kleine Geräte geeignet sein soll. Die Hardware muss dann ebenso wie die Software über ein ganzes Spektrum von Bausteinen skaliert werden können, deren Core-Anzahl und Beschleuniger-Bestückung stark variieren kann.

Bildergalerie

Multicore-Software für Multicore-Bausteine

Angesichts der Komplexität der Software und der wechselnden Verarbeitungselemente der Multicore-SoCs ist es ein Glücksfall, dass es inzwischen „Hardware Facilitated Software“ gibt. Neue und für ein einfacheres Design von Multicore-Software ausgelegte Hardware ist mittlerweile in die neueste Generation von Multicore-Bausteinen eingebettet. Diese Hardware ermöglicht das automatische Skalieren der Software für den Einsatz auf einer ganzen Palette von Bausteinen, die aus einer gemeinsamen Architektur hergeleitet sind.

Die Nutzung hardwaregestützter Software ist möglich, wenn die Software nicht als ein großer monolithischer Block angelegt ist, sondern sich vielmehr aus einer Vielzahl kleiner Tasks zusammensetzt, und wenn die Hardware für ein autonomes Management dieser Tasks konzipiert ist. Ein innovatives Konzept, diese Herausforderung zu bewältigen, bedient sich groß angelegter Hardware-Warteschlangen. Diese sind mit Funktions-Deskriptoren verknüpft, die die benötigten Verarbeitungsressourcen in allgemeiner Form identifizieren.

Es wird also nur generell formuliert, dass beispielsweise DSP- oder FFT-Funktionalität benötigt wird, anstatt speziell den DSP-Core 2 zu referenzieren. Eine Task und ihre Daten werden also in die Warteschlange gelegt, von wo aus die Hardware die Verarbeitung autonom koordiniert. Der Wechsel von einem 2-Core-SoC auf ein 8-Core-SoC erfordert somit keine Änderungen an der Software, denn das Queuing- und Deskriptor-System koordiniert diesen Wechsel automatisch.

Umfangreich und flexibel: Das Softwarekonzept

Bestehende und neue Applikationen werden nach einer unterschiedlichen Nutzung der Verarbeitungselemente und Cores verlangen. Während einige Anwendungen die einzelnen Cores jeweils für sich nutzen werden, können andere Applikationen ein Verarbeitungselement als Master definieren, dem die anderen Elemente als Slave untergeordnet sind. Als dritte Variante können alle Verarbeitungselemente als gleichrangige Instanzen behandelt werden, denen die Tasks dynamisch zugewiesen werden. Einige Applikationen werden den Baustein außerdem möglicherweise – mithilfe von Standards wie OpenCL oder OpenMP – als High-Performance-Computer-Engine (HPC) nutzen wollen.

Um diesen vielfältigen Applikationsanforderungen zu entsprechen, benötigen die Designer ein Entwicklungs-Toolkit, das die grundlegende Software, die Entwicklungswerkzeuge und ein Betriebssystem für die verschiedensten Anwendungen umfasst. Die Entwicklung dieses Toolkits sollte mit den Fortschritten bei den Halbleiterbausteinen verzahnt werden, um einen optimierten Zugriff auf die Verarbeitungs-Cores, die Beschleuniger und die mehreren Konnektivitäts-Ebenen zu gewährleisten, die von den Applikationsentwicklern genutzt werden.

Fortschrittlichere SoC-Entwickler setzen ohnehin bereits auf Eclipse-basierte Tools, die es den einzelnen Entwicklern der Kunden erlauben, sich ihre Entwicklungsumgebung auf eigene persönliche Vorlieben zuzuschneiden. Eclipse-basierte Tools verbinden die besten Merkmale einer offenen Entwicklungsplattform mit den Optimierungen, die im Idealfall vom Halbleiterentwickler geboten werden.

* * Tom Flanagan ist Director Technical Strategy bei der Multicore and Wireless Base Station Infrastructure Business Unit; Sanjay Bhal ist Strategic Marketing Manager in der Multicore and Media Infrastructure Business Unit; John Warner ist Director Multicore and Media Infrastructure Business Unit, Texas Instruments.

(ID:30587080)