Why Apple Went 64-Bit With the iPhone 5s 512
Hugh Pickens DOT Com writes "Adrian Kingsley-Hughes says it's not just because Apple likes bragging about being first and because a 64-bit processor sounds cooler than 32-bits that Apple used the 64-bit A7 chip in the new iPhone 5s. A shift from a 32-bit processor to a 64-bit part paves the way for iPhones to be fitted out with 4GB+ of RAM down the line, but more importantly the move brings iOS and OS X apps much closer. The architecture for 64-bit apps on iOS will be almost identical to the architecture for OS X apps, making it easy to create a common code base that runs in both operating systems. 'Apple has slowly been bringing iOS-like features to Mac OS for years now: think of Launchpad and Gatekeeper,' writes Sascha Segan. 'The ultimate prize, of course, would be to bring the million-plus iOS apps to Macs. Apple could do that with an ARM-compatible virtual machine on Mac hardware, but it would want the VM, the OS and the associated apps to play nicely in the much larger memory space available on Macs. That means moving the whole system over to 64 bit.' By unifying iOS and Mac OS with Xcode developer tools in a 64-bit space, Apple could once again leap ahead of Microsoft and Google, says Segan. Microsoft hasn't yet been able to leverage its desktop strengths to achieve success as a mobile OS. The 64-bit chips for Android devices aren't ready, and neither is Android itself."
Re:Android is finished. (Score:5, Informative)
I forget how many cat versions Apple used to say was finally ready for 64 bit. I think it started in 10.2, 10.3 definitly had it. But Cocoa didn't go 64 bit until 10.5 and the kernel was still 32 bit until 10.7. So I don't know about this "designed from the ground up", more like "bolted on in the last minute."
Re:Android is finished. (Score:5, Informative)
Android is ready for x64, TFA doesn't have a clue. It's just a recompile away. In fact, because most Android apps are written in Java they will take advantage of 64 bit CPUs without even a recompile.
Re:64-bit BS (Score:4, Informative)
Re:Debian (Score:2, Informative)
If you are not making an open source application that needs to run on a lot of machines, then you can take some shortcuts.
I develop OS X software and I make it specifically for OS X, this gives tools as a developer to use the libraries in OS X, which makes it very easy to quickly make a well behaving application.
One of my applications was written when it when OS X was still 32 bit, this forced me to read from files using read(), while I rather use mmap() for reading from files. Using mmap() on large files requires (if you don't want to keep remapping) a 64 bit OS. This is one place where a 64 bit OS is useful when you have less than 4GB of memory.
Re:Moronic (Score:5, Informative)
32bit ARM - 1024GB RAM with LPAE (Score:5, Informative)
Cortex A15 has 40 bit addressing and can access 1TB of physical RAM.
The 32 bit limit is per process.
Re: 64-bit BS (Score:5, Informative)
You are absolutely right. The whole summary doesn't make any sense at all... first of all, the Macs run 32-bit applications just fine. Second, if you can emulate a 64-bit ARM, you can emulate a 32-bit ARM. Third, phone apps would suck on a laptop or desktop.
I suspect they went to 64-bit for the simple reason that it is the direction ARM is going. This processor design is likely to show up in their lower-end products for years after it leaves their flagship device, and the sooner they go to 64-bit, the sooner they can depreciate the 32-bit stuff. Unless the 64-bit chip cost significantly more to design, produce, or unless it has a significant performance penalty, there is no reason to delay making it.
64-bit is simply next evolution of embedded chips (Score:4, Informative)
Re:64-bit BS (Score:3, Informative)
32-bit can address up to 4GB of RAM. So 32-bit will be fine until they create a phone with > 4GB of RAM.
Seriously, has no one here heard of Physical Address Extension? 32-bit architectures can definitely access more than 4GB of RAM. There are MS Server 2008 editions that can access 64GB. MS uses it as leverage to get customers to buy more expensive SKUs. A single process is what is limited to 4GB on a 32-bit system.
Re:64-bit BS (Score:5, Informative)
Parent wasnt making an absolute statement, he was (correctly) stating that 64-bit will have almost no benefit on a cellphone for a very long time;
That statement is unequivocally wrong. It will have a benefit very soon. It is exactly what I have been waiting for, and I know other developers in the same position. I was hoping for it in 2014, getting it a year early is incredibly sweet.
...and that the author of the article has no idea what they're talking about (since ARM being 64-bit has no relevance to compatibility with a 64-bit Intel processor.
But that's not what the article said. It talked about using the "same codebase", meaning same source code, and thought it didn't state it explicitly, it sure sounded like he was implying same backend data-handling code, not UI. And yes, this is important. If you use algorithms that need a large virtual space on OS X, and you have to completely back off that and use something else on iOS, what a pain--oh, and in some cases, the iOS version is lower-performance as well because of that change. And that sucks. Having to go to lower-performance algorithms on a mobile platform is a double hit to performance.
But hey, if you don't actually have a clue of all the things a 64-bit address space enables, then the above will sound like gibberish...
Re:Android is finished. (Score:5, Informative)
Android could be 64 bit. Right now the hardware is not. It will take some coordination between Google and the OEMs to make it 64-bit. An obstacle is that the chipmakers haven't released a 64-bit ARM chip yet. Most likely it will be based on the Cortex 50 series.
Re:Bring the million-plus iOS apps to Macs... (Score:5, Informative)
Yeah I'm a little confused by this statement:
Apple could once again leap ahead of Microsoft and Google, says Segan. Microsoft hasn't yet been able to leverage its desktop strengths to achieve success as a mobile OS.
If anyone is well positioned for apps to run on both operating systems it's... Microsoft. They have one kernel running on phones and tablets and laptops. They also haven't arbitrarily delineated PCs and Tablets like OSX has.
You literally already can run an x86 or metro app on most windows 8 tablets. And with Metro almost all of the apps already run on ARM and x86-64. Not to mention Windows 8.1 works really well on my tablet and my home desktop. My work machine hasn't been upgraded yet but I just saw that MacDrive now supports Windows 8 so I think it's safe.
When OSX attempts to bridge the gulf between OSX and iOS it's going to run into the exact same challenge that Microsoft has in Windows 8. And like Windows 8 it'll have teething issues. The difference is that Windows has already been at it for over 2 years and it already has a 64 bit ready tablet OS with proven multi-tasking etc. I don't see how Apple is any kind of position to leapfrog Microsoft in development since Microsoft is *already there*.
Google is also well positioned with existing products that allow you to run Google Apps on x86 windows tablets. Intel is also investing a lot of money to port Android over to x86 natively for their phone x86 chips. So while a little behind Microsoft in porting their OS to a desktop environment between Intel's efforts and the Transformer book (which is very much like a desktop/laptop experience) Android could very easily cross over.
Apple could feasibly leapfrog Android if they doubled down on enabling keyboard/mouse input and OSX runtime but they can't by any definition leapfrog Microsoft which has already finished the transition.
Re: 64-bit BS (Score:5, Informative)
The article is BS, because it assumes there are no legit technical reasons to go to ARM's 64-bit standard. To name a few:
1. Twice as many general purpose registers
2. Twice as wide general purpose registers (so 4x the number of bytes in the register file)
3. Twice as many SIMD registers
4. Double-precision SIMD
5. On-chip encryption
6. Sparse address space for security
7. Memory mapping huge files (49-bit virtual address space)
8. A64 cleaned up the old instruction set quite a bit
And yes, tablets will probably have 8GB of RAM in the next couple of years. The XBox One and PS4 will both have 8GB, and Apple is rumored to be gunning for the living room soon as well, so putting this in the 5s gives them economies of scale before they even release a product.
Besides, the iPhone Simulator has always run on the Mac in x86, so most iPhone software has already shown a high degree of Mac interoperability. In short, having the bittedness in common with the Mac is probably way, way down the list for why they went 64-bit so early.
idiot (Score:4, Informative)
Author is an idiot.
'The ultimate prize, of course, would be to bring the million-plus iOS apps to Macs.
Which is what will definitely not happen, because Apple is about the only company on this planet that really understands that mobile and desktop are two different animals, with different needs and patterns of interaction.
Microsoft's "surface" isn't a fail because the hardware sucks, you know?
The ultimate prize is that developers will have an easier time writing stuff for both iOS and OS X, because they can share the backend code between the two and only have to write a new frontend.
That way, instead of getting a million crap apps that work badly on OS X, you will get a few thousand quality apps with a true OS X interface.