Skrivet av Dinkefing:
Mycket kan hända på ett decennium. Intel och AMD har ett decennium på sig att kontra ARM. Ja det är möjligen att de båda som du förut har skrivit att de vid den tiden kör en helt annan arkitektur (RISC-V?) för att kontra ARM. De båda skulle ha mycket att vinna att samarbeta för att kontra ARM eller iallafall vara en stark motvikt. Apple kommer inte heller kunna ta ut 25% bättre prestanda ur deras arkitektur för varje år, även deras ARM arkitektur kommer till slut ha en begränsning.
Vi vet heller inte om Nvidia kommer kunna köpa ARM så det är vänta och se.
För det första: att det skulle ta ett decennium är en gissning mer rätt stor felmarginal. Om Apple slår oss med häpnad och/eller Nvidias får igenom köpet och verkligen prioriterar att slå sig in på desktop kan det gå snabbare. Självklart kan även förutsättningarna ändras så något helt annat händer!
Tittar vi på roadmap för Intel och AMD finns inget utanför x86. Vi har sett flera gånger att om man bestämmer sig för en nystart likt Zen för AMD eller Core för Intel tar det ~5 år innan något kommer ut på marknaden.
Sedan finns lite positiva sker för Intels del. De har själva pekat på att största nyheten i Golden Cove är "strong IPC increase". Ryktena säger som sagt 50 % högre än Skylake medan liknande rykten placerar Ocean Cove (första på 7 nm) 80 % högre än Skylake.
Problemet är att man når ungefär till Apples Vortex (stora kärnan i A12) om man når dit ryktena sätter Ocean Cove. Man är verkligen så långt efter. Samtidigt finns inget fundamental som hindrar Arm-designerna att skruva upp frekvenserna, 2-3 GHz verkar optimalt för perf/W så det är optimalt för kretsar i mobiler och servers med massor med kärnor.
Men om man menar allvar med desktop bör man prioritera absolut prestanda mer. Intel om någon har (i min mening helt korrekt) påpekat hur extremt viktigt enkeltrådprestanda är för en lång rad laster. Därför har egentligen ingen kunnat utmana Intel under lång tid, vissa har varit bättre i specifika fall och andra har haft bättre perf/W men Intel har ändå varit det bättre valet p.g.a. relevant ledning i enkeltrådprestanda.
AMD blev relevant först när de lyckades komma tillräckligt nära Intel i enkeltrådprestanda. Om de nu kliver förbi med Ryzen 3000 har Intel rejäla problem.
Samma gäller om Apple lyckas kliva förbi i enkeltrådprestanda. För de gör det samtidigt som man har totalt överlägsen perf/W, det även mot Zen3.
Arm har en bit kvar, men man har ju bara gjort sitt första försök på en "absolut prestanda är prio#1" med Cortex X1. Den ger "bara" ~60 % högre prestanda per cykel ställd mot Skylake / Zen 2, för lite för att nå upp till absolut prestanda hos Intel/AMD då maxfrekvens förväntas ligga runt 3,3 GHz. Men man når dit med ungefär halva transistorbudget av Zen2/Sunny Cove, så finns potential att växa. Framförallt om man får Nvidia i ryggen, omsättningsmässigt är Arm klart mindre än AMD så vad de lyckats med är helt OK givet resurserna (Apple har lite större skattkista...).
Skrivet av hockexx:
Vad är det som gör ARM så bra jämt X64 i ditt tycke? Jag är väldigt oinsatt i ARM. Är inte ARM's styrka i regel enbart energieffektivitet i dagsläget, till en viss gräns då? Givetvis ser jag fram emot utveckling som gynnar konsumenter då det gynnar mig (duh). Men jag har inte sett något som talar för att ARM ska ta prestandakronan inom kort.
Jag måste nog läsa på en del om ARM, särskilt då jag vet lite och ingenting om det.
Precis som @medbor skriver ovan har väldigt mycket hänt just runt prestanda på väldigt kort tid. Den stora förvirringen här är att Arm just nu har två separata instruktionsuppsättningar man licensierar.
Historiskt har Arm handlat om billiga energisnåla kretsar, det fortsätter man med under sin 32-bitars instruktionsuppsättning (A32). Fördelen med A32 är att programmen blir väldigt kompakta, mer kompakta än samma program kompilerat för x86, x86_64 och 64-bitars ARM (A64/AAarch64/ARM64).
Problemet med A32 att flera av designvalen som leder till väldigt kompakt kod gör det samtidigt svårt att designa vettiga högpresterande CPU-kärnor likt de som Intel och AMD har för x86_64.
ARM64 (rent tekniskt är namnet AAarch64, men allt fler använder ARM64, inklusive Apple) är specifikt designad för att göra det enkelt att dels designa effektiva kompilatorer, men det är också designat så att man kan bygga väldigt effektiva högpresterande kärnor.
Intel och AMD körde väldigt länge med designer som maximalt kunde köra 4 st x86 instruktioner per cykel. Det kräver helt enkelt allt för mycket transistorer för att designa något bredare ställt mot utväxlingen i prestanda. I Intels "Coves" och av allt att döma även i Zen3 breddas detta till 5 x86 instruktioner per cykel.
Apple har sedan A12 kunnat köra 7 st ARM64 instruktioner per cykel. CISC/RISC diskussionen är här totalt meningslös, det finns i praktiken ingen fördel i mängd utfört arbetet per instruktion i x86 ställd mot ARM64, snarare är det lite fördel ARM64 då samma program kompilerat för x86_64 och ARM64 tenderar ta något färre instruktioner på ARM64 (men de ligger väldigt nära varandra på denna punkt).
De bedömningar som gjorts kring storleken, räknat i kiselyta/antal transistorer, på Apples "stora" CPU-kärnor pekar på att de är helt i nivå med Intel och AMDs högpresterande kärnor. Skillnaden i effektivitet är dock brutal, med Firestorm pekar det mesta på att man nu utför rätt exakt dubbelt så mycket per klockcykel ställd mot Skylake och Zen2. Det är samma fördel Skylake/Zen2 har över den Cortex A72 som sitter i t.ex. RPi4, säger en del om hur fort det gått (Cortex A72 var den andra generationen ARM64 CPU från Arm).
Du skriver "Men jag har inte sett något som talar för att ARM ska ta prestandakronan inom kort.".
Det har ju redan hänt!
Världens snabbaste superdator har under väldigt lång tid varit x86 baserad, men sedan i somras är den ARM64 baserad.
Världens snabbaste server CPU, räknat per sockel, är inte lägre x86 baserad, den är ARM64 baserad.
Världens snabbaste CPU sett till prestanda per kärna är sedan två dagar tillbaka inte längre x86 baserad, det är Apples Firestorm. AMD kan dock ta tillbaka detta med Zen3, men även om man lyckas med det är jag rätt säker att man får lämna över ledartröjan någon vecka senare då Apple lanserar sina Mac:ar med Firestorm. Allt pekar på att Zen 3 @ 4,9 GHz drar väldigt jämnt med Firestorm @ 3,0 GHz (är frekvensen man kör i Iphone 12 och Ipad Air 4), verkar inte allt för djärvt att anta en liten klockfrekvensökning när man kan gå från 5 W TDP i A14 till ~25 W i 13" MBP och ~45 W i 16" MBP samt iMac.
Bara för att förstå hur snabb Apples CPU är. Det snabbaste Intel och AMD har just nu för bärbara datorer är i7-1165G7 (rent tekniskt har Intel även i7-1185G7, men finns ingen laptop ute som använder den modellen) samt Ryzen 4800U.
Använder de resultat som Notebookcheck rapporterar, de kommer från reviews av produkter där man kör enheterna under kontrollerade former och förhoppningsvis vet den som gör testerna vad man håller på med. Kollar man i GB5 databasen vet jag inte vad folk håller på med, både i7-1165G7 och Ryzen 4800U har ofta betydligt lägre resultat än vad man mäter upp i reviews. När jag kör egna tester på maskiner i väldigt kontrollerad miljö för jag resultat som överensstämmer väl med reviews, så litar rätt mycket på de sifforna.
Tror vissa av de låga resultaten är körda med en profil som begränsar frekvens (sett i7-1165G7 resultat där rapporterad frekvens är <4,0 GHz, det ska vara 4,6-4,7 GHz när det är rätt gjort), samt man har junk som kör i bakgrunden under testet. Att det sista är ett problem ser man i iOS-mätningar, där tillåts i få saker i bakgrunden och de som körs hanteras av något iOS/MacOS kallar grand central dispatch, som lär säkerställa att inget förutom benchmark kör på de "stora" kärnorna.
Just Geekbench 5 är bland det bästa som finns att tillgå när man vill jämföra saker som kör olika OS och olika CPUer. Orsaken är att GB5 är designat så att man minimerar användandet av funktioner från OS, sedan just version 5 har man även sett till att samma kompilatorn (Clang 9) används på alla plattformar. D.v.s. det är samma kod, byggd med samma kompilator på alla maskiner!
i7-1165G7 får typiskt ~1575 ST och ~5900 MT
4800U får typiskt ~1150 ST och ~7000 MT
Detta är när de kör cTDP-UP, d.v.s. i lite större bärbara där TDP sätts till 28 W för Tiger Lake och 25 W för Renoir. Båda får noterbart lägre resultat i framförallt MT testet vid 15 W TDP.
Iphone 12 Pro får typiskt ~1600 ST och 4000 MT. Det på 5 W TDP!
D.v.s. vi har kommit till punkten där en mobil har lika eller högre absolut prestanda per kärna medan den inte är helt avhängd ens i MT. Backa en laptop-generation, då är 4000 i nivå med vad bärbara datorer hade!
Svårt att riktigt avgöra faktiskt effekt i både ST och MT fallet, ST fallet lär inte maxa TDP medan MT fallet lär ligga högre än TDP då GB5 är specifikt designat att testa interaktiva laster. Både Intel och AMD U-modeller brukar har en peak-effekt på runt 50 W enligt de mätningar Notebookcheck gjort.
Men för att få en litet hum, låt oss anta TDP. Apples CPU är inte bara snabb, den har en perf/W som är heltalsfaktorer bättre än det bästa Intel/AMD kan uppbringa.
Är bara för stationära man i någon mening kan ignorerar perf/W, bärbara och server-CPUer har väldigt mycket gemensamt här. De bästa ARM64 baserade servers som finns idag är baserade på Neoverse N1, som i praktiken är en Cortex A76 med större cache och fler RAM-kanaler. ARM64 servers är klockade 2,5-3,3 GHz all-core, Intel och AMD håller inte ens 3,0 GHz i deras modeller med flest antal kärnor när alla är aktiva. Det samtidig som Neoverse N1 utför rätt identisk mängd arbete per cykel jämfört med Skylake och Zen2.
Är lättare att jämföra AMD-servers med Arm-servers då båda idag använder samma TSMC 7 nm process. Det som är värt att notera här är att sett till kretsyta mer CPU-kärna så tar en Neoverse N1 kärna ~1/3 av utan mot en Zen2 kärna. Inte så konstigt att perf/W hamnar på en helt annan nivå. Ur det perspektivet kan man inte hävda att Amazon prissätter AMD/Intel oschyst ställd mot deras egen Graviton 2 (64 Neoverse N1 kärnor per sockel @ 2,5 GHz, TDP <100 W). Kostar ungefär hälften per vCPU att använda Graviton 2, men perf/W är större än en faktor 2 högre!
Amazon valde att optimera för perf/W, de verkar ha siktat på <= 100 W TDP per sockel. Finns andra, snabbaste ARM64 CPUn för servers just nu har 80 kärnor och en all-core frekvens på 3,3 GHz. Men då åker TDP upp till ~200 W.