spezialisiert

Smart-Chips 2: Die vielen Herzen des nvidia Tegra 2

Zahlreiche Spezialisten für bestimmte Aufgaben
Von

nvidia hatte zur Pressekonferenz extra in ein Theater geladen und beim Eintritt 3D-Brillen an alle Journalisten verteilt. Doch dann ging es erstmal nicht um 3D-Grafikkarten und immer mehr Frames pro Sekunde, sondern um leistungsfähige Prozessoren für mobile Geräte wie Smartbooks: Tegra 2 soll deren Leistung auf bisher ungeahnte Höhen bringen, ganz nah dran am Desktop. Das wurde mit dem 3D-Shooter Unreal 3, der auf einem super-flachen Tablet-Prototypen lief, eindrucksvoll bewiesen.

Wir nutzten auf der CES die Gelegenheit, noch einmal genauer nachzufragen, woher die Performance des Tegra 2 kommt. Die Antwort: Vom perfekten Zusammenspiel zweier Generalisten (vom Typ ARM Cortex A9) und sechs weiterer Spezialisten. Letztere sind jeweils auf eine rechenintensive Aufgabe wie 3D-Grafik, Audio-Bearbeitung oder Video-En- und Dekodierung optimiert.

nvidia Tegra 2 nvidias neuer Tegra-Chip
Foto: nvidia
Dabei sind alle Einheiten multitasking-fähig, so dass auch mehrere Programme, Widgets, Applets oder Betriebssystem-Prozesse eine Einheit quasi gleichzeitig verwenden können. Hinzu kommen effiziente Datenpfade, da alle Einheiten auf demselben Chip integriert sind und einen gemeinsamen Cache verwenden. Ohne Daten umkopieren oder gar konvertieren zu müssen, kann zum Beispiel ein von der Video-Einheit dekodierter MPEG-4-Film als Textur für ein von der 3D-Einheit gezeichnetes Polygon verwendet werden.

Im Ergebnis laufen beispielsweise Flash-Animationen zum großen Teil auf der 3D-Engine des Tegra 2. Und selbst die Ausgabe von Webseiten mit dem Firefox erfolgt unter Nutzung der Grafik-Sprache OpenGL und somit entsprechend Hardware-beschleunigt.

Vorsicht bei der Programmierung

Die Nutzung spezieller Prozessoren verlangt vom Programmierer allerdings, entsprechende Treiber und Systemroutinen anzusprechen und Codierung und Encodierung von Medien nicht selber durchzuführen. Denn eigener Code wird vom Compiler in der Regel nicht auf die spezialisierten Prozessoren geladen werden, sondern auf die allgemeinen, und diese sind beim Tegra 2 deutlich weniger leistungsfähig, als man es von Intels oder AMDs Desktop- und Laptop-Prozessoren gewohnt ist.

Tablet-PC mit Tegra-2-Chip Referenz-Implementation eines Tablet-PCs
unter Nutzung des Tegra 2
Foto: teltarif.de
Verwendet die Anwendung für die genannte Aufgabe hingegen eine Systembibliothek, dann besteht die Möglichkeit, dass der Systementwickler die Bibliotheken so programmiert hat, dass sie die Aufgaben ganz oder teilweise auf die Spezialprozessoren übertragen. Man braucht also zum einen Applikationen, die möglichst stark auf Systemroutinen zurückgreifen, und zum anderen Systemroutinen, die die Aufgaben dann tatsächlich an die optimierten Prozessoren übertragen.

Diese Optimierung gibt für allem für auf den mobilen Einsatz zugeschnittenen Betriebssysteme wie Android, Chrome OS oder Windows Mobile, jedoch weniger für allgemeine Linux-Systeme wie openSuSE oder Ubuntu. Desktop-Windows läuft auf dem Tegra 2 schon wegen des falschen CPU-Befehlssatzes nicht.

Für den Anwender heißt das: Er wird in der Regel bei einem Smartbook nicht das Betriebssystem wechseln können, ohne Performance zu verlieren. Und nur solche Applikationen weden schnell sein, die gut auf der System-API aufsetzen und eben nicht versuchen, zahlreiche Aufgaben selber zu lösen. Im Gegenzug wird er mit geringer Wärmeentwicklung, langen Laufzeiten und kurzen Reaktionszeiten belohnt. So liegt der Stromverbrauch unter Last bei typisch einem halben Watt; maximal soll etwas über ein Watt verbraucht werden.

Weitere Meldungen zur CES 2010