What Does 64-Bit Mean in a Phone?
In desktop systems, the jump to 64-bit operating systems meant that computers could directly access over 4 GigaBytes of memory. That will be true with phones, too – except that no phones today have over 3 GB of memory. So accessing more memory will be a future benefit, but not a current one.
There are two important reasons for Apple switching to 64-bit right now.
- ARM on 64-bit means a COMPLETELY revamped instruction set and thus micro-architecture. This is not a secret but appears to be utterly unknown to tech journalists and the internet commentariat. The ARM-v8 instruction set (the 64-bit instruction set) was deliberately designed by ARM after looking at concepts (from their earlier ISA and from the whole range of competitors) that had not held up well over time, and that were making future CPUs slower and harder to design. Thus we get a completely revamped security/interrupt model, a simplified memory consistency model, special treatment for SP and PC, dropping the predication and shifting built into every previous ARM instruction, etc etc. This is a MASSIVE change, unlike the 64-bit transition of any other vendor. Whether it’s IBM (who designed the POWER instruction set from the start with 64-bit in mind, so had few changes necessary) or x86, who bolted on their 64-bit changes to an already baroque architecture, no-one else has used such a transition as a clean slate, to throw away everything from the past that was slowing them down. The new ISA is BY FAR the most important aspect of this change. Or, to put it differently, anyone who talks about this change as though 64-bitness is what matters is a fool who doesn’t know what they are talking about.
- The sooner Apple starts this transition, the sooner they can reach its logical end point; and that end point is a much easier life for Apple engineers. On the SW side, as soon as they can exclusively ship a full 64-bit system (not even any 32-bit libraries) the sooner they can stop wasting energy on the past, from keeping the 32-bit OS going to maintaining the 32-bit dev tools. On the HW side the payoff is even greater. For the A7 they have to keep around all that painful crud from ARM history, to maintain compatibility with the 32-bit past. But as soon as feasible (which could be as soon as the A8, though I’d guess A9 is more likely) they can toss all that, which means a much simpler design job. The point is not that the backward compatibility uses a vast amount of area, it is that forcing a design into it limits what one can do, and forces a whole lot of effort into unproductive areas. Losing that compatibility frees up engineers to spend their effort on most useful endeavors. The sooner Apple does this, the sooner they can start to reap the benefits. I expect that very soon Apple will start to insist that everything submitted to the App store HAS to be built fat. It would not surprise if, six months later, they announce that anything in the app store (old apps that have not been updated in a while) which is NOT fat will be tossed. Do this aggressively enough and, within a year, they will basically have completed their 64-bit transition — everything will be in place for them to ship 64-bit only CPUs, while maintaining compatibility with the 32-bit past for as long as they feel is reasonable.
Compare this with Android. In theory Dalvik makes the 64-bit transition easy, but there is a small world of apps using native code, and a far messier environment around these — multiple app stores, much less (benign or not) pressure to force fat binaries, etc. (Even on OSX where Apple has spread the word but doesn’t have the muscle to enforce its will, there is still an amazing level of apps that are shipped purely as 32-bit x86, not fat.)
Which suggests that the vendors selling ARM CPUs into this environment will have to deal with the problems of backward compatibility and the constraints it puts on design freedom for years to come.
The benefits of 64-bit were so obvious to Apple’s primary competitor in the smart-phone world, Samsung, that its president announced immediately after Apple introduced the iPhone 5s that Samsung would have 64-bit phones soon – not immediately, but soon (yea, that’s the ticket!). Of course, even it Samsung releases phone hardware capable of 64-bit processing, it will only be a marketing ploy, since the Android operating system that Samsung relies on does not today, and will not for several years, support processing words larger than 32-bits.
There is a great article in AppleInsider about the 64-bit Apple phone: [Link]