Samsung Austin R&D Center onthult details van zijn nog niet uitgebrachte Exynos M6 CPU-microarchitectuur

Samsung Austin Research & Development Center (SARC) heeft een paper uitgebracht waarin de microarchitectuur van de geannuleerde Exynos M6 aangepaste CPU-kern wordt beschreven.

We weten dat het aangepaste CPU-kernproject in het Austin Research & Development Center (SARC) van Samsung kwam tot een einde in oktober 2019. Voor een project dat met zoveel tamtam werd gepromoot met de lancering van de Exynos M1 met Exynos 8890 in 2016, was het een triest einde. Waarom heeft SARC het project stopgezet? De aangepaste Exynos M5-kern, te zien in de Exynos 990 SoC is de laatste door Samsung ontworpen volledig op maat gemaakte kern voor de nabije toekomst, en achteraf gezien is het gemakkelijk in te zien waarom Samsung de aangepaste kernen heeft opgegeven, omdat deze simpelweg niet concurrerend genoeg waren. Inmiddels is bekend dat de Exynos M5 kern heeft heeft een tekort aan energie-efficiëntie van 100% tegen ARM's Cortex-A77, wat veel zegt. Toch hoefde het niet zo te gaan. De Exynos M1- en Exynos M2-ontwerpen waren veelbelovend, en het aangepaste CPU-kernproject werd destijds als belangrijk beschouwd omwille van de concurrentie op de mobiele CPU-ruimte. De Exynos M3 kende een grote teruggang ondanks de grote IPC-verhoging, en de

Exynos M4 en Exynos M5 slaagde er niet in om ARM's standaard CPU-IP bij te houden. Wat waren de microarchitectonische veranderingen in de volgende aangepaste kern, de geannuleerde Exynos M6?

Tot nu toe was het antwoord op die vraag onbekend. Nu heeft het CPU-ontwikkelingsteam van SARC echter een paper gepresenteerd met de titel "Evolutie van de Samsung Exynos CPU-architectuur" (die we te weten kwamen via AnandTech) op het International Symposium for Computer Architecture (ISCA), een IEEE-conferentie. Het onthult veel details over eerdere CPU's uit de Exynos M-serie, evenals de architectuur van de geannuleerde Exynos M6.

Het artikel gepresenteerd door het CPU-ontwikkelteam van SARC beschrijft de inspanningen van het team gedurende zijn achtjarige bestaan, en onthult ook belangrijke details van de aangepaste ARM-kernen, variërend van de Exynos M1 (Mongoose) tot de huidige generatie Exynos M5 (Lion), en zelfs de nog niet uitgebrachte Exynos M6 CPU, die vóór de annulering naar verwachting in de 2021 SoC van de Exynos 990 zou verschijnen opvolger.

Het SARC CPU-team van Samsung werd in 2011 opgericht om aangepaste CPU-kernen te ontwikkelen, die vervolgens in Samsung Systems werden gebruikt Exynos SoC's van LSI. De eerste Exynos SoC die een aangepaste kern gebruikte, was de Exynos 8890, die te zien was in de Samsung Galaxy van 2016 S7. De aangepaste kernen bleven onderdeel van Exynos SoC's tot de Exynos 990 met de Exynos M5-kernen, die te zien waren in de door Exynos aangedreven Samsung Galaxy S20-varianten. (De komende Exynos 992, dat waarschijnlijk in de Galaxy Note 20 zal verschijnen, zal naar verwachting ARM's bevatten Cortex-A78 en niet de Exynos M5.) SARC had de Exynos M6-architectuur echter voltooid voordat het CPU-team dat had gedaan kreeg nieuws dat het in oktober 2019 werd ontbonden, waarbij de ontbinding van kracht werd December.

Het ISCA-paper bevat een overzichtstabel van de microarchitecturale verschillen tussen de aangepaste CPU-kernen van Samsung, van de Exynos M1 tot de Exynos M6. Enkele van de bekende kenmerken van het ontwerp waren door het bedrijf onthuld tijdens de eerste diepgaande duik in de M1 CPU-architectuur tijdens het HotChips 2016-evenement. Op HotChips 2018 gaf Samsung een deep dive over de Exynos M3. Ook de architectuur van de Exynos M4- en Exynos M5-kernen is gedetailleerd, evenals die van de M6.

Bron: SARC

AnandTech merkt op dat het enige belangrijke kenmerk van de ontwerpen van Samsung door de jaren heen was dat het gebaseerd was op dezelfde blauwdruk RTL die begon met de Exynos M1 Mongoose-kern. Samsung bleef door de jaren heen verbeteringen aanbrengen in de functionele blokken van de kernen. De Exynos M3 vertegenwoordigde een verandering ten opzichte van de eerste iteraties, omdat hij de kern in verschillende opzichten aanzienlijk verbreedde, gaande van een 4-breed ontwerp naar een 6-brede middenkern. (De Apple A11, A12 en A13 hebben daarentegen een decodeerbreedte van 7, terwijl de Cortex-A76, A77 en A78 een breedte van 4 hebben. De Cortex-X1 vergroot de decodeerbreedte tot 5-breed.)

Het rapport doet ook enkele onthullingen die voorheen niet openbaar waren met betrekking tot de Exynos M5 en de M6. Voor de Exynos M5 heeft Samsung grotere wijzigingen aangebracht in de cachehiërarchie van de cores, waarbij privé L2-caches zijn vervangen door een nieuwe grotere gedeelde cache en onthult een verandering in de L3-structuur van een ontwerp met 3 banken naar een ontwerp met 2 banken met minder latentie.

De geannuleerde M6-kern zou een grotere sprong zijn geweest in termen van de microarchitectuur. SARC had grote verbeteringen aangebracht, zoals het verdubbelen van de L1-instructie en datacaches van 64 KB naar 128 KB - AnandTech merkt op dat dit een ontwerpkeuze is die tot nu toe alleen is geïmplementeerd door de kernen uit de A-serie van Apple, te beginnen met de Apple A12.

De L2 werd qua bandbreedtecapaciteit verdubbeld tot 64B/cyclus, terwijl de L3 een toename zou hebben gezien van 3MB naar 4MB. De Exynos M6 zou een 8-brede decodeerkern zijn geweest. Zoals opgemerkt door AnandTech, zou dit de breedste commerciële microarchitectuur zijn geweest die momenteel bekend is in termen van decodering. Hoewel de kern veel breder was, ondergingen de uitvoeringseenheden met gehele getallen niet veel verandering. Eén complexe pijpleiding voegde een tweede mogelijkheid voor deling van gehele getallen toe, terwijl de laad-/opslagpijpleidingen hetzelfde bleven als de M5 met één laadeenheid, één opslageenheid en één laad-/opslageenheid. De drijvende-komma/SIMD-pijpleidingen zouden een extra vierde eenheid met FMAC-mogelijkheden hebben gezien. De L1 DTLB werd verhoogd van 48 pagina's naar 128 pagina's, en de hoofd-TLB werd verdubbeld van 4K pagina's naar 8K pagina's (dekking van 32 MB).

De Exynos M6 zou opnieuw een belangrijke verandering ten opzichte van zijn voorgangers hebben betekend door het out-of-order-venster van de kern te vergroten vanaf de eerste keer sinds de M3. Er zouden grotere fysieke registerbestanden met gehele getallen en drijvende komma zijn geweest, en de ROB (Reorder Buffer) zou zijn toegenomen van 228 naar 256. AnandTech merkt op dat een belangrijk zwak punt van de aangepaste Exynos-kernen nog steeds aanwezig is op de M5 en ook op de M6 aanwezig zou zijn geweest. Het zouden de diepere pijplijnfasen zijn die zouden resulteren in een dure misvoorspellingsstraf van 16 cycli, die hoger was dan de CPU-kernen van ARM die een misvoorspellingsstraf van 11 cycli hebben. Het SARC-paper gaat nog dieper in op het ontwerp van de branch-predictor en toont het op Scaled Hashed Perceptron gebaseerde ontwerp van de CPU-kern. Dit ontwerp zou in de loop der jaren en implementaties voortdurend zijn verbeterd, waardoor de nauwkeurigheid van de vertakkingen werd verbeterd en de misvoorspellingen per kilo-instructies (MPKI) voortdurend werden verminderd. SARC presenteert een tabel die de hoeveelheid opslagstructuren laat zien die de branchevoorspeller binnen de front-end in beslag neemt. De prefetching-technologieën van de kern werden ook gedetailleerd beschreven in het artikel, waarin de introductie van een µOP-cache werd behandeld in de M5, evenals de inspanningen van het team om de kern te versterken tegen beveiligingsproblemen zoals Spook.

Pogingen om de geheugenlatentie in de aangepaste Exynos-kernen te verbeteren, werden ook door SARC in de krant gedetailleerd beschreven. In de Exynos M4 heeft het SARC-team een ​​load-load cascademechanisme ingebouwd dat de effectieve L1-cycluslatentie van vier cycli naar drie bij daaropvolgende belastingen reduceerde. De M4-kern introduceerde ook een pad-bypass met een nieuwe interface van de CPU-kernen rechtstreeks naar de geheugencontrollers, waardoor verkeer via de interconnect werd vermeden. Volgens AnandTech, verklaarde dit enkele van de grotere latentieverbeteringen die de publicatie kon meten met de Exynos 9820. De Exynos M5 introduceerde een speculatieve cache-lookup-bypass, die tegelijkertijd een verzoek deed aan zowel de interconnect- als de cache-tags. Dit zou mogelijk latentie besparen in het geval van een cache-misser terwijl het geheugenverzoek onderweg is. De gemiddelde belastinglatentie werd ook voortdurend verbeterd over de generaties heen, van 14,9 cycli op de M1 tot 8,3 cycli op de M6.

Hoewel de bovengenoemde microarchitectuurkenmerken behoorlijk technisch zijn, zullen CPU-enthousiastelingen bekend zijn met de term Instructions Per Clock (IPC), wat betekent per MHz prestaties in single-thread CPU-prestaties (het is de belangrijkste factor die de single-thread CPU-prestaties bepaalt, terwijl de andere factor de kloksnelheid van de CPU is kern). Integer IPC en drijvende-komma IPC zijn beide determinanten van IPC. Het SARC-team slaagde erin om jaarlijks gemiddeld 20% verbeteringen te realiseren van de M1 naar de M6. Vooral de M3 vertegenwoordigde een grote procentuele verbetering van de IPC, hoewel deze door andere factoren in de steek werd gelaten. De Exynos M5 vertegenwoordigde een verbetering van 15-17% in IPC, terwijl de IPC-verbetering voor de nog niet uitgebrachte Exynos M6 naar verluidt heeft de M1 een gemiddelde van 2,71 versus 1,06, wat neerkomt op een verbetering van 20% ten opzichte van de voorgaande jaren. M5.

Brian Grayson, de presentator van de krant, beantwoordde tijdens de vraag- en antwoordsessie vragen over de annulering van het programma. Hij zei dat het team altijd op schema en op schema was geweest met prestatie- en efficiëntieverbeteringen bij elke generatie. (Betekent dit dat de doelstellingen in de eerste plaats niet hoog genoeg waren?). De grootste moeilijkheid van het team was daarentegen dat ze extreem voorzichtig moesten zijn met de toekomst ontwerpwijzigingen omdat het team niet over de middelen beschikte om helemaal opnieuw te beginnen of een geheel te herschrijven blok. Achteraf gezien zou het team in het verleden bij sommige ontwerprichtingen andere keuzes hebben gemaakt. In schril contrast hiermee heeft ARM meerdere CPU-teams die op verschillende locaties werken en daadwerkelijk met elkaar concurreren. Dit maakt "nieuwe ontwerpen van de grond af" mogelijk, zoals de Cortex-A76. De Cortex-A77 en de Cortex-A78 zijn de directe opvolgers van de A76.

Het SARC-team had ideeën voor verbeteringen voor aankomende cores zoals de hypothetische Exynos M7. Het was echter vermoedelijk een zeer hoog persoon bij Samsung die besloot het aangepaste kernprogramma te annuleren. Als AnandTech merkt op dat de aangepaste kernen niet concurrerend waren in termen van energie-efficiëntie, prestaties en oppervlaktegebruik (PPA) vergeleken met ARM's CPU's van een bepaalde generatie. Vorige maand kondigde ARM het Cortex-X Custom-programma aan met het nieuwe Cortex-X1, een kern van de volgende generatie bedoeld voor mobiele apparaten in 2021. Het heeft een ontwerpfilosofie om de Cortex-A PPA-envelop te doorbreken en in plaats daarvan voor absolute prestaties te gaan. De Exynos M6 zou het daarom moeilijk hebben gehad om ermee te concurreren. Toch lijkt het erop dat Samsung de Cortex-X1 niet zal aanpassen en alleen de combinatie Cortex-A78 + Cortex-A55 zal gebruiken in de Exynos 992 - het zou echter kunnen worden overgenomen in het vlaggenschip van de Galaxy S van volgend jaar.

Het SARC-team ontwerpt momenteel nog steeds op maat gemaakte interconnects en geheugencontrollers voor Samsung Systems LSI. Er werd ook gewerkt aan aangepaste GPU-architecturen, maar Samsung Systems LSI tekende een deal met AMD om AMD's RDNA GPU-architectuur van de volgende generatie (Next graphics architecture) te gebruiken in toekomstige Exynos GPU's, vanaf 2021.

Over het geheel genomen was het aangepaste CPU-kernproject een verhelderende les voor leveranciers van mobiele chips over wat er mis kan gaan. Het SARC CPU-team had hoge ambities om te concurreren met Apple, de onbetwiste leider op het gebied van mobiele CPU's. Helaas slaagde het er niet in om te concurreren met ARM, laat staan ​​Apple. De problemen hadden opgelost kunnen worden, maar jaar na jaar liepen de inspanningen van SARC een paar stappen achter het kwam negatief tot uiting in de verzending van producten zoals de Exynos 9810-varianten van de Samsung Galaxy S9. Nu zullen alle grote leveranciers van mobiele Android-chips vanaf 2021 het standaard CPU-IP van ARM gebruiken, en deze lijst omvat Qualcomm, Samsung, MediaTek en HiSilicon. De strijd zal naar Apple worden gevoerd met kernen zoals de Cortex-X1, en niet met op maat gemaakte ARM-kernen die helemaal opnieuw zijn ontworpen.


Bron: Evolutie van de Samsung Exynos CPU-architectuur | Via: AnandTech