If they do switch to ARM, I hope they'll do something like Rosetta to help with the switch. The last switch wouldn't've been as easy if it wasn't for Rosetta.
Almost everyone I know that owns a Mac dual boots Windows, uses it in a VM, or doesn't use OSX at all. Macs would not have anywhere near the success they have had without Windows compatibility.
As a counterpoint, I don't know a single Mac owner who dual-boots Windows, and only a handful who use a VM for anything (using something like VirtualBox seems to be limited almost exclusively to devs, not normal users). The Mac users I know (and those I see in coffee shops) seem to mainly run Photoshop, Illustrator, a web browser, Powerpoint or Keynote, and Word or Pages, all on OS X. I'm similar except that I also run iTerm2 and ssh to a Linux box in the cloud for my non-Mac needs. But some kind of data on the broader population of mac owners would be interesting.
With respect: I expect you probably do know a lot of folks who dual-boot Macs, they just don't talk about it. Everybody assumes I'm all Mac, all the time, because of my day job. And I do rarely dual-boot--because I have VMware Fusion and just virtualize my Boot Camp partition.
Agreed - I am using Virtual Box right now on my MB Air to run some specialized astronomy software. I always tell people that Macs make the best Windows machines. I'd really miss this capability.
Windows 10 will run on ARM so there will be no problem using bootcamp. Getting developers onboard with compiling ARM executables though is another story.
Since Windows 8, there has been no need for Bootcamp anymore. Just create a partition via Disk Utility, boot Windows installer in EFI mode and install on that partition. (The necessary drivers have to be downloaded onto a usb drive from under OS X though, from Apple's website).
Frankly, if Microsoft had embraced EFI & GPT earlier, we could be able to install WinXP without any Bootcamp many years ago. This whole Bootcamp technology is a ridiculous dinosaur that shouldn't exist.
(Important note: That "just create a partition" advise won't work if you have Fusion drive, because Windows have no knowledge of that technology. Still, with few magic tricks, it is possible to have OS X installed on CoreStorage partition, and Windows on outside-of-CoreStorage HDD partition. That's how I have my Win8 installed on my iMac right now, no Bootcamp was ever involved.)
Also, as a person who plays "Dragon Age: Inquisition", "Far Cry 4", "Wasteland 2", "Bioshock: Infinite" on my 680MX iMac, I think the proposition of the topic-starter is not going to happen. Or at least, it's not going to happen to iMac and Mac Pro, because disregarding desktop gaming would be the most dumb decision. Who would possibly own the expensive black cylinder, if it didn't have a capability to run everything cool that is currently around?
I think ARM performance is still way off from the i5/i7 x86_64 you get at the higher-end macs, and rosetta-style x86_64 emulation on arm is probably even further off. Lack of virtualbox/vmware support is also a bit of a showstopper, at least for cross-browser testing and web development.
My guess is that ARM based high-end macs are at least 3-5 years away from today.
At least with Adobe CC being a monthly subscription and all, there won't be an extra upgrade cost for the arch switch :)
Adobe took forever to add 64-bit support because Apple wasn't offering 64-bit versions of many Classic Mac OS APIs, for x86-64 or PPC64. Now that Adobe's using OS X-native APIs, they can benefit from the proven portability of those frameworks: OS X has run on PPC, x86, and ARM in both 32-bit and 64-bit versions of each, and NeXTSTEP also ran on 68k, SPARC, and PA-RISC.
You might run into issues even if you don't use any assembly at all. For example, unlike x86, ARM doesn't support unaligned memory access. Took me some time to figure out when I ported some OS X code to iOS.
Given the large base of x86 applications they will want to support, Apple might ship computers with both x86 and ARM chips. If the ARM chip was running the OS, it could turn off the x86 chip when it wasn't needed to reduce power consumption, and Apple might hope that applications would migrate to the ARM chip over time, until it could finally remove x86 entirely.
However, I would be worried about the power consumption of the two chips, even with the ability to turn off the x86 one on demand. Maybe Apple would be able to reduce the power consumption when the computer was running only on the ARM chip enough that it would be worth it overall.
But then all software will have to be shipped as ARM and as x86 binaries. Sure, that is possible engineering-wise, but at least the binaries are going to double in size. And there may be slight issues when you migrate applications between the ARM and x86 world with respect to data layout etc.
They already did that on the PPC -> x86 switch, and again on the 32bit to 64bit switch. iOS does it as well for the different version of arm. For most applications the code is smaller than the rest of the resources, so it's not really that big an issue.
OSX always did that, more or less. It seems like it's only in the last few months with Chrome switching to 64bit that it's been possible to stay 64bit clean. Same with iOS, even the 64bit arm devices have to keep 32bit armv6/7 versions of all the frameworks around to be able to launch older appstore apps.
Sometimes they slip up, and I think it was Skype that ran into problems where some releases of OSX shipped a faulty or missing 32bit driver for some particular iSight/FacetimeCam models.
(on the other hand, as you say, it might be more difficult to run a multi processor setup sharing RAM and buses across completely incompatible ISAs.)
I don't think Apple gives two hoots about VM support. They only released Bootcamp because it cost them almost nothing, but I think they would drop it in a heartbeat if it let them lower power consumption in laptops.
With the switch to x86 and with hardware virtualization available via virtualbox/vmware fusion/parallels, combined with a much larger user base with many having switched over from pc, I think they may find the demand for backwards compability and virtualization is much greater now than during their ppc->intel switch (which happened at a time where, at least from my vantage points, macs were still considered a fringe/specialists/niche platform)
The Anandtech quote compares the A7 to an Atom chip, not a Core chip. That's not to say that Apple can't eventually match Core performance at higher TDPs but the distance is greater than the article suggests.
ARM based Macs will probably herald the merge of iOS and OS X (version 11?) with universal apps that can run on devices and desktops. And Apple can drop the 'X' and probably just use the better known name iOS.
I wonder how Apple will deal with this from a software perspective. Will developers be making "responsive apps" that appear one way on a phone/tablet but another way on a computer? It would certainly make it a lot easier for new startups to gain traction if they only had to develop their app once.
Apple and the other big names will deal with it by moving processing to the cloud, and selling processor cycles as a public utility accessed through relatively simple devices - like a Chromebook, only more so.
This can't happen until there's much better access to bandwidth. But it is happening already - Siri is just the start - and it's going to continue.
I'm expecting Windows 11 (12?) and Mac OS 11 to be cloud-based.
I have no idea where this leaves Linux. (Possibly nowhere, except on servers and embedded devices?)
There will probably be a legacy market for expensive high-end performance personal computing for the relatively few applications where it's essential to have a beefy processor on a desk next to you.
But aside from games and maybe music/video editing, most domestic and office computing is already so light-weight that it can be cloudified without issues.
Of course this also means your data will be cloudy too, and you'll be stuck inside a walled garden with very strong access controls for apps and content - so you probably won't be able to run any app you want.
I suspect the big names will see this as a feature rather than a bug.
For as long as international data is not unlimited and free of charge and omnipresent, there will be a demand for offline computing. For example: Offline maps on a phone. Taking photos and videos. Taking notes on the go. Games.
I don't see cloud based apps providing these services with the same fidelity that local apps do in at least another 20 years. The speed of light and the telecom industry won't change that fast.
Doubtful. The UI paradigms are too far off. MS tried to take a step in this direction with metro on win8 and I would dare say it was a very unsuccessful execution.
OSX has done well so far, even with macs being a single digit percentage of desktop and laptops. Why change a winning team now that it is expanding into the double digit percentages of the market?
Equivalently, iOS did extremely well because it was designed from scratch for small touch screen devices, where others - like Nokia - were running with a "small desktop OS" - the symbian browsers even had a virtual mouse pointer that you had to clumsily navigate with a D-pad.
"There wouldn’t have been a “secure enclave” on the iPhone’s processor to store the fingerprint data, nor would there have been perfect hardware-software integration."
Or, Apple might manufacture both Intel and ARM based macs. You want virtualization? Or maybe x86-based games, Audio Units and other binaries that are slow to catch up? Here is your Intel iMac. You don't care? Fine, get a cheaper ARM Mac/MBP with a longer battery life. And more compact too. This could go on for some 5-10 years until Apple's ARM gets better at everything and all the relevant apps get recompiled.
That would be an absolute nightmare for app developers...I think Apple will most likely convert the whole Mac line over to ARM in a single release while maintaining some kind of translation or virtualization layer for apps that need to run on the "old architecture". They did it before with Rosetta: http://en.wikipedia.org/wiki/Rosetta_%28software%29
Universal binaries, or otherwise VM-based approach with JIT. I think Swift is moving in that direction. Just imagine you have pure Swift with no ObjC or C code allowed: the compiler will be able to easily build a VM binary that will be JIT'ed on the machine.
Maybe if all the apps were coming from the Mac App Store. I think the limits of Sandboxing have slowed that progress significantly. They should have reasonable allowances to bypass the sandbox for apps that really do need the entire machine. Instead we are now so restrictive a text editor isn't feasible and the Mac App Store is faltering.
This was exactly what Microsoft tried to do with the Surface Pro and Surface RT. The Surface RT hardware was very well made, however it only ran Metro-style Windows apps, so the only piece of big-name software for it ended up being Office.
Apple does have the scale on its app store to force developers to change over to ARM (say, if they announce ARM computers a year before they are for sale), but at the PPC -> x86 switch, Intel processors were more powerful than equivalent PowerPCs, allowing Rosetta to bridge the gap. This is more difficult (but not impossible) with ARM processors.
Also, if all of the computers are ARM, you lose out on virtualization, which is a biggie for many business users.
Microsoft totally screwed that up. They should simply have added another arch, full stop. Like they did for MIPS and Alpha in the past. The Office example is great, since they didn't follow their own rules-it was a desktop app.
Just another part of their mishandling of things for no good reason.
The winner will be the one to figure out how to make mobile chips that don't overheat after 20 minutes of high utilization. These badass GPUs and quad core CPUs aren't much use because you can't actually use them!
Either that or we're going to need 10lbs of mobile water cooling attached to any smartphone running VR.
Does it avoid getting hot by clocking down the processors? Or do you mean it can actually operate all CPU/GPU cores at 100% until the battery drains, like these darn things should be able to?
Even if Apple could match Intel's performance in the laptop power envelope (implausible), that still wouldn't be enough. They'd have to beat it by a big enough margin to make binary translation feasible. When they switched from PPC to x86, they got enough of a performance boost to make Rosetta Stone work ok, despite the overhead. I'd be surprised if it's even possible to beat the current crop of x86 processors in single-threaded performance by such a huge margin, ever. Let alone beat whatever Intel has out by that time.
(Rosetta Stone is software for learning human languages. Apple's tech for runtime binary architecture translation was called Rosetta. It was written and supplied by a UK company called Transitive, which was acquired by IBM to bring foreign instruction set support to their non-x86 high end platforms)
The big flaw in this reasoning is assuming Apple would win big enough from a switch to make the upheaval worth while.
The Apple ARM chips are great but there is no publicly known reason to believe Intel cannot keep pace. This leaves price and manufacturing economies as the only reasons which is much different than the Motorola scenario.
You say Apple will do this to offer Macs for $50 less? That's a meaningless differentiation for their product line.
I believe you also underestimate the importance of dual-booting/running VMs, which is quite widespread. A lot of people run Windows for just one or two apps, but it's apps they have to have.
Also what about gaming? New games could target ARM/Neon but massive libraries of existing games would become unplayable.
Even the price argument is not a slam dunk because Intel has already been willing to forego profits and subsidize in the mobile space, they might be willing to do the same in the desktop space if they truly felt threatened.
It will be easy when AMD make a truly ambidextrous chip that can run code for either architecture. Jim Keller already said the ARM has a "bigger engine" and zen seems to be a derivative of their new ARM core or at least shares a lot of design. He also said the ARM requires almost no decode stage. One site even wrote a piece speculating along these lines. It doesn't make a lot of sense from a software point of view though - you want one or the other and parts would be disabled for either ISA. But it would serve Apple well. It would be this biggest coup the industry has ever seen.
A switch to arm would be easily justifiable if it was the only road to fan-less macs and apple controlling the processor development, but intel has made huge strides in power efficiencies lately as well as opening up the possibility for using intel IP in SoC's.
And isn't the ipad already a mac with an arm processor?
First, the title is click bait and inaccurate; short of the author having a magic crystal ball, this is 100% speculation and theory.
The move from PowerPC to Intel was great and helped break down several barriers that were in the way. While ARM could offer them some advantages, it has its own downsides that must be factored, and is not as clear a slam dunk.
Also, the author references a projection they made three years ago about how ARM-Based macs are coming - Which would make sense if it actually since came true, but there has been no change in the state of ARM on Mac's that would justify even mentioning this. They are still making a wild guess that still has not come true.
So maybe they'll roll out a mac mini with an ARM processor - or maybe something else entirely. Or nothing. It's (relatively) safe to say they'll keep pushing the ball, but it remains to be seen which direction.
61 comments
[ 3.0 ms ] story [ 107 ms ] threadhttp://en.wikipedia.org/wiki/Rosetta_(software)
Frankly, if Microsoft had embraced EFI & GPT earlier, we could be able to install WinXP without any Bootcamp many years ago. This whole Bootcamp technology is a ridiculous dinosaur that shouldn't exist.
(Important note: That "just create a partition" advise won't work if you have Fusion drive, because Windows have no knowledge of that technology. Still, with few magic tricks, it is possible to have OS X installed on CoreStorage partition, and Windows on outside-of-CoreStorage HDD partition. That's how I have my Win8 installed on my iMac right now, no Bootcamp was ever involved.)
Also, as a person who plays "Dragon Age: Inquisition", "Far Cry 4", "Wasteland 2", "Bioshock: Infinite" on my 680MX iMac, I think the proposition of the topic-starter is not going to happen. Or at least, it's not going to happen to iMac and Mac Pro, because disregarding desktop gaming would be the most dumb decision. Who would possibly own the expensive black cylinder, if it didn't have a capability to run everything cool that is currently around?
My guess is that ARM based high-end macs are at least 3-5 years away from today.
At least with Adobe CC being a monthly subscription and all, there won't be an extra upgrade cost for the arch switch :)
However, I would be worried about the power consumption of the two chips, even with the ability to turn off the x86 one on demand. Maybe Apple would be able to reduce the power consumption when the computer was running only on the ARM chip enough that it would be worth it overall.
You know, Universal binaries that contained both PowerPC and Intel within a single fat binary...
Double size binaries is nothing compared to the amount of storage you have today.
On OSX: combinations of PPC, x86, x86_64 could be built
On iOS: default at the moment is a triple of armv7, armv7s, arm64, I believe. For a while used to be armv6+armv7.
http://en.wikipedia.org/wiki/Universal_binary
Sometimes they slip up, and I think it was Skype that ran into problems where some releases of OSX shipped a faulty or missing 32bit driver for some particular iSight/FacetimeCam models.
(on the other hand, as you say, it might be more difficult to run a multi processor setup sharing RAM and buses across completely incompatible ISAs.)
This can't happen until there's much better access to bandwidth. But it is happening already - Siri is just the start - and it's going to continue.
I'm expecting Windows 11 (12?) and Mac OS 11 to be cloud-based.
I have no idea where this leaves Linux. (Possibly nowhere, except on servers and embedded devices?)
There will probably be a legacy market for expensive high-end performance personal computing for the relatively few applications where it's essential to have a beefy processor on a desk next to you.
But aside from games and maybe music/video editing, most domestic and office computing is already so light-weight that it can be cloudified without issues.
Of course this also means your data will be cloudy too, and you'll be stuck inside a walled garden with very strong access controls for apps and content - so you probably won't be able to run any app you want.
I suspect the big names will see this as a feature rather than a bug.
I don't see cloud based apps providing these services with the same fidelity that local apps do in at least another 20 years. The speed of light and the telecom industry won't change that fast.
OSX has done well so far, even with macs being a single digit percentage of desktop and laptops. Why change a winning team now that it is expanding into the double digit percentages of the market?
Equivalently, iOS did extremely well because it was designed from scratch for small touch screen devices, where others - like Nokia - were running with a "small desktop OS" - the symbian browsers even had a virtual mouse pointer that you had to clumsily navigate with a D-pad.
Well, Intel aren't totally sleeping. They will provide SGX for exactly that reason in the near future: https://software.intel.com/en-us/blogs/2013/09/26/protecting...
https://www.nccgroup.com/en/blog/2015/01/intel-software-guar...
http://www.panic.com/blog/coda-2-5-and-the-mac-app-store/
PS-I don't think they will switch to ARM. The new USB-C MacBook is very power efficient.
Apple does have the scale on its app store to force developers to change over to ARM (say, if they announce ARM computers a year before they are for sale), but at the PPC -> x86 switch, Intel processors were more powerful than equivalent PowerPCs, allowing Rosetta to bridge the gap. This is more difficult (but not impossible) with ARM processors.
Also, if all of the computers are ARM, you lose out on virtualization, which is a biggie for many business users.
Just another part of their mishandling of things for no good reason.
Either that or we're going to need 10lbs of mobile water cooling attached to any smartphone running VR.
The Apple ARM chips are great but there is no publicly known reason to believe Intel cannot keep pace. This leaves price and manufacturing economies as the only reasons which is much different than the Motorola scenario.
You say Apple will do this to offer Macs for $50 less? That's a meaningless differentiation for their product line.
I believe you also underestimate the importance of dual-booting/running VMs, which is quite widespread. A lot of people run Windows for just one or two apps, but it's apps they have to have.
Also what about gaming? New games could target ARM/Neon but massive libraries of existing games would become unplayable.
Even the price argument is not a slam dunk because Intel has already been willing to forego profits and subsidize in the mobile space, they might be willing to do the same in the desktop space if they truly felt threatened.
The move from PowerPC to Intel was great and helped break down several barriers that were in the way. While ARM could offer them some advantages, it has its own downsides that must be factored, and is not as clear a slam dunk.
Also, the author references a projection they made three years ago about how ARM-Based macs are coming - Which would make sense if it actually since came true, but there has been no change in the state of ARM on Mac's that would justify even mentioning this. They are still making a wild guess that still has not come true.
So maybe they'll roll out a mac mini with an ARM processor - or maybe something else entirely. Or nothing. It's (relatively) safe to say they'll keep pushing the ball, but it remains to be seen which direction.