Apples utvecklardator för ARM bräcker Intel i flertrådade tester

Permalänk
Medlem

Kan någon förklara på ett lättbegripligt sätt varför x86 är så otroligt dålig jämfört med ARM?
Visst att det finns bakåtkompatibilitet som håller den tillbaka, men SÅ mycket?

Permalänk
Lyxfällan 🎮

@mpat: jo men de utvecklarsiffror jag läst gällde emuleringen i allmänhet, och i det här fallet gäller det bara Geekbench-resultat, därav att jag inte ville använda uppgifterna i själva nyhetstexten.

Visa signatur

"We're with the press, hired geeks!"
Raoul Duke, Fear n' Loathing in Las Vegas

Permalänk
Medlem
Skrivet av Yoshman:

Ett par saker som GB5 faktiskt är kapabel till är att eliminera OS från jämförelsen, det är extremt snarlika resultat för samma CPU körandes olika OS. I tidigare versioner fick man högre resultat under Linux jämfört med Windows.

För att få lite känsla för hur olika CPUer står sig mot varandra kan man räkna ut GB5 poäng per MHz, då börjar man se att ARM64 nu faktiskt kan mäta sig med det absolut snabbaste x86 har. Apples A12/13 ligger redan på en helt ny nivå

CPU

GB5 Int score vs clock

GB5 FP score vs clock

Skylake

25

27

Sunny Cove

28

36

Zen 2

24

31

Cortex A76

25

28

Cortex A77

31

35

Apple A12Z

43

49

Apple A13

46

57

Och då är att märka att GeekBench 5 inte längre mäter minnessystemets prestanda. Så Apples ARM konstruktioner, som ger högre minnesbandbredd/(ALU-mått), får ingen credit för det i GB5. Men det spelar naturligtvis stor roll i faktiskt användande, och i synnerhet för grafikintensiva applikationer.

Permalänk
Medlem
Skrivet av Hulle:

De väljer väl iofs den eftersom den sitter i en Mac laptop? Apple skulle väl byta ut alla sina datorer till denna, inte bara MacBook Air?

Vad jag vet kommer Apple använda nya processorer i deras datorer, A12Z är baserad på A12X från 2018 och är vad de använder i iPad Pro för tillfället. Men en MacBook Pro har rejält mycket bättre kylförmåga än en iPad Pro, så vad Apple än kommer stoppa i deras nya MacBook Pros kommer garanterat prestera på en helt annan nivå än detta devkit.

Permalänk
Medlem
Skrivet av Chibariku:

Vad hittade du för dator med en i7 och 500GB för 6k?

Troligen denna Lenovo V15

https://www.dustinhome.se/product/5011176656/v15?ssel=false&u...

Permalänk
Inaktiv

Med tanke på förutsättningarna så är det riktigt lovande siffror. Kan tänka mig att svetten rinner hos Intel redan nu.

Skrivet av lillaankan_i_dammen:

Jag tror Apples kommande datorer kommer bli riktigt bra.
Men jag har några farhagor.

Ser man på Apples produkter överlag och man ska ha en produkt som idag kan ses som mer eller mindre standard, så är de ofta svindyra.
Laptop runt 15" en vettig går på 25 000kr
Mobil 6,5" med minst fullhd runt 8000kr
iPad med usb c runt 8000kr
Stationär finns ingen som motsvarar en standarddator som de flesta här köper nya. Macbook pro är så överdriven på alla sätt och viss.

Så det jag tror Apple kommer göra igen är att de kommer släppa väldigt enkla datorer som folk kan säga att visst de är lite dyra men man betalar för kvalite. Men ska man ha något som jag anser är en standarddator idag, då blir det svindyrt.
Jag köpte nyss en ny laptop till morsan. Ett kvalitesmärke, dock en enklare modell.
Laptopen hade 15'6" skärm en i7 gen 10, 8GB ram, 500GB nmve ssd, windows 10 Pro etc. Den kostade strax över 6000kr. Skulle hon ha en mac med motsvarande hårdvara så hamnar priset på över 25 000kr, visst är denna mac tusan så mycket bättre. Men hon kan få 4st såna laptops som jag valde för samma pris.

Så min slutsats är som sagt, dessa nya macar med arm blir säkert superbra. Men känner jag till Apple rätt så blir det svindyrt för de som ställer lite högre krav än det enklaste.

Apple verkar inte känna något behov av att få de med tight budget som kunder utan går tillräckligt bra för att sälja till folk som är villiga att betala. Många klarar sig nog bra med en iPad istället för en MacBook dessutom.

Men visst, hade varit bra om de hade matchande modeller i lägre prisklasser också.

Permalänk
Medlem

@Chibariku:

OT men det finns en Lenovo V15 med de specifikationerna för 6500 kr.

OnT ser jag mycket fram emot vad Apple kommer med för konsument Mac i höst/vinter med eget Chip. Som Craig Federighi sa i en intervju så försöker de ju inte ens leverera hög prestanda i detta utvecklingskit.

Visa signatur

------------------------------------------------------------------------------------------------------

Permalänk
Skrivet av anon5930:

Med tanke på förutsättningarna så är det riktigt lovande siffror. Kan tänka mig att svetten rinner hos Intel redan nu.

Apple verkar inte känna något behov av att få de med tight budget som kunder utan går tillräckligt bra för att sälja till folk som är villiga att betala. Många klarar sig nog bra med en iPad istället för en MacBook dessutom.

Men visst, hade varit bra om de hade matchande modeller i lägre prisklasser också.

Man kan alltid definiera senantik. Men Apples målgrupp är självklart inte de med en tajt budget som köper det allra enklaste, utan de som är beredd på att betala lite mer. Problemet är att priserna skenar iväg. De absolut enklaste hårdvarorna som troligen också säljs bäst, ja de är inte så dyra. Men för oss som kräver lite mer så blir det svindyrt.

Fraserna tight budget och vilka som är villiga att betala är lite komplicerat mer än en enskild produkt bland all ens datorutrustning. Helt klart är dock att ha mängder av riktigt grymma Apple produkter gör en till en person som är villig att betala mycket för schyssta prylar.
Men om man bara väljer den enklaste iphonen + enklaste ipaden, så är det en snarare till en person som väljer en tight budget och troligen har man låga krav om man ej har tillgång till någon annan dator.

Så det jag är rädd för kommer hända. Är att Apples enklare laptops kommer bli riktigt schyssta och folk kan säga prisvärda för vad man får. Men när vi med lite högre krav ska ha en laptop, ja då blir det riktigt dyrt.
Med höga krav, ta en helt vanlig person som ska köra de senaste spelen. Priser för en sådan laptop på runt 30 000kr är på tok för mycket för de flesta.

Permalänk
Medlem
Skrivet av Yoshman:

Det är inte "med flit", det handlar om en CPU som har en måleffekt på ~9 W. Vad videon väldigt mycket visar är att Apple faktiskt vet vad de håller på med, dator har ju en kylning anpassad till den CPU man faktiskt valde att stoppa i.

Nja, med tanke på att kylflänsen inte ens hade bra kontakt med CPU:n (något som Apple enkelt kunde ha fixat) så vet jag inte om jag skulle säga att Apple vet vad de håller på med. Men visst, de har valt en kylare som är precis på gränsen av att klara av att hantera ca 9W. De vet bara inte hur man monterar dem korrekt.

De är också kända för att göra andra idiotiska designmissar som påverkar deras datorers livslängd negativt. Saker som för korta (ej utbytbara) skärmkablar som leder till att skärmen slutar fungerar om man öppnar och stänger sin macbook för många gånger, strömpinnar för backlight direkt brevid signalpinnar i skärmkontakter som dödar komponenter om något orsakar att dessa sammankopplas, etc.

Med det sagt så blir det intressant att se hur deras SoC:er skulle prestera om de siktade på lite högre energiförbrukning och kylning.

Visa signatur

Antec P280 | Corsair RM750x | ASUS ROG Crosshair VIII Dark Hero | Ryzen 9 5900X | G.Skill Trident Z RGB 3200MHz CL14 @3600MHz CL16 2x16GB | ASUS RTX 3080 TUF OC | WD SN850 1TB | Samsung 970 Pro 1TB | Samsung 860 Pro 1TB | Samsung 850 Pro 1TB | Samsung PM863a 3.84TB | Sound Blaster Z | 2x ASUS PG279Q

Permalänk
Medlem
Skrivet av Kilroy:

Kan någon förklara på ett lättbegripligt sätt varför x86 är så otroligt dålig jämfört med ARM?
Visst att det finns bakåtkompatibilitet som håller den tillbaka, men SÅ mycket?

x86 är en arkitektur från slutet av 70-talet, bakåtkompabilitet är en "bitch" i detta fallet.
När ARM arkitekturen togs fram så tog man förstås vad man hade lärt sig och gjorde en bättre arkitektur enkelt förklarat.

Visa signatur

Dator: Mac

Permalänk
Medlem
Skrivet av Kilroy:

Kan någon förklara på ett lättbegripligt sätt varför x86 är så otroligt dålig jämfört med ARM?
Visst att det finns bakåtkompatibilitet som håller den tillbaka, men SÅ mycket?

För Apple handlar det på en teknisk nivå om hur mycket prestanda man kan få för en värmebudget.

x86-64 behöver mer komplexitet för att köra snabbt och både den och bakåtkompatibiliteten innebär att den drar mer ström och alstrar mer värme.
Intel skulle visserligen kunna tillverka en processor som bara stödjer modern 64-bittars x86-kod, men det skulle fortfarande vara som ett kråkslott som byggts på med ett nytt torn varje år jämfört med ett nybyggt hus.

Visa signatur

För övrigt anser jag att tobak ska förbjudas.

Permalänk
Medlem
Skrivet av maxx5:

@Chibariku:

OT men det finns en Lenovo V15 med de specifikationerna för 6500 kr.

OnT ser jag mycket fram emot vad Apple kommer med för konsument Mac i höst/vinter med eget Chip. Som Craig Federighi sa i en intervju så försöker de ju inte ens leverera hög prestanda i detta utvecklingskit.

Ja den stämmer dessutom överens med 4+4 gb riktpris var dock 8790 när den kom och det är väl störsa fördelen med att köpa pc, att det kan komma rejäla prissänkningar. Skulle vilja se an Mac sjunka med nästan 30% efter 6 månader. Vilket iofs också skjuter andrahandsvärdet i botten.

OnT: så hoppas jag verkligen att utvecklingen för ARM på Laptops tar fart nu och med den mjukvarustödet. Just nu är det ju en hönan och ägget situation som jag tror det krävs Apple för att lösa. Kolla bara på Windows RT och Surface pro X

Permalänk
Medlem

Gött, mer sånt. Jag vill ha strömsnåla, energieffektiva lösningar som gör mycket arbete/cykel.
Drömmen är en dator stort sett i tabletformat med docka som någorlunda närmar sig en stationärs prestanda (spelklassad GPU exkluderat), samt riktigt biffig driftstid.

Visa signatur

|[●▪▪●]| #Lekburk#: Ryzen 3700X >-< GB-X570-AE >-< 32GB DDR4 >-< MSI RTX 3070 >-< 970 EVO 1TB SSD>--
--< Arctic Freezer 34 >-< FD Define R4 >-< Seasonic F.+ 650W >-< Acer XF270HUA >-< AOC Q2778VQE >--
#Servering#: Ryzen 1700@3,6GHz >-< Prime X470 Pro >-< 16GB DDR4 >-< GTX 1030 >-< 970 EVO 500GB SSD >--
--< Stockkylare >-< Antec P182 >-< Silver Power 600W >-< Samsung 245T |[●▪▪●]|

Permalänk
Medlem

Varför envisas man med att skriva x86? Är det inte amd64 som är den prominenta arkitekturen idag?

Permalänk
Medlem
Skrivet av Findecanor:

För Apple handlar det på en teknisk nivå om hur mycket prestanda man kan få för en värmebudget.

x86-64 behöver mer komplexitet för att köra snabbt och både den och bakåtkompatibiliteten innebär att den drar mer ström och alstrar mer värme.
Intel skulle visserligen kunna tillverka en processor som bara stödjer modern 64-bittars x86-kod, men det skulle fortfarande vara som ett kråkslott som byggts på med ett nytt torn varje år jämfört med ett nybyggt hus.

Vad är det som gör att ARM är så mycket effektivare?
Vad är det x86-64 är bättre på än ARM?

Och det jag undrar är ju just vad det är som gör x86-64 till ett kråkslott och vad är det det nybyggda ARM64 huset har skalat bort?

Skrivet av Mindfighter:

x86 är en arkitektur från slutet av 70-talet, bakåtkompabilitet är en "bitch" i detta fallet.
När ARM arkitekturen togs fram så tog man förstås vad man hade lärt sig och gjorde en bättre arkitektur enkelt förklarat.

Jag borde ställt min fråga lite tydligare, på den nivån förstår jag det. Och lite djupare än så.
Men vad är det som man har lärt sig?
Vilka förbättringar har en gjort och vilka onödiga saker har man skalat bort som gör så enorm skillnad?

Permalänk
Medlem
Skrivet av Landelusen:

Varför envisas man med att skriva x86? Är det inte amd64 som är den prominenta arkitekturen idag?

Arkitekturen brukar oftast kallas x86-64 medan AMD64 syftar på AMDs implementation, men det är lite luddigt vad som är vad ibland. Men x86-64 är hur som helst inte en separat arkitektur, det är en utökning av x86.

Permalänk
Skrivet av Chibariku:

Ja den stämmer dessutom överens med 4+4 gb riktpris var dock 8790 när den kom och det är väl störsa fördelen med att köpa pc, att det kan komma rejäla prissänkningar. Skulle vilja se an Mac sjunka med nästan 30% efter 6 månader. Vilket iofs också skjuter andrahandsvärdet i botten.

OnT: så hoppas jag verkligen att utvecklingen för ARM på Laptops tar fart nu och med den mjukvarustödet. Just nu är det ju en hönan och ägget situation som jag tror det krävs Apple för att lösa. Kolla bara på Windows RT och Surface pro X

Ja det var den datorn. Den kan inte på något sätt jämföras emot en Apple dator.
Men om man bara sätter specfikationskraven: En hyfsad snabb ny 15-16" laptop med rimlig ssd, vilket är väldigt vag beskrivning, så ligger Apples på runt 25 000kr. Detta då de medvetet har valt att inte göra billigare laptops i denna storlek som kan konkurrera emot de dyrare.
Samma sak är det med allt de gör.

Så min poäng är igen, jag tror denna Arm cpu som tråden handlar om ihop med de billigare datorerna kommer bli riktigt bra och folk kan säga att de är prisvärda med tanke på vilken hårdvara man får, men för de som kräver lite mer så kommer Apple inte sälja datorer som inte är svindyra. -Svindyr så kostar runt 25 000kr för en dator som ändå är rätt så basic.

Att undvika köpa svindyra prylar betyder i sin tur inte att man har låg budget, det kan snarare vara så att man köper väldigt mycket datorutrustning som man använder mycket inklusive ute så man får byta dem ofta och man inte vill ha vansinniga kostnader.

Permalänk
Medlem
Skrivet av Kilroy:

Vad är det som gör att ARM är så mycket effektivare?
Vad är det x86-64 är bättre på än ARM?

Och det jag undrar är ju just vad det är som gör x86-64 till ett kråkslott och vad är det det nybyggda ARM64 huset har skalat bort?

Jag borde ställt min fråga lite tydligare, på den nivån förstår jag det. Och lite djupare än så.
Men vad är det som man har lärt sig?
Vilka förbättringar har en gjort och vilka onödiga saker har man skalat bort som gör så enorm skillnad?

Det finns en lång lista av förbättringar som jag vet att man har gjort. Exakt vilka som är betydelsefulla är svårt att svara på, så här kommer de i en salig blanding:

* ARM64 har fler register (31 för heltal istället för 8 i x86 och 16 i x64). Detta gör att det är lättare att parallellisera instruktioner som jobbar med olika saker och köra dem samtidigt.
* Instruktionerna är utlagda logiskt och "ortogonalt". Detta gör dem lättare att avkoda än x86, där instruktionerna är utlagda i lite hipp som happ efter när man kommit på dem.
* Instruktionerna är lika långa - 32 bitar. x86 och x64 är konstruerade efter principen att man läser en byte åt gången, och om denna byte är en viss instruktion så får man läsa ytterligare en för att se vilken instruktionen är. Alla instruktioner är således olika långa. Detta gör att det är svårt att avkoda flera instruktioner parallellt, eftersom man måste läsa instruktionerna en åt gången för att se när en slutar och nästa börjar. Intel's lösning här är att en enhet först springer igenom koden för att dela av instruktionerna på rätt ställe, så att de sedan kan skickas ut och avkodas parallellt. För ARM kan man bara dela ut 32 bitar åt gången.
* x86/x64 är designade innan man hade separat cache för data och instruktioner. Detta gör att arkitekturen "lovar" att man kan jobba med självgenererande kod. Modernare arkitekturer - och jag tror att ARM64 gör detta också - vill att man ger en instruktion för att synka cachen innan man börjar exekvera denna kod. Detta sparar en del tid i vissa lägen.
* x86 har normalt en "page size" (storleken på en sida i virtuellt minne) som är 4K. Man kan ha mycket större sidor, men inte lite större. ARM stödjer 16K och 64K. Att ha en lite större sida sparar plats i TLB-cachen (tabellen som översätter en virtuell adress till en verklig adress) och gör det lite lättare att konstruera en effektiv cache. Google "VIPT cache page size" om du är intresserad av detaljerna.
* x86 har stöd för en del gammalt skräp som ligger och skräpar - x87, gamla komplexa sträng-instruktioner och t.o.m MMX får väl räknas dit idag. Alla dessa gör avkodningen mer komplex, och tar plats på chippet. Detta bidrar dock mindre än man kan tro.
* Specifikt för Apple: Objective C har ett system för halvautomatisk minneshantering som bygger på att man håller koll på hur många som använder ett visst objekt, och när den räknaren går till 0 tar man bort objektet. Detta tar en massa tid att uppdatera en räknare hela tiden. För ARM64 har Apple valt att gömma den räknare i oanvända bitar av minnespekaren, vilket sparar en hel del tid.

Visa signatur

5900X | 6700XT

Permalänk
Medlem

Lite äpplen o päron här från Apple?
Intel 2 kärnor med ht.
Mot en big.Little cpu med totalt 8 kärnor varav 4 högpresterande och 4 mer energieffektiva kärnor som kanske kan betraktas som 4kärnor med ht, och leta efter en ljusglimt i flertrådade laster.

Visa signatur

Legion 5 Pro" Ryzen 5800H / 32GB ram / 2TB+1TB nvme / RTX 3070 8GB 140w

Permalänk
Medlem
Skrivet av Playboy_1338:

Lite äpplen o päron här från Apple?
Intel 2 kärnor med ht.
Mot en big.Little cpu med totalt 8 kärnor varav 4 högpresterande och 4 mer energieffektiva kärnor som kanske kan betraktas som 4kärnor med ht, och leta efter en ljusglimt i flertrådade laster.

Detta är öht inte från Apple, utan från någon som brutit sitt NDA, man får inte prata om prestanda på developer kitet enligt avtalet man skriver på.

Developer kitet är dessutom bara för att utvecklarna ska kunna komma igång med MacOS på ARM, CPUn är den som sitter i iPad Pro 2020 och inte kommande dator-variant, dessutom verkar den stympad då testerna indikerar att den bara har sina fyra stora kärnor igång och 100MHz lägre frekvens än iPaddorna har. (2.4GHz vs 2.5GHz).

...och som lök på laxen är Geekbench kört via Rosetta2-emuleringen.

Visa signatur

Dator: Mac

Permalänk
Medlem

@lillaankan_i_dammen: Ditt användarexempel i tidigare post om någon som letar en vass speldator, där har aldrig Apple riktigt ens brytt sig tidigare. Dvs, vill du ha en dator primärt att spela med så köper du inte en Mac Apple är lite lustiga där, de har skapat sin egen marknad på ett vis. Primärt vänder de sig till människor som vill ha en Mac (... duh), dvs Mac OS, därefter användare som vill ha en Mac i det professionella (och där spelar inte kostnaderna lika mycket roll, man skall ha mer en arbetshäst med bra ergonomi och Mac OS). Några steg ner kanske du hittar de som verkligen är spec-jagare men de bryr sig sällan om Mac ändå.

Dvs, väljer du Mac är det för att du vill ha Mac i mångt och mycket. Pris blir då sekundärt för Apple är den enda liraren på den marknaden. Det är på ett sätt fel, iaf. har varit tidigare, att se Apple som en motsvarighet till Dell, HP, Lenovo etc. De säljer PCs (med Windows). Apple säljer något annat. Endast till viss del överlappar det hela.

De billigare modellerna fångar in de som är ute efter någon lättare surf/vardags/pluggdator. De hade troligtvis inte tjänat något alls på att erbjuda lägre prissatta men kraftfullare enheter.

Permalänk
Skrivet av Ibis:

De billigare modellerna fångar in de som är ute efter någon lättare surf/vardags/pluggdator. De hade troligtvis inte tjänat något alls på att erbjuda lägre prissatta men kraftfullare enheter.

De gör som Intel gjorde för några år sedan. Skulle man ha mer än 4 core så köp en Xeon som kostar skjortan, Hedt kom tillslut men även de var dyra. Tar man ecc stödet så har Intel processor för under 700kr som har detta som Pentium Gold G5400. Men deras flagskepp Intel Core i9 10900K som kostar 6000kr, har inte stödet för då konkurrerar denna emot xeon.

Så strategin som många företag gör är att maximera marginalerna de kan ta från olika typer av kunder. Där jag som sagt tror att Apples Arm för enklare datorer kommer bli superbra, men ska man ha en dator som uppfyller de kraven som många på forumet ställer så blir det svindyrt. Och jag pratar inte om extrema krav som 2TB ram eller så, utan det räcker enbart att man har krav 15-16" skärm idag och man får välja de riktigt dyra Apple datorerna som idag kostar runt 25 000kr.

Nå det återstår att se, men jag gissar att Apple hittar på något liknande som gör det svindyrt för oss med lite högre krav, precis som många andra märken gör.

Så diskussionen kring hur bra Arm är tycker jag är intressant, men det är allmänt känt att arm är bättre än x86 för det mesta, laptops, destop, servrar, iot. Men om Apple ska bli ett alternativ, så vill jag ej se "extrema" priser för hårdvara som kan anses vara basic. 25 000kr för en enklare laptop anser jag för vanliga konsumenter är för mycket.

Permalänk
Datavetare
Skrivet av Landelusen:

Varför envisas man med att skriva x86? Är det inte amd64 som är den prominenta arkitekturen idag?

x86 är samlingsnamnet för allt som är x86. x86_64 brukar användas för 64-bitars extensionen till x86 (eller IA32 som det formellt heter) som är gemensamt för Intel och AMD.

För om man riktigt ska vara petnoga finns två varianter av 64-bit x86 som är nästan, men bara nästan, helt kompatibla: AMD som kallas AMD64 och Intel som efter flera namnbyten nu heter Intel64.

För "normal" program är AMD64 och Intel64 identiskt, för de som skriver OS-kärnor finns ett par små skillnader.

Skrivet av Kilroy:

Vad är det som gör att ARM är så mycket effektivare?
Vad är det x86-64 är bättre på än ARM?

Och det jag undrar är ju just vad det är som gör x86-64 till ett kråkslott och vad är det det nybyggda ARM64 huset har skalat bort?

Jag borde ställt min fråga lite tydligare, på den nivån förstår jag det. Och lite djupare än så.
Men vad är det som man har lärt sig?
Vilka förbättringar har en gjort och vilka onödiga saker har man skalat bort som gör så enorm skillnad?

Är lite svårt att peka på någon specifik finess i ARM64 (AArch64) som gör den effektivare än både x86 men även än 32-bitars ARM!

Att just ISA är en stor komponent i detta kan man se här där samma CPU körde samma program, fast kompilerat för 32-bitars ARM resp. 64-bitars ARM.

ARM64 är inte en utökning av 32-bit ARM, det är en helt ny instruktionsuppsättning som lanserades så sent som 2010. D.v.s. tillräckligt sent för att man skulle kunna fundera hur man bäst hanterar aktuella trender som fokus på IPC i stället för frekvens, fokus på fler kärnor i stället för snabbare kärnor, etc.

Det intressanta är att innan AArch64 var nog de flesta rätt överens om att ISA spelar inte jättestor roll, är långt viktigare vilken mikroarkitektur som används då moderna CPUer ändå slår isär instruktionerna till "interna" instruktioner som påminner rätt mycket om varandra oavsett ISA. ARM tänkte helt klart utanför boxen här, de tittade på vad som begränsade att man ökar IPC ännu mer för PowerPC, MIPS, SPARC m.fl. har instruktioner som är exakt 32-bitar, de har 32 register, etc. Men ändå hade de inget direkt övertag mot x86_64 i IPC givet ungefär likartad mikroarkitektur.

Sättet ARM64 instruktioner är designade verkar möjliggöra långt högre IPC. Sättet denna ISA är designad skiljer sig fundamentalt från både 32-bit ARM och andra ISA i att extremt få instruktioner påverkar något form av "globalt" tillstånd (CPU-flaggor och annat som gör att instruktion X kan implicit påverka hur instruktion X+N uppför sig).

Är annars svårt att förstå varför både AMD och Intel stannat vid att maximalt kunna köra 4 st x86 instruktioner per cykel. Detta har varit fallet sedan Nehalem för Intel och sedan Zen 1 för AMD. Apple A12 kan köra upp till 7 AArch64 instruktioner per cykel, ställer man samma C/C++/C#/Java/Rust program mot varandra och jämför antalet x86_64 resp. AAarch64 instruktioner det kompilerar till är det i genomsnitt i alla fall inte fler AArch64 instruktioner som behövs!

Cortex A53 och A57 som testas i grafen jag länkade är med dagens mått extremt simpla CPUer. Cortex A72 som används i RPi4 verkar se ännu större vinst av att gå från 32-bit ARM till 64-bit ARM kod. Gissar att dagens snabbaste ARM-designer vinner ännu lite mer då de innehåller allt större möjligheter att köra flera instruktioner samma cykel (superskalär) och större grad av att spekulera om hur saker kommer uppföra sig i framtiden (out-of-order). Mätningen ovan är också några år gammal, Aarch64 är väldigt nytt så det har varit ganska stora förbättringar i prestanda med nya kompilatorer, x86_64 (och även 32-bit ARM) är ju så mogna att man där plockat i princip alla frukter som finns, högt som lågt hängande så inget relevant händer sett till prestanda mellan versioner.

Så primärt verkar det som ARM lyckats med de rätt många inte riktigt trodde på längre: de har skapat en ISA som passar klart bättre till hur vi i alla fall för tillfället utvecklar program än någon annan tidigare lyckats med. Möjligen kan RISC-V ha liknande fördelar, men går inte att veta innan något byggt något likt A12/A13 för den instruktionsuppsättningen.

För man ska vara medveten att A13 trots allt tar mindre kretsytan än t.ex. Zen 2 på samma TSMC 7 nm process (Zen 2 är ~40 % större) ändå utför A13 ~80 % mer per cykel. Cortex A76 utför ungefär lika mycket som Zen 2 per cykel, men den tar bara 1/3 av kretsytan! Så är uppenbart att något gör att ARM64 är väsentligt bättre på att ta tillvara de transistorer man stoppar in CPUn. Svårare att göra en direkt jämförelse mot Intel då det är en annan tillverkningsprocess.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Är annars svårt att förstå varför både AMD och Intel stannat vid att maximalt kunna köra 4 st x86 instruktioner per cykel. Detta har varit fallet sedan Nehalem för Intel och sedan Zen 1 för AMD. Apple A12 kan köra upp till 7 AArch64 instruktioner per cykel, ställer man samma C/C++/C#/Java/Rust program mot varandra och jämför antalet x86_64 resp. AAarch64 instruktioner det kompilerar till är det i genomsnitt i alla fall inte fler AArch64 instruktioner som behövs!

Max 4... ok.... det är bara en faktor bland många... men hur tänkte dom där?
Känns som en "enkel" optimering som inte ökar logiken med 100% direkt... men det finns säkert följdeffekter.

Visa signatur

|[●▪▪●]| #Lekburk#: Ryzen 3700X >-< GB-X570-AE >-< 32GB DDR4 >-< MSI RTX 3070 >-< 970 EVO 1TB SSD>--
--< Arctic Freezer 34 >-< FD Define R4 >-< Seasonic F.+ 650W >-< Acer XF270HUA >-< AOC Q2778VQE >--
#Servering#: Ryzen 1700@3,6GHz >-< Prime X470 Pro >-< 16GB DDR4 >-< GTX 1030 >-< 970 EVO 500GB SSD >--
--< Stockkylare >-< Antec P182 >-< Silver Power 600W >-< Samsung 245T |[●▪▪●]|

Permalänk
Datavetare
Skrivet av RHWarrior:

Max 4... ok.... det är bara en faktor bland många... men hur tänkte dom där?
Känns som en "enkel" optimering som inte ökar logiken med 100% direkt... men det finns säkert följdeffekter.

Varken AMD eller Intel är idioter när det kommer till att designa kretsar, det finns bra anledningar till varför man inte pushat så hårt att bredda mer.

Första är att då x86 instruktioner är variabellängd blir det allt mer komplicerat att hämta in fler instruktioner samma klockcykel. Att man ens fixar 4 st är rätt imponerande. Jämför det med vad Apple behöver göra: instruktionerna börjar på byte N+0, N+4, N+8, N+12 etc. Men finns trix runt detta och går alltid att slänga mer transistorer på problemet.

Det kanske viktigare att notera här är: varför fungerar HT/SMT och varför har varken Apples A-serie eller ARMs Cortex A-serie implementerat SMT?

SMT fungerar väl för AMD/Intel just p.g.a att deras nuvarande CPUer har redan mer resurser att avkoda och köra instruktioner än vad som är rimligt att extrahera per cykel ur en typisk x86 instruktionsström. SMT handlar bara om att mata två oberoende instruktionsströmmar genom samma CPU-kärna. Om det ger mer än 0 % prestandaförbättring (och vi ser typiskt runt 30 % boost för x86 från SMT/HT) betyder det att man rätt ofta inte ens kan göra något vettig med den bredd man redan har. Att bredda en CPU-pipeline kostar transistorer och därmed ström, så varför lägga resurser här om man inte effektivt utnyttja de man redan har?

Att A12/A13 verkar kunna göra något vettigt med sina resurser trots en 75 % bredare pipeline och avsaknad av SMT pekar på ARM64 måste vara löjligt mycket bättre på att ge ILP (Instruction Level Parallelism).

AMD/Intel kommer bredda sina designer, men då de redan är väldigt långt upp på den S-kurvan kommer det kosta väldigt mycket transistorer för relativt liten IPC-ökning. Det kommer självklart ta stopp även för ARM64 designerna, men det tar stopp på en mycket högre nivå jämfört med x86!

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av RHWarrior:

Max 4... ok.... det är bara en faktor bland många... men hur tänkte dom där?
Känns som en "enkel" optimering som inte ökar logiken med 100% direkt... men det finns säkert följdeffekter.

Man får helt enkelt inte ut så mycket av att gå ännu bredare, för logiken har svårt att hitta instruktioner som kan exekveras helt oberoende av varandra - och då har Intel ändå Hyperthreading som hjälp.

Sen finns det lite undantag från de där 4, men i det allmänna fallet är det precis som Yoshman säger 4 i bredd - åtminstone i Skylake. Aldrig satt mig och gått igenom vad Intel egentligen får ut i Icelake - det såg ut som om man borde kunna få ut mer än 4 i Skylake från ett diagram, men det visade sig att det inte gick (p.g.a reorder-bandbredden).

Samtidigt skall man vet att Intel har lagt massor med kraft på allt bredare AVX, TSX som måste varit ett h-vete att verifiera, och en mesh-struktur för multipla kärnor - alla funktioner som inte är så intressanta för de allra flesta. Hade de känt sig pressade att förbättra vanlig heltalsprestanda så hade de lagt mer tid på det och mindre på de specialfallen.

Visa signatur

5900X | 6700XT

Permalänk
Datavetare
Skrivet av mpat:

Man får helt enkelt inte ut så mycket av att gå ännu bredare, för logiken har svårt att hitta instruktioner som kan exekveras helt oberoende av varandra - och då har Intel ändå Hyperthreading som hjälp.

Sen finns det lite undantag från de där 4, men i det allmänna fallet är det precis som Yoshman säger 4 i bredd - åtminstone i Skylake. Aldrig satt mig och gått igenom vad Intel egentligen får ut i Icelake - det såg ut som om man borde kunna få ut mer än 4 i Skylake från ett diagram, men det visade sig att det inte gick (p.g.a reorder-bandbredden).

Samtidigt skall man vet att Intel har lagt massor med kraft på allt bredare AVX, TSX som måste varit ett h-vete att verifiera, och en mesh-struktur för multipla kärnor - alla funktioner som inte är så intressanta för de allra flesta. Hade de känt sig pressade att förbättra vanlig heltalsprestanda så hade de lagt mer tid på det och mindre på de specialfallen.

Det är en viss sanning med modifikation att Skylake, Sunny Cove, Zen och Zen 2 alla är 4 breda. Det är maximal kapacitet när de avkodar x86 instruktioner. Men alla dessa har en "L0$" (mikro-op cache) som innehåller redan avkodade x86 instruktioner, så de innehåller "interna" instruktioner.

För alla dessa är kapaciteten högre för dessa interna instruktioner, de kan alla "retire" (färdigställa) upp till 8 st interna instruktioner per cykel när SMT används.

Sunny Cove har dessa primära förändringar från Skylake

  • väsentligt mycket större "out-of-order" fönster, ~60 % större

  • kan hålla ordning på långt fler minnsoperationer, ~80 % fler "loads" och ~30 % fler "stores"

  • kan utföra dubbelt så många minnesoperationer som tidigare (dubbelt så många pipelines för load/store)

  • hade fel om Sunny Cove, den är faktiskt 5-wide så det är ett snäpp upp från de övriga!

  • mikro-op cache (L0$) är 50 % större

  • L1D$ är 50 % större

  • L2$ är 100 % större

  • AVX-512 stöd (påverkar primärt applikationer som använder matriser, som maskininlärning, Matlab, etc)

Sunny Cove pipeline

Det som är nedslående är hur lite effekt allt ovan gett, Sunny Cove har ~20 % högre IPC jämfört med Skylake (så den utför mindre per cykel jämfört med t.ex. Cortex A77 som består av långt färre antal transistorer).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Det är en viss sanning med modifikation att Skylake, Sunny Cove, Zen och Zen 2 alla är 4 breda. Det är maximal kapacitet när de avkodar x86 instruktioner. Men alla dessa har en "L0$" (mikro-op cache) som innehåller redan avkodade x86 instruktioner, så de innehåller "interna" instruktioner.

För alla dessa är kapaciteten högre för dessa interna instruktioner, de kan alla "retire" (färdigställa) upp till 8 st interna instruktioner per cykel när SMT används.

Mystiken tätnar!
Apråpå, hittade lite rolig kvällsläsning: https://www.agner.org/optimize/

Visa signatur

|[●▪▪●]| #Lekburk#: Ryzen 3700X >-< GB-X570-AE >-< 32GB DDR4 >-< MSI RTX 3070 >-< 970 EVO 1TB SSD>--
--< Arctic Freezer 34 >-< FD Define R4 >-< Seasonic F.+ 650W >-< Acer XF270HUA >-< AOC Q2778VQE >--
#Servering#: Ryzen 1700@3,6GHz >-< Prime X470 Pro >-< 16GB DDR4 >-< GTX 1030 >-< 970 EVO 500GB SSD >--
--< Stockkylare >-< Antec P182 >-< Silver Power 600W >-< Samsung 245T |[●▪▪●]|

Permalänk
Medlem

Konstig vinkling på nyheten tycker jag. Vi vet ju redan hur A12Z presterar:
https://browser.geekbench.com/v5/cpu/2748259

Nyheten är väl snarare hur en tidig version av emuleringen fungerar.

Permalänk
Medlem
Skrivet av mpat:

Det finns en lång lista av förbättringar som jag vet att man har gjort. Exakt vilka som är betydelsefulla är svårt att svara på, så här kommer de i en salig blanding:

[...]

Tack för en bra och intressant genomgång!

Skrivet av Yoshman:

Så primärt verkar det som ARM lyckats med de rätt många inte riktigt trodde på längre: de har skapat en ISA som passar klart bättre till hur vi i alla fall för tillfället utvecklar program än någon annan tidigare lyckats med. Möjligen kan RISC-V ha liknande fördelar, men går inte att veta innan något byggt något likt A12/A13 för den instruktionsuppsättningen.

För man ska vara medveten att A13 trots allt tar mindre kretsytan än t.ex. Zen 2 på samma TSMC 7 nm process (Zen 2 är ~40 % större) ändå utför A13 ~80 % mer per cykel. Cortex A76 utför ungefär lika mycket som Zen 2 per cykel, men den tar bara 1/3 av kretsytan! Så är uppenbart att något gör att ARM64 är väsentligt bättre på att ta tillvara de transistorer man stoppar in CPUn. Svårare att göra en direkt jämförelse mot Intel då det är en annan tillverkningsprocess.

Tack för ett gediget och intressant svar!

Sen undrar jag hur detta skalar i klockfrekvens? Det vet vi kanske inte riktigt än då ingen designat ett chip för lite högre energiförbrukning?

Netburst fokuserade ju (väldigt förenklat) allt på att få så hög klockfrekvens som möjligt och jag minns att Intel presenterade grafer där dom räknade med att nå 10GHz rätt snabbt, vilket sen inte alls visade sig vara möjligt pga helt andra saker. Och sedan dess verkar det ha blivit allt tydligare att bredare arkitekturer med högre IPC är det som gäller för då blir en mindre beroende av andra fysikaliska begränsningar.

Det är en svår balans mellan effektivitet och maximal prestanda, men det känns som att Intel har tagit väldigt många felsteg på vägen framåt här.
När dom lanserade Atom och pratade om "x86 everywhere" och skulle ta över chip till mobiler osv också verkar ju inte direkt ha gått som dom tänkte sig.
Larrabee grafikkorten blev ju aldrig av även om det snart kommer grafikkort ifrån Intel.

Men det känns som att Intel har slösat otroligt med resurser för att försöka få x86 dominant och har offrat mer konstruktiv innovation eftersom dom gillar att ha licensen för arkitekturen som alla kodar för.

Hur skulle det gå att kombinera ARM och X86 kärnor på samma processor?

Säg kombinera en 2 kärnig Zen3 och en maxad Apple A13?

Det känns som att vi behöver komma ifrån att vara låsta till gamla arkitekturer. Framförallt när fysikens lagar gör att det blir allt svårare att bara krympa för att trycka in fler transistorer och dra upp klockfrekvenserna.