Schwerpunkte

Neue High-End-CPUs

Arm Cortex-A78 und -X1 – Schneller und energieeffizienter

26. Mai 2020, 15:00 Uhr   |  Frank Riemenschneider


Fortsetzung des Artikels von Teil 1 .

Erste Cortex-X-CPU aus kundenspezifischem Entwicklungsprogramm

Bislang gab es von Arm eine dedizierte Cortex-A-Roadmap, bei welcher jedes Jahr eine neue CPU vorgestellt wurde und wird. Die Designziele ergeben sich aus der Summe von Kudnenwünschen.

Erstmals hat Arm nunmehr mit dem Cortex-X-Programm eine zweite, kundenspezifische Roadmap vorgestellt, in der sich eine Teilmenge von Kunden, die spezielle Bedürfnisse wie höhere Rechenleistung für spezielle Anwendungsfälle hat, zusammentut. Ein beispiel sind Smartphone-Lieferanten wie Qualcomm, Samsung und Huawei, welche alle vom prinzip her denselben Ansprich haben, nämlich maximale Rechenlesitung für High-End-Smartphones zu liefern.

Anders als bei den bekannten Architekturlizenzen, unter denen Firmen wie Apple (und in der Vergangenheit auch Qualcomm, Samsung und Huawei) ihre eigenen Arm-Architektur-basierten SoCs von Grund auf neu entwickeln, tritt beim Cortex-X-Programm Arm als Entwickler auf und vermarktet die CPUs unter Cortex-X-Marke statt unter kundenspezifischen Eigennamen wie Mx bei Samsung, Kirin bei Huawei oder Krait bei Qualcomm.

Die erste CPU dieser Roadmap heisst Cortex-X1 und wurde auf maximale Rechenleistung designt, was natürlich auf Kosten der Leistungsaufnahme und Siliziumfläche ging. Bild 4 zeigt die Mikroarchitektur im Überblick, wobei gegenüber dem Cortex-A78 wesentliche Unterschiede zu Tage treten: Als erstes sind die Caches größer. Die L1-Caches sind fix 64 KB groß, L2 bis zu 1 MB konfigurierbar und L3 bis zu 8 MB, d.h. doppelt so groß wie beim Cortex-A78.

Als nächstes gibt es im Front-End einen um 50 % größeren L0-BTB mit 96 Einträgen, mittels 5 statt 4 Befehls-Dekodern einen Fetch von 5 Befehlen aus dem Befehls-Cache und von 8 Mops aus dem Mop-Cache (statt 6 beim A78). Tatsächlich kann der X1 acht Befehle parallel laden, solange er auf den Mop-Cache trifft. Der Mop-Cache selbst beinhaltet mit 3.000 Einträgen doppelt so viele wie beim Cortex-A78.

In der nächsten Stufe liefert der Dispatcher mit 8 Mops/Taktzyklus 33 % mehr als beim Cortex-A78. In µops ausgedrückt kann die X1-CPUs bis zu 16 Dispatches pro Taktzyklus verarbeiten, wenn Mops vollständig in kleinere µops zerlegt werden, was in dieser Hinsicht eine Steigerung von 60 % im Vergleich zu den 10 µops/Zyklus darstellt, die der A77 erreichte.

Das Out-of-Order-Fenster erlaubt mit statt 160 nunmehr 224 Einträgen (+ 40 %) noch mehr Code-Parallelisierung. Dies ist interessant, weil Arm eine Aufrüstung in der Vergangenheit skeptisch sah, weil die Rechenleistung nicht annähernd linear mit der vergrößerten Struktur skaliert und dies auf Kosten von Energieverbrauch und Fläche geht.

Am Wichtigsten ist jedoch die Verdoppelung der Gleitkomma/SIMD-Pipelines auf Vier, davon 2 Komplexe. Die Verdoppelung der Bandbreite auf 4 x 128 bit führt gegenüber dem Cortex-A78 zu rund 25 % höherer Rechenleistung beim SPECfp2006 (Bild 5), gleiches gilt auch für den Integer-Teil (gemessen mit SPECInt_2006). Tatsächlich ist der Cortex-X1 in der Vektorausführungsbreite so ziemlich gleichwertig mit einigen Desktop-Cores wie Intels Sunny Cove oder AMDs Zen2. Im Gegensatz zu diesen Designs erlaubt es ARMv8 jedoch nicht, dass einzelne Vektoren breiter als 128 bit sind.

Arm Cortex-X1
© Arm/Elektronik

Bild 4. Mikroarchitektur des Cortex-X1 im Überblick.

Hierfür ist natürlich auch das nochmals aufgebohrte Speichersystem verantwortlich (Bild 5), dass statt zwei numnehr 4 Speicherbänke umfasst, einen um 66 % größeren L2-TLB mit 2.000 Einträgen und ein um 33 % größeres Fenster für Inflight-Laden und -Speichern.

Das Alles geht natürlich auf Kosten der Leistungsaufnahme, welche Arm nicht öffnetlich macht. Ein Hinweis, in welchen Dimensionen man sich bewegen dürfte, ist jedoch eine mögliche Zielkonfiguration: In einem 4-Core-Cluster schlägt Arm drei CPUs des Typs Cortex-A78 und nur eine X1-CPU für kurze Threads mit hohen Workloads vor. Es ist anzunehmen, dass hierfür auch thermische Gründe sprechen, um eine Überhitzung eines Smartphones zu verhindern.

Während eine Cortex-A78-CPU gefertigt in 5-nm-FinFET rund 15 % kleiner als ein in 7 nm gefertigter Cortex-A77 ist, ist ein Cortex-X1 (mathematisch von uns ermittelt aus anderen Angaben) rund 1,5x so groß als ein Cortex-A77 – und das in einem 5-nm-Prozess vs. 7 nm. Die zusätzlichen Gleitkomma-Pipelines und natürlich größeren Caches fordern hier ihren Tribut.

Arm Cortex-X1
© Arm

Bild 5. Der ganz auf hohe Rechenleistung getrimmte Cortex-X1 sticht den Cortex-A78 in diversen bekannten Benchmarks aus.

Seite 2 von 3

1. Arm Cortex-A78 und -X1 – Schneller und energieeffizienter
2. Erste Cortex-X-CPU aus kundenspezifischem Entwicklungsprogramm
3. Fazit

Auf Facebook teilen Auf Twitter teilen Auf Linkedin teilen Via Mail teilen

Das könnte Sie auch interessieren

Verwandte Artikel

ARM Germany GmbH