Apple M1 – vi synar Apples första ARM-processor i sömmarna

Permalänk
Melding Plague

Apple M1 – vi synar Apples första ARM-processor i sömmarna

Redaktionen granskar den bärbara duon Macbook Air och Pro 13-tum med Apples ARM-processor M1, en vändpunkt i processorutveckling.

Läs hela artikeln här

Visa signatur

Observera att samma trivselregler gäller i kommentarstrådarna som i övriga forumet och att brott mot dessa kan leda till avstängning. Kontakta redaktionen om du vill uppmärksamma fel i artikeln eller framföra andra synpunkter.

Permalänk
Medlem

Mycket bra skrivelse! Kul att det inte bara är Apple-hat på en ’PC’-sida som Swec. Denna krets och hela produkten är så sjukt imponerande att jag knappt finner ord själv, bara extremt små detaljer håller mig från ett köp direkt förutom priset. Att den bara har ’8’ kärnor är en och att den bara klarar en extern skärm utan dockstation, men det är inte alla som behöver dessa saker.

Helt ärligt ser baskonfigurationen ut som en solklar rekommendation till studenter och de flesta andra som alls bryr sig om batteritid

Permalänk
Medlem

Jag köpte en Air till min tjej i julklapp, jag är faktiskt ganska avundsjuk...

Citat:

Att M1 lyckas köra x86-mjukvara med lika god eller bättre prestanda även i flertrådat scenario antyder att Apple lyckats nå stöd för minneskonsistensen i x86-64, vilket bolaget är ensamt om i ARM-lägret.

Som jag har förstått det så beror det här på att Apple har designat kislet så att det kan köra minnet både på ARM- och på x86-sätt beroende på om det är ARM- eller x86-kod som körs. De har med andra ord specialdesignad hårdvara för att lösa detta istället för att försöka emulera det.

Visa signatur

En potatis

Permalänk
Medlem

Släpper AMD någon CPU med ARM så kommer jag vara mycket intresserad.

Visa signatur

JJ2 Multiplayer
JJ2 ZStats

[1] Ryzen 5800X | 5500XT | Kingston A2000 | Lenovo G24-10 144Hz [2] Ryzen 5700G | RX 560 | WD Blue SN550 [3] Ryzen 5600G | Kingston A2000 [4] Ryzen 3600 | GT 740 | 850 EVO [5] Ryzen 3600 | Geforce 405 | 850 EVO (alla är i bruk)

Permalänk
Datavetare
Skrivet av Felix:

Som jag har förstått det så beror det här på att Apple har designat kislet så att det kan köra minnet både på ARM- och på x86-sätt beroende på om det är ARM- eller x86-kod som körs. De har med andra ord specialdesignad hårdvara för att lösa detta istället för att försöka emulera det.

Apple har inte själva sagt att M1 har HW-stöd för x86 minneskonsistensmodell, men allt pekar på att så är fallet. Om man inte har detta stöd i HW blir tyvärr "vanlig" läs/skrivning mot RAM relativt ineffektivt i kod som översatts från x86_64-instruktioner till ARM64 instruktioner. Detta då "vanliga" x86_64 minnesoperationer ger fler garantier kring vad en CPU-kärna kan förutsätta m.a.p. "vanliga" minnesoperationer utförd av andra CPU-kärnor.

x86_64 implementerar något som kallas Total Store Ordering (användes också av SPARC). TSO är relativt lätt att förstå för människor, så var nog ett naturligt val när det beslutet togs. Men när man väl satte sig ned och funderade på hur man bäst hanterar minneskonsistens i programspråk hamnade man på en modell som ingen instruktionsuppsättning implementerade på ett "perfekt" sätt. ARMv8 (så både 32-bitars och 64-bitars ARM) och även RISC-V blev de första att implementera denna perfekta match.

Problemet för x86_64 är att en sådan förändring där skulle bryta bakåtkompatibilitet. Arm kunde lägga till det även för 32-bitars ISA då man man tidigare hade för lite garantier, att öka mängden garantier bryter inte bakåtkompatibilitet. För x86 gäller motsatsen, där ger man i flera lägen för mycket garantier idag (vilket försämrar prestanda) men om man tar bort någon av dessa garantier bryts bakåtkompatibilitet.

M1 kör normalt med den "optimala" modell som ARMv8 dikterar, men allt pekar på att man även implementerat ett läge där x86_64 modellen (TSO) används och det läget aktiveras i program som körs under Rosetta 2.

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:

Apple har inte själva sagt att M1 har HW-stöd för x86 minneskonsistensmodell, men allt pekar på att så är fallet. Om man inte har detta stöd i HW blir tyvärr "vanlig" läs/skrivning mot RAM relativt ineffektivt i kod som översatts från x86_64-instruktioner till ARM64 instruktioner. Detta då "vanliga" x86_64 minnesoperationer ger fler garantier kring vad en CPU-kärna kan förutsätta m.a.p. "vanliga" minnesoperationer utförd av andra CPU-kärnor.

x86_64 implementerar något som kallas Total Store Ordering (användes också av SPARC). TSO är relativt lätt att förstå för människor, så var nog ett naturligt val när det beslutet togs. Men när man väl satte sig ned och funderade på hur man bäst hanterar minneskonsistens i programspråk hamnade man på en modell som ingen instruktionsuppsättning implementerade på ett "perfekt" sätt. ARMv8 (så både 32-bitars och 64-bitars ARM) och även RISC-V blev de första att implementera denna perfekta match.

Problemet för x86_64 är att en sådan förändring där skulle bryta bakåtkompatibilitet. Arm kunde lägga till det även för 32-bitars ISA då man man tidigare hade för lite garantier, att öka mängden garantier bryter inte bakåtkompatibilitet. För x86 gäller motsatsen, där ger man i flera lägen för mycket garantier idag (vilket försämrar prestanda) men om man tar bort någon av dessa garantier bryts bakåtkompatibilitet.

M1 kör normalt med den "optimala" modell som ARMv8 dikterar, men allt pekar på att man även implementerat ett läge där x86_64 modellen (TSO) används och det läget aktiveras i program som körs under Rosetta 2.

Ok, coolt! Hade bara hört det i förbifarten i en podcast som inte är så hårdvarunördig, tack för bra förklaring!

Visa signatur

En potatis

Permalänk
Medlem
Skrivet av maweric:

Släpper AMD någon CPU med ARM så kommer jag vara mycket intresserad.

Om de kramar Microsoft tillräckligt hårt och satsar på det själva istället för att "se och vänta" tror jag det blir av. De är viktiga iom. konsoler och deras grafik division. Dock är de relativt små jämfört med Intel och tror inte de har finansiella musklerna för en vågad satsning redan nu. Microsoft måste få tummen ur först.

Permalänk

Det kommer ta tio år innan ARM får någon genomslagskraft om det ens någonsin blir av. Förr eller senare måste även ARM bygga in bakåtkompabilitet som kommer sänka dem mer för varje generation. ***bort/mod***

§1.5/trollande/Kent, forumledare
Permalänk
Skrivet av Dinkefing:

Det kommer ta tio år innan ARM får någon genomslagskraft om det ens någonsin blir av. Förr eller senare måste även ARM bygga in bakåtkompabilitet som kommer sänka dem mer för varje generation. ***bort/mod***

MD häller också på att utveckla en egen ARM cpu då 10 år låter som lång tid, speciellt med den hastigheten utvecklingen får i just nu. Sen om det blir lyckat är en annan sak! God Fortsättning

Permalänk

Allt mer körs i molnet, ens dator blir mer en tunn klient. Lösningen i molnet körs på generella lösningar som det är lätt att byta plattform på. Där olika delar kan köras på helt olika arkitekturlösningar utan att ens utvecklaren har en susning på detta.
Som sagt ens dator blir mer en tunn klient, men det går väldigt sakta. Jag är väldigt förvånad över att Arm inte har fått större marknadsandel i Chromebook idag, men det beror mycket på att det tidigare inte fanns några non Apple arm processorer som var mycket bättre alternativ än vad Intel hade.

Nå vi får se vad som händer, jag väntar på andra armprocessorer ska prestera bra. Det jag har emot Apples är att de ej säljer dess till andra tillverkare, gör de ej detta, så blir användningsområdet rejält begränsat och jag menar då för många.
Ta alla på forumet som ska montera ihop en kraftig speldator, de väljer hårdvara, men det är ytterst få Apple processorer och moderkort som butikerna har att sälja.

Permalänk
Inaktiv
Skrivet av Pierre232:

MD häller också på att utveckla en egen ARM cpu då 10 år låter som lång tid, speciellt med den hastigheten utvecklingen får i just nu. Sen om det blir lyckat är en annan sak! God Fortsättning

MD?

Permalänk
Quizmästare Gävle 2022

Sweclockers när det är som bäst

Välskrivet och informativt, tackar!

Visa signatur
Permalänk
Medlem
Skrivet av anon242437:

Jag tolkar det som Microsoft Dock även troligt AMD.

Skrivet av Dinkefing:

Förr eller senare måste även ARM bygga in bakåtkompabilitet som kommer sänka dem mer för varje generation. ***bort/mod***

Det är väl just det som är fördelen med RISC jfm CISC?

Ser dock inte heller varför du är så hatisk mot macOS. Sedan kör som sagt även Windows och Linux på ARM/RISC sedan ett tiotal år (20 år?) tillbaka.

Själv körde jag Windows CE i slutet på 90-talet på bland annat en HP 620LX

Permalänk
Medlem
Skrivet av anon242437:

Ganska säker att ’A’ från ’AMD’ är det som saknas, men kan också vara att ’MS’ blivit ’MD’ för ’d’ och ’s’ sitter brevid varandra...

Permalänk
Medlem

Ganska ointressant om man inte är intresserad av bärbart fjoll som de intel amd processorer de jämför med ska dock kolla igen när den 12 kärniga dyker upp

Visa signatur

Arne Berg

Permalänk
Medlem

Summa summarum; Smått otroligt vad Apple lyckats med här. Man ska ha i åtanke att dessa är entry-datorer (mja, även prismässigt, det är ju Apple vi pratar om) - och att dessa ändå lyckas med rätt tunga program och ger bra prestanda. Riktigt intressant.

Det är ett fåtal saker som gör att professionella antagligen inte väljer dessa;
- Begränsad mängd RAM
- Enbart 1 extern skärm
- Enbart 2 USB-C portar (USB4/TB3/DP2/Ström)

Fixar dom detta funkar dessa datorer för väldigt många.
Kombinera detta med M1X/M2 och externt Apple GPU så kommer nästa iMac/Mac Pro bli extremt bra!

Även om detta inte leder till att man kommer kunna bygga sina egna datorer (nåja, utöver på deras hemsida när man konfigurerar den) så är jag extremt intresserad av hur framtiden ser ut för dessa! Superspännande!

Permalänk
Medlem
Skrivet av Dinkefing:

Det kommer ta tio år innan ARM får någon genomslagskraft om det ens någonsin blir av. Förr eller senare måste även ARM bygga in bakåtkompabilitet som kommer sänka dem mer för varje generation. ***bort/mod***

Om ARM baserade lösningar har 2-3 gånger högre energieffektivitet än x86 kommer industrin förr eller senare att byta, det finns helt enkelt för mycket att tjäna. Sen kan man inkludera visst stöd för x86 exekvering.

Permalänk
Medlem
Skrivet av aliassund:

Om ARM baserade lösningar har 2-3 gånger högre energieffektivitet än x86 kommer industrin förr eller senare att byta, det finns helt enkelt för mycket att tjäna. Sen kan man inkludera visst stöd för x86 exekvering.

Med tanke på vad Apple redan lyckats åstadkomma förstår jag inte varför både Intel och AMD lagt om skutan tidigare. Varför göra något annat än emulera x86 när du kan nå lika bra resultat ändå, och dessutom få en rejäl prestandaskjuts med ny Arm-utvecklad mjukvara. Snacka om att vara sen på bollen. Intel: Vi såg det inte komma!

Visa signatur

If you follow the herd you are going to have to step through a lot of manure. Have the courage to trust in yourself and follow your own path.

Permalänk
Medlem
Skrivet av aliassund:

Om ARM baserade lösningar har 2-3 gånger högre energieffektivitet än x86 kommer industrin förr eller senare att byta, det finns helt enkelt för mycket att tjäna. Sen kan man inkludera visst stöd för x86 exekvering.

Förstå vad man kan minska strömförbrukningen i serverhallar med högre energieffektivitet.

Visa signatur

En potatis

Permalänk
Medlem

Ska bli väldigt intressant att följa vart Arm tar vägen bland datorer generellt kommande år. Apple må vara ointressant för många här men de har med besked visat vad Arm åstadkomma. Arm har nog för den delen bara börjat. Mig veterligen har de även släppt högpresterande kärnor för licens och många start ups har saker på G på andra håll. Lästips där så finns en artikel på Anandtech om en server CPU från Ampere Computing som håller jämna steg med Epyc och Xeons.

Framtiden kan man bara gissa om men att AMD har nog goda anledningar att ha ett Arm team igång igen.

Permalänk
Medlem
Skrivet av elajt_1:

Med tanke på vad Apple redan lyckats åstadkomma förstår jag inte varför både Intel och AMD lagt om skutan tidigare. Varför göra något annat än emulera x86 när du kan nå lika bra resultat ändå, och dessutom få en rejäl prestandaskjuts med ny Arm-utvecklad mjukvara. Snacka om att vara sen på bollen. Intel: Vi såg det inte komma!

Varför skulle Intel och AMD vilja främja ARM? De har i princip artificiellt monopol på x86-64. På ARM-sidan så kommer de behöva konkurrera med jättar som Apple, Microsoft och Amazon, både på konsument- och serversidan. Sålänge det inte finns några vettiga alternativ på ARM-sidan så kan de fortsätta mjölka x86-64, men den tiden är snart förbi.

Permalänk
Medlem

Har haft min M1 MBPro i en dryg månad nu och kunde inte vara mer nöjd. Just det jag är mest imponerad över är nog batteritiden. Har varit ute på dagsuppdrag som oplanerat dragit ut på tiden och några gånger tänk att jag skulle nog plockat med laddaren. Så kollar man och har mer än 50% kvar

Visa signatur

SPELA: 13900K - Gaming X Trio 4090
LEVA: OnePlus 12 - MacBook Air M2 13"
PLÅTA: Canon C70, R3, 1DX mkII, BMPCC6K
LYSSNA: KRK Rokit RP8 G4, Beyerdynamic DT 1990 PRO
FLYGA: DJI FPV, Avata

Permalänk
Medlem
Citat:

Apples övergång till ARM för stationära är inte bolagets första stora tekniska skifte. Redan mot slutet av 80-talet påbörjade Apple projektet med att byta ut de åldrande 16-bitars processorerna i Motorolas 68000-serie mot IBM:s då relativt färska processortyp PowerPC, som byggde på den likaledes färska instruktionsuppsättningen och designfilosofin RISC (Reduced Instruction Set Computing).

Det är väl inte hela sanningen. Apple, IBM och Motorola bildade tillsammans "AIM Alliance" 1991 som byggde en gemensam processor (PowerPC) på IBMs POWER ISA. Den första PowerPC processorn (PowerPC 601) blev exempelvis Motorolas logiska uppföljare till 68k. IBM 801 från 1981 brukar räknas som den första RISC-baserade processorn, så RISC var ändå 10 år tidigare än PowerPC. 1986 lanserade HP PA-RISC och ett år senare lanserade SUN Microsystems SPARC som också var RISC-baserad. PowerPC var långt från den första RISC-baserade processorn även om PowerPC 601 är nära besläktad med IBM 801.

Syftningsfel.
Permalänk
Medlem
Skrivet av Feeku:

Varför skulle Intel och AMD vilja främja ARM? De har i princip artificiellt monopol på x86-64. På ARM-sidan så kommer de behöva konkurrera med jättar som Apple, Microsoft och Amazon, både på konsument- och serversidan. Sålänge det inte finns några vettiga alternativ på ARM-sidan så kan de fortsätta mjölka x86-64, men den tiden är snart förbi.

För att dom använder en sedan långt tillbaka utdaterad arkitektur? Dessutom är väl stödet för ARM så pass utbrett att en eventuell omställningen inte skulle bli så påtaglig (tänker jag), men det får någon med mer info eller erfarenhet svara på.

Men om det skulle vara ett problem med ARM så har väl dom haft lång tid på sig att utveckla något eget bättre än sin gamla x86 arkitektur. Intel har ju dessutom tidigare även legat före alla andra i sin tillverkningsteknik, så dom borde haft alla möjligheter i världen att utforska en annan väg.

Visa signatur

If you follow the herd you are going to have to step through a lot of manure. Have the courage to trust in yourself and follow your own path.

Permalänk
Medlem
Skrivet av elajt_1:

För att dom använder en sedan långt tillbaka utdaterad arkitektur? Dessutom är väl stödet för ARM så pass utbrett att en eventuell omställningen inte skulle bli så påtaglig (tänker jag), men det får någon med mer info eller erfarenhet svara på.

Men om det skulle vara ett problem med ARM så har väl dom haft lång tid på sig att utveckla något eget bättre än sin gamla x86 arkitektur. Intel har ju dessutom tidigare även legat före alla andra i sin tillverkningsteknik, så dom borde haft alla möjligheter i världen att utforska en annan väg.

Utdaterad arkitektur stoppar inte Intel, de säljer ju fortfarande lake-prollar på 14nm. De är en jätte inom x86, men på ARM sidan skulle de vara en liten spelare, så nej, det bästa för Intel är att hålla sig till x86 så länge som möjligt. Det kommer ta minst +10år innan majoriteten av Windows ekosystemet kör på ARM, och det finns inga incitament för Intel att påskynda den migreringen. Dessutom är marginalerna på ARM cpuer på en commodity nivå, Intels budget prollar har förmodligen högre marginaler än de allra flesta ARM-cpuer, så dagens Intel kan inte existera som en ARM-vendor.

Permalänk
Medlem
Skrivet av Feeku:

Utdaterad arkitektur stoppar inte Intel, de säljer ju fortfarande lake-prollar på 14nm. De är en jätte inom x86, men på ARM sidan skulle de vara en liten spelare, så nej, det bästa för Intel är att hålla sig till x86 så länge som möjligt. Det kommer ta minst +10år innan majoriteten av Windows ekosystemet kör på ARM, och det finns inga incitament för Intel att påskynda den migreringen. Dessutom är marginalerna på ARM cpuer på en commodity nivå, Intels budget prollar har förmodligen högre marginaler än de allra flesta ARM-cpuer, så dagens Intel kan inte existera som en ARM-vendor.

Det beror väl på vilket mervärde man skapar. De behöver ju inte stämpla ut standard ARM prollar. Och att de har höga marginaler gäller så länge det finns en marknad. Om serverjättarna byter spår blir Intel en ny FACIT. Det tycker säkert aktieägarna är helt ok.

Permalänk
Medlem
Skrivet av aliassund:

Det beror väl på vilket mervärde man skapar. De behöver ju inte stämpla ut standard ARM prollar. Och att de har höga marginaler gäller så länge det finns en marknad. Om serverjättarna byter spår blir Intel en ny FACIT. Det tycker säkert aktieägarna är helt ok.

Precis, jag ser det som att Intel på sikt är körda inom CPU, de lever och dör med x86. Inte ens de största inom ARM tex, Qualcomm och Samsung, finner det ekonomisk lönsamt att göra något annat än referensdesigner. Qualcomm tjänar pengar på modemen och Samsung på devices, inte på CPUerna. Så om inte Intel lyckas leapfrogga övriga aktörer genom tex fabba kretsar byggda med grafen eller liknande, så kommer de inte överleva den här arkitekturövergågnen utan att bli en commodity aktör.

Permalänk
Medlem
Skrivet av Feeku:

Utdaterad arkitektur stoppar inte Intel, de säljer ju fortfarande lake-prollar på 14nm. De är en jätte inom x86, men på ARM sidan skulle de vara en liten spelare, så nej, det bästa för Intel är att hålla sig till x86 så länge som möjligt. Det kommer ta minst +10år innan majoriteten av Windows ekosystemet kör på ARM, och det finns inga incitament för Intel att påskynda den migreringen. Dessutom är marginalerna på ARM cpuer på en commodity nivå, Intels budget prollar har förmodligen högre marginaler än de allra flesta ARM-cpuer, så dagens Intel kan inte existera som en ARM-vendor.

Jag tyckte Linus tech tips visade på att Apples M1 nu kan köra x86-kod genom Rosetta 2, snabbare än Intel och AMD's proppar i vissa fall. Intel behöver ju inte gå ifrån sin x86, men dom hade med sin storlek förmodligen kunnat göra riktigt bra antingen ARM eller egen effektivare arkitektur, där dom emulerar för att vara bakåtkompatibla. Jag vet naturligtvis inte säkert, men med tanke på hur mycket snabbare och effektivare Apples M1 verkar vara jämfört med motsvarande laptop chips, så tycker jag det verkar dumt att hålla kvar vid en arkitektur som förmodligen är riktigt svår att förbättre IPC och effektivitet på i nuläget.
Deras (M1) Macbook Pro klarar köra film lite över 20h. Medan deras Macbook Pro med Intelchip i klarade precis över 11h. Så det finns givetvis anledning att göra något nytt, M1 får nu både dom mobila intel och AMD-chippen att se rätt dåliga ut, både prestanda och effektmässigt.

Visa signatur

If you follow the herd you are going to have to step through a lot of manure. Have the courage to trust in yourself and follow your own path.

Permalänk
Avstängd

Tack för denna artikel!

Visa signatur

There is more stupidity than hydrogen in the universe, and it has a longer shelf life. /Frank Zappa

Permalänk
Medlem

Mycket bra artikel, jag får mina Air imorgon och är sjukt spänd på vad de har att erbjuda.

Blir lite förvirrad bara, ARM64 och Aarch64 är samma sak, eller? Första stycket på sidan två använder sig av båda namnen?