Schlechte Skalierung, viel Wärme Quadcore-Prozessoren bringen in Smartphones keinen Mehrwert

Dass es bei Multicore-Architekturen auf die Software-Verteilung ankommt, ist nicht neu. Mit Nvidias Tegra-3 hat jetzt erstmals ein Quadcore-Prozessor Einzug in Tablets und Smartphones gehalten. Wie ein Vergleich mit einem Dual-Core-Snapdragon aus dem Hause Qualcomm zeigt, ist dies zumindest derzeit brotlose Kunst – dafür steigt die Chip-Temperatur um so dramatischer.

Eigentlich handelt es sich bei Nvidias Tegra-3 sogar um einen Penta-Core-Prozessor: Die vier ARM-Coretx-A9-Cores werden durch einen speziellen Energiespar-Core ergänzt, der wenig rechenintensive Aufgaben abarbeitet. Der Cortex-A9 kann parallel 2 Befehle ausführen (Dual-Issue), hat eine 8-stufige Pipeline und ist für Out-of-Order-Befehlsausführung ausgelegt. Mit 2,5 DMIPS/MHz liegt er über dem Cortex-A8 (2,0 DMIPS/MHz), aber deutlich unter ARMs High-Performance-Core Cortex-A15, der auf 3,5 DMIPS/MHz kommt und der erstmals in den OMAP-5-Prozessoren von TI zum Einsatz kommen wird. Es gibt jedoch derzeit noch keine Geräte mit OMAP-5-Chips.

Im Gegenzug setzt Qualcomm mit dem Snapdragon MSM8960 weiterhin auf eine Dual-Core-Architektur. Die beiden “Krait”-Cores sind eine Qualcomm-Eigenentwicklung auf Basis der ARMv7-Architektur. Sie können parallel 3 Befehle ausführen, haben eine 11-stufige Pipeline und natürlich auch Out-of-Order-Befehlsausführung. Sein L2-Cache wurde statt 512 KB mit 1 MB doppelt so groß ausgelegt und mit rund 3,3 DMIPS/MHz liegt er wesentlich näher am Cortex-A15 als am Cortex-A9.

Rein numerisch gesehen hat der Tegra-3 mit in Summe 10 DMIPS/MHz und maximal 1,3 GHz eine Rechenleistung von 13.000 DMIPS aufzubieten. Der MSM8960 ist in einem 28-nm-Prozess auf 1,5 GHz ausgelegt und kommt somit mit 2 Cores auf “nur” 9.900 DMIPS (3,3 x 2 x 1500), allerdings schlägt er den Tegra-3 pro Core mit 4.950 DMIPS zu 3.250 DMIPS deutlich.

Die alles entscheidene Frage ist also, wie sehr lässt sich ein Betriebssystem wie Android und dessen Applikationen auf mehrere Cores skalieren? Da es mit den Snapdragon-Chips noch keine kaufbaren Geräte gibt, musste eine sogenannte “Mobile Development Platform” herhalten, die mit dem real existierenden Tablet "Eee Pad Transformer Prime" von ASUS, in dem der Tegra-3 werkelt, verglichen wurde.

Der erste Benchmark “Linpack” testet die Lesitungsfähigkeit bei der Gleitkommaverarbeitung sowie den Durchsatz von Cache und Speicher. In einer Single-Thread-Konfiguration war Snapdragon mehr als doppelt so schnell wie Tegra-3 (siehe Tabelle). Hier kommt die Fähigkeit von Krait zum Tragen, auch mehrere Gleikommaoperationen parallel auszuführen, eine Fähigkeit, die dem Cortex-A9 abgeht. Aber auch in einer Multithreading-Konfiguration schlägt Qualcomms Dual-Core Nvidias Quadcore um Längen:

 Qualcomm Snapdragon MSM8960 (Dual-Core "Krait"), 1,5 GHz
Nvidia Tegra-3 (Quad-Core-Cortex-A9), 1,3 GHz
Linpack Single-Threaded (höher ist besser)106.794 MFLOPS48.515 MFLOPS
Linpack Multi-Threaded (höher ist besser)218.197 MFLOPS137.463 MFLOPS
SunSpider Javascript (kleiner ist besser)1.532 ms2.300 ms
Browsermark (höher ist besser)110.345 Punkte114.447 Punkte
Basemark OS gesamt (höher ist besser)907 Punkte602 Punkte
Basemark OS nur SMP-Test (höher ist besser)64,4 Schleifen/s81,2 Schleifen/s
Qualcomms Dual-Core-Prozessor Snapdragon MSM8960 im vergleich mit Nvidias Quadcore-Chip Tegra-3. Da die Software nicht über die Cores skaliert, schlägt Snapdragon mit seinen beiden individuell stärkeren Krait-Cores die Cortex-A9 des Tegra-3 klar.

Der zweite Benchmark “Sunspider” testet die Geschwindigkeit bei der Ausführung von Java-Core. Auch hier liegt Snapdragon deutlich vor Tegra-3 (Tabelle). Dies war zu erwarten, da man schon in der Vergangenheit feststellen musste, dass Java-Script offenbar nur bedingt gut über mehrere Cores skaliert.

Um die Rechenleistung beim Web-Browsen zu messen, wurde der “Browsermark”-benchmark eingesetzt. Hier konnte sich Tegra-3 wenn auch nur minimal gegenüber Snapdragon durchsetzen (Tabelle). Offensichtlich ist den Architekten von Android bzw. bei ASUS gelungen, den Browser so zu optimieren, dass er zumindest etwas über die vier Cores skaliert.

Last but not least gibt es noch den speziell für Android entwickelten Benchmark “Basemark OS”, der Android-Applikationen, Messaging-Services, Java, Datei-Operationen, Speicher-I/O, Databank-Zugriffe und ZIP-Kompression und –Dekompression testet. Wie die Tabelle zeigt, ist Snapdragon hier rund 50 % besser als Tegra-3, in einem Test ist er allerdings deutlich besser, dem SMP-Test (symetrisches Multiprozessing). Hier warden soviele Threads erzeugt, wie Cores vorhanden sind. Gibt mal also dem Tegra-3 die “richtige” Software, kann er seine Stärke richtig ausspielen, das Problem ist nur, weder Android noch Android-Anwendungen sind zumindest derzeit für derartige Architekturen optimiert.