Skrivet av jan-banan:
Dessutom kommer förmodligen den vara sämre rent prestandamässigt än intel i alla fall toppmaskinerna.
Är vi säkra på det? AnandTech har ju tittat på SPECInt/SPECfp, d.v.s. benchmarks designade för servers och dragit slutsatsen att Apples CPUer utför långt mer arbete per cykel (A13 utför ~80 % mer per cykel jämfört med Skylake/Zen2).
Geekbench 5 pekar åt exakt samma håll. Faktum är att om man begränsar sig till CPUer för bärbara (extra bra om man tittar på GB5 då dessa inte kan överklockas samt RAM-hastighet är då känd) så presterar A13 inte bara "bra", den är trots sin relativt låga frekvens snabbare i både heltalsberäkningar och flyttalsberäkningar jämfört med t.ex. i7-10810U, i7-1065G7 och Ryzen 4800U!
CPU | ID | MHz | Heltalspoäng(ST) | Flyttalspoäng(ST) |
---|
A13 | 3099391 | 2651 | 1229 | 1462 |
i7-10810U | 2926131 | 4701 | 1173 | 1386 |
i7-1065G7 | 3082699 | 3737 | 1078 | 1260 |
Ryzen 4800U | 3094331 | 4272 | 1035 | 1301 |
ID är numret för det resultat jag använt från GB5
Räknat i heltalspoäng per MHz är A13 84 % snabbare än Skylake och 90 % snabbare än Zen2!
Exakt därför ser jag ser Apples övergång till ARM64 som det största som hänt PC-marknden på mycket länge: vi kan åter igen få en meningsfull ökning av prestanda per kärna! Och då ARM64 kärnor typiskt tar mindre kretsytan och har bättre perf/W kan även de som vill ha femtielva kärnor i sin dator glädjas, för det lär också gå att skruva upp mer än vad som är möjligt med x86 på en viss nod.
Skrivet av Ricerunner:
Ser nyheter ganska ofta om ARM nuförtiden, och jag har nog frågat detta förut:
Men vad är ARM, och vad är så särskilt med det?
Är det någon form av väldigt kompakta hela system, eller någon sorts processor som är annorlunda i sin mångsidighet/effektivitet, eller vad är det?
Finns några saker att hålla isär när ARM kommer på tal. "ARM" refererar normalt till det företag som står bakom det hela, ett företag som grundades redan på 80-talet (av bl.a. Apple).
Idag finns två separata instruktionsuppsättningar man kan licensiera från ARM. Den ursprungliga är 32-bit och är den som har sina rötter i 80-talet. Det är den instruktionsuppsättning som mobiler använde fram till ett par år sedan. Stora fördelen med 32-bit ARM instruktionerna är att program tenderar bli väldigt kompakta. Den stora nackdelen, förutom begränsningen till 32-bit, är att designen av instruktionsuppsättningen gör det väldigt svårt att bygga CPUer som utför väldigt många instruktioner per cykel (är samma finess som gör koden extremt kompakt som hindrar 32-bit ARM kod från att effektivt köras på "breda" CPU-designer)!
De flesta andra CPU-arkitekturer, inklusive x86, utökade 32-bitars instruktionerna till att också hantera 64-bit. ARM valde en radikalt annorlunda väg: de insåg begränsningarna i 32-bit ARM och designade därför en ny instruktionsuppsättning från scratch, AArch64 (Apple och tror även Microsoft kallar det ARM64). Ett par av de viktiga designmålen för ARM64 var att möjliggöra CPUer med väsentligt mycket högre "IPC" (Instructions Per Clock, mängd arbete som utförs per cykel), förenkla/effektivisera översättning av så kallad källkod (sättet programmerare beskriver hur programmen ska uppföra sig) till maskinkod (det CPUn faktiskt kör) samt effektivisera hantering av program som använder flera trådar (d.v.s. potentiellt kan köra på flera kärnor samtidigt).
Andra har försökt att designa en ny ISA från scratch och misslyckats, t.ex. Intel med IA64. ARM verkar ha slagit en riktig home-run med ARM64. Bara genom att kompilera om program från 32-bit ARM till ARM64 har man i många lägen sett 15-30 % bättre prestanda trots att man kör på samma CPU. Och 32-bit ARM är inte på något sätt ineffektivt, det är i nivå med x86 om man kör på motsvarande mikroarkitektur. D.v.s. målet att göra en instruktionsuppsättning som passar kompilatorer verkar riktigt gått hem.
Både Intel och AMD tillverkar högpresterande CPUer. Lyfter man lite på huven hos deras senaste CPUer finns så klart uppenbara skillnader, men finns också slående likheter i saker som maximalt antal instruktioner som kan hanteras per cykel. Båda x86 tillverkarna verkar ha notera att x86 program ser en rejält minskad vinst att "bredda" CPUn när den är kapabel till att hantera 3-4 instruktioner per cykel. Så från Nehalem fram till idag har egentligen inget hänt sett till maximal kapacitet, man kan hantera upp till 4 x86 instruktioner per cykel (peak är högre och har ökats lite med åren, men 4 st är max över tid och i praktiken kommer man inte i närheten av det i verkliga program).
Apple är sedan A12 (Ipad Pro och Iphone X) kapabel att köra 7 ARM64 instruktioner per cykel och uppenbarligen går det att designa en CPU som effektivt drar nytta av det då A13 (Iphone 11) utför ~80 % mer per cykel jämfört med Skylake/Zen2! Det är en rent brutal prestanda. Värt att peka på här är att både Apple och ARM (Cortex A-serien) har valt att primärt optimera för IPC, så deras nuvarande CPU-designer kan inte klockas alls lika högt som AMD/Intels, ~3 GHz är en realistisk maxnivå. Det är dock inget fundamental hos ARM64, handlar primärt om att det är mer effektivt (högre perf/W) att öka IPC i stället för att öka frekvens. Även ARM64 har en gräns för ILP, men även här verkar ARM slagit en home-run då ILP gränsen verkar ligga väsentligt högre för ARM64 än någon annan ISA (möjligen kan RISC-V vara lika bra, det får vi se när något designar high-end CPUer som kör RISC-V).
TL;DR ARM64 är tillsammans med RISC-V en from-scratch design av en instruktionsuppsättning som inkluderar allt man idag känner till kring optimal design av en ISA. Till skillnad från t.ex. IA64 verkar det som aktuella trender i forskning idag (eller runt 2010 när både ARM64 och RISC-V släpptes) verkligen hittat saker som kunde förbättras!
Skrivet av anon214822:
När Apple integrerar sina produkter så de blir mer lika och kan köra varandras mjukvaror så försvinner också en viktig del av differentieringen. Det är baksidan av integreringen.
Nu skall en Mac konkurrera med en iPad när skillnaden mest är att MacBook inte har pekskärm. En MacBook är ju bara ett subset av en iPad när en iPad kan köras bra med tangentbord + mus.
Likadant med den Apple TV Console som alla väntar på. Den måste konkurrera med Playstation och Xbox i pris. När en Mac mini har samma hårdvara kan den inte kosta så mycket mer än en Apple TV.
Finns ju också fördelar. Då alla Apple-produkter kommer köra varianter av i grunden samma systemkrets, en systemkrets med klart fler funktioner är bara en CPU och en GPU, så blir ju incitamentet att verkligen utnyttja specialfunktionerna högre då det inte bara fungerar på ett tiotals miljoner Mac:ar utan även på åtskilliga hundratals miljoner iphones.
Redan idag kör MacOS och iOS samma OS-kärna och till nära 100 % samma systembibliotek. Men finns ändå skillnader i detaljer om man t.ex. använder sig av Metal (både för grafik och för compute) idag, iOS har fler funktioner även om det finns enstaka saker som bara finns i MacOS. Framöver kommer det vara exakt samma funktioner över hela serien, att utveckla för Apple framöver blir lite som att utveckla spel för en specifik spel-konsol!