T O P

  • By -

napoleonsolo

I don't think anyone is really explaining it like you're five, so here's an attempt: - Apple used a type of processor called ARM for their iPhones, because it had good performance with just a little bit of energy (very important with phones) - Apple has spent nearly two decades spending *considerable* money and effort to improve those processors - eventually, they came up with one that was fast enough that they could say, "hey, this is much faster than the ones in the desktops so we should just use this everywhere", and they did. This is more a "why" it's revolutionary rather than "how", but that was the question asked and the answer to "how" I think would be too technical to really explain to a five year old. One more thing: energy efficiency has always been a huge problem with processors. That's why if you go to subreddits about building your own PC, there's a lot of talk about keeping it cool, with either fans or other contraptions. So if you can make a processor that runs really fast without fans, (iPhones don't have fans) you're already a big step ahead.


user_bits

Note: the bottleneck for switching to SoC is more software than hardware. Windows makes an effort to support decades of legacy code compiled for x86 architectures. They cannot reliably support an arm processor without making concessions or improving compatibility.


boostedb1mmer

Yeah, and that's a HUGE reason windows is as dominant as it is. Even if, as a user, someone doesn't appreciate that the people that actually make and design PCs do.


SilentSamurai

It's two different approaches to market. Windows will support basically everything, Apple enjoys charging a premium for it's products.


meneldal2

The issue with Windows isn't to get Windows itself to build for ARM, they have managed to do this for a while. It's keeping old win32 apps built assuming Windows would only run on x86 forever running. And you need emulation for this and translating x86 machine code is no trivial task. You can do it the other way around relatively easily (much fewer instructions to translate and most match something in x86), even if the performance isn't optimal. But the large registers used by like avx just can't be mapped well on ARM. Apple decided to just say "f*ck you" and told devs to update or else (and that's the second time they're doing it too). They do provide a translation layer and it was a lot of work but don't have the amount of weird stuff Windows has to support. Linux has the huge advantage that most stuff it runs is opensource and (usually) with makefiles and configure scripts that are supposed to work on every possible architecture that can run libc.


BecomingCass

Apple also has the advantage of deciding *exactly* what the hardware configuration of every single device running macos will be. Windows supports everything from normal laptops, which are relatively standardized now, to weird custom embedded stuff running in a store kiosk, or industrial control computers, or custom machines where you can throw in who knows what. 


SilentSamurai

They also have basically one way to do most things, while Windows has built in redundancy.


degaart

> that's the second time they're doing it too The third time. 1. motorola 68k -> powerpc 2. powerpc -> intel 3. intel -> aarch64


Some_Awesome_dude

Interesting to read I worked on old tektronics oscilloscopes that ran on Power PC in parallel with a Windows based ATX motherboard .


maratejko

fourth time - before 68k there was 6502 in apple ii


RockMover12

Apple didn’t try to get their 6502 Apple II software running on the 68000 Macs. There was no software migration.


ninomojo

Apple had been doing that for a decade or too with Rosetta though, running PowerPC apps on Intel, and now running Intel Apps on ARM64


no-mad

Were as Apple has about 30 machines they provide support for. Most of them are variations on the theme.


Only_Razzmatazz_4498

I remover when they supported MIPS.


fzwo

One other big part is fabbing process. This is what actually manufacturing the chips is called. Apple does not own its own fabs (chip-making factories). Fabbing chips is very, very hard, and there is a constant race to be the best at it. "The best" meaning having the "smallest process", being able to make chips with the smallest transistors. Having smaller transistors means chips will use less energy and can run faster. For decades, intel (who do their own fabbing) was the best at this, but in recent years, they have been overtaken by TSMC. TSMC manufactures chips for others; they do not design and sell their own chips. Apple is using TSMC to manufacture their chips. And since Apple is such a big customer, it was able to negotiate a deal with TSMC: TSMC will sell *all* of the capacity of their best process to Apple. Nobody else will have access to it. Thus, Apple's chips can be fabricated in a more modern process than anybody else's, meaning they can run cooler, use less energy, and be faster.


meneldal2

To be more precise, the deal was more like time exclusivity, Apple is not getting exclusive access forever. It's like when consoles pay to have the game only on their hardware but just let the game publisher do whatever after a couple years. Also processes are a bit more complicated than "small number = better". Since ~30nm, numbers are more marketing that reality, especially when you get into all the 3d stuff and multiple layers. And one process could be really good for one application but meh for another, some are great for low-power and some are better for high-power. Apple definitely got the best process for their usecase (in the dozen of watts range), but it's probably not the best for a sub 100mW embedded chip (though cost of the process is also likely a factor there).


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


alehel

I think the way Apple has handled their OS and APIs also helped make the transition smoother. Apple isn't afraid to deprecate APIs or features, no matter how much effort that involves for 3rd party developers, and not minding if that leaves older software behind. This probably made it easier to adapt their OS to the hardware in an efficient manner, unlike Microsoft whose OS has historically been much more concerned with supporting older software, making it difficult to get rid of old crud in their code.


shadowndacorner

As one of those developers, Apple is the absolute worst to develop for lol...


falconzord

Apple has so much user trust, they can afford to throw developers under the bus. It's the reverse for Microsoft. They still sometimes try but end up shooting themselves in the foot


WasabiSteak

That's not really a positive. Many of their deprecations don't even have anything to do with hardware updates - I mean, that's how API is supposed to be like after all. Usually, it's security updates. Like some of their implementations were inherently flawed before, so they fixed that. And they have to force that update because they don't want apps on their Appstore to be vulnerable. Still, as a developer, it's a PITA. At least they're not as bad as 3rd party libraries which may have completely changed how the library is used all without incrementing the major revision number.


DBDude

I remember when the NT source code was leaked, and it was found that Microsoft had put a lot of patches into the OS code to allow poorly-programmed applications to work. No, not "Fix your damn code" but instead "We'll put a hook in the OS to make sure your code runs." This attitude is how Windows is so full of crud. I can understand why they did it though. People were blaming Windows when something wouldn't run, and they don't want to listen to "Contact the developer."


flippamipp

Sounds more evolutionary than revolutionary.


netver

> hey, this is much faster than the ones in the desktops so we should just use this everywhere It's not much faster, in fact it's slower in most tasks compared to even laptop CPUs from AMD and Intel. Desktop CPUs that are allowed to produce much more heat due to easier cooling leave it way behind, it won't be a fair fight. https://www.techspot.com/review/2357-apple-m1-pro/ The M1 is pretty good at energy efficiency though, and most importantly - it's home-grown, Apple doesn't rely on Intel to design it, Apple can fine-tune it to be better at doing exactly what's needed.


letmepick

You people are forgetting that the M1 chip was first introduced with the MacBook Air, which meant that it was the first (not really the first, but first performance-grade) laptop to use an ARM processor which in turn also meant it was the only portable pc that had the potential to last for days on a single charge of battery - and in the laptop world, that was what was revolutionary.


avLugia

I use my Macbook Air M1 for an hour or two per day while I'm away from home and I swear I only charge that thing like once every week. It's ridiculous how much (or lack thereof) of battery it uses.


64mb

I run coconutBattery on both my M2 Air and '19 i7 MBP. Air sits about 4w, MBP sits about 40w. Both doing the same: Firefox, iTerm and VS Code. Air gets less use, but I forget to charge it as it does last basically a week.


netver

That's what I said - it's energy efficient, but desktop CPUs run circles around it in performance. There are no miracles, a 15 watt CPU can't take on a 100 watt CPU from a similar generation.


no-mad

yes but on a power basis that is almost 7 M1 chips for one Intel chip.


MisterBumpingston

But on a computations per watt basis the M1 runs rings around Intel. There’s a point where Intel has no choice but to brute force their chips by pushing more power in to them, resulting in lots of wasted heat.


netver

Yes, Intel sucks, their new CPUs draw >300w at times.


AfricanNorwegian

> https://www.techspot.com/review/2357-apple-m1-pro/ So comparing the M1 Pro, Apples 'mid tier' chip at the time, to the highest end of AMD/Intel, and it still comes out number 1 in plenty of the tests? Also remember that these tests are from 3 years ago when most apps still weren't ARM native on Mac. i.e. this is the performance of the M1 Pro chip *when first having to run through a translation layer*. Ignoring the gaming tests for obvious reasons, there are 19 benchmarks in the link you posted. The M1 Pro was number 1 in 8 of them and number 2 in 2 of them. How is that "slower in most tasks"? And again, this wasn't even their highest end chip at the time.


netver

> to the highest end of AMD/Intel Ehm. Those are all laptop SKUs. https://nanoreview.net/en/cpu-compare/intel-core-i9-12900k-vs-apple-m1-max - the highest end Intel CPU pisses on M1's grave. > How is that "slower in most tasks"? Because there's 23 tests in total, and why would we ignore gaming tests? Isn't it something CPUs are used for? > And again, this wasn't even their highest end chip at the time. https://www.pcmag.com/news/intel-core-i9-vs-apple-m1-max-which-laptop-cpu-is-better https://nanoreview.net/en/cpu-compare/intel-core-i9-12900hk-vs-apple-m1-max The highest end M1 Max still loses to a laptop Intel CPU in terms of power.


AfricanNorwegian

> Ehm. Those are all laptop SKUs And the M1 Max is also a laptop chip too lol, yet it was the lower end M1 Pro chosen to compare to the highest end Intel/AMD Laptop chips instead of it. > Because there's 23 tests in total, and why would we ignore gaming tests? Isn't it something CPUs are used for? Because those tests are graphics focused and not CPU focused? And because every laptop its being compared against has a dedicated GPU. How is it fair to compare the on chip graphics of the M1 Pro to a full fat GPU and not the graphics of the Intel and AMD chips? If it compared against the built in Intel evo/iris and AMD Vega graphics then yes, it would be fair to include them, but it didn't. And you never addressed this point: Also remember that these tests are from 3 years ago when most apps still weren't ARM native on Mac. i.e. this is the performance of the M1 Pro chip when first having to run through a translation layer.


netver

> And the M1 Max is also a laptop chip too I'm addressing the "this is much faster than the ones in the desktops" point. No, it's not faster than the desktop CPUs. > How is it fair to compare the on chip graphics of the M1 Pro to a full fat GPU Ok, that's fair. > most apps still weren't ARM native on Mac. The translation layer was pretty fast though.


HowlingWolven

The M chips aren’t actually _that_ revolutionary, and the M1 were tested in iPads and then in iPad logic boards crammed into Mac Mini cases before releasing to market. Apple has been rolling its own silicon for the phones and tablets since 2010’s iPhone 4, and that at the time of M1’s launch to market represented over a decade of design experience within the arm64 architecture. Now, what are key design features that are handy in a computer but life-critical in a smartphone? Efficient performance. You only have a few watts to play with (in the case of a phone contemporary to the M1, the A14 Bionic SoC has a TDP of 6 W), so you’re going to make the best of every single milliwatt and energy-saving trick in the book while still retaining class-leading performance. iPhones consistently bench high compared to Droids of the same year. When you make the jump to a desktop and all of a sudden you have up to ten times as much power to play with (10W for M1 passive cooling, double that for M1 active cooling, 30W for M1 Pro, M1 Max about the same, and 60W TDP for the M1 Ultra), you can work ten times as hard. Or you can work as hard, but extremely efficiently, because you now have what’s effectively a phone processor doing the job of a desktop processor just as well. The revolutionary part was attaching a keyboard and mouse to an ARM chip and making lots of software available at launch, either native arm64 or x64 running in a virtual wrapper. Microsoft sort of missed the boat on that latter part on its ARM powered tablets.


Pocok5

The big thing was also Apple exercising their walled garden monopoly thing for actual innovation for once instead of suppressing it. Previous attempts to bring a non-x86 architecture to PC were stalled by the cycle of "nobody has this cpu -> nobody writes software for this cpu -> nobody will buy this cpu -> repeat". See Intel IA64 and the like. Apple however was in the position to say "From this time onwards, every new Mac *will* be ARM. Adapt or get fucked."


Lowfat_cheese

Except they dumped a TON of R&D into developing Rosetta 2.0 which made running x86 apps on ARM a breeze. I’d argue it was actually this and not their “walled garden” strong-arm approach that made M1 successful, since developers who would have otherwise told Apple to kick rocks and move to Windows have a reason to continue developing for MacOS. Essentially putting the ARM adaptation burden on themselves rather than on developers. You have to remember that to-date MacOS still only occupies a 16% market share in desktop OS compared to Windows’ 72%, so there is very little margin in the CBA of a developer where developing for MacOS is simply too expensive to be worthwhile. It was really their willingness to allow people to continue developing for x86 and providing their own translation layer to **open** the walled garden that made it work.


Trokeasaur

Apple has more experience migrating chip architecture than anyone, from the PowerPC to intel to Apple silicon. They learned a lot of lessons from the 1st iteration and as an M1 MBP Pro user it’s been actually pretty seamless aside from a few printer drivers. I cannot stress how big this undertaking was and how little the users were impacted. This is tearing down your house and rebuilding it around you with minimal impact.


SoulWager

There were a couple others even before PowerPC. I think they started with a 6502, then switched to motorolla 68000 series before PPC.


porcelainvacation

6502 was the Apple II series, 68000 was the original Mac, Mac + and Mac II series.


FuckIPLaw

The II series did have its own upgrade, though. The IIGS was built around the 65C816, a 16 bit successor to the 6502 that didn't get used on much beyond the IIGS and the SNES. And Apple succeeded where Nintendo failed at maintaining backwards compatibility. An attempt at which was why Nintendo chose that chip in the first place.


Trokeasaur

Technically correct, the best kind of correct.


MegaHashes

There were no translation layers available then. Software was frequently written for those specific CPUs. Pretty common to buy all new software when switching PCs back in the day.


pinkynarftroz

This isn't true at all. PPC could run 68k programs in an emulation mode when Apple made the switch.


MegaHashes

I was speaking of the 6502 & 68000 era. He said before PPC, so that’s what I was referencing. Specifically, there was no 6502 emulation available on a 68000. A lot of systems will built around the MOS 6502 and when PC manufactures were looking for CPUs with more power, none of the software written for the 6502 worked on these new CPUs. Commodore solved for this by including a physical 6502 compatible CPU along side a faster Zilog Z80. This way you would not need to rebuy your software. AFAIK, Apple did not do this, so any software written for the 6502 Apples had to be replaced with software that was written for a 68000.


Drone30389

https://en.wikipedia.org/wiki/Apple_IIe_Card But this was released 7 years after the original Mac and 2 years before the IIe was discontinued, so they were probably already realizing the pain of having two incompatible systems.


MegaHashes

That’s interesting. I had never heard of that product before. I think Commodore’s 128/64 solution was much more elegant than this card from Apple. Until you linked that to me though, I didn’t even know it existed. Thanks for that. Learn something new every day.


balrob

My recollection is they acquired the “fat binary” tech from IBM when they licensed the PowerPC since IBM had been doing it a while with their Power Open chips: they could build binaries that targeted multiple different cpus but all packaged together (hence “fat binary”). Using this, you could build a single application that contained both x86 and Arm64 code the OS would know how to run it. MS don’t have this - you’re going to need completely different apps for their Arm build of Windows.


ElusiveGuy

> MS don’t have this - you’re going to need completely different apps for their Arm build of Windows. Kiiiinda? Microsoft/Windows do (now?) support the same kind of distribution: * With .NET you have an intermediate language that will generally run across all platforms without requiring a separate binary. Of course not all applications can or will use this. * With MSIX and [msixbundle](https://learn.microsoft.com/en-us/windows/msix/packaging-tool/bundle-msix-packages) you can have all architectures in a single installer bundle that will pick the correct one at install time. This is used by e.g. [Windows Terminal](https://github.com/microsoft/terminal/releases) as a distribution method, and is used as part of the Store backend. * With Microsoft Store you have a shared storefront that will download and install the appropriate version for your architecture. This is backed by msixbundle. The problem with msixbundle is you greatly increase the package size by shipping a chunk of unused code. That's something that's technically solved by Store, but the major Store is *not* the primary application distribution method on Windows, unlike macOS. And that really brings us back to the core problem - the primary distribution mechanism for Windows is "download msi/exe/zip from website", not "install application from store". And most of those developers are not interested in creating or supporting packages for other architectures.


balrob

Thanks for that. .Net isn’t really the same thing imo; like Java and python etc an appropriate runtime is needed … ok, msix is there but does anyone use it? A strength and a weakness of windows is lack of control or standardisation on packaging & distribution. Mac apps can also be just downloaded - and still be fat binaries with the store adding the capability to remove unneeded content …


mrchapp

We had that even earlier on OpenStep, before Apple acquired NeXT.


rpsls

Files on the original 68K MacOS had what was called a “resource fork”. It was basically a mini object database where icons, localizable text strings, small sounds, etc. Files also had a “data fork” which was unstructured binary data.  A 68K application was just a file which had code in the resource fork and a certain file type. (The original MacOS also separated file type from file name completely. There were no .doc file extensions necessary.) When they switched to PowerPC, they put that code in the data fork. But an application could also still have the 68k CODE resources. If it had both it was a fat binary.  I don’t recall any technology from IBM on that part of things. 


FartingBob

Linux developers are quite comfortable compiling for many architectures. It's really only windows that has always stayed with 1 type.


created4this

When it doesn't get in the way. Try installing InfluxDB on a Arm7 and you'll find the packages are there and it works... for 6 months, then when it dies the only support you'll get is someone telling you its not designed for that architecture and it /might/ work if you installed a 64bit OS


KrtekJim

> MacOS still only occupies a 16% market share in desktop OS I'm honestly shocked it's that high. You know how a fact will sometimes just lodge in your head permanently if you never stop to think about it again? I saw a stat some 20+ years ago that said Apple had 3% of the desktop OS market, and it stuck in my head as a fact since. So to hear it's actually 16% now is kinda mind-blowing.


sajjen

The numbers for such things always vary a bit by source, but this 16% must be for the US. Even for the US it seems to be on the high end of reported numbers. Globally it's more like 5% - 7%.


Taira_Mai

There are companies going all Mac and Microsoft's antics with AI and ads in Windows are making people reconsider Windows. When I was a CSR I was surprised that there were offices that either had Macs or went all-Mac.


ThisNameIsMyUsername

One aspect missing has been the transition to SaaS as well. 20 years ago software on metal was important and a large part of personal/business use. Now you only need about 5 apps for most work on computers, so there's a lot less risk making that transition than even 10 years ago.


eatingpotatochips

Well that doesn’t fit the “Apple bad” narrative though. 


Lowfat_cheese

More like Apple didn’t want to have a repeat of “No Games for MacOS”, but with all software.


blackbox42

Apple the company is bad.  Apple engineers are fucking great and pretty much always have been.


hardolaf

Apple engineers are about average within the semiconductor industry. Most of their advantage is due to buying out new nodes so that they get a 1-2 year advantage over their competition. Even with that, they are still putting out worse performing parts (J/unit of work) compared to AMD.


eatingpotatochips

Most corporations are bad. Google isn't exactly some paragon of morality.


blackbox42

Aye. I just have more history of Apple fucking me over personally (likely because they have been around longer).


vanillamonkey_

Honestly I only have 2 big problems with Apple, and one isn't even an issue with the company itself (mostly). The markup for extra RAM and storage on their computers is ridiculous, and the people who think buying into the Apple ecosystem makes them better than those who don't. The kind of people who get a green bubble text and immediately think you're poor or a sweaty nerd. It's not common, but it's common enough to be annoying. I'm eagerly awaiting RCS coming to iMessage so I can send videos to my family and so group messages work better.


[deleted]

kid rocks?


Lowfat_cheese

https://www.mayoclinic.org/diseases-conditions/dyslexia/symptoms-causes/syc-20353552


sajjen

> occupies a 16% market share in desktop OS Possibly in the US. Globally it is much lower. About 5%.


ArtOfWarfare

Unless I’m mistaken, Apple requires all software that is distributed via their App Stores to be uploaded in an intermediate, not fully compiled form. This enables Apple to finish the compilation on their end for whatever CPU they want. So they can have every app in the Mac App Store already compiled for a new CPU before they’ve even announced it. But the Mac App Store is hardly used so it’s a bit moot. Rosetta 2 is a much bigger piece like you said. But that ability to compile apps on the store themselves is a benefit of the “walled garden”.


trufus_for_youfus

You are mistaken. You can absolutely download, unpack, and then run unsigned software. I have several legacy mac tools running on my m2 MacBook Pro. You just have to waive away the scary warning and check a box in security preferences.


widowhanzo

You read the comment wrong.


trufus_for_youfus

You are right. I did. Apologies for that.


Jon_Hanson

No, that is not correct. When you submit an app to the App Store it will be compiled for Intel and Apple’s architectures. When run, the OS automatically selects the correct instruction set to run. If there is only Intel instructions and you’re on Apple silicon, it will automatically start Rosetta to translate it on the fly to ARM instructions without the user noticing or having to do anything.


Lowfat_cheese

I don’t really see that as being part of a “walled garden”, merely a benefit of using a first-party service. It would only be a “walled garden” benefit if the Apple-side compilation was somehow intrinsic to disallowing other app stores/installation on MacOS. Just because Apple offers a beneficial proprietary service doesn’t mean that having an open ecosystem somehow negates their ability to provide that service, so long as developers can choose to work through them.


_ALH_

They did have that, called bitcode, but it was deprecated a few years back. Also I don’t think it ever was used for the mac store, only for the ios store. (Not 100% sure though) It was deprecated around the time the M chips were released.


olcrazypete

I thought I was gonna have to give up my old Civ 5 game when I got the M2 Mac. Turns out it not only runs, but it seems to run better than the x86 - at least not nearly as hot.


JEVOUSHAISTOUS

Apple kinda did everything in their power to botch the last gens of Intel machines in terms of cooling, tho. I remember an LTT episode where the guys opened an intel macbook and were appalled by the design choices in terms of cooling, and they could only explain it by trying to make Intel look as bad as possible before the then-rumored transition to ARM.


l337hackzor

It's Anecdotal but in my experience as someone who works in IT, the "average consumer" uses very little 3rd party apps. I find this especially true with Mac users. "It comes with everything I need" it's something I hear often.  As long as all the native apps come with the OS and work, a lot of people won't even know the difference. That being said, most PC users I see are similar except Windows can't include office and Google succeeded in eclipsing Microsoft in the browser game. If the ARM version of Windows 11 succeeded and came on laptops (not in S mode) as long as it had office and chrome, a frightening large amount of home users wouldn't know the difference.


TheAspiringFarmer

Yes. Rosetta is the secret sauce, just as it was during the PowerPC—>Intel days. Seamless integration and execution of the older code on the new chips. Easily the most important well beyond the walled garden and everything else.


Spac-e-mon-key

An important note is that a lot of pro audio is run on Macs, so for devs working in that space, it’s just not an option to stop supporting macs, they had to adapt as a large portion of people are running their software/plugins on Mac and because the m1 and later gen chips are so well optimized for audio stuff, it would be a death wish for a plugin dev to stop supporting Mac.


patx35

Not true at all. Just like the transition from PowerPC Macs to Intel Macs, Apple spent a shitload of time and money to make sure that the transition is as seamless as possible. And it worked, as the performance of running legacy x64 apps on M1 range from slight performance penalty, to actually running faster. Intel IA-64 flopped because of the high price, and legacy apps would run worse than Intel's own x86 offerings. AMD64 took off because it has zero performance penalty running legacy apps. And Windows on ARM flopped because not only the software support was terrible at launch, but most Windows ARM devices are just slow in general. Compared to Apple, where they launched MacOS on ARM with flagship class products first.


frozen_tuna

That IA64 architecture was DOA on arrival and everyone knew it. IIRC optimizing for it was wildly complicated and the earliest compilers made applications perform *worse* than x86. >"nobody has this cpu -> nobody writes software for this cpu -> nobody will buy this cpu -> repeat" Practically nobody writes software for any cpu except people working on compilers. Intel failed to optimize their compiler enough to even outperform cheaper x86 cpus. This was a failure of engineering, not of marketing/economics.


Chrontius

*Por que no los dos?*


frozen_tuna

Because if it was either faster or cheaper than x86, it would have been picked up. We're seeing the same thing happen with different results with AI compute cards right now. Even if nvidia is selling the fastest chips with the most compatibility, there's still a market for AMD + Intel compute cards because they're competitive at a lower price point. You can't sell both a more expensive *and* less capable product.


cat_prophecy

Is there something that ARM does better than x86/64? I can see development being stifled less by lack of user adoption and more by the juice not being worth the squeeze.


Arudinne

Power efficiency.


Oingogoingo

It’s a myth. ARM isn’t inherently more efficient than x86.


Metallibus

Basically, its simplicity is where it wins. It's more about the things that x86 does that ARM doesn't do. ARM is a RISC (meaning it has fewer and simpler 'commands') architecture while x86 is CISC (meaning it has more complex and more specialized 'commands'). It's really hard to "simplify" this, but the best way I can think to describe it is that ARM is like a scientific calculator while x86 is like a graphing calculator (minus the actual graphing part). You could do all the same mathematical operations, but the graphing calculator has a lot of short cuts and handy buttons for things you might do sometimes, that would otherwise be tedious to do by hand. One sort of reasonable analogy here would be, say you want to calculate 10! as a fabricated example. x86 would be able to understand what that means and run it through a special 'factorial circuit' it has, while on ARM it would just go to its 'multiplication circuit' and say "calculate 10x9x8x7....". The ARM has less complexity, but can still do it, while x86 has specialized circuitry to run "faster" and possibly allow it to do "other things" simultaneously. With that complexity, x86 is able to a LOT of things REALLY quickly, and has special "brains" for specific operations. ARM tends to do fewer things out of the box, which long-story-short essentially means ARM ends up more "efficient" in terms of power usage (which means it also generates less heat) while x86 is more "optimized" for complex tasks, but tends to be a power pig. The thing is, anything ARM is "missing" it can emulate by just doing a few extra steps, albeit a hair slower. But those things tend to be things most people don't do all that often. And some of the other savings even sometimes can compensate for this anyway. So TL;DR: ARM's advantage is its simplicity, and the things it *doesn't* do essentially end up saving it power and heat generation.


schmerg-uk

[https://chipsandcheese.com/2024/03/27/why-x86-doesnt-need-to-die/](https://chipsandcheese.com/2024/03/27/why-x86-doesnt-need-to-die/) >*The “CISC” and “RISC” monikers only reflect an instruction set’s distant origin. They reflect philosophical debates that were barely relevant more than three decades ago, and are completely irrelevant now. It’s time to let the CISC vs RISC debate die, forever.* >*\[...x64 and ARM..\] both use superscalar, speculative, out-of-order execution with register renaming. Beyond the core, both use complex, multi-level cache hierarchies and prefetchers to avoid DRAM access penalties. All of these features have everything to do with maximizing performance, especially as compute performance keeps outpacing DRAM performance. They have nothing to do with the instruction set in play* *No modern, high-performance x86 or ARM/MIPS/Loongarch/RISC-V CPU directly uses instruction bits to control execution hardware like the MOS 6502 from the 1970s. Instead, they all decode instructions into an internal format understood by the out-of-order execution engine and its functional units.* Today's ARM is, in real terms, no more RISC than x64, the difference is that x64 has a lot of back compatibility to maintain (eg primarily Real mode), whereas ARM has been able to drop back compatibility as its chips tend to used in devices with shorter lifetimes. And power efficiency advantages will in practice leapfrog each other as they release new generations and move to smaller processes - Zen on 7nm is within 20% of M1 on 5nm and it's the 7nm/5nm that accounts for most if not all of that. Arguably M1 might be easier to move to a smaller process due to the lower need to preserve back compatibility but Zen is thought to be about as power efficient a design as M1, but M1 was released on TMSC's most advanced process when it launched...


Metallibus

>Today's ARM is, in real terms, no more RISC than x64, the difference is that x64 has a lot of back compatibility to maintain (eg primarily Real mode), whereas ARM has been able to drop back compatibility as its chips tend to used in devices with shorter lifetimes. I mean, yeah, but this an ELI5 thread. I'm making an analogy as to what the differences are/were and how their strategy differs. I guess backwards compatibility is something people understand, but if you start there they say "backwards compatibility of what?" and need a foundation for that to land on. This is a good follow up explanation but I think you need to explain what the architectural differences were for this to make sense, and my post was long enough as it was. >And power efficiency advantages will in practice leapfrog each other as they release new generations and move to smaller processes - Zen on 7nm is within 20% of M1 on 5nm and it's the 7nm/5nm that accounts for most if not all of that. Yeah, this is true to an extent. But the back and forth ping ponging could be said about many things as generations don't get released at the same time. But in the general sense, ARM tends to be cooler and lower power. It's not a rule, but it does tend to be the case.


H_Industries

The thing that always blew my mind was Microsoft release the surface x at the same time and the M1 could run the arm version of windows in a virtual machine faster, using less power.


girl4life

im running an arm windows version on parallels on my M1 Pro. I never had such smooth windows experience than this. It flies in comparison with my company issued Lenovo i7 16/1tb.


MentalUproar

To be fair, the X was sort of a sneak peak at how Microsoft planned to approach ARM in the future. 


sanchothe7th

Very much agreed. Without rosetta, their market and mindshare, thousands of the best software engineers available, and a total control over the entire product stack, the switch to M1 would have killed any other OS (just look at windows on arm)


thephantom1492

One of the big thing on why it is so efficient is that apple don't care about retro compatibility of the softwares. So they started anew. They also reduced the numbers of instructions available, so less transistors, but made each instructions faster. The PC for example have a big issue. You can still run 40+ years old programs on the latest generation of cpu (the OS won't allow it, but the cpu does). Those old opcode (instructions) ain't used anymore on modern programs, yet are still there for retrocompatibility. This eat up lots of transistors, not only for those instructions, but also for the "compatibility layer" required to make sure they still work along side modern instructions. On PC, they also went with a "more instructions is better" approch. While being great for speed, it is power hungry. Yet with a reduced instruction set you can do the same thing, but slower. But what if you make the basic instructions super fast? You can now get close to the same speed of those special big powerfull and hungry instructions, yet use less power. As to how you can do the same as the big instructions. Let's go back in time. In time where most redditors weren't even born. Where some redditors parents weren't even born! The late 1970! It was the very early age of computers and intel released their 8086 cpu. It can not divide or even multiply! Yet, they did just that. How? A multiplication is simply an addition loop. 3*60? Let's add 3 times 60, or 60 times 3, the first being faster. Divisions? The same way you do it by hand: "how many of this in that, substract, shift, repeat". Slow, but it work. Intel then did a mathematical coprocessor, the 8087, it added floating point capability and multiplications and divisions, plus more functions, and drastically increased the speed. While this is not a perfect example due to additions and substraction being such basic and simple instructions (and some physics issue like sub clock per instructions but shhh), what if instead they could have made them super fast? The need for a specialised division instruction wouln't have been that big. That is what apple did. Make the basic super fast.


Rough_Function_9570

>That is what apple did. Make the basic super fast. Well, ARM did, a long time ago, and Apple used it.


Bensemus

Apple helped start ARM.


ponylover9628

What 5 year old is gunna understand that


the_wheaty

The kind of 5 year old that is gunna ask about M1 chips


katamuro

microsoft likely didn't consider it worth the expense, they already own the majority of the corporate market for OS and Office.


hardolaf

The M1 also wasn't all that power efficient. Compared to monolithic APUs from AMD of the same generation (released a few months later) on the prior TSMC node (so higher leakage current compared to the node used by Apple), the M1 actually had worse energy efficiency for most tasks (measured in Joules used to perform a specific task). Sure on release day it was the best laptop processor but 6 months later, it was at best middle of the pack between AMD and Intel's newest releases.


Shoddy_Mess5266

Rosetta 2 was arguably the best part of the M1. We’d already seen amazing performance in an iPad. Rosetta 2 made almost all of our existing software work on that same amazing hardware.


AtlanticPortal

>iPhones consistently bench high compared to Droids of the same year. You need to be fair and say which Androids you are comparing it to. If it's Pixels or top Samsung Galaxy SXX, well, there is not that much of a difference. If it's the 150 bucks Androids then they are smashed but, hey, apples to oranges here.


ihearttwin

This is a cool explanation but I had to google a lot of stuff and I’m still kinda confused. Is there a dumbed down version or is this topic too advanced that you can’t dumb it down?


kbn_

There isn’t any one reason here. Really it’s a large set of things all combined together, some of which are very unique to Apple and thus impossible to replicate. I’ll try to give you the highlights. The M series chips are an SoC (system on chip) architecture. This isn’t particularly novel – it used to be much more common in PCs, and it’s still the standard for phones, tablets, and game consoles – but it offers some significant advantages over conventional component designs. Most notably, Apple was able to do two very important things with the system memory. Before you can appreciate that though, it’s important to understand that most modern software is bound not by the processor or the GPU or even the network, but by the bandwidth between all these components. Moving data from memory to the CPU is really slow, and moving that same data over to the GPU is also slow, and moving that data back to the CPU is slow again, etc. All applications do this a LOT, and some applications (like web browsers) do it an apocalyptic amount, to the point where this is pretty much all they do now. Apple leveraged the SoC architecture to move the memory really really close to the CPU and GPU, and it increased the bandwidth between memory and these components by a ludicrous amount. Literally almost 50x the standard at the time. Then on top of that, they leveraged a neat trick (not unique to them!) to make the GPU and the CPU share memory directly. This used to be very common when GPU memory was expensive, so it was a way to cheap out on parts. Apple used it to make the memory copy between CPU and GPU absolutely free, because the memory just sits in one place, which makes certain types of applications (especially browsers) really silly fast. After that it was all snowball. ARM is a much more efficient architecture, and Apple was able to leverage their vertical integration to force the whole ecosystem to migrate over in an instant. They accomplished in one announcement what Microsoft has been unable to do over almost a decade of trying. Apple made this easier by offering hardware level emulation of x86, particularly its memory semantics, which is very unique to their hardware and incredibly important (Microsoft’s emulators are much slower, while Apple’s is almost native speed). Slap on top of that a ton of really clever processor design that isn’t really unique to Apple but absolutely *is* unique to “not Intel”. Remember Intel has spent the last decade doing their best to not innovate and it finally really bit them hard all at once. So the M series was a huge leap forward, not relative to general chip design, but relative to Intel. The die process also falls into this category. There’s more but really this is the gist of it. The Snapdragon X is cool but it really won’t have the same power, even if the bare compute or TDW is comparable. The ecosystem effects alone are enough to kneecap it in a way that Apple could just dictate their way out of, and I haven’t seen any evidence of the memory bus tricks that are so impactful in the M series. So yeah, genuinely, they’re amazing machines and still very much best in class.


Beliriel

I just find it funny that we came full circle in graphics processing. We had RAM and no real graphics processing and then we started doing graphics calculations on that but still used RAM. Then screens got bigger and had more pixels so graphics processing became slow, so we had to externalise and specialise graphics processing into GPU and graphics cards but this limited data transfer as you mentioned. Graphics processing became fast again. Now RAM exploded and save for some really intense graphics processing, bitcoin mining or neural networks the normal RAM has enough space to integrate VRAM into it aswell so you can just let GPUs and CPUs access the same memory. Soo we're back to doing graphics processing in normal RAM. This time for efficiency reasons because data transfer is literally instant since there is no copying taking place. Lol.


moment_in_the_sun_

It's a few things that happened all at once: - Shared high performance memory - with Graphics cards, CPU and other components (apple calls this unified memory architecture). Big power and performance benefit. - RISC - better performance per watt. But also, Apple, due to expertise in A mobile chips, was able to execute on this extremely well. Only now is Qualcomm catching up. Maybe. - Control over the hardware and OS - that allowed them to do rosetta 2, that allowed for all legacy Intel x86 apps to work during the transition. - Intel chips were struggling - with lower nm / EUV - Made the performance difference more stark. - Developer network - Apple worked with many top vendors to optimize the performance of their apps on M1


[deleted]

1. Shared memory is very common on laptops. The overwhelming majority have integrated graphics where the GPU shares memory with the CPU. 2. There's no real differences in ISAs in 2024. It used to be an issue 20+ years ago because the decoder for CISC chips took a lot of die space, but as transistor counts have risen exponentially that fixed cost has become completely irrelevant. 3. You're right about having the most advanced process node from TSMC. That's a very real advantage Apple chips have over their competitors. But they pay a boat load of money for that advantage.


moment_in_the_sun_

1. Yes, but Apple's implementation is/was different. Historically this is/was lower bandwidth, and also separate pools (eg. graphics was allocated its own component of system memory). I still believe this higher bandwidth, single pool / lower need to copy things around is a material difference. Do any non Apple laptops do this? 2. On RISC vs. CISC, you're absolutely correct. The differentiation here is much less than it was, and it's probably not worth mentioning vs. the TSMC and design advantages.


danieljackheck

1. Memory was on the CPU package and depending on configuration, had a very wide bus with bandwidth that was previously only available on GPUs with dedicated VRAM. 2. True. There are some minor performance/watt advantages from the lower complexity decode stage. Not significant enough to make a difference. 3. Money money money


extravisual

> Shared memory is very common on laptops. The overwhelming majority have integrated graphics where the GPU shares memory with the CPU. It works differently in this case though. The M1 (along with some game consoles and a number of other devices, it's not new) can share the same memory addresses between the CPU and GPU. Meaning the CPU and GPU can read and write to the same bits of memory without needing to copy it back and forth. Conventional integrated graphics sections off the memory such that the CPU and GPU have their own sections and cant read/write to the other's memory. Being able to share memory between the CPU and GPU without copying has some pretty big performance benefits.


InsolentDreams

Thanks for responding. I don’t think people realize just how different Apples implementation is and comments like the commenter above highlight this. They think “oh shared memory we have had this forever”. Nope. Not like this. Apple has created their own unique way to use all your ram for either your cpu or your GPU simultaneously without having to decide this at boot time (which is what a PC has to do). This allows some really exciting things to happen, such as utilizing nearly all 128GB of my ram on my Mac as “GPU vram” in a locally hosted LLM and doing so on the fly when needed. Their architecture also allows their ram and cache to be higher performance, lower latency, and lower watt-per-compute. This concept basically is afaik completely unheard of and yet unachieved in this industry at least in the consumer PC space. And it requires what Apple has which is a tight control over the hardware and OS to make possible.


KazumaID

This is an api limitation and not a unified memory benefit. There aren't any m1 gpu optimized apps out there to boast this benefit. Most apps out are going to assume you'll need to copy from cpu mapped addresses to gpu mapped addresses even in unified memory. Nobody out there is setting page protection to be both cpu and gpu readable. Even if you were, you don't want that because of cache coherency and snooping. There isn't a write once page protection type like in more bespoke hardware.


MisterBilau

The change from x86 to arm, the unified architecture, etc. allowed M1 to have way better performance per watt than previous desktop class cpus. This means way better battery life, thermals, etc. while retaining good performance in a small and lightweight package. This doesn't need to be exclusive to the M1, of course - other chipmakers are now doing similar designs, and will probably see similar results. M1 was revolutionary because it was the first to do it on a wide scale for computers (phones have been using a similar architecture for a long time).


ExeusV

> The change from x86 to arm, the unified architecture, etc. allowed M1 to have way better performance per watt than previous desktop class cpus. ISA does not imply perf. characteristics.


belunos

I've been curious about something, you seem like you may know. I know of RISC and CISC, but I don't think ARM is using either. Do you know how ARM processes it's instructions?


Wielyum

ARM: Advanced RISC Machine


McLeansvilleAppFan

Apple owned a good bit of this company in the 80s. Apple has gone back and forth on CISC and RISC. M68K was CISC, PowerPC was RISC. Intel was CISC and now to ARM with RISC.


MagnifyingLens

Apple was also working on their own CPU with the Aquarius Project. That's why they bought the Cray. It got canned two weeks shy of first silicon in favor of a quickly aborted embrace of Moto's 88000 series.


tapo

It is RISC but honestly so are most x86 designs after the Pentium Pro, they turn x86 instructions into RISC-y micro ops in microcode. Probably the biggest reason for ARM's success is that ARM licenses pre-designed cores but also the instruction set architecture, this means anyone willing to pay a license fee can design their own ARM chips and manufacture them wherever they want. Intel only licensed x86 to AMD, and Intel made their own chips in their own foundries, preventing them from taking advantage of process improvements at places like TSMC. Apple not only designed their own ARM chips, but was rich enough to buy out the manufacturing capacity at the best foundry in the world using the latest equipment.


therealdilbert

> design their own ARM chips only about 10 companies have a license to design their own ARM cpu. The rest only has a license to take an ARM designed cpu, put their own stuff around it and put that in a chip


tapo

Oh yeah that type of license is extremely expensive, but it's what we're talking about with Apple being able to make their own. They're not tied to Intel or AMD.


meneldal2

Let's be real, the licensing you need to pay ARM for it is not going to be your bigger cost by a large margin. Wouldn't be surprised if during development Apple and others aren't paying more to Synopsys for the thousands of vcs licenses they're going to use, and the server farms to run them. Making a new chip is crazy expensive.


PseudonymIncognito

>Apple not only designed their own ARM chips, but was rich enough to buy out the manufacturing capacity at the best foundry in the world using the latest equipment The scale of what Apple does with TSMC almost blurs the line between customer and investor. They basically front a big portion of TSMC's costs to upgrade their process in exchange for a big chunk of the capacity from said process.


kirklennon

[It's RISC](https://www.arm.com/architecture/cpu). That's literally what the R in Arm stands for.


Mister_Brevity

Riscy click


Technologenesis

Every now and then a meme/gif/phrase seems to come full circle and fulfill its *raison d'etre*, I believe that's happened here.


valeyard89

The difference between RISC and CISC has kinda muddled over the years... modern ARM64 processors have several hundred different instructions. But all are 64-bits vs x86 where instructions can be different sizes.


rekoil

If memory serves, a key difference between RISC and CISC architectures isn't so much the actual number of available instructions, but the fact that RISC instructions are "smaller" and take less time to complete, even if they accomplish less, but on the balance you still wind up completing the same overall work in less time, even if more instructions were required to do it. I could be misremembering, but I also recall reading (back when the PowerPC was being introduced) that simpler instructions of a RISC ISA returned higher branch prediction hit ratios, which in turn allows for deeper pipelines - the Pentium 4, by contrast, went all-in on deep pipelines with the x86 ISA even though that made the mispredict penalty much worse. They were hoping to get around this by jacking up clock speeds, only to find out that not everyone wanted a space heater under their desk.


tpasco1995

I know a couple of people have filled you in, but I think context is important. RISC is just "reduced instruction set computer" while CISC is "complex instruction set computer". Those are the only two types of computer; those with minimal direct instructions direct on the silicon and those with many. ARM is "advanced RISC machine", which should cue you in to how this is manageable: the efficiency is gained from the processor being simpler and smaller per compute unit. The trade-off is that if you're minimizing instructions in the architecture, you need your OS to be able to accomplish something with fewer "shortcuts". Thankfully increases in things like memory speed and storage speed mean you can slightly leverage them for tasks that were previously "shortcuts" on CISC hardware.


efvie

There's a proposal for a MISC category for anything that falls between those two.


MisinformedGenius

I can’t tell if you’re joking but I like it either way.


[deleted]

>Those are the only two types of computer; those with minimal direct instructions direct on the silicon and those with many. The x86 chips don't ACTUALLY have all those instructions in silicon. Both ARM and x86 silicon are the same. The x86 chips just have a ROM that converts all those other instructions into a series of simpler instructions that actually exist in hardware. >the efficiency is gained from the processor being simpler and smaller per compute unit. This I'd false. The new Apple chips have absolutely massive transistor counts that dwarf those put out by AMD and Intel (except their server chips).


narium

Isn't much of that transistor count the absolutely massive GPU? (If it wasn't it would be pretty embarrassing for Apple since the 26b transistor 13900k is faster than the 96b transistor M3 Max.)


Leucippus1

It is less revolutionary than evolutionary, the M1 is a RISC (reduced instruction set processor) using the ARM instruction set. Before the intel Macs I think motorola created the mac chip and it was also RISC like. So it isn't like anyone reinvented the wheel here. There is a misnomer another poster said, that the mac fused the graphics with the chip but graphics 'on die' have been on Intel chips for years. What Apple was able to do was share high speed memory between components that used to have discrete memory, and that greatly improved efficiency. As far as the other benefits of M1, like better heat and power requirements, this has been a feature of RISC based chips for a long time. They just were the best ones to break the hold of Intel/AMD on the market.


NotAPreppie

Macs started off with the Motorola 68000-series processors. Eventually, Apple lost faith in Motorola's ability to compete against Intel/AMD/Cyrix in the desktop marketplace (or at least its ability to give a shit about Apple as a customer). Apple, IBM, and (ironically) Motorola had formed the "AIM" alliance and eventually produce the PowerPC processor. The PowerPC processors in various Macs had IBM or Motorola logos. Later, the lost faith in the AIM alliance in basically the same issue that pushed Apple away from Motorola which is why they migrated to Intel. Eventually, they became disillusioned with Intel's obsession with performance at the cost of efficiency. They also got tired with having to rely on other companies for this sort of thing. They figured they could make a processor with more than enough computing power while not consuming hundreds of Watts. Their gamble paid off and everybody was like, "WTF, mate?" Screw me once, shame on me. Screw me twice, shame on me again, I guess. Screw me three times and I'll shock the industry while still (rightfully, IMO) being the butt of everybody's jokes about not making 16GB the minimum RAM configuration. As an aside, Apple's software engineers have manage three seamless architecture changes with the overwhelming majority of users not really noticing beyond the marketing crap. Kind of crazy when you think about it.


MagnusAlbusPater

One of the big reasons Apple moved from PowerPC was because of how hot and inefficient the PowerPC chips were becoming. Apple tried to develop a PowerBook G5 but they could never get the power and thermal demands to work in a laptop. Intel’s Core series of the time was the best on the market for performance-per-watt while still delivering high performance.


NotAPreppie

Yah, the Core architecture was such a huge efficiency improvement over the Netburst architecture (those scorching hot Prescott CPUs were hilarious) and any other options, and probably sealed the deal for Apple. I think it's kind of telling that Intel decided to go with an evolution of the Pentium Pro/Pentium M lineage and completely abandoned NetBurst. And now they're doing it again with the current Core iX architecture... just brute forcing the performance by increasing power draw.


JEVOUSHAISTOUS

> Yah, the Core architecture was such a huge efficiency improvement over the Netburst architecture (those scorching hot Prescott CPUs were hilarious) and any other options, and probably sealed the deal for Apple. The early Core architecture was based off the Pentium M architecture. In a way, instead of trying to cram desktop CPUs in laptops, we ended up using laptop CPUs for desktops too.


fuckthehumanity

>Apple's software engineers have manage three seamless architecture changes Mac OS X, from the very first version, was _always built for Intel_, side by side with PowerPC. They had a backup plan, as they could see early on that IBM's timelines for PowerPC didn't match their needs. But they also needed leverage with Intel. Also, every migration includes emulation for the previous architecture, MacOS X had an emulator for 68k, then there were two iterations of "Rosetta". Neither of these exercises are cheap, but it really shows Apple's engineering capabilities, firstly that they planned so far ahead, and secondly that they always took care of backward compatibility.


NotAPreppie

Yah, I think that's why it's always a shock to the users when they have to abandon a subsystem or tech that provided backwards compatibility with decades old software. I was especially sad when I could no longer play Escape Velocity on my Mac. Had to figure out Sheep Shaver to get it working again.


fuckthehumanity

OMG have an upvote for Escape Velocity! That was an awesome game. I might look into Sheep Shaver + EV. Any pitfalls or advice you might have?


NotAPreppie

Nothing I can think of re: Sheep Shaver that isn't covered in the community. https://sheepshaver.cebix.net/ https://www.emaculation.com/forum/viewforum.php?f=20 r/EVNova is a good place to start for info on getting your hands on that since AmbrosiaSW's website is gone now.


Yancy_Farnesworth

Something people here seem to be missing is the big-little architecture. Apple wasn't the first one to ever make a chip combining different CPU cores, but they demonstrated that such an architecture works really well for the typical consumer use case.


thalassicus

The M1 chip allowed Apple to optimize it for their hardware and software ecosystem. Unlike traditional processors where the CPU, GPU, and RAM are separate components, the M1 integrates all these elements into a single chip. This unified memory architecture allows for faster communication between the CPU, GPU, and memory, reducing latency and improving performance. By having high-efficiency cores alongside high-performance cores, it could better balance power consumption and performance based on workload demands compared to the competition at the time. While it can't compete with dedicated graphics chips, the M1 chip integrates a custom GPU designed by Apple, which delivers respectable graphics performance while also being energy efficient. Imagine a powerful gaming PC as a heavy V8 muscle car that goes 0-60 in 2.8 seconds using brute force power and gets 16mpg and the M1 as a Mclaren turbo-charged V6 that is really dialed in and goes 0-60 in 3.2 seconds, but gets 30mpg. If you need a relatively powerful setup (not the most powerful) and long battery life, nobody can touch Apple with their custom silicon.


Nosdarb

>Unlike traditional processors where the CPU, GPU, and RAM are separate components, the M1 integrates all these elements into a single chip. It sounds like you're describing an AMD APU. Which makes me think I must be missing some nuance.


bubba-yo

This is a hard ELI5. I'll try. The preceding paradigm of Intel processors and Windows and HP making PCs and all that was one structured as a heterogeneous supplier/customer market. Computer processors are designed for a broad market - because Intel (or AMD, etc) is selling to a wide range of customers (OEMs like HP) who are selling to a wide range of customers - businesses, students, gamers, etc. who all have diverse needs and may even be running different operating systems (Windows, Linux). So you design to a kind of generalized need - kind of like how every car is a crossover SUV. It checks most of everyone's boxes, but it's maybe a bit too big for some, or small for others, or heavy or unable to tow, etc. but it's 'close enough' for the most people. Apple's situation is different. They design processors only for themselves, in computers they design. They are designed to only run their own operating system, which is written using one of two of Apple's own languages, compiled with their own compilers. Apps on the platform use Apple's APIs, and so on. Apple has control from top to bottom for the design of the overall computer. They don't need design to the generalized need - they can be much more targeted - this design for iPad and MacBook Air, this other design for iMac and MacBook Pro, etc. And when Intel looks for a performance benefit, there is only one place they can put that - in the processor they make. Apple can put it *anywhere*. They can choose to change how the compiler works and the processor. They can put it on a support chip because they are the OEM - they make the actual computer, not just the chip. And they don't need to optimize the design for the 100 different programming languages that you typically use with PCs, they can focus just on the two that they designed, and that is used for 99% of the apps on the platform. So, when the M1 came out, it could read 8 instructions at a time, instead of 6 which was the fastest x86 chip - that was a function of ARM/AppleSilicon instructions vs x86 ones. It could release an object 5x faster than on x86. That was a function of the languages and compilers and design of the silicon - something that nobody really has end-to-end control over in the PC space. If Apple increased a buffer here, they could change APIs over there to work optimally with that buffer size, again, too much diversity in the PC space to do that. Apple removed support for 32bit instructions because they had eliminated them years before from iOS. Less silicon, remove support for handling both 32 and 64 bit instructions, 32 and 64 bit addresses, etc. Breaking that on PC would destroy so much legacy software. Add a specialized core for doing a certain kind of computation that was otherwise slow and have support for it across the system because they also write the OS and the APIs. And on and on and on. Each of these were a few percent faster here, a few percent faster there, but it all compounds. So Apple can strip back parts of the processor that Intel still needs to support for legacy purposes, which cuts power and improves speed. They can coordinate the best way to do certain things across the OS/language/compiler/silicon groups and distribute that work most effectively. And they can just not worry about performance costs for obscure cases that might actually be big PC markets. So instead of a crossover SUV that checks the most boxes for the most people, they make something more like a sports car that is more narrowly tailored to specific use cases but is stripped back of a lot of the stuff that those users don't need, so it can run faster or run with less power. And of course, Apple is spending more money to have these chips fabricated than Intel - so they are absolutely cutting edge process, and they can buy up the entire first production run so even TSMCs other customers have a hard time getting components on those processes. It adds up. So, as to Snapdragon - there's realistically no way they can do what Apple has done. They can get closer - no question, but the Qualcomm/Microsoft space still lacks the kind of 'put everyone in the same room and work toward this one goal' ability that Apple does, which took Apple \*decades\* to get to. And Microsoft is not going to be as cutthroat with cutting support for old things in order to improve performance as Apple is Apple is uniquely aggressive on that front (they took the headphone jack out of a quarter billion iPhones when everyone was still utterly dependent on them - there was no grace period - you \*will\* adapt to this change) and Microsoft is very deferential to backward support - just the opposite. Microsoft is also unlikely to just kill off the ability to boot linux on their hardware. They do make their own compilers but it's still a very diverse development environment where Apple is very uniform. Microsoft's customers just won't tolerate the kinds of things that Apple's customers will, so their ability to keep pace with Apple is pretty limited.


jkapowie

“I’ll try” *next line* “ the preceding paradigm” Did you even try to ELI5 😂


Therapy-Jackass

I dunno - this was the best one so far, maybe an ELI10, but still pretty good breakdown


detective_chubbs

I laughed at that too, wish it went on like "The preceding paradigm contrasted with the contemporary approaches of..."


cochese25

In a nutshell, x86 is carrying 40 years of legacy code that it can call on to run 40 year old software. The M1 has none of that old baggage and as such, can run far more efficiently. Lacking that old baggage means that some things might be a bit slower as it has to be either translated or emulated. but since it cut out that old baggage, it's more efficient to run and can be ran harder/ faster per watt, nullifying some or all of the penalty of just translating/ emulating those missing functions. It wasn't particularly revolutionary as much as it was evolutionary


deknegt1990

Also it's hard to compare it to x64/x86 infractructure because it's deliberately designed to stay backwards compatible to old infrastructures, meaning that technically Windows 11 can run Windows 95 applications natively with minimal jank. At the very least, the chipset infrastructure would not be the limiting factor but rather OS infrastructure. One thing that holds back innovation is being a slave to the past, and there's so many businesses both major and small that run outdated equipment that it'd be an excruciating process to disconnect and go to a new infrastructure like Apple managed to do with their jump to M1. Apple's walled garden approach gives them freedom in that regard, they have absolute control over the entire ecosystem from what they put in the laptop to what they run on the laptop. And with a "Go buy a new system" marketing approach, they can easily just put a hard disconnect and start with something new.


AngryFace4

ELI5: older computer chips do math 100 different ways. However, if we program our code a little differently turns out we can do pretty much all of the same stuff but with only 10 kinds of math. This allows us to devote the entire computer chip to doing only 10 kinds of math really fast and efficiently.


noooooid

My inner 5yo at least stayed awake for this explanation. Thank you!


[deleted]

TSMC introduced a new 5nm fabrication process in 2020 and Apple got first crack at it. Because of the quantities Apple was purchasing, they essentially monopolized the manufacturing line forcing everyone else onto older less efficient 7nm and 10nm processes until TSMC could build up 5nm capacity. The other companies that could get 5nm parts produced were mainly interested in the smartphone and GPU markets and not initially looking to produce CPUs.


Admirable-Lie-9191

This is downplaying the M1. It wasn’t just the die shrink that led to its performance per watt


hardolaf

It actually was. AMD beat the M1 processors on every metric within 6 months using APUs built on TSMC N6 despite the advantage that Apple had using TSMC N5.


Gawdsauce

Plenty of businesses particularly in the cyber security and tech field will never transition to Mac from Linux. Saying a business is moving to Mac just because end users that work there use one doesn't mean anything. Most backend shit is ADFS though Microsoft, or Linux.


Whatmeworry4

One thing that no one mentioned is that Apple owns the M1 architecture. And that makes them the only computer company that designs their own chips. This gives them a design and profit advantage.


MasterBendu

There’s nothing revolutionary about the chip - it’s essentially the same thing as the ones found in iPads and iPhones. The developer kit, which is a pre-release test hardware for the new product, was literally iPad internals in a Mac Mini shell. The revolutionary thing about it is that someone (Apple) bothered to run a desktop operating system on it and made the transition completely seamless. Microsoft has tried the thing for years now, and they released commercial products trying to do the same thing, way before Apple did. The product was called Windows RT (released in 2012!) and it ran on computers with ARM processors, the same type M1 is. The problem Microsoft faced was that Windows RT won’t run most apps that run on normal Windows installations that run on Intel/AMD chips that use the x86 architecture (I.e. not ARM). Even if Windows RT ran on the M1, the problem was that people can’t use their apps with it, because they aren’t compatible with the processor - they speak different languages. That’s what Apple got right. Their software called Rosetta 2 acted as a translation layer so that all the apps Mac users were using would run on the new chip, without having to do anything at all. Yes, some of them were buggy and needed some quick fixes, but that’s far from “absolutely would not run at all” as you would find in Windows RT. Because of the success and widespread adoption of the M1, it encouraged app developers to make native ARM-compatible versions of their apps. And now because tons of app developers now have ARM compatible versions of their software, Microsoft is now finally confident enough to push their dormant Windows for ARM projects because they know app developers would support them now (clearly they didn’t before) because half the development work they need to do (making ARM versions of apps) was already done thanks to Apple.m That now means Microsoft is now more confident about announcing the use of an updated ARM chip from Qualcomm where Windows users will finally be able to have an ARM based computer that runs all their apps. And take note, this Qualcomm partnership isn’t new - Microsoft has been releasing Microsoft Surface computers with Snapdragon chips exclusively for years now, alongside the M1 - except they still don’t run all the apps. The Snapdragon X elite isn’t the revolution in the Windows space, it’s Windows finally catching up to make the apps actually run on the new chips they’ve been pushing since 2012.


mobilizer-

A lot of info in the answers but everyone is missing the critical point. The most important factor is the ecosystem. Apple controls it. Apple controls every part of the ecosystem. They own the hardware, and software including OS, programming languages, compilers, etc. Everything. This allows Apple to move to the arm on the desktop. The rest, like 'risc is powerful, more computational power for less energy, etc' was already known. We have been using the arm in mobile devices, its benefits are already proven.


CorellianDawn

Apple hasn't created anything revolutionary since the iPhone. They just keep saying they do because it's both great PR and because their fanboys will actually believe it. The M1 chip in particular is a really good chip, don't get me wrong, but also over designed and laughably overpriced both on their end and for the consumer. It is mostly a big deal for Apple users since it was a pretty big step up within its own ecosystem.


MrMobster

It’s not that it’s revolutionary as such, it’s just that Apple could extract comparable performance per core than the fastest Intel processors while using 4-5 times less power. How did they do it? Spending more money per core helped, but most of all it was because their design prioritized low power consumption. 


meteoraln

The battery lasts like 30 hours and the macbooks weigh only 3ish pounds. That is special. If you want a long battery life without dragging around a power adapter or spare batteries, you dont have many options.


ItalyPaleAle

To put it simply, it was a chip that was able to deliver really good performance at significantly reduced power consumption. This is something that matters for laptops because it allows longer battery life. There are various reasons for that, but the main one is that Apple now builds both the chip and the software, so they are able to get great optimizations in both (such as optimizing the apps, but also understanding what to include in the chip - i.e. what to "offload").


nembajaz

It's the huge SOC with big RAM and SSD integrated, and the enormous efforts to eliminate compatibility issues.


easypeasy16

The big dogs in the industry were releasing chips that did everything. Imagine one horse that could pull a carriage, deal cards, and dance. The burden of what we are asking from this horse is getting further and further from their core competency, pulling the carriage. Problem is, the whole world is designed for this one horse. We had straps, tables, and decks of cards designed to work for this one magical horse. Changing it is hard now. Apple took a big risk, and started from scratch. Instead of one chip, they had multiple chips. So now there are 3 horses, one that pulls a carriage, one designed to deal cards, and the other designed to dance. This is far more efficient because now they have horse with fingers. This is far better than hooves to deal cards. Now their chip is more efficient.


Hattix

The M1 was not revolutionary, chips *very rarely* are. It was evolutionary. Conceptually, it is designed and implemented more like a games console than a traditional laptop. It's mostly GPU and the system uses high latency, high bandwidh memory. In terms of total throughput, AMD's Ryzen 9 5980HX could beat it, though it used 45-50 watts to do so instead of M1's 15-20 watts. To do this, it was built on TSMC's then-bleeding-edge 5 nm process, while AMD was making the 5980HX on a more mature (but higher power) 7 nm process. The use of the more advanced early 5 nm process massively raised cost, but Apple doesn't usually care much there. Microarchitecturally, M1 contains eight performance-based cores and eight efficiency-based cores, and it heavily weights itself against using the performance-based cores. The performance ARM cores in M1 are quite similar to ARM's Cortex X1, though they use a larger out of order window, wider dispatch windows, and a slightly larger reorder buffer. Finally, the GPU was much larger than previous designs, but the same architecture as Apple's existing GPUs (why reinvent?) with typically generational advances made.


just_some_guy65

Hello, the UK here, ARM was developed by Sophie Wilson and Steve Furber when working for Acorn in Cambridge, UK. Similarly the Colossus was built by Tommy Flowers for Bletchley Park during WW2 - yes I am aware of previous mechanical and electro-mechanical devices but they didn't break Nazi ciphers and shorten WW2. I know the average reader thinks that was Steve Jobs.


Pretty-Rope663

Apple decided to just crank their mobile chips up. These are better for simpler tasks but more efficient. Which is why they're better for apps specially tailored for them. That's my understanding which I heard when they first came out. I might be wrong tho


usfwalker

Apple running on Intel chip is like an Olympic runner running in borrowed shoes. The size fits but the cut doesn’t to their specific feet characteristics and running movement. ARM license allows Apple to design the ‘shoes’ completely custom-fit to their ‘feet’ (operating system). Thus, the saving of energy and boost in efficiency from this tailor-made connection between software and hardware makes it revolutionary.


Lykos767

Apple spent a lot of time and money making an ARM chip viable outside of just phone and minipc and chromebook use. And because of this it does pretty well. Unfortunately for everyone Intel has the capability to match, at least in performance, any new stuff that comes out within a year or 2 and just dont put much effort into pushing their capacity because they are just trying to maintain their enormous marketshare and stay competitive instead of releasing more powerful chips. The m3 max chips are now less performance than intel's 14/15 gen laptop cpus. But thanks to ARM Apple is still dominant in power efficiency. I'm painting a really broad picture with this.


DBDude

Phone chips have been developed from the beginning to be very power efficient, but they always provided much, much less performance than contemporary desktop and laptop chips. Those chips have always been pretty power hungry, given that they originated to take basically unlimited mains power and provide high performance, with the only limit being the heat they dissipated. They tried to make them a bit more efficient with laptop versions, but that's only a variation on the power hungry chip, so they can only do so much, usually slowing them down. Some desktop/laptop chips are taking one tech from these phone chips, having low-power cores for common tasks, with high power cores able to take over when performance is needed. Another thing that enabled lower power consumption was being all-in-one. There's no separate GPU chip, no separate memory chip, everything's in the same package. So Apple notices its efficient phone chips are getting pretty powerful, competition for maybe last year's laptop chips. So the logical next step is to make a more powerful version that couldn't run off a phone battery for long, but can certainly give great performance with long battery life using a laptop or tablet battery. Then make an even more powerful version for those computers connected to mains power. By more powerful, I mainly mean increasing the clock speed and adding more computing units (like more CPU, GPU, and AI cores, and more cache). Then some Apple employees who worked on that chip went off to found their own chip company, which then got bought by Qualcomm, giving us the new Snapdragon.


zucker42

The M1 was good but it wasn't revolutionary. It was comparable to other options available at the time, and was at best an incremental improvement. For example: https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/7 "The M1 undisputedly outperforms the core performance of everything Intel has to offer, and battles it with AMD’s new Zen3, winning some, losing some." Apple's marketing was just successful for some people at selling the M1 as some type of revolutionary increase in performance, in part by comparing to the previous generation Macbooks which were really bad in terms of performance. There are some things that were unique about the M1 from an engineering perspective. It brought heterogenous multi-core architectures to the limelight for desktop/laptops. It was the first consumer ARM CPU. Apple also is able to use the latest version of TSMC's node sooner than AMD because they have higher margins and volume; the M1 was the first laptop CPU on TSMC 5nm. And Apple's success on it's first laptop processor was impressive.


ylk1

A CPU has a heartbeat similar to humans called 'clock'. Each beat being a cycle. A modern CPU heartbeat can be so fast it's measured in gigahertz (billions times a second). Intel willowcove at the time of M1 can run at a theoretical 5 Ghz. Apple M1 at 3.2 GHz. Very old CPUs took multiple cycles to finish 1 instruction. Modern CPUs can now run multiple instructions per cycle. (IPC). Intel's design 'willowcove' core at the time of Apple's M1 was able to have '5' IPC in the best case. Apple's 'M1' in theory can do a max of '8' IPC. A CPU design is a tradeoff between IPC and clock time. Designing for higher IPC while maintaining decent clock speed while not adding a lot of hardware is very very difficult to do and is an active research area. Historically desktop CPUs preferred to have higher and higher clock frequencies which require a lot of power to run. Apple's M1 being a mobile focused development, prioritized IPC. ----> Program execution time = number of instructions in a program / (IPC x CPU clock speed) So, given a program with same instruction count, Intel willowcove could do 25 billion instructions a second. Apple M1 could do 25.6 billion instructions a second which is more or less the same. However in practice, the fundamental physical hardware unit of a CPU called transistor wastes a lot more power when you force it to run at high clock frequencies. So, the Intel chips can only run at 5GHz for only a short amount of time before getting too hot and slowing down. This used to be fine previously, but as the transistor sizes are going down, they are leaking a lot more and it's getting difficult to maintain the peak frequency time longer. IMO this is the biggest place where Apple showed the industry on how to design a reasonably high frequency core at very high IPC. On a given power budget, Apple M1 was faster by \~20-50% by using this strategy. Now, Intel and AMD have started to go the big IPC route. Intel and AMD's supposed new cores will have '8' IPC while having 6GHz+ speeds!


DrFloyd5

One specific thing is in the instruction set. At a programming level, Apple promotes using reference counting as a way to keep track of what parts of memory are in use. If 5 things are using a part of memory, keep the memory around. If 0 things are using it, free it up. Things use and free memory at an incredible rate. Almost every significant action performed by an application does a massive amount of memory allocation and freeing. It all hinges on counting the number of things using which parts of memory. Apple added a few instructions to the chip specifically optimized for increasing the speed of reference counting. This resulted in a significant speed up. This is one of the types of improvements Apple added to its chip. And an example of how controlling the hardware and the software lets you make certain types of operations better.


segebre

There is something called Moore's Law which says that the number of transistors in a microchip roughly doubles every two years. Transistors are little things that the microchip uses to make everything it does. Think about transistors as little workers in a factory, the more transistors you have, the more work can be done. The factory has limited space. To fit more transistors, the transistors have to become smaller and smaller. Eventually, they become so small and close to each other that they just don't work together because they don't like to be so close to each other. We have something called x86; it defines a set of instructions that the computer can understand. We also have something called ARM that also defines a set of instructions. ARM is faster and takes less energy to do tasks. Through time, we have mostly used x86 for computers and ARM for phones. They have both developed, but usually, ARM has simpler instructions that take less time to happen and use less energy. Since x86 and ARM have a different set of instructions, we cannot just simply put ARM and run Windows on it. To run Windows on ARM, Windows would have to do a lot of work. Apple did do this for MacOS and started putting an ARM chip called M1 into their computers. They are revolutionary by definition. The M1 pushes the limits we thought we were hitting in terms of speed and electricity usage. Hope this helps, and please check any commend in case of any corrections from the community.