iPhone 7 mit Quad-Core-CPU-Architektur Die wichtigsten Fragen zum Apple-A10-SoC

Das iPhone 7 kommt mit einem neuen Apple-A10 genannten SoC, das erstmals vier CPUs beinhaltet.
Das iPhone 7 kommt mit einem neuen Apple-A10 genannten SoC, das erstmals vier CPUs beinhaltet.

Im iPhone 7 wurde erstmals ein SoC mit vier CPUs verbaut, die sich an den im Android-Umfeld seit 2014 bekannten Big.LITTLE-Ansatz von ARM orientieren. Das Gerät gibt es noch nicht, es wurden jedoch schon z.T. unsinnige Gerüchte verbreitet. Wir haben uns mit den Top-3 auseinandergesetzt.

Gerücht 1: Der A10 wird bei TSMC in einem 10-nm-Prozess gefertigt

Tatsächlich wird das iPhone-7-SoC laut Apple statt 2 Mrd. (Apple A9)  nunmehr 3,3 Mrd. Transistoren enthalten. Der A9 weist in TSMCs 16-nm-FF+-Prozess eine Siliziumfläche von 104 mm2 auf (in Samsungs 14-nm-FF-Prozess nur 96 mm2), so daß die Fläche in identischer Fertigung den bisherigen Rekordhalter, den in 45 nm gefertigten Apple A5X aus dem iPad der 3. Generation und seine 165 mm2 sogar noch leicht übertreffen könnte. Technisch ist dies überhaupt kein Problem, Intels Xeon-Serverprozessor der Haswell-Generation bringt z.B. seine 5,69 Mrd. Transistoren auf 662 mm2 Silizium unter.

Fakt ist: TSMC ist von einer 10-nm-Massenfertigung noch so weit weg wie der FC Bayern von einem Abstieg in Liga 2.

Gerücht 2: Der A10 adaptierte ARMs Big.LITTLE-Architektur

Richtig ist, es wird erstmals in einem iPhone eine Quadcore-CPU-Architektur mit 2 „großen“ und 2 „kleinen“ Energiespar-CPUs geben, denen die Workloads je nach CPU-Belastung zugeteilt werden. Es handelt sich jedoch keineswegs um ARMs Big.LITTLE-Implementierung, da es signifikante Unterschied gibt:

a)      ARMs Urkonzept basierte auf einer durch das Betriebssystem gesteuerten Umschaltung zwischen dem Big- und dem LITTLE-Cluster mit entsprechenden Latenzzeiten. Apple hat für die Umschaltung einen eigenen Hardware-Block designt, der die CPU-Cluster transparent für die Anwendung vornimmt. Tatsächlich sieht eine iOS-App nach wie vor nur 2 CPUs ohne zu wissen, auf welchem Cluster sie gerade läuft.

b)      Neue im Android-Umfeld angewendete Verfahren haben Big.LITTLE soweit aufgebohrt, daß nun beliebige CPU-Konfigurationen gebildet werden können, z.B. bei 4 Big- und 4 LITTLE-CPUs können parallel 1-4 Big- und 1-4 LITTLE-CPUs in fast jeder Kombination aktiviert werden. Urheber dieser Konzepterweiterung war Samsung. Auch hier spielt für die Aktivierung/Deaktivierung von CPU-Clustern bzw. einzelnen CPUs das Betriebssystem eine wichtige Rolle.

Gerücht 3: Die Mikroarchitektur der A9-CPUs wurde nicht verändert

Viele Kollegen sind offenbar der Meinung, daß die „Twister“ genannte ARMv8-kompatible Mikroarchitektur vom Apple A9 nicht verändert wurde, sondern der Rechenleistungsgewinn (laut Apple 40 %) ausschließlich über eine höhere Taktfrequenz erzielt würde. Bei 1,85 GHz im A9 müssten die A10-CPUs somit rechnerisch mit fast 2,6 GHz getaktet werden.

Auch wenn man sich durch die neue Quad-Core-Architektur eine vor allen Dingen eine thermische Entlastung des SoCs vorstellen kann (das Grundproblem ist keineswegs wie immer behauptet die Batterielaufzeit, sondern die Wärmeabführung von dem Silizium-Plättchen bei maximaler Taktfrequenz), ist eine Anhebung auf maximal 2 GHz realistisch – der Rest kommt von einer weiter verbesserten Mikroarchitektur mit der Bezeichnung „Hurricane“. Wir vermuten, daß an den üblichen Stellschrauben der CPU-Architektur (die Tabelle zeigt die Verbesserungen von „Twister“ gegenüber „Swift“ (A6), „Cyclone“ (A7) und „Typhoon“ aus dem Apple-A8) weitergedreht wurde und auch die Speicher-Latenzen weiter reduziert werden konnten.

 

 Apple A6Apple A7Apple A8Apple A9
CPU CodenameSwiftCycloneTyphoonTwister
BefehlssatzATMv7-A 32 bitARMv8-A 64 bitARMv8-A 64 bitARMv8-A 64 bit
Befehlsdekoder3666
Ausführungseinheiten für    
ALU2444
Laden/Speichern1222
Verzweigung1111
Indirekte Sprünge0111
Gleitkomma/NEON13 (Addieren, 2 für Multiplikationen)3 (Addieren, 2 für Multiplikationen)3 (Addieren und Multiplizieren)
L1-Cache (KB Befehle/Daten)32/3264/6464/6464/64
L2-Cache (MB)1113
L3-Cache (MB)-444
Zusätzliche Taktzyklen bei Sprungfehlvorhersage1414 (14 Minimum, bis 19 möglich)14 (14 Minimum, bis 19 möglich)9
Latenzzeiten Integer (Add/Mul)??1/31/3
Latenzzeiten Gleitkomma (Add FP32/Mul FP32)??4/53/4