Apple uppges utveckla ARM-processorer med över 32 kärnor

Permalänk
Medlem
Skrivet av Yoshman:

Vet inte om så många förväntar sig att x86 ska försvinna inom överskådlig framtid, för givet hur och var x86 används lär den finnas kvar väldigt länge nästan oavsett vad som händer.

Det finns ett par stora skillnader nu från alla tidigare gånger när x86 utmanats

  • Intel, och i mindre utsträckning AMD, har alltid kunnat kompensera bristerna i x86 med att ha fördelar i tillverkningsteknik. Nu kör AMD samma fabriker som ARM64 gänget (egentligen är man efter då Apple har första tjing på TSMC samt bara Qualcomm och Samsung som verkar köra Samsung 5 nm)

  • Alpha hade rejäla fördelar i flyttal, men den hade egentligen inga större fördelar i heltalsberäkningar mot x86. Detta har varit fallet i princip alla tidigare "attacker" mot x86, heltalsprestanda är brutalt mycket viktigare än flyttalsprestanda i det lite större perspektivet. ARM64 är första gången vi sett signifikanta fördelar mot x86 oavsett vad som görs, förhoppningsvis kommer RISC-V visa liknande trend

  • Windows och x86 sitter väldigt hårt ihop, Windows position är svagare än på mycket länge för "svensson". Alla alternativ är endera bundna till Arm (Android och iOS) eller har fler realistiska alternativ än x86 (MacOS och än mer Linux har väldigt bra ARM64 stöd)

Visst finns skillnader i grundläggande design mellan Zen3, Willow Cove och Firestorm. Ändå, något luktar gammalt hos x86 när när Firestorm har ~85 % högre heltals IPC, ~69 % högre flyttals IPC mot Zen3 och ~72 % högre heltals IPC, ~79 % högre flyttals IPC mot Willow Cove.

I faktiskt prestanda är skillnaden mindre då Firestorm klockar strax över 3 GHz medan de andra klockar runt 5 GHz (~60-70 % högre frekvens i x86 modellerna). Men just den skillnaden i design kommer göra sig väldigt påmind om man skruvar upp antalet kärnor då alla dagens CPU-designer har långt bättre perf/W <=3 GHz jämfört med nära 5 GHz.

På serversidan där AMD nått 64 kärnor har ju ARM64 modellerna med 64-80 kärnor en fördel i frekvens just p.g.a. att man måste klocka ned x86 så brutalt för att få en rimlig totalbudget. Så världens snabbaste server CPUer per sockel är inte längre x86-baserade, de är ARM64 baserade.

När man ser de har siffrorna och läser om ryktet att AMD kanske tagit upp ARM64 spåret igen känns det verkligen: denna generations konsoler borde kanske ha släppts om 12-24 månader i stället, då med ARM64 baserade CPUer. Nu blev det lite déjà vu, HW (i alla fall CPU-delen) känns gammal innan produkterna ens hinner komma ut på marknaden.

I slutändan handlar det om vad marknaden väljer, det är inte alltid bäst prestanda som vinner.

PC har alltid vunnit pga öppenheten, valfriheten och konfigurationsfriheten inte alltid på prestanda.
Power hade bättre prestanda än X86 och Amiga slog PC i många år.

Sen ska man va petig så kör Intel och AMD redan RISC instruktioner i botten på sina processorer och de skulle tjäna på att
slippa översätta från X86 vilket drar ner prestandan sjukt mycket (snarare höjer energikostnaden om man ska va ännu petigare)

Visa signatur

Modermodem: Asus ROG Strix X470-F
Grafikkort: XFX Speedster MERC 319 AMD Radeon™ RX 6800 BLACK
Processor: AMD 2600X
Minne: 48 GB

Permalänk
Inaktiv
Skrivet av DevilsDad:

Jag är jäkligt imponerad av vad Apple har åstadkommit med deras processorer, och deras ambitiösa planer. Samtidigt blir mad lite rädd över vad som kommer hända om Apple fortsätter på spåret att låsa ner saker mer och mer och samtidigt får en väldigt stor marknadsandel.

Det tar EU hand om med en stämning för monopol. 😉

Permalänk
Medlem
Skrivet av bobbeyblade:

I slutändan handlar det om vad marknaden väljer, det är inte alltid bäst prestanda som vinner.

PC har alltid vunnit pga öppenheten, valfriheten och konfigurationsfriheten inte alltid på prestanda.
Power hade bättre prestanda än X86 och Amiga slog PC i många år.

Sen ska man va petig så kör Intel och AMD redan RISC instruktioner i botten på sina processorer och de skulle tjäna på att
slippa översätta från X86 vilket drar ner prestandan sjukt mycket (snarare höjer energikostnaden om man ska va ännu petigare)

’PC’ med vilket jag gissar att du menar lösa komponenter och ett ekosystem av delar kan utan minsta problem återanvändas även om processorn byter arkitektur, det handlar bara om att någon tillräckligt stor aktör ska börja sälja socklade processorer eller moderkort med cpu till befintliga format som ATX/ITX. Det som idag håller oss tillbaka är Rosetta2-liknande översättning på Windows for ARM.

Amiga hade vissa specifika chip som gjorde vissa operationer snabbare än PC, långt ifrån att generella prestandan var avsevärt högre. Samma med Power som var specifikt bättre för några få saker.

Det Apple gör är ju att översätta:
x86 -> ARM64 -> RISC

Alla processorer idag översätter internt till den specifika arkitekturens implementation (brukar kallas micro-ops). Så om något borde ju Apples implementation i så fall dra mer energi än ren x86...

Jag tror mer det har med iterativa förbättringar vs komplett nytänk som är största skillnaden här. x86 är baserat på många lager av små förbättringar över mer än 40 års tid, ARM64 är helt nytt från scratch designat för dagens behov. Inga onödiga instruktioner som tar plats i decodern, och inga specialfall och gamla buggar som behöver implementeras för att det ska fungera kompatibelt...

Det kommer iterationer och revolutioner och vi är nu inne i ett skifte där den gamla jätten har tappat fotfästet och hänger i luften likt gråben i de tecknade filmerna...

Permalänk
Datavetare
Skrivet av bobbeyblade:

I slutändan handlar det om vad marknaden väljer, det är inte alltid bäst prestanda som vinner.

PC har alltid vunnit pga öppenheten, valfriheten och konfigurationsfriheten inte alltid på prestanda.
Power hade bättre prestanda än X86 och Amiga slog PC i många år.

Sen ska man va petig så kör Intel och AMD redan RISC instruktioner i botten på sina processorer och de skulle tjäna på att
slippa översätta från X86 vilket drar ner prestandan sjukt mycket (snarare höjer energikostnaden om man ska va ännu petigare)

Jag tror prestanda har varit kritiskt för x86. Innan ARM64, när har någonsin x86 legat efter i heltalsprestanda?

När Apple försökte visa att PowerPC minsann hängde med var det enda man kunde skaka fram väldigt flyttalstunga specialfall. Innan SIMD blev normen för flyttal var flyttalsprestanda rätt bedrövligt på x86 ställd mot konkurrenterna, däremot har heltalsprestanda alltid varit långt viktigare för skrivbordet och även i de flesta serverfall.

Gjorde examensarbete på en Alpha, den totalt demolerade de K6 och Celeron300A CPUer jag hade då sett till flyttalsprestanda. Men den var inte alls speciellt imponerande ställd mot Celeron300A när den rullade i självklara 450 MHz sett till heltal.

Hade en Amiga 1200 med 40 MHz 68030, den var ju hopplöst långsam i heltalsberäkningar ställd mot 486, även en som rullade i 25 Mhz. Och 486 blev i sin tur rejält överkörd av Pentium.

x86 har internt kört RISC sedan slutet av 90-talet. Den modellen, framförallt i kombination med Intels ledning i tillverkningsteknik, har hållit nackdelarna med x86 i schack väldigt länge.

Det fundamentala som ändrats nu är att Apple valde att gå all-in på en design som kan köra väldigt många instruktioner per cykel. För att lyckas med det måste man ha en ISA som också har massvis med ILP samt en realistisk chans att utnyttja detta. Här faller inte bara x86 bort, 32-bitars ARM är på flera sätt ännu värre så det var aldrig en realistisk väg innan ARM64 slog igenom brett (första ARM64 CPU lanserades så sent som hösten 2013, d.v.s. bara lite mer än 7 år sedan).

Vi får se om IBM haft chansen men inte riktigt vågat innan, ryktet säger att nästa POWER design kommer vara minst lika "bred" som Apples Firestorm. ARM64 har dock andra ISA-relaterad fördelar över POWER, framförallt runt atomära operationer i relation till synkronisering i flertrådade applikationer.

Arm har ju också insett att man måste hänga med Apple. Cortex A76 lyfte Cortex A serien från "bra perf/W, men en bra bit efter x86 i absolut perf" till att faktiskt matcha Zen2/Skylake i prestanda per MHz. Med Cortex X1 har Arm tagit sina första steg mot det Apple nu gjort i flera generationer, gå riktigt på bredden. Cortex X1 bedöms utföra ~60 % mer per MHz ställd mot Zen2/Skylake.

AMD har nämnt att man tittade på breddning av front-end med Zen3, man lade de planerna åt sidan för även om absolut prestanda hade ökat blir det exponentiellt dyrare att öka kapaciteten för avkodning så man bedömde att perf/W skulle minska. Här har x86 ett problem mot "rena" RISC:ar då de senare bara får ~linjär ökning av kostnaden vid breddning av front-end.

Så länge högre frekvens var den primära metoden att öka prestanda per kärna fanns ingen poäng att gå på bredden. Att gå på bredden ger mindre utdelning och är relativt komplext. Idag finns inget alternativ då man inte kan skruva upp frekvensen...

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

Kan någon upplysa mig om vilken marknaden är för enanvändarsystem med 32+ kärnor?
Det är säkert okunskap från min sida, men jag har sett ray-tracing benchmarks i över 20 år när det skall visas hur bra det är med många kärnor, men om man nu inte håller på med CPU rendrering?

Det har sagts att vissa högkvalitativa videokompressorer bara kör på CPUer men det låter mera som ett mjukvaruproblem än något som bör lösas med en massa CPU-kärnor.

Jag förstår bragging rights, det är ett fenomen på många marknader, men det är vissa personers psykologi. Räcker det som motiv för Apple?

Permalänk
Inaktiv
Skrivet av EntropyQ3:

Kan någon upplysa mig om vilken marknaden är för enanvändarsystem med 32+ kärnor?
Det är säkert okunskap från min sida, men jag har sett ray-tracing benchmarks i över 20 år när det skall visas hur bra det är med många kärnor, men om man nu inte håller på med CPU rendrering?

Det har sagts att vissa högkvalitativa videokompressorer bara kör på CPUer men det låter mera som ett mjukvaruproblem än något som bör lösas med en massa CPU-kärnor.

Jag förstår bragging rights, det är ett fenomen på många marknader, men det är vissa personers psykologi. Räcker det som motiv för Apple?

Allting du kan parallellisera. Vanligaste användningen är väl video-konvertering/produktion.

Sedan handlar det väl om att man står och bankar skallen i väggen vid 3-4 GHz klocka, inte hänt så mycket där sedan 2005 ungefär. Vill du höja prestanda alt. göra mer per tidsenhet så är enda vägen att stoppa in fler kärnor. Sedan är det upp till utvecklaren att utnyttja det.

Permalänk
Medlem
Skrivet av EntropyQ3:

Kan någon upplysa mig om vilken marknaden är för enanvändarsystem med 32+ kärnor?
Det är säkert okunskap från min sida, men jag har sett ray-tracing benchmarks i över 20 år när det skall visas hur bra det är med många kärnor, men om man nu inte håller på med CPU rendrering?

Det har sagts att vissa högkvalitativa videokompressorer bara kör på CPUer men det låter mera som ett mjukvaruproblem än något som bör lösas med en massa CPU-kärnor.

Jag förstår bragging rights, det är ett fenomen på många marknader, men det är vissa personers psykologi. Räcker det som motiv för Apple?

Denna med 32 kärnor är ju för de som idag har rivjärnet (Mac Pro desktop), det finns mindre varianter också.

Rendering med CPU av 3D miljöer har historiskt sett körts på CPU, men idag är det ofta accelererat av GPU istället. Andra saker som video-encoding och transcode är väldigt effektivt med många kärnor, så bra att det slår specialiserad hårdvara (och är inte lika låst till specifika format). Andra saker som mjukvaru-utveckling (kompilering, containers, VMs) blir också starkt hjälpta av mer resurser och kan markant minska tiden som krävs och alltså förbättra produktiviteten