Jedes Smartphone hat drei Chips, die die wichtigsten Funktionen eines Smartphones abdecken: ein Empfangs- und Sendeteil (RF), ein Modem, auch Baseband-Prozessor genannt (BB) und ein Application Prozessor (AP), auf dem das Betriebssystem und die Applikationen laufen. In diesem Artikel betrachten wir genauer den Application Prozessor (AP).
Die meisten Smartphones besitzen einen AP mit ARM-Architektur, umgangssprachlich ARM-Prozessor genannt. Doch während beim herkömmlichen PC die Firma Intel sowohl die Prozessorarchitektur entwickelt, den Prozessor designt und auch herstellt, sind bei einem ARM-Prozessor diese Aufgaben auf mehrere Firmen verteilt. Zunächst gibt es die Firma ARM, die die Architektur entwickelt, also festlegt, welche Befehle der Prozessor verstehen und ausführen soll. Das wird in einer speziellen Sprache (Verilog oder VHDL) beschrieben.
Die Firmen, die Prozessoren designen wollen, lizensieren die Beschreibung des Prozessors von ARM und erstellen aus dieser Beschreibung ein Bauplan, also eine Art Zeichnung (in Fachsprache GDSII), die sämtliche Bauelemente (Transistoren, Dioden, Spulen, Widerstände) enthält. Die bekanntesten Lizenznehmer sind Apple, Samsung, nVidia, Qualcomm, Broadcom, Freescale und viele andere, die einen Chip mit ARM-Architektur designen dürfen.
Die Lizenznehmer können oder wollen die Prozessoren, die sie designt haben, nicht selbst herstellen, denn moderne Chipfertigungsanlagen kosten mehrere Milliarden Euro, so dass die wenigsten Firmen sich erlauben können solche Anlagen nur für eigene Chips zu besitzen.
Die modernen Chips werden in 20nm (1nm = 0.000001 mm) Technologie hergestellt, das bedeutet, dass ein Transistor 20nm breit sein darf. Auf der Breite einen menschlichen Haares finden also 2.000 Transistoren Platz. Es gibt nur fünf Firmen weltweit, die solche Strukturen herstellen können: TSMC, Samsung, Global Foundries, Intel und IBM. Bei einem dieser Hersteller lassen alle Designfirmen die Prozessoren fertigen.
Die Befehlsarchitektur
Schauen wir jeden dieser Schritte genauer an. Es muss nicht unbedingt ein Prozessor mit der ARM-Architektur in einem Smartphone sein, andere Kandidaten sind Intel mit den Atom-Prozessoren, als auch Prozessoren der Firma MIPS, die ebenfalls die Architektur an andere Firmen lizensiert. Die MIPS-Architektur ist vor allem in China beliebt, so dass zu erwarten ist, dass in der nächsten Zukunft mehr chinesische Smartphones, die nach Europa kommen, mit dieser Prozessor-Architektur ausgerüstet sein werden.
Spielt es eine Rolle für den Anwender, welcher Prozessor in seinem Smartphone steckt? Das am weitesten verbreitete Smartphone-Betriebssystem Android läuft auf allen Prozessoren. Die Apps, die ausschließlich in JAVA programmiert wurden, laufen auch ohne Probleme, denn die JAVA Virtual Machine (JVM) abstrahiert die spezifischen Architekturbefehle, so dass die Apps darauf laufen können. Kein Problem gibt es auch mit den Webapps.
Kompliziert wird es mit den Apps, die nativ programmiert wurden, was mit dem Android Native Development Kit (NDK) möglich ist. Diese Applikationen laufen nur auf einer bestimmten Architektur und müssen für andere Prozessor-Architekturen speziell angepasst (neu kompiliert) werden. Der Smartphone-Besitzer mit einem exotischeren Prozessor in seinem Smartphone, könnte deswegen nicht in Genuss von allen Apps kommen, denn nicht alle nativ programmierte Apps werden für jede Prozessorarchitektur vom Entwickler angepasst.
Aber auch innerhalb der ARM-Architektur gibt es Unterschiede im Befehlssatz. Aktuell ist der ARMv7 Befehlssatz, die nächsthöhere Klasse ist kompatibel zu der niedrigeren. Aber eine App, die nativ für ARMv6 kompiliert wurde, läuft nicht auf Prozessoren mit ARMv7-Befehlsarchitektur. Aus diesem Grund kann man mit den neueren Versionen der Programmierumgebung der Firma Apple XCode keine Apps mehr für das iPhone 3G erzeugen, denn diese XCode-Versionen erzeugen nativen Code für ARMv7 Architektur und im iPhone 3G steckt ein ARMv6-Prozessor.
Referenzimplementierung von ARM
Etwas verwirrend ist, dass ARM Referezimplementierungen von Chipdesigns entwickelt, die bestimmte Befehlsarchitektur ausführen können. Man hört von Cortex ARM9, oder Cortex ARM15-Prozessoren. Das sind Prozessoren, die ARMv7 Befehle ausführen können, aber unterschiedlich effizient sind. Cortex ARM15 kann viele Befehle (zum Beispiel eine Addition von zwei Zahlen) in einem Takt ausführen (zur Erinnerung Frequenz von 1GHz bedeutet 1.000.000.000 Takte), braucht aber mehr Transistoren, als Cortex ARM9, der für diese Befehle zwei oder mehr Takte braucht.
Designfirmen können entscheiden, ob sie der Referenzimplementierung folgen wie z.B. Samsung mit Exynos Prozessoren oder davon abweichen, wie Qualcomm mit SnapDragon Prozessoren oder Apple mit A5 und A6, die alle ARMv7 Befehlsarchitektur haben.
System on a Chip
Ein moderner Chip besteht aus mehreren Millionen Transistoren, was macht man mit einer solchen Menge? Es besteht die Möglichkeit, mehrere Prozessoren auf einen Chip zu packen, die parallel verschiedene Aufgaben erledigen können, z.B. ein Prozessor spielt MP3 ab, während der andere eine Webseite aufbaut.
Jeden Prozessor nennt man ein Kern (engl. Core). Es müssen nicht die gleichen Kerne sein, ARM hat eine BIG.little Architektur vorgestellt, bei der der BIG-Core sehr leistungsfähig ist und für anspruchsvolle Aufgaben genommen wird, z.B. ein Spiel, während der little-Core für kleinere Aufgaben, wie MP3 abspielen, Email-Abrufen u.ä. gebraucht wird.
Der Grund so vorzugehen, ist der unterschiedliche Stromverbrauch der verschiedenen Cores. Während der leistungsfähige Core nicht ständig in Betrieb ist und viel Strom beim Rechnen verbraucht, ist der kleine Core im Dauerbetrieb, verbraucht aber wenig Strom. Selbstverständlich sind verschiedenste Kombinationen möglich. Der Rekordhalter ist momentan Samsung, die 4 BIG und 4 little Cores auf einem Chip integriert haben.
Ein Application Processor kann auch ganz andere Aufgaben übernehmen, für die im normalen PC eigene Chips notwendig waren. Die Grafikberechnung, die Ansteuerung des Speichers und der verschiedenen Schnittstellen, Video und Audio De- und Kodierung, Verarbeitung von Sensor-Daten und noch mehr. All das ist nur mit der ARM-Architektur nur eingeschränkt oder nicht effizient möglich. Nicht effizient bedeutet hoher Stromverbrauch.
Für alle diese Funktionen ist spezielle Logik notwendig, die ähnlich wie die Architektur-Beschreibung von ARM, von anderen Firmen kommt, diese Bausteine bezeichnet man als IP-Cores. Bekannt sind die PowerVR Grafikcores der Firma Imagination Technologies, die in den Prozessoren der Galaxy Geräte der Firma Samsung oder in iPhones der Firma Apple eingesetzt werden. Tensilica spezialisiert sich unter anderem auf die Logik zur effizienten Medienkodierung. Deswegen werden solche Chips auch System-on-a-Chip (SoC) genannt, bei denen viele IP-Cores von verschiedenen Anbietern LEGO-artig zusammengesetzt werden. Genau über diese IP-Cores, als auch die maximale mögliche Geschwindigkeit bei minimalem Leistungsverbrauch, versuchen sich die unterschiedlichen Chipdesign-Firmen voneinander abzugrenzen.
Die Konkurrenz schläft nicht
Intel, der nach wie vor größter Chiphersteller der Welt, möchte sich natürlich einen Stück vom immer größer werdenden Smartphone- und Tablettkuchen abschneiden. Einerseits hat Intel die fortschrittlichste Chipfertigungstechnik der Welt und hat auch eine große Anzahl von Fabriken (engl. Foundries oder Fabs), um eine grosse Menge von Chips zu produzieren, andererseits war selbst der kleinste Atom-Chip ein wahrer Stromfresser, verglichen mit dem größten ARM-Design. Zugegebenermassen war der kleinste Atom-Chip auch viel leistungsfähiger als der beste ARM-Chip.
Doch die Grenzen verwischen. Die ARM-Chips, besonders die mit ARMv7 Architektur, werden immer leistungsfähiger und stromhungriger, die Atom-Prozessoren der neuesten Generation werden immer sparsamer. Was Intel allerdings fehlt, ist die Vielfalt der SoCs. Intel lizensiert äusserst ungern die Atom-Architektur an andere Hersteller, während bei ARM genau das das Geschäftsmodell ist. Was auf ein Atom-Prozessor für IP-Cores draufkommen, bestimmt nur Intel, es gibt keine Konkurrenz innerhalb einer Prozessorarchitektur. Ich bezweifle, dass dies der richtige Weg ist, um größere Marktanteile gegenüber der äußerst vielfältigen ARM-Konkurrenz dauerhaft zu gewinnen.
Was die Zukunft bringt
Wagen wir einen Blick in die Zukunft. Es wird weitere Fortschritte in der Chipfertigung geben. Die ersten Testchips mit 14nm Strukturen sind schon in der Fertigung, es wird über 10nm und sogar 5-7nm nachgedacht. Das bedeutet, dass noch mehr Logik auf einen SoC passt. Allerdings wird man wohl kaum die Anzahl der Prozessor-Cores noch weiter vergrössern, denn es wird zunehmend schwierig sie so zu programmieren, dass alle Cores auch ausgelastet werden. Andererseits werden mobile Geräte immer mehr Aufgaben übernehmen, für die momentan noch Desktop-Rechner gebraucht werden, es werden Formfaktoren kommen, die den Einsatz von Smartphones als Arbeitsrechner erlauben.
Ubuntu zeigt, wie auf einem Smartphone ein ausgewachsenes Desktop-Betriebssystem laufen kann, das zum Einsatz kommt, sobald das Smartphone an einen Bildschirm angeschlossen wird. Dies kann in der Zukunft durchaus drahtlos passieren, so dass ein Smartphone in der Nähe eines Arbeitsplatzes abgelegt werden kann und drahtlose Verbindung zu allen Peripheriegeräten aufnimmt.
Eine besondere technischen Herausforderung ist es, die beiden anderen Chips, Baseband und RF mit AP auf einem Chip zu integrieren, da durch Abstrahlung die einzelnen Cores einander stören können. Wenn dies gelingt, werden die Kosten eines Smartphones entscheidend gesenkt, denn jeder einzelne Chip verbraucht mehr Leistung, kostet Platz, kann kaputtgehen und kostet mehr als die integrierte Lösung. Leider kann man auch bei kleinen Strukturen keine Wunderdinge bezüglich der Laufzeit des Smartphones erwarten, falls die Akkus nicht entscheidend leistungsfähiger werden, müssen wir auch in der Zukunft täglich eine Steckdose aufsuchen.
Kommentar hinterlassen