Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think that Apple is going to move to a side-by-side x64/ARM model with the ARM chip running the full OSX kernel and the x64 chip being an on-demand auxiliary processor available for user-space applications that haven't or can't be recompiled for ARM (ie: VirtualBox) or need more horsepower.

The new interconnects on the Intel chip should ensure that both CPUs can access RAM and various peripherals without performance suffering. Apps can then choose whether to be run as native ARM or x64. The core apps will all run on ARM, allowing x64 chip to sleep and the new Macbook Airs to boast 20+ hour runtimes when performing core tasks only.

I haven't seen anyone else with this theory, but it makes a great deal of sense that Apple would push this. They have control over most of the stack: the ARM CPU, the kernel and the motherboard design. More details here - I'd be interested in hearing if others think this is feasible:

http://grack.com/blog/2011/05/07/how-apple-can-make-use-of-a...



It's certainly possible I think, but what you're talking about is more-or-less asymmetric multiprocessing, which (according to Wikipedia at least) is generally more complicated to implement at a hardware level:

http://en.wikipedia.org/wiki/Symmetric_multiprocessing#Alter...


Exactly, this is just an asymmetric MP configuration. Note that this isn't exactly groundbreaking either. Others have already been using QPI to hook FPGAs up as accelerators. I don't doubt that it's a complicated technical endeavour, but Apple is certainly home to a number of talented engineers:

http://www.nallatech.com/Latest-News/xilinx-demonstrates-int...

http://www.eetimes.com/electronics-news/4207772/Xilinx-demos...


This is a wild idea, but there is precedent in the example of the dual-graphics systems.

That said, I'd be very surprised if Apple implemented this initially in the MBA first. Maybe the MBA will move to A5, then down the road, the high-end laptops will go dual Ax/x86. One approach might be to expect a multi-core Ax machine with a single Ax core dedicated and custom designed to emulate an x86... Might be worth keeping an eye on Apple job ads, since we know they have used emulation techniques in the past, such as Rosetta.


Getting the two to interoperate eg cache invalidation would be hard without Intel cooperating I think. Running as independent systems but maybe sharing some pci devices might be easier. They would have to run two OS kernels anyway as mixing a dual architecture kernel would be hard.


The Mach kernel uses messaging as its core component, that is what it is built on. Messaging means it becomes easier to share state since it is all messages anyway.


I haven't seen anyone else with this theory

I was going to post and suggest it, but was too afraid of looking like a doofus.

On the one hand, VMWare Fault Tolerance keeps two virtual machines on two separate hosts in sync down to the CPU instruction. VMotion moves running processes around live. Suspend to RAM and Disk do work on running processes, and Apple have a two-video-card model in production, and 32/64bit tolerance, and have had PPC/Intel combined tolerance, and dual core, dual CPU computers exist. These are all mildly supporting evidence that such low level trickery and successful complex solution might be possible.

On the other hand, I have no idea what two different classes of CPUs working on the same motherboard would mean, or how much complexity and bugs it would introduce, or how much cost. Or whether they'd be better off spending the effort on reducing power use somewhere else. Or whether they could deal with running the kernel on Arm and Virtualbox on Intel and still dissipate the heat while also having much reduced battery life.

My biggest counter is that low level stuff seems to be a lot harder in practise than the higher level discussions always make it sound.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: