Zum Hauptinhalt Zur Navigation

Cortex v9 & v5 GPU: ARM setzt für Mobile-SoCs voll auf 64 Bit

Computex 2023
Smartphones sollten durch den Wegfall von 32 Bit schneller, sicherer und trotzdem deutlich sparsamer werden.
/ Martin Böckmann
8 Kommentare News folgen (öffnet im neuen Fenster)
ARM-CEO Rene Haas auf der Computex in Taiwan am 29. Mai 2023 (Bild: REUTERS/Ann Wang)
ARM-CEO Rene Haas auf der Computex in Taiwan am 29. Mai 2023 Bild: REUTERS/Ann Wang

ARM hat zur Computex 2023 die neunte Generation seiner für Mobilgeräte optimierten CPU-Kerne vorgestellt. Insgesamt gibt es drei neue Cores aus der Cortex-v9.2-Generation und eine neue GPU. Neben zweistelligem Performance-Zuwachs und höherer Effizienz ist allen eins gemeinsam: 32 Bit gibt es nicht mehr.

Als IP-Provider verkauft der Hersteller aus Cambridge, der dem japanischen Softbank-Konzern gehört, keine fertigen Chips. Stattdessen entwickelt ARM die Bausteine, aus denen Chiphersteller einen für die Anwendung passenden Prozessor entwerfen. Dieser kann entweder fast vollständig aus den von ARM entwickelten Lösungen bestehen oder aber von den Kunden verändert werden.

Die Gesamtlösung bezeichnet ARM als Total Compute Solution 23, kurz TCS23. Dazu zählt die Software, aber auch Hardware wie die DSU-120 (Dynamic Shared Unit), die den L3-Cache beinhaltet und für die Kommunikation der Cores und GPUs untereinander sowie die Verbindung zu I/O-Schnittstellen zuständig ist. Sie unterstützt die V9.2-Architektur und setzt entsprechend voraus, dass alle damit verbundenen Elemente ebenfalls darauf aufbauen. Mix and Match ist nicht vorgesehen.

Hersteller können die Konfiguration frei wählen

Die Konfiguration zwischen Performance-, Mid- und Efficiency-Cores ist allerdings frei wählbar. Die maximale Kernzahl wurde von 12 auf 14 erhöht. Möglich sind also sowohl Konfigurationen wie 1+4+8 mit einem Fokus auf Effizienz, 0+4+8 etwa für besonders kleine und sparsame Handy-SoCs. Aber auch 10+4+0 für einen leistungsfähigen Notebook-Chip für Windows on ARM wäre denkbar.

Die DSU-120 hat jetzt 32 statt 24 MByte L3-Cache, der auf acht Slices verteilt ist. Die Slices beinhalten außerdem den Snoop-Filter. Slices können bei Nichtgebrauch abgeschaltet werden, um Energie zu sparen. Als Minimum muss lediglich ein Slice im Betrieb sein. Neu ist die Fähigkeit, die Hälfte eines L3-Caches zu deaktivieren. Das soll dafür sorgen, dass mehr Cache nicht automatisch mit mehr Energieverbrauch einhergeht, da dieser nur bei Gebrauch überhaupt mit Strom versorgt wird.

Bigger is better – die neuen X-Cores

Der Cortex-X4, letztes Jahr noch unter dem Namen CXC23 bekannt, soll wahlweise 15 Prozent höhere Performance bei gleicher Leistungsaufnahme bieten oder 40 Prozent weniger Leistungsaufnahme bei gleicher Performance haben. Diese Werte gibt ARM auch bei den anderen Kernen jeweils nur als Architekturvergleich an, also im gleichen Fertigungsprozess. Verbesserungen durch neue Nodes kommen also stets zusätzlich dazu.

Die Cortex-X-Cores sind die größten Rechenkerne, die ARM derzeit anbietet. Sie sollen alle Aufgaben übernehmen, die eine hohe Performance erfordern und auf hohe IPC angewiesen sind. Das ist besonders dann der Fall, wenn eine Anwendung nur in einem einzelnen Thread läuft. Das Frontend ist nicht mehr in einen MOP- und Instruction-Cache aufgeteilt mit sechs beziehungsweise acht Instruktionen, sondern setzt auf einen einheitlichen Cache, der 10 Instruktionen fasst.

Dieser hat eine höhere Durchsatzrate bei gleichzeitig geringerer Latenz. Außerdem können einige Rechenoperationen bereits im Cache zusammengefasst werden, was dem Frontend Arbeit abnimmt. Weiter wurde die Sprungvorhersage verbessert und die Erholungszeit bei Fehlern konnte reduziert werden.

Der Cortex X4 hat ein Drittel mehr ALUs als sein Vorgänger

Um die schneller gelieferten Instruktionen abarbeiten zu können, hat der Core selbst insgesamt mehr Recheneinheiten erhalten, darunter die Erhöhung der ALUs von sechs auf acht und eine zusätzliche Branch-Unit. Der Cortex X4 hat jetzt optional zwei Megabyte L2-Cache, sofern der Hersteller sich für die Version mit höherer Chipfläche zugunsten von mehr Performance entscheidet.

Im Backend gibt es eine zusätzliche Address Generation Unit (AGU), zudem wurden die Aufgaben der AGUs neu aufgeteilt. Neben Load/Store- und Load-Units gibt es nun zusätzlich eine dedizierte Store-Unit. Den Translation-Lookaside-Buffer (TLB) hat ARM verdoppelt, er fasst jetzt 96 Einträge.

A720 und A520 für die Vernunft

Die Cortex A720 (ehem. Hunter) Kerne lösen den A715 als Mid-Core ab. Es ist den Chipherstellern aber nach wie vor möglich, Konfigurationen ohne X-Core anzubieten, wobei dann die A720 die größten Kerne darstellen. Wie die Positionierung vermuten lässt, zählt vor allem die Balance zwischen Performance und Effizienz. Gleichzeitig sollen auch die Kosten niedrig gehalten werden, weshalb eine flächenoptimierte Variante existiert.

Durch den stärkeren Fokus auf Effizienz wurde das Frontend nicht verbreitert, sondern nur im Detail optimiert. Die Sprungvorhersage braucht jetzt teilweise deutlich weniger Energie und im Falle einer Fehlvorhersage sind es nur noch 11 statt 12 Zyklen, bis die nächsten Daten geliefert werden können. Das soll in echten Anwendungen sogar mehr Performance bringen als in synthetischen Benchmarks.

Der Out-of-Order-Core hat eine FDIV/FSQRT-Unit in der Pipeline bekommen, die an dieser Stelle ohne Umwege teilen und Quadratwurzeln berechnen kann. Das spart Energie und soll die Performance teilweise deutlich erhöhen. Das Branch-Handling wurde außerdem verbessert und die Performance von speicherintensiven Anwendungen optimiert.

E-Cores müssen ständig laufen können

Beim A520, dem kleinsten v9.2-Kern geht ARM keine Kompromisse bei der Effizienz ein. E-Cores haben unter anderem die Aufgabe, dauerhaft laufende Threads so effizient wie möglich zu bearbeiten. Da einige Hintergrundaufgaben für lange Zeit oder sogar dauerhaft laufen, ist das schnelle Abarbeiten und Abschalten der Kerne hier häufiger keine Option. Die Performance muss zwar ausreichen und wird, wenn möglich, auch verbessert, hat aber eine untergeordnete Priorität.

Auch beim E-Core wurde das Frontend und insbesondere die Sprungvorhersage optimiert, was etwas Performance ohne höhere Leistungsaufnahme zufolge hat. Das hat offenbar ausgereicht, um sich von einer ALU zu verabschieden. Während der X-Core gleich ein Drittel mehr ALUs hat, gibt es am unteren Ende nun weniger. Die wohl wichtigste Änderung ist aber der Wegfall von AArch-32. Seit 2021 möchte ARM bereits ausschließlich auf AArch-64 für alle Kerne setzen, musste sich aber insbesondere dem Druck der chinesischen App-Entwickler und App-Stores stellen, die etwas länger gebraucht haben, ihre Anwendungen auch als 64-Bit-Binary bereitzustellen.

Die 64-Bit-Transition ist laut ARM mittlerweile auch dort abgeschlossen, die Adoption-Rate bewegt sich bei den Top-3.000-Anwendungen auf 100 Prozent zu. Bei gleicher Performance soll der A520 22 Prozent weniger Energie verbrauchen, alternativ gibt es bei gleicher Leistungsaufnahme acht Prozent Mehrleistung. Die meisten Hersteller dürften sich wohl für die geringere Leistungsaufnahme entscheiden.

Neue GPU-Features gegen Speicherhunger

Auch die GPU hat ARM überarbeitet. ARM nennt sie schlicht v5, was für einen einfacheren Überblick sorgen soll. Die größte Verbesserung soll das Deferred Vertex Shading bringen. Dabei werden die Positionen, Farben und Überschneidungen von Objekten berechnet und, falls die nächste Shading-Berechnung nicht dazu gehört, in einem dafür neu hinzugekommenen Buffer gespeichert (deferred). Im Anschluss daran wird das Shading direkt mit den Daten aus dem Buffer durchgeführt, statt wie sonst die Daten erneut aus dem Grafikspeicher lesen zu müssen.

Das kann die benötigte Speicherbandbreite um bis zu 40 Prozent reduzieren. Es bringt zwar auch Performance, vor allem sind Speicherzugriffe aber auch sehr energieintensiv. Eine Tiler genannte Einheit entscheidet für jeden Bereich eines Frames, ob die Objekte darin für Deferred Vertex Shading geeignet sind oder konventionell berechnet werden müssen. ARM gibt an, dass es zumindest keinen Fall geben soll, in dem die GPU dadurch insgesamt langsamer arbeitet.

Das Frontend der GPU wurde überarbeitet, um den Durchsatz zu erhöhen. Außerdem gibt es jetzt die Möglichkeit für echtes 2xMSAA für bessere Performance, was bisher trotz anderslautender Anforderungen der Software als 4xMSAA berechnet wurde und entsprechend teurer war. Die Raytracing-Units können jetzt komplett abgeschaltet werden und brauchen dadurch weniger Strom, wenn sie nicht aktiv genutzt werden.

Raytracing mit wenigen Cores ist kaum sinnvoll

Die Immortalis- und Mali-GPUs sind in der Architektur identisch. Eine GPU darf dann Immortalis heißen, wenn sie mindestens 10 Shader Cores hat und Hardware-Raytracing unterstützt. Laut ARM macht Raytracing auf einer Mali-GPU ohnehin aus Performance-Gründen gerade in Spielen wenig Sinn, wäre aber theoretisch möglich, um dies etwa für CAD und AR-Anwendungen anbieten zu können.

Auf Softwareseite arbeitet ARM sowohl mit den Hardwareherstellern eng zusammen, aber auch direkt mit Softwarefirmen wie den Entwicklern von Flappy Bird oder Pubg. Die Dokumentation und Entwicklungswerkzeuge sind außerdem öffentlich zugänglich. Das ermöglicht es auch kleinen Studios, möglichst gute Software zu entwickeln und die Features der Hardware richtig zu nutzen.

Verbesserungen am Compiler wirken sich außerdem auch auf ältere Produkte positiv aus, auch hier gibt es über die Jahre immer wieder leichte Verbesserungen beim Einsatz der neuesten Version. Upgraden lohnt sich also in diesem Fall aus Entwicklersicht. Das mag für Betriebssysteme mit immer mehr Features anders sein. Produkte mit ARM v9.2 Architektur werden noch in diesem Jahr erwartet. Ein Tape-out für den X4-Core erfolgte bereits in TSMC N3, auch Intel 18A ist für einige Produkte im Gespräch. Genauere Daten dazu gibt es allerdings noch nicht.


Relevante Themen