Apple recently unleashed the era of 64 bit computing in mobile devices with introduction of A7 CPU (ARM v8 architecture) in the new iPhone 5S.
That begs the question to be asked, why 64 bit? Was 32 bit not good enough? Why didn't Motorola, Nokia, HTC, Samsung, LG or numerous other vendors didn’t see it? Is it a marketing gimmick? Did they need something to sell the new phones and 64 bit was a big enough differentiator?
Apart from speculations, 64 bit computing has an important significance. It seeds the market towards moving up the ladder and unleashing the era of 64 bit computing and 64 bit applications for mobile devices. The desktop went through a similar transition during 2000-2007 and it took several years. Even now, there is a vast amount of code still not 64 bit ready or still working in so called 32 bit mode.
Why 64-bit mobile is good?
Mac OSX has been a truly 64 bit operating system for a while and Apple had no problem going down that path. Pushing the 64 bit computing adds significant value to Apple’s position in market and driving smartphones and smart devices as the new paradigm of primary consumer computing.
With 64 bit iOS, Apple would:
- Benefit from a single unified code base and applications. Mac OSX has been a 64 bit for a while and it makes sense to unify the eco-system. It will still be several years before all the previous devices are obsolete.
- With 64 bit the device can address large memory address space above 4 GB (2^32). This provides ability to directly map the 16GB+ device memory without separating the address space in chunks of 4GB or using other paged access techniques. This reduces memory swapping. Although the RAM used in devices is 1GB as advertised, it opens doors for future devices that may need larger memory (think Gaming or iTV).
- Better prefetch and execute cycles in CPU as multiple instructions can be fetched and executed in single cycles. Apple Xcode uses LLVM or GCC compilers. GCC has been 64 bit ready for more than 10 years.
- Significant performance boost in number crunching applications. No wonder Apple thumb ID is so fast and quite cool.
- Reduced CPU speed to preserve battery while flushing seemingly similar performance.
Apple’s 64 bit push also puts peer pressure on Android and Windows Mobile devices to rethink and raise the bar towards 64 bit.
The problems with 64-bit
64 bit architecture also has its disadvantages:
- Program sizes increase as the programs are utilising 64 bit word (CPU terminology). Similarly a loaded program in memory also takes larger space.
- Vast majority of programs are not 64 bit ready. So CPU is performing sub optimally most of the time.
- Eco system (other vendor libraries) are not 64 bit ready and will take time.
- Developer knowledge of 64 bit is poor and that leads to poor architectures or errors in programming.
Are we ready?
A lot of iOS development companies would find themselves in a completely new territory because the subtle differences in program execution and behavior will hit them hard and in ways they will not anticipate. It will take a clear, deeper understanding of 64 bit to understand what can be done with 64 bit and how the true potential of the beast can be recognized.
I have been doing 64 bit programming since the year 2000 starting with Compaq Tru64 and all the x64 solaris, linux and Itanium architectures. This move is right inside our core expertise and our development teams will be ready to utilise the 64 bit shift in mobile computing also.
We welcome any/all questions that Aquevix can answer to help businesses understand the impact of 64-bit computing in their enterprises.
For Aquevix, we welcome the new 64 bit smartphones.