A great deal of articles have come out trying to sour Apple’s A7 processor and the fact that they have moved their ARM architecture from 32-bit to 64-bit. The narrative claims that there are no tangible benefits to make the move from 32-bit to 64-bit in mobile devices today.
Much of the narrative is rooted in a desktop perspective with regard to 64-bit architectures. Folks were quick to point out unless the iPhone has 4gb of memory that 64-bit will be useless. Those folks are using a desktop computing mindset to 64-bit not a mobile one. iOS for example is extremely memory efficient as are the apps that run on it.
This kind of thinking also discounts Apple’s vertical approach from the Soc, to the hardware, and the software. Because they control the OS they can “tune” or “optimize” the software to maximize efficiently every bit of the core they designed. Apple needs only to design the A7 for one purpose–iOS. Therefore, they can focus in on optimization for performance gains in all areas they feel are important.
Now, while we can certainly make the case that Apple could have achieved many performance gains by staying 32-bit we need to understand the context of how they would have achieved that.
Throw More Cores At It
If you study trends in the semiconductor industry you know that more area of the chip is being dedicated to graphics. It is almost as if the GPU is becoming more important than the CPU. But that is a discussion for another time.
Apple could have effectively accomplished performance gains of some magnitude simply by designing a quad-core version of the A7. Apple is yet to design a quad-core SoC and this would have given them performance gains. However, it would have come at a power cost. More cores require more power. Now there are very good and power efficient quad-core ARM processors available today from Qualcomm and Nvidia. But by moving to 64-bit and staying dual-core, Apple has effectively delivered equal to and perhaps better performance than competitors running quad-core chipsets with a dual-core solution.
So where will this matter? Battery life is the biggest beneficiary in the short term. Every task that utilizes the CPU or the GPU will happen faster allowing the CPU to return to a low-power state much faster.
Many will claim that consumers don’t care about specs. And this is true in most regions. However, there is a group that cares very much about specs, a group that is very important to Apple–developers.
Never Before Seen
One of my favorite lines when talking with developers is: “you can never have enough performance.” I hear this exact line so often you would think it is their motto.
Recently, I heard a wise man say: “Performance doesn’t matter. Until you don’t have enough of it.”
The key to understanding the value of the A7 being 64-bit is what developers will do with it.
We saw a great example from the team at Epic Games at the Apple event Tuesday. While showing off the preview for their upcoming game Infinity Blade III they made an important observation. They pointed out that they could keep “turning on features” they wanted to use in the game. Games like Infinity Blade use engines built around the graphics libraries. Many of the features encompassed in the graphics libraries can’t be used if the CPU or GPU can’t support it. When this happens developers just turn off features. When game developers are provided with more performance they take advantage of it and their applications and the experience with those applications benefit.
We will look back in a few months when we see extremely talented and creative developers take advantage of the A7’s performance and create classes of applications never seen or possible before on mobile devices.
Pundits and the media may look at the A7 being 64-bit and say big deal. However, developers who make a living creating best in class software to push the future of mobile computing forward will look at the A7 being 64-bit and say BIG DEAL!
Foundation For the Future
By going to 64-bit now it sets Apple up for greater performance gains utilizing the architecture for their future. This years gains are 2X with better power efficiency. Next years will be 2X or greater with even better power efficiency and so forth. Each generation delivering better performance-per-watt. Within this context it is easier to understand the “why now” angle to the A7 being 64-bit.
Apple certainly could have kept riding the 32-bit curve and just added cores and optimization with each new process node. But by going 64-bit now, it means they have more grand ambitions to push the envelope in what is possible computationally with their smartphones, tablets, and perhaps more much sooner than expected.
The iPhone will benefit from this, as I pointed out, with battery gains and new classes of applications (particular those that are graphically or computationally complex) but the real winner with this move will be the iPad.
I am, of course, speculating but I think it is reasonable to assume that the next iPad will run the 64-bit A7. Bringing a true desktop class processor to the iPad has the potential to change the game dramatically in terms of how the iPad is used and the types of applications possible on it.
And of course, this move will fuel the fire that Apple may have intentions of bringing the A7 to ‘some’ Mac products.
If you are interested in a much deeper dive on this new ARMv8 64-bit architecture, I recommend this article written by David Kanter.((if you do read the article pay attention in particular to the sections on register states, memory, and virtual addressing)) I found something he wrote in the conclusion of interest.
“In some respects though, the more significant changes came not from adding features, but removing them.”
Sounds kind of familiar.