Apple M1 – a seriously fast x86 competitor
arstechnica.com
arstechnica.com
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.
$2-3k for a dev laptop since forever, innit?
[1] https://www.lenovo.com/us/en/laptops/thinkpad/thinkpad-t-ser...
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.
However, it's the first popular and heavily backed ARM CPU which can compete with high end x86.
> Most distros and OSS have dealt with the issues on arm already.
I also use a lot of ARM based SBCs for a long time but, running a scientific application fast is not the same thing as booting Linux or making it reasonably performant/stable.
My day job and personal research is involved with supercomputers a lot. So I live in parallel applications / architectures. There are certain scientific applications which run considerably faster in previous generation hardware when compared to current-gen ones, because they're heavily tuned for that generation's memory subsystem latencies and IPC characteristics (fetch, retire capacities and pipeline latencies to be exact). This sometimes implies that the code contains proper hints or hand-tuned asm for speed-critical sections. Eigen is a very good example of this optimization. It optimizes itself during compilation by compiling the architecture optimized paths with hints in the code and help of the compiler.
So, having an ARM CPU which can surpass x86 will make these communities to take note of it. I'm not sure how Eigen performs on M1 for example (will see soon enough), or other software packages which are optimized for x86 extensively.
These software packages will start to get optimizations for M1 or Apple silicon since it's pretty popular amongst scientists due to its POSIX nature and hardware quality.
At the end of the day; yes, it's a glorified Raspberry Pi, but with looks and performance of a supercar, so it'll attract a different kind of user base and development effort.
I hope that AMD comes out with an ARM offering. I would love to see ARM PCs.
Is it easier, more logical?
x86 has instructions which can make many thing “easy” But they are not simple.
ARM is far more logically consistent. x86 is really messy and complex but often have lots of convenient instructions.
So I would say ARM is easier to learn and it is easier to learn ARM code as everything by is more logical, regularized and consistent.
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.
https://opensource.googleblog.com/2019/09/unleashing-open-so...
Google had most of that (excluding AI) when they owned Motorola's phone unit. The phones had clean Android, respectable specs, inoffensively designed and very competitive on pricing. Unfortunately, Google had to unbundle Motorola, in part due to anti-trust concerns, as well as Samsung's public and private grumbling about the arrangement (Tizen, and a handful of Windows Mobile phones where promoted as a shot across Google's bow, in the same timeframe).
Hence the reason Google Fiber got laughed out of existence. Google thought everyone would just bend over backwards and laud their arrival. I guess they were shocked that it would require money and actual effort, like most difficult undertakings.
Don’t mistake building and selling consumer HW with building components. Very different problems. The former is as equal parts art as it is engineering. Building your own CPU will be vastly simpler. Whether or not Google has the same level of coordination between HW and SW to have Android benefit so greatly, I don’t know. It’s also unclear how big a step building the CPU is for Google. Lots of talented people on that project. That being said, it’s already behind schedule if I recall correctly so it legitimately could be causing them problems. Or they don’t have enough direction and good leadership to actually execute competently
That said, when intel's mobile team in Isreal took their gloves off...
Graviton2 uses an ARM-designed core and actually cut the cache sizes a bit from ARM's recommendation, and it's certainly competitive if not an absolute 'wow!' like M1 is. (Apple could have shipped at that level 2-3 years ago.)
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.
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.
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.
The book that I link to provides many examples, but it focuses on how hard drive companies struggled every time the physical size of the disk shrunk. Even when they knew "it's time to make a smaller disk," they'd do something silly and be non-competative.
In the case of Intel, when I interned in 2002, they knew mobile was coming and tried to set themselves up for it... But the rules of selling chips to phone makers are different than seeking chips for PCs. (Just like what the book explained in its examples.) In Intel's case, the margins were too slim in mobile... Which is a typical symptom of how a company gets disrupted.
> Are the employees at AMD naturally risk takers?
Don't confuse AMD (company) with ARM (architecture). ARM chips power all mobile phones and smart TVs. They're cheaper, and now are going to be better than x86 for PCs. (High performance, low power, low cost.) This is a textbook example of distribution. What you'll see are smart TV and phone manufacturers selling ARM PCs that are cheaper than x86 PCs, but perform better. Don't believe me? Just wait until someone realizes that all they need to do is swap Android TV out for Windows (ARM) in their assembly line for their smaller smart TVs, and throw a keyboard and mouse in the box instead of a remote.
(FWIW: AMD was never a threat to Intel. They couldn't manufacture in big enough volume.)
One thing they could do is invest in ARM manufacturers, and / or startups that are in the ARM business. As these companies grow and Intel shrinks, slowly let the investments eat themselves from the inside. For example, every few years one of Intel's fabs could be traded to one of their ARM investments. Later, as executives retire, leadership from the ARM manufacturers or startups become Intel executives. (Edit: This is what Disney did with Pixar.)
Another thing they can do is very openly admit that they are being disrupted. The CEO can basically dictate that they have to get into the ARM market and sell ARM chips according to similar terms as existing ARM manufacturers. According to "The Innovator's Dilemma," this approach is hard to do. (Edit: It's hard to do because institutional momentum and personal habits and assumptions are very hard to break.)
And, another thing is that Intel could start a business unit that behaves like a startup. It would get the majority of the CEO's attention; with running the existing business falling to other executives and managers. This new business unit would follow the ARM rules; and it would grow at the expense of the rest of the business. Intel might even need to sell their own computers.
Honestly, I suggest reading the book. It explains it better than I can. (I also suggest watching how major car manufacturers switch to Electric. GM and VW seem to be doing this.)
It would't surprise me if the world moved from x86 to ARM despite Intel's better fabs. Companies being too good, too focused at their own business that they miss a fork on the road is a common tale.
But instead, they're completely stuck and unable to perform at what used to be their core strength.
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?
I have no insider knowledge but EUV is super expensive. It could be that the bean counters tried to delay one node too long.
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.
I think OP is saying that once AMD reaches the dominant market position that they hope some upstart comes in and takes them out of their comfort zone.
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.
That's also an easy two-part answer, look at their CEO and former CEO. Kraznich or however you spell his name, never knew a time (as CEO) when Intel wasn't top dog (and I'm not talking about 6 months of AMD being on top with Athlon 64), so he's never been hungry. In fact, his "dismissal" from Intel for hashtagMeeEeEToOoO is nonsense. They had been dating for years, before the anti-frat policy was put into place, and their relationship was cleared by HR; Brian got axed because someone had to take the fall for 10nm sucking so much donkey dick.
The new guy isn't even an engineer, he's an MBA. Anything Intel does under his leadership will be solely the result of everyone but him. Contrast this with AMD, where Dr. Lisa Su is an amazing engineer and also a brilliant businesslady.
Part two is culture. Intel is full of arrogant jackasses who are in denial about how awesome they are. Turns out AMD and Apple have legitimate badasses designing their chips, but they also have managers that aren't causing unnecessary conflict between different teams. This same shit happened to Microsoft years ago too, by the way... turns out causing a lot of conflict on your teams in the name of 'dA cReAm riSing To ThE Top!' is a fucking idiotic management style, which should have been obvious to these sub-geniuses if they'd spend more time in their biology classes - humans are a collaborative species.
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.