De basis voor de smartphones van 2021: ARM Cortex-A78/X1 cpu en Mali-G68/G78 gpu preview

17 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Cortex-A78 en -X1: de beloftes
  3. 3. Onder de motorkap
  4. 4. Mali-G78: 2e generatie Valhall-architectuur
  5. 5. Ethos-N78
  6. 6. Conclusie
  7. 17 reacties

Cortex-A78 en -X1: de beloftes

ARM kondigt haar nieuwe cpu’s en gpu’s altijd gelijktijdig aan, maar de grootste nieuws is wat ons betreft toch altijd de cpu’s, al is het maar aangezien die in verreweg de meeste chips gebruikt gaan worden. ARM’s 2021 generatie cpu luistert naar de naam Cortex-A78. En hoe daar natuurlijk nooit met 100% zekerheid iets over te zeggen is, mag je er wel vanuit gaan dat die Cortex-A78 de basis gaat vormen voor de volgende generatie high-end smartphone SoC’s van Qualcomm (de Snapdragon 875?), Samsung, HiSilion, MediaTek en anderen.

Twee jaar geleden, bij de Cortex-A76, zetten ARM één van de grootste stappen van de afgelopen jaren met een op vrijwel alle vlakken vernieuwd ontwerp. De Cortex-A77 van vorig jaar was een doorontwikkeling van dat ontwerp en de Cortex-A78 van dit jaar kan gezien worden als een tweede iteratie. Normaal gesproken zou je dan wat minder uitbundige prestatiewinsten mogen verwachten, maar als we ARM mogen geloven is niets minder waar. Door het bestaande ontwerp kritisch tegen het licht te houden én de A76 en A77 in uiteindelijke chips uitvoerig te analyseren – een échte chip is immers toch altijd weer anders dan simulaties – heeft men voldoende zaken kunnen vinden om de prestaties opnieuw significant te verhogen, al moet bij de geclaimde 20% zoals we verderop zullen zien een belangrijke kanttekening worden gemaakt.

Voordat we de techniek induiken: ARM introduceert net als de afgelopen jaren enkel een nieuwe grote, snelle cpu-kern. Zoals de kenners wel weten worden binnen de meeste smartphone soc’s grote, snelle cpu-cores gecombineerd met kleinere, zuinige cores. Afhankelijk van de benodigde prestaties op ieder gegeven moment wordt een combinatie van één of meer van de snellere en/of zuinigere cores ingeschakeld, vroeger volgens de zogenaamde BIG.little technologie en tegenwoordig middels de wat meer geraffineerde DynamIQ technologie. Net als de afgelopen jaren kan de Cortex-A78 gecombineerd worden met de kleine Cortex-A55 core, die werd aangekondigd in 2017. Wij hebben ARM gevraagd wanneer we weer een nieuwe, kleine core mogen verwachten en kregen als antwoord dat de ontwikkeling van kleine cores zeker niet is gestaakt en er in de toekomst weer een opvolger van de A55 gaat komen, maar dat men op daar dit moment geen (technische) reden voor ziet.

Terug naar A78. Zoals geschreven op de vorige pagina belooft ARM een prestatieverbetering van 20% en dan spreekt men uitdrukkelijk niet over een kortdurende pieksnelheid, maar een prestatieniveau van de CPU-cores dat de chip kan volhouden. Toch moeten we bij die 20% een nuance maken. De Cortex-A77 is primair geoptimaliseerd voor het 7nm productieprocedé en heeft volgens ARM een optimale klokfrequentie van 2,6 GHz. De A78 is ontwikkeld met primair een nieuw 5nm productieprocedé en een optimale klokfrequentie van 3,0 GHz. Dat verschil van 400 MHz zit in de 20% verwerkt en daarvoor gecorrigeerd zou de prestatiewinst slechts 4% zijn – een stap vergelijkbaar zoals we gewend zijn in de PC-wereld. Maar dankzij optimalisaties in de micro-architectuur en nieuwe transistors, kan de 20% prestatiewinst behaald worden met een identiek stroomverbruik van ca. 1W per core.

Omdat de micro-architectuur voornamelijk is verbeterd om efficiënter te werken en niet zozeer om sneller te werken, werkt het voordeel volgens ARM de andere kant op geredeneerd nog veel sterker. Om hetzelfde prestatieniveau te behalen als een op 2,1 GHz werkende 7nm Cortex-A77 kern, hoeft een 5nm Cortex-A78 slechts op 2,1 GHz te draaien. Verbeterde architectuur, een nieuw procedé en de lagere klokfrequentie zouden voor een halvering van het stroomverbruik moeten zorgen. En dat is hoe je het ook wendt of keert in de wereld van smartphones een big deal.

Om toch een appels met appels vergelijk te maken, toonde ARM onderstaande vergelijking van Cortex-A76 vs. A77 vs. A78 op identiek productieprocedé en identieke klokfrequentie. Enig verschil is dat men voor de A78 een kleinere L1-cache configuratie heeft, aanzien die volgens ARM optimaler werkt. We zien dat de A78 in dat geval 7% sneller, 4% zuiniger en – ook niet onbelangrijk – 5% kleiner is dan z’n voorloper.

We schreven het al, bij de Cortex-A78 blijft het niet. ARM introduceert daarnaast de Cortex-X1, een op de -A78 gebaseerde core die geoptimaliseerd is om de hoogste snelheden te behalen. Hiermee biedt ARM naar eigen zeggen haar klanten meer keuze en flexibiliteit.

Waar mogen we de X1 verwachten? Hoewel ARM nooit namens haar klanten kan en wil spreken, krijgen wij op basis van de gesprekken die we met ARM hebben gevoerd een aardig beeld. Allereerst is er een nieuwe trend van zogenaamde Prime­-cores in smartphone SoC’s, één kern die extra snel kan werken voor single-threaded applicaties. We kennen dat bijvoorbeeld van de nieuwste Snadragon SoC’s: de Snapdragon 865 bevat vier Cortex-A55’s en vier Cortex-A77’s, maar van die vier laatste werkt er één op een hogere kloksnelheid met ook een grotere L2-cache. Het is prima denkbaar dat in toekomstige smartphone SoC’s één Cortex-X1 met bijvoorbeeld drie Cortex-A78’s wordt gecombineerd. Omdat de X1 ook grotere cache-configuraties mogelijk maakt, lijkt de kern ook zeer geschikt voor ARM-gebaseerde processors voor laptops. Daarmee is het in potentie een goede gegadigde om te gebruiken als basis voor een opvolger van de Snapdragon 8cx chip. ARM belooft met de Cortex-X1 zo’n 30% betere prestaties dan de vorige generatie (Cortex-A77).

Wat zijn de verschillen tussen de X1 en de A78? Allereerst zijn er zoals geschreven grotere cache-capaciteiten mogelijk: tot 1 MB L2-cache en 8MB L3-cache, waar de limieten bij de A78 respectievelijk 512 kB en 4 MB zijn. Maar bij deze relatief simpele verbeteringen blijft het niet, de micro-architectuur zélf is ook gepimpt. Waar de Cortex-A78 twee 128-bit floating-point execution units heft, heeft de X1 er vier. Dat maakt dat voor bepaalde typen workloads, waar onder veel soorten machine learning, de prestaties in potentie kunnen verdubbelen. Om de gehele cpu in balans te houden kan de X1 verder 8 zogenaamde microops per kloksslag van de front-end van de core naar de backend sturen, waar dat bij de A78 en diens voorlopers 6 microops per klokslag is. Helemaal aan het begin van de core is de engine die de ARM-instructies omzet naar de kleinere micro-ops die de execution units kunnen verwerken aangepast, zodat deze vijf in plaats vier instructies per second kan verwerken (vergeet niet: één instructie wordt omgezet in één of meerdere micro-ops).

De Cortex-X1 kan dus zo’n 30% sneller zijn dan de A77 en zo’n 22% sneller dan de A78. Maar laat wel duidelijk zijn; in deze vergelijking zit ook de grotere cache capaciteit verwerkt, die ook weer een effect heeft op de hoeveelheid transistors. En zeker in de wereld van smartphone SoC’s probeert men chips uiteraard altijd zo klein mogelijk te houden.

De prestaties zijn voornamelijk te verwachten in single-threaded workloads. Tussen de regels door begrijpen we ook dat ARM voornamelijk verwacht dat fabrikanten slechts één X1 in hun cpu-clusters gaan toepassen. Om ook hier een appels-met-appels vergelijk te maken, deelde ARM onderstaande slide, waarin te zien is dat de X1 in zowel integer als floating point workloads de 30% presentiewinst moet halen. In workloads die gedeeltelijk schalen met geheugenbandbreedte (zoals bijvoorbeeld de Stream benchmark) is de te verwachten prestatiewinst wat lager.

Dat de Cortex-X1 aanzienlijk groter is, blijkt wel onderstaande slide. ARM geeft aan dat een cluster van vier Cortex-A78 kernen zo’n 15% kleiner is dan een cluster van vier A77’s, de verbeteringen dankzij 5nm vs. 7nm meegerekend.

Een cluster met X1 + 3x A78 is juist 15% groter dan vier A77’s. Aangezien de vier A78’s elk dus circa 15% kleiner zouden moeten zijn dan een A77, betekent dit dat een Cortex-X1 core dus 105% groter (ofwel meer dan twee keer zo groot!) als een A77 moet zijn. Volgens die berekening zou een Cortex-X1 zelfs 141% groter moeten dan een A78. Laat dus duidelijk zijn: met de X1 stapt ARM duidelijk van een filosofie af om terughoudend te zijn, maar kies er juist voor om in veel extra transistors te investeren om zo de prestaties te verbeteren. 

0
*