I used Macs through the PowerPC to Intel transition and it wasn't a great time. Apple had to do it because PowerPC processors were so incredibly far behind. Right now, Apple isn't behind since all their competitors are also using x86 processors. Maybe they could be ahead, but there isn't the same desperate need.
Maybe Apple should move to their own ARM chips. However, the AMD Ryzen 4000 series processors give them an easy upgrade without requiring a lot of work. Switching to ARM is a big commitment. Third party developers will need to recompile their programs. Apple will need a translation layer for older programs that aren't updated - and users will understand that they'll have older programs they've purchased stop working in a few years. It happened with the PowerPC to Intel transition, the MacOS 9 to MacOS X transition, and recently with the 32-bit to 64-bit transition with Catalina cutting off 32-bit support.
AMD's Ryzen 4000 parts are based on the 7nm TSMC process and they're able to stuff 8 cores into a 15 watt part. For comparison, the MacBook Pro 13" ships with 28 watt processors.
Is the Ryzen 4000 the best? I can't say. Is it a lot easier and less of a commitment? Definitely.
The first time, the 6100/60 ran emulated code (especially with Speed Doubler) fast enough that there wasn’t a performance penalty. The second transition I had all native code.
But in general the strategy was the same. Wait until the software you need is compatible. During the first transition, my most used software was already shipping as a “fat binary”. I just unplugged my SCSI hard drive from one computer to the other.
The second time, all of the software I cared about was native.
It’s even easier now since the two most popular pieces of commercial software from Adobe and Microsoft are both subscription based. As soon as they port it, you won’t pay extra for it. Much of the other software that nerds use is open source and can be compiled easily for ARM (or Electron based).
No one is thinking that Apple will go full ARM. Most are thinking that the high end will be x86.
AMD 4000 mobile processors, on the other hand, already exist.
Not that it'd even have to be scaled up by much. The A13 (iPhone 11) already performs comparably to many Intel mobile parts; an -X variant (future iPad Pro) would surely improve upon that.
If you gave the ARM designers the (higher) laptop power budget, almost certainly they'd increase performance at the expense of performance per watt. In other words they'd take more of the trade offs that Intel and AMD do. But to justify switching architectures it can't just be the same, it would have to be enough better to be worth the transition.
If Amazon can make a server class ARM chip that is competitive or better with their custom designed Xeons, I take it as a truism Apple could do the same for mobile.
Most server workloads scale with core count, so winning in performance per watt is winning in general because you can scale performance by adding cores. A server with twice as many cores that are each half as fast is just as good, but that doesn't work for a laptop.
A server processor also doesn't have to win at every workload. If it can win at any workload, people can use it for only those, which makes it useful. That also doesn't really work for a laptop.
People run Linux on servers. It's portable. The architectural transition cost there is close to zero.
On top of that, Amazon is fudging the benchmarks in claiming it's faster. They're comparing performance "per-vCPU" which on Intel are hyperthreads rather than full cores. That's fine when Amazon is charging less for the ARM "vCPU" than the Intel hyperthread "vCPU", but you can't use that trick when running single-threaded workloads on a laptop.
During the 680x0 to PPC transition, almost all of the applications that needed performance were already ported. The same was true for the x86 transition.
But more than likely, this time it will be the low end that would go ARM to optimize for battery life and the high end would stay x86.
Also the difference this time is that the two largest commercial vendors - Adobe and Microsoft already have ARM versions and Apple has Catalyst to make porting iPad apps to MacOS easier.
Also, during the last two translations, there was a lot more assembly code optimizations in third party apps than now. Especially going from 68K to PPC.
And sadly, there are a lot more Electron apps out there that would be easy to port.
Microsoft has struggled to get Windows ARM laptops because they also thought the performance/power ratio made it worth it.
Getting the most popular applications is the easy part, the hard part is the long tail. Only 1% of people may use a particular obscure application, but when there are a thousand such applications, the average person uses ten of them.
You also have to deal with a period of people wanting to run the applications they already own, not the newer version they have to pay to upgrade to or which isn't the same version the rest of their family or company uses on their existing hardware.
There are a lot of people who need nothing more than a web browser, but that's the target market for Chromebooks rather than MacBooks.
There are two existence proofs that Apple knows how to do this. They’ve done this twice and took customers with them both times. What are the Mac users who don’t like the transition going to do? Buy PCs and lose all compatibility with their apps?
The last thing that’s different this time is that Apple had a lot more to lose in 1994 when the Mac was all of their business and 2006 when the Mac was half of their business (the iPod was the other half). This time the Mac is only 10% of their business.
Also, many apps are going subscription. The upgrade would be “free”.
As far as performance. The most popular Mac has been the MacBook Air. The people buying those aren’t doing performance critical tasks using niche applications that won’t be ported.
Each application having 1% of the users doesn't mean it's 1% when you add them all together. And they're all different applications. Why would you expect these to be less likely to be performance critical than any other?
Even for applications that aren't performance-critical, if the point is to save battery, emulation does the opposite.
> This isn’t Windows with thousands of line of business apps that have been running without upgrades for a couple of decades. Apple has already killed a lot of old apps when they dropped PPC compatibility and later 32 bit compatibility.
MacOS X 10.5 supported 64-bit Intel applications in 2007. That's more than a decade for old applications to accumulate. I doubt even most of the legacy Windows cruft is older than that anymore.
> There are two existence proofs that Apple knows how to do this. They’ve done this twice and took customers with them both times. What are the Mac users who don’t like the transition going to do? Buy PCs and lose all compatibility with their apps?
When they did it before, the new processors were a lot faster. There was a large benefit to offset the transition cost.
Existing Mac users don't immediately have to buy a PC, all they have to do is not buy a new Mac.
> The last thing that’s different this time is that Apple had a lot more to lose in 1994 when the Mac was all of their business and 2006 when the Mac was half of their business (the iPod was the other half). This time the Mac is only 10% of their business.
If the argument is can Apple stop making x86 Macs without going out of business, sure they can. If the argument is that Mac users should want to buy the first ARM model that comes out instead of holding onto their existing MacBook, not so much. It would have to be a real upgrade from what they already have, not just something equivalent but worse because it has to emulate some of their applications.
> As far as performance. The most popular Mac has been the MacBook Air. The people buying those aren’t doing performance critical tasks using niche applications that won’t be ported.
The MacBook Air has a Core i5. It's not exactly slow.
I'm also not sure what you mean by performance critical. Maybe they're not doing 3D rendering where you care quite a lot about the difference between three hours and five, but when people upgrade their hardware they still want it to go from responding in 500ms to 300ms instead of the other way around. And in that sense basically everything is performance critical.
Care to give examples of “performance” critical Mac applications that people are using and are not likely to get ported relatively quickly?
Even for applications that aren't performance-critical, if the point is to save battery, emulation does the opposite.
What are these specialized applications? Audio, photo and video apps are historically the first to get ported. Adobe and Microsoft have historically taken a year or two.
Active Mac only developers like BareBones have have been the first to port their apps.
When they did it before, the new processors were a lot faster. There was a large benefit to offset the transition cost.
For reference 68K applications ran slower on the 6100/60 and 7100/66 than my 68030-40Mhz (accelerated) LCII. Out of the first generation PPC based Macs, only the 8100/80 was always faster than my 68030 Mac. My Mac was about half the speed of the high end 68040-40Mhz Quadras. In this case it’s the battery benefit.
And back in the 10.5 days, most apps were still 32 bit and using the Carbon APIs.
If the argument is that Mac users should want to buy the first ARM model that comes out instead of holding onto their existing MacBook, not so much. It would have to be a real upgrade from what they already have, not just something equivalent but worse because it has to emulate
And this is the same thing that happened the last two times. Users waited until the apps they cared about the most were ported. Especially for the PPC transition, it wasn’t until both the second generation high end 604s that PPC based Macs could run emulated programs faster. Heck the second generation lowend 603 based PPC Macs were slower emulating 68K Software than 601 based Macs.
I'm also not sure what you mean by performance critical. Maybe they're not doing 3D rendering where you care quite a lot about the difference between three hours and five, but when people upgrade their hardware they still want it to go from responding in 500ms to 300ms instead of the other way around. And in that sense basically everything is performance critical.
I can’t speak to the architecture of the PPC emulator for the x86 based Macs. But in the case of 68K programs that spent a lot of time calling OS routines, they would get a significant speed boost because they were calling native code - at the time emulated programs saw a significant speed boost by calling native QuickDraw routines.
The other advantage this time is that Apple is designing its own chips. It can make architectural decisions in the processor design to make emulation better.
Also, people are already using Electron apps, they couldn’t care too much about performance.
For a contemporary report of emulation speed of PPC Macs.
https://tidbits.com/1994/02/21/powerpc-reports-positive/
(reports were that PPC ran emulation at the speed of a low end 68040 Quadra without an FPU)