Das Samsung Austin R&D Center enthüllt Details seiner unveröffentlichten Exynos M6 CPU-Mikroarchitektur

Das Samsung Austin Research & Development Center (SARC) hat ein Papier veröffentlicht, in dem die Mikroarchitektur des eingestellten Exynos M6-CPU-Kerns detailliert beschrieben wird.

Wir wissen, dass das benutzerdefinierte CPU-Kernprojekt im Austin Research & Development Center (SARC) von Samsung zu einem Ende kommen im Oktober 2019. Für ein Projekt, das mit der Einführung des Exynos M1 mit Exynos 8890 im Jahr 2016 so viel Aufsehen erregt hatte, war es ein trauriges Ende. Warum hat SARC das Projekt eingestellt? Der benutzerdefinierte Exynos M5-Kern, der im vorgestellt wird Exynos 990 SoC ist auf absehbare Zeit der letzte von Samsung entwickelte, vollständig kundenspezifische Kern, und im Nachhinein ist es leicht zu erkennen, warum Samsung auf kundenspezifische Kerne verzichtet hat, da diese einfach nicht wettbewerbsfähig genug waren. Es ist jetzt bekannt, dass der Exynos M5-Kern weist ein Leistungseffizienzdefizit von 100 % auf gegen ARMs Cortex-A77, was viel sagt. Doch es musste nicht so kommen. Die Designs von Exynos M1 und Exynos M2 waren vielversprechend, und das benutzerdefinierte CPU-Kernprojekt galt damals als wichtig für den Wettbewerb im mobilen CPU-Bereich. Der Exynos M3 war trotz des starken IPC-Anstiegs ein großer Abschwung

Exynos M4 und Exynos M5 konnte nicht mit der Standard-CPU-IP von ARM mithalten. Was waren die mikroarchitektonischen Änderungen im nächsten benutzerdefinierten Kern, dem eingestellten Exynos M6?

Bisher war die Antwort auf diese Frage unbekannt. Jetzt hat das SARC-CPU-Entwicklungsteam jedoch ein Papier mit dem Titel „Evolution der Samsung Exynos CPU-Architektur“ vorgelegt (von dem wir erfahren haben). AnandTech) auf dem International Symposium for Computer Architecture (ISCA), einer IEEE-Konferenz. Es enthüllt viele Details zu früheren CPUs der Exynos M-Serie sowie zur Architektur des eingestellten Exynos M6.

Das vom CPU-Entwicklungsteam von SARC vorgelegte Papier beschreibt detailliert die Bemühungen des Teams während seines achtjährigen Bestehens und enthüllt auch wichtige Details der benutzerdefinierten ARM-Kerne vom Exynos M1 (Mongoose) bis hin zum Exynos M5 (Lion) der aktuellen Generation und sogar der unveröffentlichten Exynos M6-CPU, die vor der Einstellung voraussichtlich im SoC 2021 des Exynos 990 zum Einsatz kommen würde Nachfolger.

Das SARC-CPU-Team von Samsung wurde 2011 gegründet, um benutzerdefinierte CPU-Kerne zu entwickeln, die dann in Samsung Systems vorgestellt wurden Die Exynos-SoCs von LSI. Der erste Exynos-SoC, der einen benutzerdefinierten Kern verwendete, war der Exynos 8890, der 2016 im Samsung Galaxy zum Einsatz kam S7. Die benutzerdefinierten Kerne blieben Teil der Exynos-SoCs bis zum Exynos 990 mit den Exynos M5-Kernen, die in den Exynos-basierten Samsung Galaxy S20-Varianten zum Einsatz kamen. (Das bevorstehende Exynos 992, das voraussichtlich im Galaxy Note 20 enthalten sein wird, wird voraussichtlich über ARMs verfügen Cortex-A78 und nicht der Exynos M5.) Allerdings hatte SARC die Exynos M6-Architektur vor dem CPU-Team fertiggestellt erhielt im Oktober 2019 die Nachricht von der Auflösung, wobei die Auflösung im Jahr wirksam wurde Dezember.

Das ISCA-Papier enthält eine Übersichtstabelle über die mikroarchitektonischen Unterschiede zwischen den benutzerdefinierten CPU-Kernen von Samsung vom Exynos M1 bis zum Exynos M6. Einige der bekannten Merkmale des Designs wurden vom Unternehmen in seinem ersten ausführlichen Einblick in die M1-CPU-Architektur auf der HotChips 2016-Veranstaltung enthüllt. Auf der HotChips 2018 gab Samsung einen ausführlichen Einblick in den Exynos M3. Die Architektur der Exynos M4- und Exynos M5-Kerne sowie die des M6 wurden ebenfalls detailliert beschrieben.

Quelle: SARC

AnandTech stellt fest, dass das wichtigste Merkmal der Samsung-Designs im Laufe der Jahre darin bestand, dass sie auf demselben RTL-Entwurf basierten, der mit dem Exynos M1 Mongoose-Kern begann. Samsung hat im Laufe der Jahre immer wieder Verbesserungen an den Funktionsblöcken der Kerne vorgenommen. Der Exynos M3 stellte eine Veränderung gegenüber den ersten Iterationen dar, da er den Kern in mehrfacher Hinsicht erheblich verbreiterte, von einem 4-breiten Design zu einem 6-breiten Mittelkern. (Die Apple A11, A12 und A13 hingegen haben eine 7-breite Dekodierungsbreite, während die Cortex-A76, A77 und A78 eine 4-breite Breite haben. Der Cortex-X1 erhöht die Dekodierbreite auf 5-breit.)

Der Bericht enthält auch einige Enthüllungen zum Exynos M5 und M6, die zuvor nicht öffentlich waren. Für den Exynos M5 hat Samsung größere Änderungen an der Cache-Hierarchie der Kerne vorgenommen und private L2-Caches durch neue ersetzt größerer gemeinsamer Cache sowie eine Änderung der L3-Struktur von einem 3-Bank-Design zu einem 2-Bank-Design mit weniger Latenz.

Der gestrichene M6-Kern wäre im Hinblick auf die Mikroarchitektur ein größerer Sprung gewesen. SARC hatte große Verbesserungen vorgenommen, wie die Verdoppelung der L1-Befehls- und Datencaches von 64 KB auf 128 KB – AnandTech stellt fest, dass es sich hierbei um eine Designentscheidung handelt, die bisher nur bei den Kernen der A-Serie von Apple umgesetzt wurde, beginnend mit dem Apple A12.

Die Bandbreitenfähigkeit des L2 wurde auf bis zu 64 B/Zyklus verdoppelt, während beim L3 eine Steigerung von 3 MB auf 4 MB zu verzeichnen war. Der Exynos M6 wäre ein 8-Wide-Decoder-Kern gewesen. Wie von bemerkt AnandTechDies wäre die umfassendste kommerzielle Mikroarchitektur gewesen, die derzeit in Bezug auf die Dekodierung bekannt ist. Obwohl der Kern viel breiter war, gab es bei den Integer-Ausführungseinheiten keine großen Änderungen. Eine komplexe Pipeline fügte eine zweite Ganzzahlteilungsfunktion hinzu, während die Lade-/Speicherpipelines mit einer Ladeeinheit, einer Speichereinheit und einer Lade-/Speichereinheit dieselben wie beim M5 blieben. Die Gleitkomma-/SIMD-Pipelines hätten eine zusätzliche vierte Einheit mit FMAC-Funktionen gesehen. Der L1-DTLB wurde von 48 Seiten auf 128 Seiten erhöht und der Haupt-TLB wurde von 4.000 Seiten auf 8.000 Seiten (32 MB Abdeckung) verdoppelt.

Der Exynos M6 hätte eine weitere bedeutende Änderung gegenüber seinen Vorgängern dargestellt, indem er das Out-of-Order-Fenster des Kerns zum ersten Mal seit dem M3 vergrößert hätte. Es hätte größere physische Ganzzahl- und Gleitkomma-Registerdateien gegeben, und der ROB (Reorder Buffer) wäre von 228 auf 256 gestiegen. AnandTech stellt fest, dass eine wichtige Schwäche der benutzerdefinierten Exynos-Kerne beim M5 immer noch vorhanden ist und auch beim M6 vorhanden gewesen wäre. Es wären die tieferen Pipeline-Stufen, die zu einer teuren Fehlvorhersagestrafe von 16 Zyklen führen würden, die höher wäre als bei den CPU-Kernen von ARM, die eine Fehlvorhersagestrafe von 11 Zyklen haben. Das SARC-Papier geht noch tiefer auf das Branch-Predictor-Design ein und stellt das auf Scaled Hashed Perceptron basierende Design des CPU-Kerns vor. Dieses Design hätte sich im Laufe der Jahre und Implementierungen kontinuierlich verbessert, die Verzweigungsgenauigkeit verbessert und die Fehlvorhersagen pro Kilo-Anweisungen (MPKI) kontinuierlich reduziert. SARC präsentiert eine Tabelle, die die Menge an Speicherstrukturen zeigt, die der Zweigprädiktor im Front-End beansprucht. Die Prefetching-Technologien des Kerns wurden in dem Dokument ebenfalls detailliert beschrieben, darunter auch die Einführung eines µOP-Caches im M5 sowie die Bemühungen des Teams, den Kern gegen Sicherheitslücken wie z Gespenst.

Bemühungen zur Verbesserung der Speicherlatenz in den benutzerdefinierten Exynos-Kernen wurden von SARC in dem Artikel auch detailliert beschrieben. Im Exynos M4 hat das SARC-Team einen Last-Last-Kaskadenmechanismus integriert, der die effektive Latenz des L1-Zyklus bei nachfolgenden Ladevorgängen von vier Zyklen auf drei reduziert. Der M4-Kern führte außerdem eine Pfadumgehung mit einer neuen Schnittstelle von den CPU-Kernen direkt zu den Speichercontrollern ein, wodurch Datenverkehr über die Verbindung vermieden wurde. Entsprechend AnandTechDies erklärte einige der größeren Latenzverbesserungen, die die Veröffentlichung mit dem Exynos 9820 messen konnte. Der Exynos M5 führte einen spekulativen Cache-Lookup-Bypass ein, der gleichzeitig eine Anfrage sowohl an die Interconnect- als auch an die Cache-Tags stellte. Dies würde möglicherweise die Latenz im Falle eines Cache-Fehlers einsparen, während die Speicheranforderung im Gange ist. Auch die durchschnittliche Lastlatenz konnte über die Generationen kontinuierlich verbessert werden, von 14,9 Zyklen beim M1 auf 8,3 Zyklen beim M6.

Während die oben genannten mikroarchitektonischen Merkmale eher technischer Natur sind, werden CPU-Enthusiasten mit dem Begriff „Instructions Per Clock“ (IPC) vertraut sein, der „pro MHz“ bedeutet Leistung in der Single-Thread-CPU-Leistung (es ist der wichtigste Faktor, der die Single-Thread-CPU-Leistung bestimmt, während der andere Faktor die Taktrate der ist Kern). Ganzzahl-IPC und Gleitkomma-IPC sind beide Determinanten von IPC. Dem SARC-Team gelang es, vom M1 zum M6 durchschnittlich 20 % jährliche Verbesserungen zu erzielen. Insbesondere der M3 stellte eine große prozentuale Verbesserung des IPC dar, obwohl er durch andere Faktoren beeinträchtigt wurde. Der Exynos M5 stellte eine Verbesserung des IPC um 15–17 % dar, während die IPC-Verbesserung beim unveröffentlichten Exynos M6 zu verzeichnen war Es wurde bekannt gegeben, dass der Durchschnitt bei M1 bei 2,71 gegenüber 1,06 liegt, was einer Verbesserung um 20 % gegenüber M1 entspricht M5.

Brian Grayson, der Moderator der Zeitung, beantwortete während der Frage-und-Antwort-Runde Fragen zur Absage der Sendung. Er sagte, dass das Team mit jeder Generation immer am Ziel und im Zeitplan geblieben sei und Leistungs- und Effizienzverbesserungen vorgenommen habe. (Bedeutet das, dass die Ziele von vornherein nicht hoch genug waren?). Die größte Schwierigkeit des Teams bestand hingegen darin, äußerst vorsichtig mit der Zukunft umzugehen Designänderungen, da das Team nicht über die Ressourcen verfügte, bei Null anzufangen oder ein komplett neu zu schreiben Block. Rückblickend hätte das Team in der Vergangenheit bei einigen Designrichtungen andere Entscheidungen getroffen. Im krassen Gegensatz dazu arbeiten bei ARM mehrere CPU-Teams an verschiedenen Standorten, die tatsächlich miteinander konkurrieren. Dies ermöglicht „grundlegende Neugestaltungen“ wie das Cortex-A76. Der Cortex-A77 und der Cortex-A78 sind die direkten Nachfolger des A76.

Das SARC-Team hatte Ideen für Verbesserungen für kommende Kerne wie den hypothetischen Exynos M7. Allerdings war es angeblich eine hochrangige Person bei Samsung, die beschlossen hat, das benutzerdefinierte Kernprogramm abzubrechen. Als AnandTech stellt fest, dass die benutzerdefinierten Kerne im Hinblick auf Energieeffizienz, Leistung und Flächennutzung (PPA) im Vergleich zu ARM-CPUs einer bestimmten Generation nicht konkurrenzfähig waren. Letzten Monat kündigte ARM das Cortex-X Custom-Programm mit dem neuen an Cortex-X1, ein Kern der nächsten Generation, der für mobile Geräte im Jahr 2021 gedacht ist. Die Designphilosophie besteht darin, die Grenzen des Cortex-A-PPA zu sprengen und stattdessen auf absolute Leistung zu setzen. Der Exynos M6 hätte es daher schwer gehabt, mit ihm zu konkurrieren. Dennoch sieht es so aus, als würde Samsung den Cortex-X1 nicht adaptieren und nur auf die Cortex-A78 + Cortex-A55-Kombination im Exynos 992 setzen – sie könnte jedoch im nächsten Jahr im Galaxy S-Flaggschiff übernommen werden.

Das SARC-Team entwickelt derzeit noch kundenspezifische Verbindungen und Speichercontroller für Samsung Systems LSI. Es wurde auch an benutzerdefinierten GPU-Architekturen gearbeitet, jedoch an Samsung Systems LSI hat einen Vertrag mit AMD unterzeichnet ab 2021 die RDNA-GPU-Architektur der nächsten Generation (Next Graphics Architecture) von AMD in zukünftigen Exynos-GPUs zu verwenden.

Insgesamt war das benutzerdefinierte CPU-Kernprojekt eine aufschlussreiche Lektion für die Hersteller mobiler Chips darüber, was schief gehen kann. Das SARC-CPU-Team hatte große Ambitionen, mit Apple zu konkurrieren, dem unangefochtenen Marktführer im Bereich mobiler CPUs. Leider konnte es nicht mit ARM konkurrieren, ganz zu schweigen von Apple. Die Probleme hätten gelöst werden können, aber Jahr für Jahr blieben die Bemühungen von SARC ein oder zwei Schritte zurück, und Dies wirkte sich negativ auf die Auslieferung von Produkten wie den Exynos 9810-Varianten des Samsung Galaxy S9 aus. Nun werden alle großen Android-Mobilchip-Anbieter ab 2021 die Standard-CPU-IP von ARM verwenden, und diese Liste umfasst Qualcomm, Samsung, MediaTek und HiSilicon. Der Kampf wird mit Kernen wie dem Cortex-X1 zu Apple geführt, nicht mit von Grund auf neu entwickelten benutzerdefinierten ARM-Kernen.


Quelle: Weiterentwicklung der Samsung Exynos CPU-Architektur | Über: AnandTech