Door Willem de Moor

Redacteur

Meer AI, sneller en bijna kant-en-klaar

De nieuwe cpu's en gpu's van Arm

29-05-2024 • 17:00

22

Singlepage-opmaak

De nieuwe cpu-cores

Arm splitst zijn cpu-cores al sinds jaar en dag op in grote en kleine cores. Sinds een paar jaar zijn daar de X-cores bovenop gekomen: de krachtigste cores die het bedrijf ontwerpt. De DSU, of DynamIQ Shared Unit, knoopt alle cores aan elkaar. De voormalige grote cores, ooit de big cores in het big.Little-tijdperk, zijn met de introductie van die X-cores eigenlijk midcores geworden. De kleine cores zijn nog steeds de kleine cores en omdat daar heel weinig mee gebeurd is voor de nieuwe generatie CSS for Client, beginnen we daarmee.

Arm Tech Day 2024 - overzicht Cortex-cores
Arm Tech Day 2024: overzicht Cortex-cores

A520

De kleinste cores hebben geen nieuwe naam gekregen, zo weinig is eraan veranderd. Vorig jaar, als onderdeel van TCS2023, noemde Arm de kleine, zuinige cores al Cortex-A520. Voor CSS for Client (let op: Arm noemt geen jaartallen meer) heten de ukkies nog steeds A520. Ze zijn wel geoptimaliseerd voor de 3nm-node van Samsung en TSMC, indachtig het aanbieden van productiebestanden in de vorm van GDSII. Dat brengt optimalisaties met zich mee wat energiegebruik en prestaties betreft. De power-performancecurve van de nieuwe A520 zou bij gelijke prestaties tot 15 procent zuiniger zijn dan de A520 van TCS23.

Arm Tech Day 2023: Cortex-A520
Arm Tech Day 2023: Cortex-A520

A725

De midcores zijn de cores die in de praktijk een groot deel van het werk voor hun rekening nemen. De kleine cores doen vooral kleine achtergrondtaken, terwijl de grootste cores vooral bursty workloads voor hun rekening nemen: korte, intensieve taken, zoals het starten van apps. Omdat de A7xx-cores veel werk moeten verrichten, is powerefficiency een belangrijke focus voor de cores. Om de prestaties te verbeteren, is de microarchitectuur dan ook aangepakt. Daarmee moeten met name gaming- en AI-prestaties worden verbeterd. De cores worden daarbij weer geholpen door optimalisaties voor productie op 3nm. Die node-shrink maakt het onder meer mogelijk om twee keer zoveel L2-cache aan de cores te geven, terwijl de dieoppervlakte gelijk blijft.

Arm Tech Day 2024: Cortex-A725
Arm Tech Day 2024: Cortex-A725

De A725 werd, behave voor efficiency, vooral geoptimaliseerd voor twee belangrijke taken: gaming en AI-toepassingen. Beide profiteren van meer geheugensnelheid, maar met name AI-toepassingen zijn sterk geheugenafhankelijk. De grotere L2-cache, tot 1MB per core, moet die workloads dan ook versnellen. Naast caches zou ook een toename in geheugenbandbreedte naar de DSU prestatiewinst opleveren, maar dat zou ten koste gaan van de efficiency van de cores. Wel is de microarchitectuur op diverse vlakken verbeterd: de registers en reorder buffers zijn aangepast en de core heeft voortaan vier issue qeueus voor instructies, waar dat er bij de A720 nog drie waren.

Arm Client Tech Day 2024 - A725
Arm Client Tech Day 2024: A725

Al die verbeteringen moeten de A725 aanzienlijk efficiënter maken. Arm spreekt van een efficiencywinst voor prestaties van maar liefst 35 procent ten opzichte van de A720. De powerefficiency is met 25 procent gestegen en een van de grotere energieslurpers, toegang tot het in de DSU gelegen L3-cache, is dankzij een betere prefetcher met 20 procent verbeterd. Dat resulteert in de behoorlijk naar rechts opgeschoven curve voor prestaties versus vermogen van de A725 ten opzichte van de A720. Het resultaat is dat de midcores meer kunnen doen met minder vermogen. Zo verlengen ze de accuduur van je telefoon, verbeteren ze het verbruik van een ander apparaat waarin de A7xx-cores een hoofdrol spelen of schroeven ze juist de prestaties op.

X925

De krachtigste core heet niet X5, zoals je misschien zou verwachten op basis van eerdere generaties, maar X925. Daarmee impliceert Arm ook dat het een andere weg inslaat met de ontwikkeling van deze supersnelle cores. De veranderingen zijn dan ook veel uitgebreider dan bij de A725- en A525-cores. De belangrijkste daarvan is een flinke stap in rekenkracht. Bij gelijke kloksnelheden en overige configuratie moet de X925 tot 15 procent sneller zijn: een flinke ipc-winst dus. De verwerking van AI-workloads is, afhankelijk van de toepassing, met 20 tot 30 procent versneld. Als de referentie-X4-cores worden vergeleken met de X925-cores compleet met systeem- en softwareoptimalisaties, is de winst zelfs 36 procent. Net als bij de overige cores optimaliseert Arm daarbij niet specifiek voor benchmarks. Die vormen immers geen eerlijke afspiegeling van normale werkzaamheden. Sterker nog, een van de caches is verkleind omdat die alleen voor benchmarks interessant is, maar voor normaal gebruik onnodig.

Arm Tech Day 2024 - Cortex-X925Arm Tech Day 2024 - Cortex-X925

De stadia van de X925: frontend, core en backend, zijn alle drie aangepakt om de ipc-verbeteringen, samen met een lager verbruik, mogelijk te maken. In de frontend is de instruction window size verdubbeld, want realworldapplicaties hebben overwegend complexere instructies dan benchmarks. De daaraan gekoppelde branch prediction is verbeterd. De windowsize bepaalt hoelang van tevoren instructies klaargezet kunnen worden en de branchprediction zorgt ervoor dat voorspeld kan worden welke dat moeten zijn. Samen zorgen ze ervoor dat er alvast instructies worden klaargezet en uitgevoerd, terwijl voorgaande bewerkingen nog bezig zijn en de out-of-order-core gevoed blijft met uit te voeren instructies. Verkeerde voorspellingen zijn daarbij natuurlijk ongewenst, want die leveren onnodige en onbruikbare resultaten op. Het aantal verkeerde voorspellingen is verminderd over een scala aan workloads. Ook het ophalen van instructies, of de instruction fetch, gaat sneller, opnieuw om de core bezig te houden. De L1-instructiecache is verdubbeld in bandbreedte en de bijbehorende tlb is in afmetingen verdubbeld.

Arm Tech Day 2024 - Cortex-X925 samenvatting verbeterpunten

Dankzij de verbeterde frontend kan de daadwerkelijke core optimaal bezet zijn. De zogeheten breedte daarvan is nog steeds 10, maar met een optimalisatie om de pipelines beter gevuld te houden. Dat zou effectief een 'bredere' core opleveren. Voor met name AI-workloads is de vectorisation-bandbreedte, of de bandbreedte van de SIMD/FP-executionunits, flink vergroot: van 4 naar 6 paden van 128bit per kloktik. Om die bezig te houden, is de issuequeue daarvoor verdubbeld. Ook voor hele getallen (integers) is meer bandbreedte beschikbaar voor de ALU-pipelines (Arithmetic Logic Unit) en kunnen vier in plaats van twee multiply-acties per tik worden uitgevoerd. Ook de floating point compare is verdubbeld en de core kan nu dankzij een verbeterde reorderbuffer tot 1500 instructies in de pipeline vasthouden.

Voor de backend is het aantal load pipelines van 3 naar 4 uitgebreid en is de bandbreedte van de L1-datacache verdubbeld. Zo kan de cpu voldoende 'gevoed' blijven. Verder is de backend aangepast om latency naar het geheugen op te vangen, aangezien dat veel tijd kost. De out-of-order structures zijn met 25 tot 40 procent uitgebreid en de dataprefetchers zijn verder verbeterd. Dat alles moet de prestaties van echte workloads en AI-toepassingen verbeteren. En net als voor de overige cores stelt Arm voor de X925-core geoptimaliseerde 3nm-ontwerpen beschikbaar die naar TSMC of Samsung gestuurd kunnen worden.

DSU-120

De cpu-cores worden aan elkaar geplakt met de DSU-120, ofwel de DynamIQ Shared Unit. Hoewel de DSU-120 dezelfde naam als vorig jaar heeft, zijn er aanpassingen aan gedaan. Het maximumaantal van 14 cores per DSU is onveranderd en het staat fabrikanten, klanten van Arm dus, vrij om de cores in te delen zoals ze willen. Zo zouden voor laptops alleen X-cores gebruikt kunnen worden en voor embedded toepassingen juist een paar kleine A520-cores, of combinaties van alle drie de cores natuurlijk. Naast de dubbele ringbus om de cores onderling te verbinden, bevat de DSU ook de L3-cache. Aangezien dat een behoorlijke plak silicium is, heeft Arm het energiegebruik daarvan verder aangepakt.

Arm Tech Day 2024: DSU-voorbeeldconfiguraties
Arm Tech Day 2024: DSU-voorbeeldconfiguraties

De L3-cache, en de toegang tot het ram, is verdeeld in vier slices en die kunnen selectief uitgeschakeld worden. Nieuw daarbij is een zogeheten Half Slice Powerdown-feature, waarbij de helft van de slices uitgeschakeld kan worden. Daarnaast kan de helft van de geheugentoegang van alle slices uitgeschakeld worden of kan slechts één slice actief zijn. Voor maximale energiebesparing, bijvoorbeeld in stand-bymodus, kan de cache uitgeschakeld worden en alleen het snoop filter (voor ramtoegang) aan blijven. Ook kan de helft van alle L3-cache van alle slices uitgeschakeld worden, maar dit alles leverde Arm nog niet genoeg energiebesparing op. Daarom werd L3 Quick Nap Mode ontwikkeld, dat zoals de naam impliceert, het L3-cache eventueel snel kan uitschakelen. Dat levert extra besparingen op, waarbij lekstromen van ongebruikte transistors tot minder verbruik leiden.

Arm Tech Day 2024: DSU-120 - QNAP

De vernieuwde DSU-120 gebruikt tot 50 procent minder energie tijdens gewone workloads. Dat is onder meer te danken aan de overstap naar 3nm en beter energiebeheer, samen met reducties in dynamisch verbruik, als er transistors gebruikt worden dus. Specifiek van belang voor geheugenintensieve (lees: met name AI-)workloads is het 60 procent lagere energiegebruik ten gevolge van cachemisses.