Arm Cortex-X2, A710, and A510 deep dive: Armv9 CPU designs explained
Arm hat drei neue Armv9-basierte CPUs angekündigt: den Arm Cortex-X2, den Cortex-A710 und den Cortex-A510.
Die CPU-Designs von Arm werden heutzutage in der überwiegenden Mehrheit der Android-Smartphones verwendet, wobei jeder von Google und OnePlus bis Samsung und Huawei die CPUs des Unternehmens in irgendeiner Form verwendet. Diese Unternehmen lizenzieren die CPU-Kerne von Arm und verwenden sie zusammen mit einer GPU, NPU, ISP, DSP usw., um ein System-on-a-Chip (SoC) herzustellen. Beispielsweise verwendet der Snapdragon 888 einen Cortex-X1, drei Cortex-A78-Kerne und vier Cortex-A55-Kerne.
Dies sind alles 64-Bit-Armv8-CPU-Designs. Arm hat kürzlich seine neue Befehlssatzarchitektur (ISA) für das nächste Jahrzehnt, Armv9, eingeführt. Die neue Architektur ist 64-Bit und abwärtskompatibel mit Armv8, bietet jedoch viele zukunftssichere Technologien wie Scalable Vector Extensions 2 (SVE2) und sicherheitsrelevante Funktionen wie Memory Tagging Extensions (MTE). Mit der Umstellung auf Armv9 muss das Unternehmen alle drei Ebenen seiner mobilen CPU auf Armv9 aktualisieren. Das heißt, wir erhalten drei neue CPU-Kerndesigns in einem Stapel. Folgendes wissen wir über sie!
Cortex-X2: Der Leistungskern erhält mehr Leistung
Der Cortex-X1 war der erste CPU-Kern aus dem Cortex-X Custom (CXC) -Programm von Arm. Dies konzentriert sich auf Leistung über Effizienz, noch mehr als die traditionellen großen Kerne von Arm. Der Cortex-X1 hat seinen Weg in die Exynos 2100- und Snapdragon 888-Chipsätze gefunden und dient als neuer Hauptkern in diesen SoCs. Da die Leistung optimiert ist, befindet sich auf einem mobilen Gerät normalerweise nur ein X-Core. In einem SoC, der für Chromebooks oder andere Laptops entwickelt wurde, besteht jedoch immer das Potenzial für mehrere Cortex-X-Kerne.
Jetzt hat Arm den Cortex-X2 enthüllt. Es handelt sich um eine 64-Bit-Armv9-basierte CPU (kein 32-Bit-Modus) mit dem Potenzial einer 16% igen Leistungsverbesserung gegenüber dem X1 (bei Verwendung des gleichen Herstellungsprozesses und der gleichen Taktfrequenzen).
Das Unternehmen erwartet, dass die Prozessoren, die den Cortex-X2 verwenden, eine Leistungssteigerung von bis zu 30% gegenüber den Flaggschiff-Telefonen von 2021 (die den X1 verwenden) bieten, wenn andere Verbesserungen wie mehr Cache berücksichtigt werden. Arm sagt auch, dass Sie eine 2-fache Steigerung der Leistung beim maschinellen Lernen gegenüber dem X1 erwarten können.
Der auf Armv9 basierende Cortex-X2 hat das Potenzial einer 16% igen Leistungsverbesserung gegenüber dem X1.
Um die zusätzliche Leistung zu finden, haben die X2-Designer die Filialproduktion vom Abruf entkoppelt. Dies bedeutet, dass der Abruf vor dem Verzweigungsprädiktor ausgeführt werden kann und es ihm ermöglicht, alle Lücken auszugleichen, die aufgrund von Verzweigungen in der Pipeline auftreten können. Der Prädiktor selbst wurde ebenfalls verbessert und enthält jetzt einen alternativen Pfadprädiktor. Dies führt zu weniger Verzweigungsfehlern, was wiederum die Leistung erhöht.
Die folgende Grafik zeigt die Verringerung der Verzweigungsfehlervorhersagen pro 1.000 Anweisungen (MPKI) des X2 im Vergleich zum X1.
Der X2 verwendet eine 10-stufige Pipeline mit einem vergrößerten Fenster außerhalb der Reihenfolge. Da es sich um eine Armv9-CPU handelt, wird SVE2 implementiert, diesmal mit 128 Bit. Der X2 verbessert auch die Parallelität auf Befehlsebene, indem die Fenster- / Strukturgrößen des Lastspeichers erhöht werden.
Die verbesserte Leistung kann teilweise auch auf eine Erhöhung der Cache-Größe zurückgeführt werden. Während der L2-Cache immer noch 1 MB übersteigt, wurde der L3-Cache von maximal 8 MB im Cortex-X1 verdoppelt und kann jetzt bis zu 16 MB unterstützen.
Cortex-A710: Der große Kern trinkt weniger Saft
Arm hat auch einen Nachfolger für den Cortex-A78 herausgegeben, und das Unternehmen trägt einen völlig neuen Namen für den Cortex-A710.
Der Cortex-A710 hat nicht die gleiche Spitzenleistung wie der X2, aber Sie sehen immer noch eine beachtliche Leistungssteigerung von 10% gegenüber einem Cortex-A78 bei demselben Herstellungsprozess. Eine weitaus größere Verbesserung ist jedoch beim maschinellen Lernen und bei der Akkulaufzeit zu verzeichnen, da Arm einen 2-fachen Leistungsgewinn bzw. einen 30% igen Effizienzgewinn ankündigt.
Arm hat die Leistung gesteigert, indem die Genauigkeit des Verzweigungsprädiktors am Front-End des Prozessors verbessert und die Kapazität der wichtigsten Verzweigungsvorhersagestrukturen, nämlich des Verzweigungszielpuffers (BTB) und des globalen Verlaufspuffers (GHB), verdoppelt wurde.
Um die Effizienz zu verbessern, ist der A710 ein Kern mit fünf Breiten (im Vergleich zu einem A78 mit sechs Breiten) und wechselt zu einer 10-stufigen Pipeline (ähnlich wie der Cortex-X2). Darüber hinaus gibt es Änderungen im Daten-Prefetcher, die zu einer verbesserten Abdeckung und Genauigkeit führen.
Im Gegensatz zum X2 unterstützt der Cortex-A710 auch AArch32 (dh 32-Bit-Apps), eine Funktion, die bald verschwinden wird. Arm hat angekündigt, dass bis 2023 alle neuen CPU-Kerne für Mobilgeräte nur noch 64-Bit sein werden. Wie der Cortex-X2 ist die SVE2-Engine 128 Bit breit.
Cortex-A510: Endlich ein neuer kleiner Kern
Arm hat seit vier Jahren keinen neuen kleinen Kern mehr veröffentlicht, was in Smartphone-Jahren eine Ewigkeit ist. Zum Glück ist das Warten vorbei, da das Unternehmen den Armv9-basierten Cortex-A510 auf den Markt gebracht hat, um dort weiterzumachen, wo der Cortex-A55 aufgehört hat.
Wie Sie es von einem längst überfälligen Upgrade erwarten würden, bringt der Cortex-A510 laut Arm eine Leistungsverbesserung von 35%, einen Effizienzgewinn von 20% und eine dreifache Steigerung des maschinellen Lernens im Vergleich zu einem Cortex-A55 im selben Prozess.
Das Unternehmen gibt an, dass eine Kombination aus einem dreistelligen In-Order-Design (im Vergleich zu zwei breiten im A55) zusammen mit Branchenvorhersage- und Datenvorabruftechnologien aus dem Cortex-X-Projekt zur Verbesserung der Leistung und Effizienz des A510 beigetragen hat. Es verwendet auch eine Dekodierung mit drei Breiten, ein Problem mit drei Breiten, drei ganzzahlige ALU-Pipelines und Pipelines mit zwei Lade- / Speicherfunktionen. Die Lade- / Speicher-Pipelines können als 2x Last oder 1x Last plus 1x Speicher arbeiten.
Das interessanteste Merkmal des Cortex-A510 ist seine Mikroarchitektur mit zusammengeführtem Kern. Zwei Cortex-A510-Kerne können in einem Komplex zusammengefasst werden. In einem Komplex teilen sich die Cortex-A510-Kerne einige Ressourcen, insbesondere den L2-Cache, den L2 Translation Lookaside Buffer (TLB) und die SIMD-Engine (Gleitkomma, NEON und SVE2).
Das interessanteste Merkmal des Cortex-A510 ist seine Mikroarchitektur mit zusammengeführtem Kern.
Dies ist eine ähnliche Idee wie beim simultanen Multithreading (SMT), das Sie möglicherweise als Hyperthreading bezeichnen, da Teile des CPU-Kerns gemeinsam genutzt werden. Die Cortex-A510-Mikroarchitektur mit zusammengeführtem Kern ist jedoch viel weniger drastisch. Die Hauptteile des Kerns sind immer noch unabhängig, und alles außer Gleitkommaoperationen und SIMD-Betrieb verbleibt auf jedem Kern. Wenn der Kern jedoch eine Vektormathematik ausführen muss, verwendet er eine NEON / SVE2-Engine, die mit einem anderen Kern gemeinsam genutzt wird. Eine clevere feinkörnige Planung zwischen den Kernen bedeutet, dass selbst wenn beide Kerne die Vektoreinheit verwenden, ein minimaler Overhead entsteht. Bei einigen Gleitkomma-Benchmarks ist bei Arm nur ein Rückgang der mathematischen Leistung um 1% zu verzeichnen.
Die Vorteile des Merged-Core-Mikroarchitektur-Setups liegen nicht so sehr in der Leistung oder Energieeffizienz, sondern in der Fläche. Je mehr Transistoren in einem Prozessor enthalten sind, desto mehr Geld kostet es. Dies ist normalerweise kein Problem im High-End-Bereich. Preisempfindliche Telefone müssen jedoch nach Möglichkeit Geld sparen, auch bis zu einer Anzahl von mm2 Der CPU-Kern belegt.
Apropos Vektormathematik: Da der Cortex-A510 ein Armv9-Prozessor ist, implementiert er SVE2. Im Gegensatz zum X2 und A710 kann der A510 jedoch mit einer 64-Bit-Implementierung von SVE2 oder einer 128-Bit-Implementierung erstellt werden. Dies gibt den Chipherstellern die Flexibilität zwischen Fläche und Leistung.
Da der Cortex-A510 auch in Flaggschiff-Prozessoren verwendet wird, können Ein-Kern-Komplexe erstellt werden, sodass keine gemeinsamen Ressourcen vorhanden sind. Um die beste Leistung des A510 zu erzielen, müssen Einkernkomplexe und 128-Bit-SVE2 verwendet werden. Eine flächenbewusste Version würde zwei Kerne pro Komplex und 64-Bit-SVE2 verwenden.
In Ordnung, wirklich?
Bei Arm gab es viele interne Diskussionen über die Architektur des Cortex-A510: Sollte es eine in Ordnung befindliche CPU wie der Cortex-A53 und der Cortex-A55 bleiben oder sollte es zu einem außer Betrieb befindlichen Design übergehen? In-Order-Designs sind sehr effizient, aber die Frage war, kann die gewünschte Leistung erzielt werden? Die Antwort ist ja; Das Design in der richtigen Reihenfolge war der richtige Weg, um die Energieeffizienz aufrechtzuerhalten und gleichzeitig die Leistung zu steigern.
Um dies hervorzuheben, führt Arm einen Vergleich mit dem Cortex-A73 2016/2017 durch. Dieses CPU-Design wurde in Prozessoren wie dem Qualcomm Snapdragon 835 und Handys wie dem Google Pixel 2 gefunden. Der Cortex-A73 ist ein 11-stufiger Prozessor, der auf Armv8 basiert. Ein Smartphone-Prozessor, der 2022 nur den Cortex-A510 verwendet, bietet 90% der Leistung im Vergleich zu einem Cortex-A73-basierten Smartphone, verbraucht jedoch 35% weniger Strom. Das bedeutet auch, dass der Cortex-A510 schneller ist als der Cortex-A57 und der Cortex-A72! Mit anderen Worten, die heutigen Energieeffizienzkerne (die kleinen Kerne) nähern sich den Leistungsniveaus früherer Big-Core-CPU-Designs an.
Mögliche Konfigurationen
Arm hat die Tür für offene Konfigurationen des Cortex-X2 bewusst offen gelassen, wenn seine Partner dies bauen möchten. Es gibt keinen technischen Grund, jemanden daran zu hindern, einen Octa-Core-Cortex-X2-Prozessor mit bis zu 16 MB L3-Cache und 32 MB Cache auf Systemebene zu erstellen. Es ist für Laptops oder sogar kleine Desktop-Geräte konzipiert. Wird jemand einen solchen Prozessor bauen? Wir können nur hoffen! Eine möglicherweise realistischere Option wäre ein Quad-Core-Cortex-X2- plus Quad-Core-Cortex-A710-Setup, das wiederum auf Chromebooks oder Laptops ausgerichtet ist.
Wir sollten sehen, dass Telefone im ersten Quartal 2022 aktualisierte Prozessoren verwenden.
Wir werden wahrscheinlich eine Wiederholung des üblichen 1 + 3 + 4-Formats im mobilen Bereich sehen, diesmal jedoch mit einem X2-, drei A710-Kernen und vier Cortex-A510-Kernen. Könnte dies das Setup des mobilen Samsung-Prozessors für das Galaxy S22 sein? Ein solcher Prozessor würde theoretisch einen 30% igen Sprung in der Single-Core-Spitzenleistung (dank des X2), eine 30% ige Steigerung der anhaltenden Effizienz (dank des Cortex-A710) und eine 35% ige Steigerung der geringen Kernleistung (danke) bieten zum Cortex-A510).
Wir können erwarten, dass der Cortex-A710 zusammen mit dem Cortex-A510 in einem 4 + 4- oder 2 + 6-Setup für Chiphersteller eingesetzt wird, die nicht Teil des Cortex-X Custom-Programms sind. Es besteht auch das Potenzial für einen Octa-Core-A510-Prozessor oder sogar eine Quad-Core-Variante. Octa-Core-Cortex-A53-Prozessoren waren sehr beliebt, aber wir sahen nicht die gleiche Begeisterung für Octa-Core-Cortex-A55-Chips. Der Cortex-A510 hat das Potenzial, die Leidenschaften für solche Prozessoren neu zu entfachen, insbesondere angesichts der platzsparenden Vorteile der Merge-Core-Mikroarchitektur. Da der Cortex-A510 jedoch nur 64-Bit ist, kann dies die Attraktivität in Märkten einschränken, die die Dienste von Google nicht nutzen (dh noch nicht auf 64-Bit-Apps umgestellt haben).
Wann werden wir die neuen CPUs sehen?
Das Entwerfen moderner CPU-Kerne kann Jahre dauern. Tatsächlich fanden die ersten Diskussionen über den Cortex-A510 bereits 2016 statt, und die Ideen rund um die Mikroarchitektur mit zusammengeführtem Kern wurden bereits im Design des Cortex-A53 angepriesen. Die öffentliche Bekanntgabe dieser neuen Kerne ist einer der letzten Schritte. Lange bevor wir von diesen Designs erfahren haben, werden die wichtigsten Partner von Arm – darunter Qualcomm, Samsung und MediaTek – bereits mit Arm zusammengearbeitet haben.
Dies bedeutet, dass wir erwarten können, dass Armv9-Prozessoren mit einigen oder allen dieser Kerne gegen Ende des Jahres 2021 angekündigt werden. Tatsächliche Telefone, die diese Prozessoren verwenden, werden möglicherweise bereits im ersten Quartal 2022 gestartet.