Wednesday, 11 September 2013

iPhone 5S: The 64-bit A7 chip is marketing fluff and won’t improve performance

iPhone 5S: The 64-bit A7 chip is marketing fluff and won’t improve performance


iPhone 5S
Today, Apple announced the first 64-bit mobile phone, the iPhone 5S. The new A7 SoC is apparently using a custom version of ARM’s ARMv8 architecture, just as the A6 SoC was a custom implementation of ARMv7. There are significant boosts in general purpose and floating point registers that come along with this move. It’s not a bad call, necessarily. But the way it’s being marketed is already deceiving. The benefit of being the first company to launch a 64-bit mobile processor, even with full OS support, is approximately zero.
There are two reasons to adopt a 64-bit architecture. First, there’s RAM addressing. 32-bit systems are limited to 4GB of RAM in theory and typically 2-3GB for any single application depending on OS parameters. 64-bit operating systems allow for up to 16 exabytes of memory. The push to move ARM CPUs to 64-bit architectures has been discussed almost entirely in terms of servers because that’s where the actual benefits to memory addressing are.
AppleTownHall-869 [Anandtech]
The desktop and laptop side of the business offer useful examples here. AMD shipped the first consumer 64-bit chip in 2003. Ten years later, the majority of gamers — 53.96% — have 4GB of RAM or less. This, despite the fact that more than 75% of all users are running 64-bit operating systems. Only 13.22% of gamers according to the Steam Hardware Survey are running Windows 7 32-bit, and that’s the most popular 32-bit OS.
Apple isn’t going to start shipping a phone with more than 4GB of RAM, because RAM takes a significant amount of power to initialize. That’s a non-starter. In mobile, you rearchitect to cut power, not to spend more of it running banks of memory you don’t need. That leaves the second advantage of moving to a 64-bit architecture — companies often use them as an excuse to clean up all the cruft and garbage left in a previous implementation of a 32-bit chip.
ARM stack
ARM’s architectural stack. The A7 is based on ARM’s AArch64 instruction set.
ARM has done some of that in ARMv8, to be sure, but these advantages are only available in 64-bit mode. 32-bit apps, which will constitute an overwhelming majority for the foreseeable future, can only take advantage of the 32-bit registers and operating modes. That’s a fundamental limitation of compatibility modes — you can’t build a chip that perfectly mirrors 32-bit mode for maximum compatibility but still provides access to new registers and floating point capabilities. The 32-bit version of Angry Birds doesn’t know those options exist, and it can’t use them.
The other disadvantage of going to 64-bit is that your code size and DRAM fetches all inflate somewhat. Good code practices can keep this down, but compare any 32-bit program to a 64-bit version, and you’ll find that the 64-bit flavor is slightly larger. That makes power efficiency more difficult, though Apple can still extract net gains here due to more efficient use of processor characteristics.
Apple A7 SoC [Image credit: The Verge]

Don’t be fooled

None of this means the A7 won’t be faster than A6, but it does mean that the 64-bit status of the A7 is a marketing tool, not a genuine performance boost. The major reasons for adopting 64-bit architectures simply aren’t present in mobile devices. It’s not clear that a phone with 4-8GB of RAM ever makes sense given current constraints on battery life. The blend of 64- and 32-bit software means the A7 will offer strong performance in both categories (good), but won’t automatically have a clear benefit from doing so until the entire application stack has switched over. That’s not going to happen for years yet, given that iOS7 supports all iPhones going back to iPhone 4.
For all the noted new features of the iPhone 5S, this 64-bit switch is almost entirely marketing fluff. It’s not going to be the key to the SoC’s higher performance. That’ll come from architectural improvements Apple integrates into the phone’s handling of 32-bit code for at least the next 6-12 months.

0 comments:

Post a Comment