Apple seriously deserves huge credit for this, after both Microsoft and Google were screwing around on arm for years doing nothing useful.
I do hope both Microsoft and Google come out with competitors, though, because it'll help the market massively.
I was an Adobe user through the PPC->Intel transition, and that worked OK, though my subjective remembered experience says non-x86 apps felt a bit pokey. (This was a while ago, and I could very well be wrong, but we had PPC and Intel iMacs at my college newspaper, and the G5 felt faster in my memory.) But that was also a transition to a dual-core Core 2 Duo machine, which was obviously unambiguously faster than a single-core G5, so there was computational room to spare to deal with the translation.
It was not a done deal that x86->ARM would as smooth of a transition, as we figured ARM would be a bit faster, but not a generational leap. But here we are, Apple really managed to make binary translation work well this time, and Intel applications are plenty snappy. Which is impressive. (I also wonder how much of that is having a really fast SSD so the translation of the app is not as I/O bound.)
And I don’t think legacy x86 apps will be as much of a thing this time around. Back in the PPC days, lots of applications were built using Metrowerks CodeWarrior toolchain, which didn’t come across the divide, so big applications had to scramble to get everything into Xcode. This time, if an application made it past the evolutionary bottleneck of needing to be 64-bit only for Catalina, it’s probably close to ready to go for ARM.
From my POV, the future of business laptops could be such powerful ARM macs around 1000-1300$ (i.e. quite low priced) coupled with cloud based Windows 10 instances to get all software running. This would then create some pressure on software developers to port over their software at least to Windows-on-ARM which could feasibly run in a local VM.
From what I understand, the OS enforces W^X (memory pages that are writable cannot be executable). That means the OS can use the “set page read-only and executable” system calls to detect the existence of JITted code.
(I believe most of the relevant patents just expired; they don't emulate the vector instructions that are newer).
Actual emulation would be much slower.
QuickTransit, the technology behind Rosetta (1), was also licensed to many vendors for <x arch> -> <y arch> translation. The POWER version was called "PowerVM Lx86". It seems to have achieved similar performance to Rosetta 2, but was discontinued in the early 2010s.
The wikipedia page for QuickTransit has, since at least 2015, had a totally unsubstantiated claim that "most" of the original QuickTransit team now works for Apple (and ARM)[0]. Makes me wonder.
[0] https://en.wikipedia.org/w/index.php?title=QuickTransit&oldi...
POWER chips up to and including 9 support "SAO", Strong Access Ordering mode. It is mentioned in exactly one sentence in the CPU manual: "The POWER9 core supports the SAO mode defined in Power ISA."
This feature appears to solely have existed for QuickTransit's translation software, as POWER has a weaker memory model than x86.
Linux briefly mentions this in the man (2) page for mprotect, stating:
PROT_SAO (since Linux 2.6.26)
The memory should have strong access ordering. This feature
is specific to the PowerPC architecture (version 2.06 of the
architecture specification adds the SAO CPU feature, and it is
available on POWER 7 or PowerPC A2, for example).I personally looking for factors like: low Power, high Performance, snappiness and 4k display support.
I have no real wish for ARM because it doesn't matter what architecture i use if it is compatible to what i need.
If Apple would have brought out M1 x86, it would also have helped the market.
There's a lot of software (esp. low level libraries, scientific applications, etc.) which is optimized (sometimes hand-optimized) for a specific architecture. Not every software is released with "compile -> test -> release" cycle.
Some resources on a CPU is extremely limited (e.g. dividers) and using them is expensive. Alternative architectures changing these balances or being more efficient in some workloads is game-changing. This is what GPUs did for AI, ML, Simulation and Maths domains.
e.g.: Eigen's speed increases 300% when compiled with optimizations enabled. Especially its solvers show this performance shift.
So, if ARM can change these balances and be more efficient under some workloads, it can carve a space for itself besides x86 and GPUs. This is why Apple's efforts and M1 is so important.
When there's only one architecture (x86, CUDA, etc.), innovation stagnates, people's imagination shrinks.
I hope that AMD comes out with an ARM offering. I would love to see ARM PCs.
https://opensource.googleblog.com/2019/09/unleashing-open-so...
That said, when intel's mobile team in Isreal took their gloves off...
Many of these R&D will filter through to other ARM IPs. So it is perfectly reasonable to expect it would be available to Desktop as well. The problem is no one has the incentive to push ARM on Windows against Intel at its home turf.
I also wonder if being an SOC with integrated memory helps the M1 in term of performance (I guess it must improve data access latency). It might push competitors to build high performance SOC.
> "Iterating on a architecture is harder than starting one from scratch."
Any reason to believe this is generally true? This seems like the same fallacy that leads to people believing that scrapping all the code and starting from scratch will make a project better, and typically seems to end in more-bugs and fewer-features with delays in release.It can be true when the old code/design is just incredibly bad and needs to be tossed, but I don't think it's true in general.
The devil is in the details. It is a question of execution and need. Who is doing it etc.
It is easier for a team that made the original system to make a better rewrite because they understand past mistakes better.
And entirely new team may simply replicate mistakes of the past.
Intel x86 chips would have had things like out of order execution many years earlier if they didn't need to be compatible with old software.
Some people have said that a lot of the 737 Max problems are due to Boeing execs insisting on keeping the same airframe.
I admit that isn't quite what the parent said, but realistically any architecture "from scratch" is going to reuse a lot of stuff from existing designs that works well.
I'd long Intel, it is over sold.
But, whatever it was, it was bad. They've been stuck basically at the same node for 5 years or more.
And, according to the article, their next CPU will still be at 14nm, which is completely nuts. There's no way you can compete with such brute force disadvantage.
It's remarkable to watch, but I wouldn't count on Intel getting their act together anytime soon.
I worked for Intel for a few years, 2005-2007. It's hard to put into words what happened to Intel. The simplest way for me to explain it is that the employees didn't take risks. A different way to explain it is that most people at the company were too career focused then focused on the actual business.
But this is how disruption happens! Major players like Intel can always see where the industry is going, at a high level, but the rules of each generation in an industry are always murky.
IMO, the "ARM" generation of PCs is a shift to vertical integration. Intel set itself up for horizontal integration, and the openness of ARM means that the lines between "Computer manufacturer and CPU manufacturer" are going to increasingly blur.
Intel's business basically treats PC manufacturers like franchises; and Intel's a culture focuses more on career, and less on risk and business. This means that they're going to increasingly have trouble adapting to the new rules that come in the "ARM" generation.
Every time there are market disruptions people come up with retroactive, "just-so" stories to explain the problems. In Silicon Valley its typically blamed on the MBAs.
The idea that a 50 year old company, a pioneer of the computing industry, with over 100,000 global employees has run into trouble because employees are "too career focused" is such a story. Is there any data that bears this out? How would you measure it? Are the employees at AMD naturally risk takers?
Intel made some missteps in an industry with a long planning lead-time. They may or may not recover. But the reasons are not so simple and concise.
https://www.tomshardware.com/news/tsmc-euv-tools-order
TSMC is making massive orders and seems to already be using that.
Intel hasn't even started - "Intel is also expected to start deploying EUVL systems sometimes in 2022 when it starts making chips using its 7 nm node."
Their architecture has always been on the mediocre side but manufacturing has been uncontested for almost 50 years. What makes them suddenly hit a wall while everyone else plowed through?
Intel flew too close to the sun and their wings melted.
The vitriol everyone has for them is based on the fact they could have been pumping out cheap 4 / 6 / 8 core chips for people, but instead held the entire world of computing at basically quad-core CPU level for the better part of a decade.
And I share that vitriol. I'm happy they're suffering and are in pain. I hope the same thing happens to NVIDIA. I hope the same thing happens to AMD. I relish when a company and when people are made to suffer when they hold back our technological process in the name of fucking quarterly profits.
Why AMD?
> I relish when a company and when people are made to suffer when they hold back our technological process in the name of fucking quarterly profits.
Apple is doing the same thing. This only helps Apple, it's a proprietary design that's not even standard ARM, they have extensions. And it won't ever be available outside of Apple products.
They also reinvented them selves as a CPU company, went for lower prices with the Celeron, bit the bullet on Itanium and embraced AMD's x86-64, backpedaled the Pentium 4 thermal disaster and went from Pentium 3 into the Core architecture, took the server and HPC market by assault…
Never have I seen them this lost and in denial.
The Wall Street thinking is poison. Steve Jobs was terrified of this happening to Apple which is why he made sure product people had a lot of power.
There were plenty of RISC systems that were way out ahead of Intel that lost not because of inferiority but because they were being used for inferior business models.
DEC Alpha, Sun UltraSparc, etc.. they lost cause they weren't pumping out zillions of consumer level chips that ran windows. Then there are companies like IBM that just failed to capitalize on what they had or again kept their stuff super expensive and out of the big market for whatever reason.
I think lots of us new this day would come for x86.
A lot of this IMO is more about the ever decreasing importance of Windows. Windows used to be so much more important than it is today. Linux + the cloud taking over so much of server land and dev/science land has changed things dramatically. Then you have smartphones coming from the other direction. Intel ruled back in the day because more computers ran Windows than anything else and Windows was heavily tied to Intel. There's more stuff non-Windows OSes today than there ever have been. (Mac, Linux, iOS, Android). All those other types of computers not running Windows gave competitors the money they needed to compete with Intel.
ARM is not only threat to Intel. AMD caught up with Intel with Zen 2 and surpassed in Zen 3. Zen 4 5nm is planned for end 2021. If they can manage IPC gains same as Zen1-Zen2 or Zen2-Zen3, Intel is in serious trouble.
OK, but, where’s the beef? Intel has been stuck for a long time now. Do we know the management and corporate culture can catch up?
And anyways, is this transition entirely about performance? Apple is obviously selling it like that, but it seems like they really want the ability to fine-tune the architecture and SoC to their needs. And they’re not the only company with the desire and capital to make that happen; Microsoft, Amazon, Google, they all must desire on some level to finesse systems to meet their specific needs, and Intel isn’t in that business.
This of course doesn't take anything away from the design, as clearly Apple has had a hefty lead against other smartphone SoC designers in the smartphone space for years.
As you said, design itself is key also. Look at how well AMD was able to optimize Zen 3 vs. Zen 2 and it is on the same 7nm TSMC process for ~20% IPC gain without increasing power usage too much.
It's going to be interesting to see what Apple can do for the next generation, which I suspect will be on 5nm again.
And Ars did mention it in this specific Ars review:
> Lastly, let's remember that the M1 is built on TSMC's 5nm process—a smaller process than either AMD or Intel is currently using in production. Intel is probably out of the race for now, with its upcoming Rocket Lake desktop CPU expected to run on 14nm—but AMD's 5nm Zen 4 architecture should ship in 2021, and it's at least possible that Team Red will take back some performance crowns when it does.
[1]: https://www.techpowerup.com/272489/intel-14-nm-node-compared...
This is mentioned in the article.
that kind of optimization between hardware and software can have a big impact and is part of Apple secret sauce.
Microsoft and Google already have ARM machines but were not much successful. I thinks Apples success would convince them to be more serious and put more resources on ARM. ARM on server would mean even cheaper cloud prices (or more performance for same price)
I'm not really kidding, any steps into Apple's ecosystem is dangerous given their poor track record on Customer Service, Privacy, hardware costs, hardware quality, security, and I'm going to stop and get back to work.
There are bigger problems to be solved, I don't think 1 expensive computer is going to change anything.