Waarom is Apple's M1 processor zo snel?
30 november 2020 - 22:30   
geplaatst door: puk1980
https://erik-engheim.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2

Citaat

Why is Apple’s M1 Chip So Fast

Real world experience with the new M1 Macs have started ticking in. They are fast. Real fast. But why? What is the magic?

On Youtube I watched a Mac user who had bought an iMac last year. It was maxed out with 40 GB of RAM costing him about $4000. He watched in disbelief how his hyper expensive iMac was being demolished by his new M1 Mac Mini, which he had paid a measly $700 for.

In real world test after test, the M1 Macs are not merely inching past top of the line Intel Macs, they are destroying them. In disbelief people have started asking how on earth this is possible?

If you are one of those people, you have come to the right place. Here I plan to break it down into digestible pieces exactly what it is that Apple has done with the M1. Specifically the questions I think a lot of people have are:

1. What is the technical reasons this M1 chip is so fast?
2. Has Apple made some really exotic technical choices to make this possible?
3. How easy will it be for the competition such as Intel and AMD to pull the same technical tricks?

Sure you could try to Google this, but if you try to learn what Apple has done beyond the superficial explanations, you will quickly get buried in highly technical jargon such as M1 using very wide instruction decoders, enormous re-order buffer (ROB) etc. Unless you are a CPU hardware geek, a lot of this will simply be gobbledegook.

meer ...


Discussie op HN
antw: Waarom is Apple's M1 processor zo snel?
30 november 2020 - 23:21    reactie #1
geplaatst door: HEXDIY
Gobbledegook: de M1 integreert zowel CPU als GPU op 1zelfde SOC layer. RAM en VRAM zijn daar aangeplakt, wellicht op 1zelfde snelle bus.

Arm chips zijn ook inherent sneller dan Intel. Silicon ARM chips zijn dan ook nog eens custom designed & made by Apple.

Dat is IMHO de reden dat de M1 taart Intel bij verre verslaat! Een Gestaltssprong in Moore's law?
Correct me if I'm wrong!

Euhh: dit is de brute force samenvatting, hoor!
If it ain't broke, don't fix it! Recycle the planet, we're gonna need it! Think different, think twice, Apple!
M1 is a success! Please do not forget Mac OS.
antw: Waarom is Apple's M1 processor zo snel?
30 november 2020 - 23:35    reactie #2
geplaatst door: HEXDIY
En de héél grote veralgemening: Moore's law blijft overeind, electron snelheid kan niet rapper, maar we hebben nu echter véél meer transistors op een chip.

Tadaa...
If it ain't broke, don't fix it! Recycle the planet, we're gonna need it! Think different, think twice, Apple!
M1 is a success! Please do not forget Mac OS.
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 06:35    reactie #3
geplaatst door: pjottervmr
Ik zie het eigenlijk nog simpeler, de reistijd met de auto van Amsterdam naar Rotterdam blijft met 100 km per uur altijd hetzelfde. Behalve als we Amsterdam tegen Rotterdam aanbouwen dan wordt hij pas echt een stuk korter en ervaren we het dus als sneller 😀
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 14:58    reactie #4
geplaatst door: Steve Hofkens
@pjottervmr +1
iPhone X , iPad , iMac Pro 27" iXeon W 3,2Ghz 32GB ssd 1T, iMac 27" i7 Retina 5K 4Ghz 32GB ssd 500GB ,Time Capsule 2GB , Apple TV2
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 15:25    reactie #5
geplaatst door: anraadts
Behalve als we Amsterdam tegen Rotterdam aanbouwen dan wordt hij pas echt een stuk korter en ervaren we het dus als sneller 😀
Waarom 'ervaren'?
Als Amsterdam tegen Rotterdam aan zou liggen dan zou je er toch echt een stuk sneller zijn?
En deze M1 Macs zijn toch ook echt een stuk sneller dan de voorgangers?
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 16:10    reactie #6
geplaatst door: pjottervmr
Waarom 'ervaren'?
Als Amsterdam tegen Rotterdam aan zou liggen dan zou je er toch echt een stuk sneller zijn?
En deze M1 Macs zijn toch ook echt een stuk sneller dan de voorgangers?
Het is nooit sneller het blijft 100 km per uur alleen duurt het veel korter en ervaren we dit als sneller  de m1 is dus net zo snel in principe maar de banen zijn korter dus het duurt minder lang 😀
Nogmaals is een simpele uitleg want in de praktijk zal de m1 geen 100 km gaan maar bv 110 omdat er door de kortere afstand minder weerstand is dus de effectieve snelheid iets omhoog zal gaan. Alleen de grootste winst en daarom ook de meest opvallende is natuurlijk de afstand winst.
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 16:29    reactie #7
geplaatst door: anraadts
@pjottervmr: duidelijk, vooral omdat je sneller en minder lang duidelijk onderscheidt.

Ben het trouwens verder niet met je eens, want volgens mij is de M1 niet alleen sneller klaar met alles omdat de banen korter zijn. Het is ook een snellere processor, en veel beter toegesneden op macOS (of vice versa, dus macOS beter toegesneden op de M1).
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 17:34    reactie #8
geplaatst door: petermr
snelheid kan ook het resultaat zijn van slimme parallelisaties.
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 18:58    reactie #9
geplaatst door: Rataplan
Ik zie het eigenlijk nog simpeler, de reistijd met de auto van Amsterdam naar Rotterdam blijft met 100 km per uur altijd hetzelfde. Behalve als we Amsterdam tegen Rotterdam aanbouwen dan wordt hij pas echt een stuk korter en ervaren we het dus als sneller 😀

Maar van centrum naar centrum doe je er dan vele malen langer over ;-)
Of je moet een nieuwe manier van transport hebben, of de groter wordende steden minimaliseren  zodat er meer punten gepasseerd worden in dezelfde tijd.
hoe meer men weet,
hoe beter men inziet,
dat men niets weet !
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 19:02    reactie #10
geplaatst door: neoman
Misschien heeft het feit dat het een compleet ander chipontwerp is er ook iets mee te maken.

Om in de Amsterdam/Rotterdam nomenclatuur te blijven: het betreft hier een andere landkaart en een nieuw navigatiesysteem.
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 19:49    reactie #11
geplaatst door: petermr
Misschien heeft het feit dat het een compleet ander chipontwerp is er ook iets mee te maken.
dat bedoelde ik onder andere ook met slimme parallelisatie.

door parallel een aantal mogelijkheden(redundant) uit te werken en vooraf klaar te zetten, heb je heel snel het juiste eindresultaat beschikbaar.
dit principe zie je bij database ontwerp waar queries veel tijd kosten, maar ook op hardware niveau.

in mijn studie electrotechniek (50 jaar geleden) hadden we al de afweging van een 100 bits opteller met 400 nand poorten die ca 200 schakeltijden nodig had, en een opteller met 2000 nandpoorten die slechts 14 schakeltijden nodig had.

de tijdwinst werd behaald door groepen van 4x25 bits(en genest 5x5bits) parallel op te tellen en daarna de verschillende deelresultaten te combineren tot het eind resultaat.
antw: Waarom is Apple's M1 processor zo snel?
1 december 2020 - 20:14    reactie #12
geplaatst door: pjottervmr
@pjottervmr: duidelijk, vooral omdat je sneller en minder lang duidelijk onderscheidt.

Ben het trouwens verder niet met je eens, want volgens mij is de M1 niet alleen sneller klaar met alles omdat de banen korter zijn. Het is ook een snellere processor, en veel beter toegesneden op macOS (of vice versa, dus macOS beter toegesneden op de M1).
Uiteraard is het niet alleen wat ik aangaf, dat zou betekenen dat de ontwerpers niet veel gedaan zouden hebben. Ik gaf al aan minder weerstand er is ook sprake van een lagere spanning nodig, anders aansturen met meerdere processen tegelijk zalen veelvoud van oorzaken hebben dat de M1 sneller is. Mijn voorbeeld ging alleen over het punt van het integreren dat heeft daarmee te maken. Ik denk dat de meerderheid het wel begrijpt wat ik aangeef :-)
antw: Waarom is Apple's M1 processor zo snel?
20 december 2020 - 10:39    reactie #13
geplaatst door: puk1980
De auteur van het artikel in de openingspost heeft een vervolgartikel geschreven.

Geen zin om het zelf (helemaal) te lezen (TL;DR)? Korte versie: Meer coprocessors.

https://erik-engheim.medium.com/apple-m1-foreshadows-risc-v-dd63a62b2562

Citaat

Apple M1 foreshadows Rise of RISC-V

The M1 is the beginning of a paradigm shift, which will benefit RISC-V microprocessors, but not the way you think.

By now it is pretty clear that Apple’s M1 chip is a big deal. And the implications for the rest of the industry is gradually becoming clearer. In this story I want to talk about a connection to RISC-V microprocessors which may not be obvious to most readers.

Let me me give you some background first: Why Is Apple’s M1 Chip So Fast?
In that story I talked about two factors driving M1 performance. One was the use of massive number of decoders and Out-of-Order Execution (OoOE). Don’t worry it that sounds like technological gobbledegook to you.

This story will be all about the other part: Heterogenous computing. Apple is aggressively pursued a strategy of adding specialized hardware units, I will refer to as coprocessors throughout this article:

meer ...

Discussie op HN.
antw: Waarom is Apple's M1 processor zo snel?
20 december 2020 - 14:15    reactie #14
geplaatst door: mcmt
Spijtig genoeg loopt de software weer wat achter. Er is sprake van Apple silicon met tientallen CPU cores, maar swift heeft bijv. nog geen echt concurrency model (al wordt daar nu wel aan gewerkt, met actors bijv.).
antw: Waarom is Apple's M1 processor zo snel?
21 december 2020 - 18:34    reactie #15
geplaatst door: GeorgeM
@mcmt: maar dat betekent toch alleen maar dat het straks allemaal nòg beter wordt?

De M1's zijn nu onder Rosetta 2 in bijna alle gevallen al sneller, als Swift nog verder geoptimaliseerd wordt dan gaat het dus allemaal nog sneller en beter draaien.
antw: Waarom is Apple's M1 processor zo snel?
21 december 2020 - 18:53    reactie #16
geplaatst door: puk1980
Het is al jarenlang bekend dat The Free Lunch Over Is (aka: A Fundamental Turn Toward Concurrency in Software). Het is echter nog niet zo triviaal om goed gebruik te maken van meerdere cores in programmatuur.
antw: Waarom is Apple's M1 processor zo snel?
22 december 2020 - 01:00    reactie #17
geplaatst door: petermr
@puk1980 leuk artikel, met voor mij herkenbare onderdelen.

je ziet in de grafiek in het artikel ook heel duidelijk dat de kloksnelheid afvlakt bij 4GHz, omdat bij die frequenties de propagatietijden op printsporen (enkele cm/clockcycle) een rol gaan spelen en extra synchronisatie vragen.

Bij performance vraagstukken is het altijd een afweging van 3 typen resources, verwerkingscapaciteit (cpu/cores), opslagcapaciteit (cache/ram/disk), en transportcapaciteit (bus/netwerk) waarbij de schaarste resource altijd doorslaggevend zal zijn voor wat er overall gepresteerd kan worden.

Deze afweging van resources geldt overigens ook voor fysieke (niet it) processen.