Apple has the resources and the motivation to build a "desktop" 64 bit ARM processor. The history here is also interesting. After debuting the Macintosh in 1984, and getting into fights with Motorola over what should be in the next generation chips, they did the unthinkable and adopted an entirely new instruction set architecture, PowerPC.
That relationship ended on a fairly rocky note and Apple did not have the IP rights to continue PowerPC development or the infrastructure access. They switched to Intel's architecture with great fan fare and started using ARM in their mobile offering. Now ARM has reached the point where it is adopting "high end" features faster than Intel can invent new ones. And Apple has both proven to itself that it can design and fab a completely bespoke CPU design without any input from the original owner.
So here we are looking down the barrel of "bespoke chip architecture round II."
It gives Apple some unique advantages that neither Microsoft nor Google can match.
The 65816 (used in the IIgs) was also pretty much bespoke.
This was all in the exiled-Jobs years while Apple was thrashing about trying to build a real operating system (or systems) to replace classic Mac OS. (NeXT also played with the m88k.)
And ARM wasn't new to Apple with the iOS systems, either. The Newton was built around ARM back in the 90s.
A lot of that thinking was laid out fairly extensively in the lawsuit over manufacturing sapphire they got into. The manufacturer (GT Advanced) complained (reasonably I think) that Apple's contracts were so onerous as to make them employees of the company in everything but name. And that appears to be how Apple likes it, complete control of their destiny when ever possible.
https://www.nytimes.com/2014/08/11/technology/-inside-apples...
http://www.asymco.com/2011/05/08/codifying-asymmetry-how-app...
When new, key players arrive they're attracted and vetted by the existing community. And that community is well populated with folks that have long tenure.
There are plenty of folks at Apple in key technical positions with 10+ years at the company, and not a few with more than 20.
I also suspect that a company like Apple would have a portion of employees that stick around for the very long term, who have been there since early days and can act as the company's institutional memory.
Specifically in this instance though, it's pretty clear that Apple is going down this road because they've already started going down this road. This is all just straightforward technology and skill reuse: the touch bar is pretty much an Apple Watch in a different package.
Didn't they get those rights when they bought PA Semi? I think it didn't make sense for Apple to develop their own processor in 2005 because they were just in a much weaker position than they are now.
And it was said that in the old days Exponential got their PowerPC license from Apple.
Or they can switch to their bitcode bundles for Mac apps like the iOS apps and transcode for Intel / ARM on delivery. Plus they have previous form in this area with the "run PPC apps on Intel" via Rhapsody (IIRC.) It'll be a stumbling block, nothing more.
Isn't Google working on some in-house chip for training neural networks? (That's only server-side as far as I know, but still.)
If you look at most of the processes running on a Mac, how many of those need to be running on the power-hungrier Intel chip? You could easily offload much of the kernel, Dock, compositor, Twitter desktop, etc to a lower-power ARM. In the case where you aren't running any x64 apps, you could then power that chip down and run solely on ARM.
Ultimately, the 2016 MBPs are a great example of why Apple needs to divest from Intel. The poor timing for Kaby Lake mobile processors and lack of low-power RAM were both Apple's reasons stated when the topic of "the MBP isn't keeping up with the competition" arises.
And who's to say that macOS.next will be anything similar to the current macOS?
Citation needed.
"We love the Mac and are as committed to it, in both desktops and notebooks, as we ever have been."
http://www.independent.co.uk/life-style/gadgets-and-tech/fea...
But a heterogenous CPU certainly does make sense. A super efficient, but not particular fast core for specific tasks that are more or less always running, and the beefy full core for regular work. If it eeks out another 2 hours of battery life, I can see Apple doing it when they're redoing a CPU from the ground up.
HP and Dell have gotten smarter and are making better devices. Apple has powerful resources in the ARM space that their competition cannot match -- they are 100% dependent on Intel, who are having issues shipping product.
Apple haters...
For now, the ARM will be a low-power co-processor handling a few tasks via specially compiled extensions. However, as Apple continues to iterate on the AX processors, and they, along with developers, figure out how to move more stuff onto ARM, the role of the Intel chips will decrease until they are the low-power co-processor running only legacy stuff which can't be easily ported or emulated. Until one day they just go away.
It makes sense that they'd want to own their core processor tech – they've got the talent and in a few years time will have the technology. It seems that each architecture change they've made has been driven by a supplier not being able to deliver, from Motorola with 68k to Motorola (again) and IBM with PowerPC and now Intel.
If a significant number of MBP customers are running VMWare or Parallels, however, this might seriously hurt the timeline for moving to 100% ARM. In that case they'd either have higher-end Macs with the x64 chips (potentially complicating the product line) or work on adding x64 emulation acceleration to their Ax chip line.
Honestly, pretty much every complex electronic device (and quite a few not so!) out there has a bunch of ARMs inside of it doing system management. This is borderline a non-story IMO.
Hell, an ARM7TDMI was a pretty common core to use on SD cards a few years back. The damn things are everywhere.
So while that is similar on its face to hybrid graphics, I'm not sure it would be feasible to offload background tasks to the low power mode as it would be constantly switching modes every few milliseconds. More likely this architecture is better suited to Power Nap where the whole device enters a low-power state with restricted functions. That also sidesteps the issue of having to compile every third party app for two architectures. They can just implement the Power Nap stuff for ARM.
I have no doubts at all that Apple have at least had extensive internal discussion and testing about this. In fact, I believe they've probably done extensive internal discussion and testing about replacing the Intel one altogether, but can't get there yet.
It'd give Apple more control over their device design and release schedule, potentially lower power consumption, and straight up more profit via vertical integration.
Like the PowerPC transition, they could come up with a new Rosetta - which was the emulator that ran old PowerPC apps on x86. Microsoft has recently demoed x86 apps on ARM, and I'm sure Apple could do the same.
As far as I know there's no fundamental reason ARM processors can't be as fast as x86 ones, they just haven't been targeted for those kind of devices yet - but I'd be happy to be corrected by any CPU experts. And with Apple's success in the mobile processor space, I have no doubts that if anyone could pull this off, it'd be them.
So what's holding them back? Thunderbolt. They've gone all-in on that already - touting as the future of high speed external devices, and giving the MacBook Pro nothing but four Thunderbolt enabled USB-C ports and a headphone port. But Thunderbolt is an Intel property, only available on their CPUs.
The 12" MacBook already doesn't have Thunderbolt (the MacBook Pro does), but it feels like with software compatibility, this would be an all-or-nothing thing. I don't see Apple continuing to sell both x86 and ARM machines on an ongoing basis. So how would they get Thunderbolt into the MacBook Pro?
Having a co processor to handle PowerNap would allow them to take a small step in that direction without losing Thunderbolt or having to develop a slow x86 emulator. They could even offload other parts of the OS to the ARM cpu, freeing up the main CPU for other software, and to go into low power mode more often.
Saying that - and I hope someone corrects me here if I'm wrong, I was under the impression that Apple & Intel jointly created Thunderbolt (or perhaps it is an Intel only tech), which means Apple may have some sway here.
Just thinking about it more - Thunderbolt is just a protocol driven over USB-C now, so I'm fairly certain USB (3/C) might eventually be able to cover everything Thunderbolt does, or apple takes their "lightning" protocol to replace Thunderbolt, and use that over USB instead of Thunderbolt over USB.
Just musing but it is a very under appreciated aspect to all of this as well!
There's still a mention of an expansion card on their site:
https://www.asus.com/us/Motherboard-Accessory/ThunderboltEX-...
But it's only compatible with ASUS motherboards that already have Thunderbolt. So I'm not sure what the point of it is (just to upgrade from ThunderBolt 2.0 to 3.0 maybe?), and as far as I can tell... still requires intel.
So as far as I'm aware, no product has ever released with Thunderbolt that doesn't use an Intel CPU (and even then, only higher-end ones).
Licensing aside, it may be a technical issue - ThunderBolt is an extension of PCI-express, which just isn't part of the ARM design. I'm not sure how feasible it would be to add it.
But the idea that they have the Mac OS running on their own ARM chips -- Apple shareholders should be annoyed if the company weren't doing this.
OS X was running for a long time on Intel before anyone decided to make Intel based Macs.
Earlier today via HN....
http://www.macworld.com/article/3163248/ios/the-future-of-io...
All this said, I like to see completion. There are some very interesting Window 10 hybrid devices, and the new tiltable desktop Surface look interesting. I hope that there is never a 'winner take all' for consumer devices.
And if the company wasn't floating the idea of switching. Should at least give them leverage in negotiations with Intel.
Intel needs to sacrifice Microsoft and make x86 a legacy architecture. There are huge parts of their processor designs that no one at the company modifies (or even understands) from one generation to the next, but which they cannot remove for backwards compatibility purposes. It's time to start fresh with a new architecture if they want to maintain their reputation of having the most powerful technology.
They tried that, though. It was called Itanium and it went nowhere. Now, Itanium had all kinds of other problems and I wouldn't call its failure incontrovertible evidence against "Intel should make a new architecture", but I can understand why the company isn't eager to try that again.
Backwards compatibility exerts an powerful gravitational pull that is extremely difficult to break away from if you're not started a new platform ex nihilo (which Apple did for the iPhone).
AMD probably could have done something similar. They just didn't, likely out of risk aversion.
And the i860, and i960, and i432...
It was popular in its intended niche (HPC) for a while, but the value proposition was not sufficient. It dropped some x86 baggage but it didn't add anything fundamentally superior on top of it -- the ILP could easily be attained by having more cores on x86. To be honest I actually really like what they did with Itanium, but it wasn't a good enough innovation to break off the family line of backwards compatibility.
Either way, it's been 20+ years they could try again.
x86 decode is a tiny, tiny part of the overhead of modern x86 CPUs. Architecture for the most part at this point doesn't matter unless you are talking about truly novel approaches like the Mill. Arm certainly is not a significant improvement.
The last time Intel did this it was called Itanium and it was horrible. Historically, almost all attempts to replace an enormously successful product line with something incompatible have failed.
Except AArch64, which has a legacy 32 bit mode for compatibility but is otherwise a totally separate ISA, unlike x86-64 and i386.
It's taken roughly 40 years to get x86 to its current position, and almost as long to get ARM to its current position. For how many years would you have to invest in a new architecture (ie lose money) before you could compete with them?
AMD has just done a new chip design (Zen) but it's x86-compatible because that's where the software is....
Isn't this about Security more then anything else?
IF it is about power, Intel SoC uses very little power during Power NAP. And any saving by switching to ARM should be negligible, when you consider the memory and I/O needed during Power NAP.
If it is about cost, Apple could have worked with AMD on Mac. I am pretty sure Ryzen and Vega works better on dollar / performance / Power. Especially on the Desktop Mac. Considering AMD has done special chip with console, I dont see why Apple couldn't use this model as well.
Since Intel's CPU has IME which Apple has no control, would that be a reason? Apple taking security in their own hands.
That being said, I've seen a number of comments about running iOS apps on Macs, or "convertible" Macs/iPads, and so on. I think those are off base given the supposed purity that Apple always talks about.
However, there is one thing I've never seen mentioned - a combined Mac/iOS binary. Similar to the old Universal binary for PPC/Intel, this could be a single app that just has different UX depending on the device it's run on.
I'm not sure why nobody has talked about that option, as it seems most likely to me, and gives more weight to the ARM everywhere strategy.
One "app", and it would be native, with native UI on whichever device it's running on (Mac/iOS/TV/Watch/etc.). Given Apple's investment into a streamlined complier that they rolled out with Watch, many if not most of the pieces are already in place for this.
It would not surprise me if that is the big announcement for this summer (or next at the latest).
I fear that this will dumb it down too much for the power users, and conversely over-complicate it for the average iOS user. I'd love to be wrong...
Think of something like MS Outlook - it's a big, complex app with lots of features. Now imagine that you only write the app once, but design two interfaces for it - one set for the Mac, and the other for the iPad. You compile through XCode, and upload to the App store. Apple notes that their are interfaces for both iPad and Mac, and posts it in both app stores.
Obviously the mechanics would not be exactly like this (I presume a manifest of some kind), but it should be pretty close.
For Apple, this would bring more developers onto their tooling (yes, even many of those that complain about XCode), and allow more developers to target multiple platforms with little extra effort.
In fact, one of the more interesting things is that Apple could even create new platforms that just require some interface additions and an updated manifest.
Have a bug in your code? One fix. One upload. One code review.
Because they're already doing something better. All iOS apps compile to Bitcode, an intermediary representation that can then compile an optimized binary for the target device architecture.[1]
So if there ever were a desire to run iOS apps on Mac, they'd just compile from Bitcode. Having said that, there's explicitly zero desire to do this.
[1] https://developer.apple.com/library/content/documentation/ID...
Source: the recent Accidental Tech Podcast that interviewed Chris Lattner.
The flagship ARM A72 and A73 are not adequate for true desktop class performance, somewhat catching up to Intel's low end core u laptop chips. It's increasingly looking like to get x86 level performance ARM would lose its low power advantages.
The AMD Zen on the other hand appears to be extremely efficient. I fiddled with ARM boards on and off for over 3 years excited by the possibilities of tiny form factor desktop class computing at laughably minimal costs with ARM SOCs. The reality is the extremely poor to non existent driver support and the 'effectively closed' ARM ecosystem is a deal breaker that left me disillusioned and strangely relieved with the the open PC ecosystem.
On the other hand, Apple does seem to have the capability to design competitive desktop class CPUs, so who knows.
The overhead was mostly acceptable because the performance boost from the chip change hid a lot of it. Not to mention the CISC vs RISC thing worked in Apple's Favour. There are few PPC instructions that were required to be supported that couldn't be covered with a small number of x86 instructions.
There is not a publicly available ARM chip that has single thread performance anywhere near the i5 / i7 chips being used. Add to this the complexity of converting SSE to equivalent instructions and the overheads dealing with edge cases, I am not sure there is much chance of equivalent performance.
The one thing going for Apple with an intel -> arm switch is that almost all major apps a built using Xcode. When PPC -> x86 happened, the apps that lagged the most were the ones stuck on CodeWarrior and other 3rd party IDEs that apple never gave sufficient notice to port in advance of the general announcement (however I will concede that codewarrior was owned by Motorola so it may not have made the jump anyway).
I think if Apple does release ARM based macs, it will be with apps specifically recompiled, not using an emulation layer.
Eh, the instruction set doesn't matter that much for modern CPU designers (within reason). Apple's in house expertise came (in part) from their acquisition of P.A. Semi and their PowerPC engineers; Apple it seems immediately redirected them to working on ARM designs. And the Transmeta guys proved that a third party can put out an interesting x86 chip if you can get access to the licenses.
(So, yeah, AMD could do their own slightly-different chip, using just the bits and bobs that are strictly theirs.)
Thinking about this I've convinced myself that what will happen is the ARM core will periodically check for various statuses (i.e. connect to your imap/pop server and see if there is new mail) and turn on an indicator or perhaps wake the intel cores. Which is to say that the powernap/low power functionality will be restricted to either things apple delivers ootb or to a special API. Not as something that automatically migrates whatever workload is running on the powerful intel cores into a slow motion version of the same thing running on the ARM cores.
https://www.sec.gov/Archives/edgar/data/2488/000119312509236...
That really sounds like a winning proposition for Apple, given that Intel's own 64-bit arches historically sucked.
And I wonder if any of this relevant to making modern x64 compatible cpus?
>Advanced Micro Devices has clarified terms of the cross-license agreement with Intel Corp. on Thursday. As it appears, if either AMD or Intel change their control (i.e., gets acquired), the cross-license agreement between the two companies is automatically terminated for both parties.
Since AMD invented x64 this would leave Intel in quite a bind and the only solution would be to work with the new owner to reach an agreement.
(1) - I can only imagine it with a virtualized ISA ala IBM. Still - even they didn't do that. The capabilities only exist in separation: eg. IBM TIMI allows to move applications across physical processor ISAs, while various clustered virtualization implementations can move live VMs across distinct hosts.
Sure, the plan as presented might work, but the migration will take years, be messy, and lead to lots of unhappy customers due to poor emulation performance, dropping legacy app support, bugs in a new architecture etc.
(Sh|C)ould this be a concern for Intel?
look at iPhone 6 for clues - Apple replaced 0.1 mm thick piece of metal rf shield with a sticker to make it thinner, that removed metal can was reinforcing pcb and all the bga chips, without it iPhone 6/6+ bends, cracks balls under important ICs and develops touch disease.
- 4GHz 12-core 64-bit ARM OooE with 256KiB L2 cache per core
- 12MiB of L3 cache
- Integrated graphics with 128MB eDRAM
- PCI-Express buses
- 35 GB/s DDR4 memory controller
- 5-65W power usage
Hurricane could probably run at 3GHz but to get to 4GHz might require serious work. Apple hasn't used eDRAM but in theory they could adopt it. The rest looks like no big deal.
Looks like I was on to something
Man, I hated hearing that question. It was so utterly retarded, but trying to explain to the person who asked why it was a retarded thing to say always came off as damage control.
>Yep, not IBM compatible. Not interested.
Maybe Apple can get away with their own chips now. It sounds like they just want to take more R&D away from Mac though. "Just stick an A10 in it."
macOS applications could similarly be built to run on multiple instruction sets with basically no effort from the developers.
Perhaps initially it might be restricted to first-party apps, or maybe AppStore apps, but having fat binaries is something macOS developers are used to doing ...
The difficult bit would be the runtime migration from x86 to ARM and back. For processes that can restarted, it's easy. For running, stateful applications it would be more difficult.
But I think things like Mail.app already use a backend daemon to manage their datastore: you could suspend the UI process and restart the backend daemon on the low-power CPU fairly simply ...