Auf der diesjährigen IFA werden wir die ersten Android-Smartphones mit einem 64-Bit-Prozessor sehen. Android User klärt auf, was es mit 64-Bit überhaupt auf sich hat, welche Prozessoren für mobile Geräte es bereits gibt und wohin die 64-Bit-Zukunft führt.
Wer mit Windows 3.11 aufgewachsen ist, kann sich vielleicht noch an die Umstellung von 16-Bit auf 32-Bit erinnern. Auch wenn die meisten Rechner damals mit 4, 8 oder maximal 16 MByte RAM ausgestattet waren, wuchs die theoretische Speichergröße damals mit einem Schlag von 216 (65536 Byte, 64 MByte) auf 232 also auf die bis heute allerseits bekannten 4 GByte. Die großen PC-Betriebssysteme und CPU-Architekturen haben indes schon lange den Schritt auf 64-Bit vollzogen. Hier wächst die maximale adressierbare Speichergröße auf 264, das entspricht 16 Exabyte alias 16 Millionen Terabyte. Auch heute hört sich das fast genauso unvorstellbar viel an wie anno 1990 die 4 GByte RAM, aber die Technik wird von Jahr zu Jahr raffinierter, und wenn heute Smartphones und Heimrechner zwar bloß über ein paar GByte RAM verfügen, darf das nicht darüber hinwegtäuschen, dass es große Server gibt, die bereits an der Terabyte-Grenze beim Hauptspeicher angekommen sind.

Die 4-GByte-Grenze für 32-Bit gilt aber nicht nur für den Hauptspeicher sondern bei einer 32-Bit-CPU auch für die RAM-Nutzung durch Programme und meistens auch für den Hauptbus, also die Datenleitung, die die Peripheriegeräte wie Grafikkarten oder die RAM-Riegel mit der CPU verbindet. Anwendungen, die mehr als 4 GByte RAM benötigen, sind auch heute noch selten, aber selbst auf einem Smartphone nicht undenkbar. Zum Beispiel Apps zum Komprimieren oder der Compiler arbeiten viel schneller unter 64-Bit-Systemen (CPU und Betriebssystem sind 64-Bit-kompatibel). Auch Multimedia-Kodierungsprogramme wie zum Beispiel der berühmte MP3-Decoder lame oder eine Videokonvertierungssoftware arbeiten deutlich flotter als 64-Bit-Version. Generell kann man sich merken, dass CPU-intensive Programme am meisten von der neuen Architektur profitieren. Und die gibt es auch unter Android en masse. Last but not least sind auch GPU-hungrige Apps unter einem 64-Bit-Betriebssystem deutlich schneller und profitieren am meisten davon, gleichzeitig mehr als 4 GByte RAM ansprechen zu können, also Spiele und Multimedia-Apps generell. Diese dürften beim Umstieg auch die höchste Aufmerksamkeit von den Entwicklern bekommen.
Die gleichen Probleme wie unter Windows?
Während Open-Source-Betriebssysteme wie Linux (und Mac OS X als absolut geschlossenes Ökosystem) mit dem Umstieg auf 64-Bit relativ Probleme hatten, sorgte der Wechsel vor allem bei Windows für Probleme, sodass viele Nutzer "64-Bit" und "Probleme beim Umstieg" als Synonym verwenden. Das hängt unter anderem damit zusammen, dass bei einem Betriebssystem nicht nur das OS an sich 64-Bit-kompatibel sein muss, sondern auch alle Treiber müssen die 64-Bit-Architektur und das OS unterstützen. In den meisten Fällen bieten 64-Bit-Betriebssystem deshalb einen 32-Bit-Kompatibilitätsmodus an, was aber dazu führt, dass viele Systemkomponenten in einer 32-Bit-Version und in einer 64-Bit-Version vorhanden sind. Das bläht das System auf und sorgt bei Updates für Komplikationen. Besondere Probleme gibt es bei Rechnern, die keinen solchen Kompatibilitätsmodus bieten, und nur mit 64-Bit-Code klarkommen. Das ist aber die Ausnahme.

Die gute Meldung vorweg: all diese Probleme betreffen Android (praktisch) nicht. Android benötigt keine externen Treiber für Mäuse, Scanner, Drucker, Netzwerkkarten oder andere Peripheriegeräte. Diese Treiber sind ins System integriert und stammen in der Regel direkt vom Hersteller. In den meisten Fällen sind die Treiber zudem quelloffen, der Code lässt sich bei Bedarf also einfach neu kompilieren. Auch bei den Anwendungen gibt es keine Probleme: Android-Apps sind generell in Java programmiert und werden vom Dalvik bei Bedarf in Maschinencode übersetzt. Dalvik ist aber bereits Geschichte und wird im kommenden Android-Release durch die Android Runtime ART ersetzt. Das bedeutet, dass der Java-Code direkt auf dem Smartphone in Maschinencode übersetzt wird: auf einem 32-Bit-System in 32-Bit-Code, auf einem 64-Bit-Rechner in 64-Bit-Code. Natürlich muss dazu der Quellcode entsprechend vorbereitet sein. Ob es beim Kompilieren Probleme gibt, kann Google aber bereits beim Einreichen einer App in den Play Store testen. Der Umstieg von 32-Bit auf 64-Bit wird unter Android also kaum Probleme bereiten und der Anwender wird kaum mit der Tatsache konfrontiert, dass er ein solches System benutzt. Probleme bereiten höchstens Apps, die mit dem NDK programmiert wurden. Hier stehen die Entwickler aber in etwa vor dem gleichen Problem, wie wenn sie Apps für die ARM-Architektur auf Android für Intel anpassen müssen.
Ohne aktuelle Zahlen zur Hand zu haben gehen wir deshalb davon aus, dass 80 bis 90 Prozent aller Apps im Google Play Store ohne groß zu meckern von 32-Bit auf 64-Bit übertragen werden können. Es sind dann zwar noch keine 64-Bit-Apps, die auch die zusätzlichen Möglichkeiten der 64-Bit-Architektur aktiv nutzen, aber es sind definitiv 64-Bit-Apps.
Dass die Apps direkt auf dem Gerät selbst kompiliert werden, ist ein großer Unterschied zur Herangehensweise von Apple: Hier müssen die Entwickler von Ihren Apps 32-Bit und 64-Bit Binaries erstellen, die einzelnen Software-Pakete werden also etwas größer. Unter Android bleiben die Apps dank Java vermutlich gleich groß.
Diese 64-Bit-Prozessoren gibt es bereits
Alle CPU-Hersteller arbeiten (seit längerem) an mobilen 64-Bit-Prozessoren. Die erste 64-Bit-CPU für Smartphones legte – etwas überraschend – Apple mit dem A7 im iPhone 5s vor. Nun folgen Qualcomm und Nvidia, aber auch Huawei, Samsung und MediaTek haben entsprechende CPUs vorgestellt. Eine besondere Lösung hat sich Nvidia beim Tegra K1 einfallen lassen. Der Prozessor wird aktuell noch als 32-Bit-Variante gefertigt, die neue 64-Bit-Version mit Denver-Kern verfügt aber über die gleichen PINs, sodass Hersteller ihre Mainboards nicht anpassen müssen bzw. bereits 64-Bit ready herstellen können. Allein von den Benchmarks her ist der Tegra K1 die CPU, die mit Abstand am meisten Rechenpower besitzt. Dieser Unterschied wird mit dem Wechsel zu 64-Bit ziemlich sicher noch deutlicher ausfallen.
Die ersten Smartphones mit 64-Bit-CPU werden ziemlich sicher zur IFA gezeigt. Verbaut ist darin der Snapdragon 810 von Qualcomm. Dabei handelt es sich um eine Achtkern-CPU mit vier Cortex-A57-Kernen und mit vier Cortex-A53-Kernen. Die Bezeichnung CPU ist allerdings etwas irreführend, weil der Snapdragon 810 auch ein LTE-Modem besitzt und eine Adreno 430 GPU, es ist also ein System on a Chip (SoC), wie auch Tegra K1 ein SoC ist. Für die IFA angekündigt ist bereits das Phicomm Passion und Gerüchten zufolge wird uns auch HTC ein 64-Bit-Smartphone zeigen. Neben dem Snapdragon 810 gibt es auch den 808, der ebenfalls 64-Bit-fähig ist.
Ebenfalls seit längerem arbeitet Huawei an einem 64-Bit-Prozessor bzw. SoC: Der im Ascend D Quad verbaute HiSilicon K3V2-Prozessor besaß bereits einen 64-Bit-Bus, basierte jedoch auf einem normalen Cortex A9 (32-Bit, armv7). Auch die brandneue Kirin-920-CPU, die vermutlich im Ascend Mate 3 von Huawei zum ersten Mal zum Einsatz kommen wird, kann einen 64-Bit breiten Systembus ansprechen, die CPU an sich (4xCortex A15 und 4x Cortex A7) basiert aber weiterhin auf ARMv7 und ist somit nicht 64-Bit-fähig. Gerüchten zu Folge arbeitet Huawei aber auch an einer echten 64-Bit-CPU, die auf vier Cortex A57-Kernen und vier Cortex A53-Kernen beruhen soll, also wie der neue Snapdragon 810.
Die jüngste 64-Bit-CPU von MediaTek (MT6795) ist gerade mal einen Monat alt. Dabei handelt es sich um ein Achtkern-SoC mit LTE-Modem und True-Octacore-Support (alle 8 Kerne gleichzeitig aktiv). Zur gleichen Familie gehören die Octa-Core-CPU MT6752 (8xCortex A53) und der Vierkernprozessor MT6732 (Cortex A53), die MediaTek bereits auf dem Mobile World Congress im Februar 2014 vorführte. Auch hier rechnen wir schon sehr bald mit ersten Smartphones, die mit diesem SoC ausgestattet sind.
Last but not least arbeitet auch Samsung an mehreren 64-Bit-CPUs, wirklich bekannt davon ist allerdings nur der Exynos 5433, der im Note 4 (Asien-Version) zum Einsatz kommen soll. Auch Samsung hat sich für eine Kombination aus vier A53- und vier A57-Kernen entschieden, bleibt also dem BIG.little-Prinzip treu, bei dem im Gegensatz zu den True Octacore genannten CPUs von MediaTek jeweils die vier langsamen oder die vier schnellen Kerne zum Einsatz kommen, aber nie beide gleichzeitig. Hierzulande wird das Note 4 aber ziemlich sicher mit dem letzten 32-Bit-Flaggschiff von Qualcomm ausgestattet sein, also dem Snapdragon 805.
Fazit
Die Umstellung auf 64-Bit wird Android vor keine allzugroßen Probleme stellen, als Nutzer merkt man ziemlich sicher rein gar nichts davon. Von der Umstellung auf 64-Bit profitieren in erster Linie Apps die viel CPU- und GPU-Leistung in Anspruch nehmen. Dazu gehören auch Spiele und Multimedia-Apps. Die richtige Frage bezüglich 64-Bit-Prozessor lautet nicht, welcher Hersteller an einer CPU arbeitet, sondern wann welche Modelle tatsächlich mit 64-Bit-CPU auf den Markt kommen, und da scheint das Release von Android L im Herbst mit 64-Bit-Support der Startschuss zu sein. Der Snapdragon 805 von Qualcomm dürfte als letztes mobiles 32-Bit-Flaggschiff in die Geschichte eingehen, ist auch langsam Zeit, schließlich wird im Jahr 2015 der i386-er 30 Jahre alt…