Seite 1: Ausblick: NVIDIA Tegra 2 mit Dual-Core ARM

nvidia_tegra2NVIDIA hätte die Tegra-2-Plattform gerne etwas früher in den Massenmarkt gebracht, auf der CES im Januar kommenden Jahres soll es nun aber endlich soweit sein. Im Zusammenhang mit den kommenden mobilen Plattformen ist auch immer wieder die Rede von Multi-Core bzw. Dual-Core-Prozessoren - auch bei Tegra 2. Im Vorfeld will NVIDIA nun über die Vorteile von mehr als einem Prozessor-Kern informieren.

Auf dem Desktop arbeiten wir bereits seit 5 Jahren mit Multi-Core-Prozessoren und inzwischen sind wir bei den modernen Modellen bei sechs physikalischen und 12 logischen Kernen angekommen. Im Server Markt bietet AMD auch Prozessoren mit 12 Kernen an.

Bei den Mobiltelefonen, Smartphones und Tablet-PCs gehören sparsame Single-Core-Prozessoren noch zum aktuellen Stand der Technik. Doch Anwendungen wie HD-Video Playback, Multitasking, Web-Browsing mit aufwendigen Elementen und 3D-Spiele verlangen den Prozessoren immer mehr ab. Auch bei der mobilen Hardware ist man also auf der Suche nach einer Lösung, die einen Kompromiss zwischen maximaler Performance und niedrigem Stromverbrauch darstellt. Stichworte sind hier das "Symmetrical Multiprocessing" und "Heterogeneous Multi-Core Computing".

Symmetrical Multiprocessing (SMP)

Symmetrical Multiprocessing stellt den ersten Kompromiss zwischen maximaler Performance und niedrigem Stromverbrauch dar. Drei Punkte sind für das Symmetrical Multiprocessing entscheidend:

  • Die Architektur besteht aus zwei oder mehreren identischen CPU-Kerne.
  • Alle Kernen teilen sich einen gemeinsamen Systemspeicher und werden von einem Betriebssystem angesprochen.
  • Jede CPU ist in der Lage unabhängig voneinander, in verschiedenen Workloads, zu arbeiten, aber auch in der Lage sich Workloads mit einer anderen CPU zu teilen.

Zwei einfache Beispiele sollen das Funktionsprinzip verdeutlichen:

  1. Zwei unterschiedliche Anwendungen, einmal eine Navigation und einmal das Streaming von Audio-Files, laufen gleichzeitig. Das Betriebssystem weist jedem CPU-Kern eine Anwendung zu.
  2. Eine besonders aufwendige Anwendung wird vom Betriebssystem auf beide CPU-Kerne aufgeteilt.

Dies sind nur zwei einfache Beispiele. Auf modernen Smartphones laufen deutlich mehr als zwei Anwendungen (Tasks) und machen die Effektivität eines Multi-Core-Systems besonders deutlich.

Zwei weitere Beispiele eines alltäglichen Anwendungsfalls bringen vielleicht weitere Klarheit. Der einfache Aufruf einer Webseite mit ActiveX- Elementen und JavaScript basierten Menüs sowie zwei Flash-Videos und Flash-Animationen stellt eine enorme Herausforderung für mobile Prozessoren dar. Im Hintergrund laufen meist auch noch weitere Applikationen und sorgen dafür, dass der Single-Core-Prozessor meist mit maximaler Frequenz und somit auch mit maximaler Spannung betrieben wird. Dass dies der Akkulaufzeit nicht sonderlich zuträglich ist, dürfte klar sein.

Tegra2_Single-Core_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Ein Multi-Core-System verteilt diese Tasks auf die in diesem Beispiel verfügbaren zwei Kerne und kann diese beiden mit niedrigerer Frequenz und Spannung betreiben. Das sich daraus dann auch ein niedrigerer Stromverbrauch ergibt, erklären wir später.

Tegra2_Dual-Core_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Mit Tegra 2 wird NVIDIA die erste Dual-Core-CPU im SoC-Design (System-on-a-Chip) vorstellen. Zum Einsatz kommt ein eine optimierte Version der ARM Cortex A9 MPcore Architektur. Darin implementiert sind ARMv7 Instructions-Sets und ein Out-of-Ordner-Architektur. Bei ihr werden Befehle in der Ausführungseinheit des Prozessors außerhalb der Programmreihenfolge ausgeführt. Das Ziel ist dabei, die Pipelines möglichst effizient zu nutzen. Zum Einsatz kommt eine achtstufige Pipeline.