New 10.5” and 12.9” iPad Pros were widely anticipated going into this year’s WWDC. It had been 19 months since the launch of the original 12.9” iPad Pro, and nine months since the release of the A10. Big updates were due for the iPad line.
Apple first went through the feature and display improvements of the new models as expected. (I had a pretty good hunch ProMotion would be announced going back to last year.) Then it highlighted the usual specs. CPU performance has increased 30%. GPU performance has increased 40%. This is in comparison to… the A9X. Huh?
This is not what silicon people were expecting to hear. Apple pushes performance like crazy, and it was supposed to be releasing a 10nm SoC. These numbers are not impressive by Apple’s standards. Comparing to the A9X and even older SoCs is deliberate marketing framing to make the numbers sound more impressive than they are.
Could Apple actually have pushed purely for efficiency this time? Given its history of CPU designs, this seemed unlikely, though still possible. Apple also neglected to mention any efficiency advances, which it would likely tout in that case. Most surprisingly of all, Apple made no indirect mention of 10nm. This was deeply suspicious. Given the deliberate vagueness of the performance figures, however, it was hard to make much of the situation.
First, though, I need to apologize for an incredibly stupid error in my thinking about this SoC. I expected an A11X, as it looked like Apple had been working on a 10nm design*, and Apple essentially always pushes performance. If you’re familiar with mobile silicon, it was logical to expect that it was waiting to launch a new SoC on the bleeding-edge node. And if you don’t think Apple would be that aggressive on timing or performance, the A9X’s release was successfully brought forward half a year, a massive accomplishment.
I knew to expect that the A11 would use a 64-bit-only CPU, to allow for a more spatially and performance-efficient core design. I didn’t, however, make the rather obvious connection of dropping 32-bit support in iOS 11 to the near-simultaneous release of Apple’s first CPU without 32-bit support. That is to say, any Apple CPU released before iOS 11 would necessarily need to retain 32-bit registers, and therefore it would make little sense to release a new micro-architecture before the fall. This is because iOS 10.3 still needed to run on the 32-bit A6 and A6X. That the new iPad Pros were seemingly delayed a couple months and released just a few months before the A11 is irrelevant, if unfortunate from Apple’s perspective.
Based on what I know about 10nm, though, there seem to be two likely possibilities. The first is that this was Apple’s plan all along. The A10X would deliberately not push the envelope for whatever reasons. There would be no new CPU microarchitecture, aside from maybe some small improvements. The addition of a third CPU cluster and the necessary logic and tuning to make it all work, however, would be far from trivial. And a lot of work would also go into the new GPU, of course.
The second possibility is that the original 10nm A10X design had to be canceled once it was clear that yields were not going to meet Apple’s targets.
There is a further wrinkle to the picture. If the A10X’s cache sizes really have changed significantly, it would perhaps lend credence to one or the other possibility.
Either way, everything I’ve heard about the A10X points to it still being a 14nm TSMC design, so my best guess is that the original design for the A10X was indeed canceled. This would not be terribly unusual in the world of silicon design, but it would be a rare public setback for Apple’s silicon team. If this is really what happened, the iPad Pro’s intended SoC would have effectively been sacrificed to ensure adequate supply of the A11 for the iPhone 8. For obvious reasons, that would be the correct choice of action.
The bigger implication is that the signs really don’t bode well for 10nm. Final clockspeeds for Snapdragon 835 and Exynos 8895 were really low compared to theoretical expectations. Yields are terrible, and the node is looking as bad as 20nm did. It could even possibly be worse, if TSMC and Samsung Foundry are struggling with issues similar to those that Intel first grappled with during its 14nm ramp-up. Moore’s Law is slowing down because of fundamental physics, not a lack of engineering willpower.
Further details are required, so please consider none of this confirmed. This is merely my best guess as to what happened. Unfortunately the details of these things often never come to light publicly.
And to be absolutely clear: I am not saying that Apple did anything wrong or is trying to be misleading in any way. It still has the fastest mobile CPU by a country mile. 10nm is just not going well.
1) Much to many's surprise, TechInsights today finally publicly provided a die shot of the A10X. Even more surprisingly, it's fabbed on 10nm after all. TechInsights estimates a die shrink of about 45%. Additionally, it echos my previous suspicion that the 10FF ramp was delayed a quarter, and thus the new iPad Pros were indeed delayed from the initial plan of a spring unveiling.
How then do you explain the A10X's poor final clocks and lack of performance increase per-core? From what I can tell, TSMC delivered some fairly awful results this node. 10FF seems to be very leaky and is probably significantly worse than Samsung Foundry's 10LPE. TSMC prioritized the development of its 7nm process, and this is perhaps the consequence: a short-lived, bad 10nm.
Process immaturity aside, whether Apple was originally hoping to design the A10X differently is impossible to guess. I suspect its team working on the A11 is currently killing themselves to somehow make 10FF work.
2) Leakage doesn't actually seem to be the problem with 10nm. Transistor performance improvement has stalled. This is not good.
* Discovered by Ashraf Eassa of Motley Fool.