Sunday, September 16, 2012

What's in Apple's A6 Processor?


Anand thinks the processor in the iPhone 5 (Apple A6 SoC) is a custom processor. I'm looking at whether the evidence for this. I don't know what Apple have done but I do understand some of their options.

We have information (from Apple) that the A6 processing power is up to 2x faster than the A5. Anand also has the "some information" that it is not using Cortex A9. The is also clue in Xcode that A6 supports "ARMv7s", although there seems to be no easily accessible public definition of ARMv7s.

So, let's look at ARMv7s.

Could ARM7s be just VFPv4? As I understand it, VFPv4 (just) adds fused multiply-and-add and the half-precision extension to the instruction set. The number of double word registers used in VFPv3 and VFPv4 can be either 16 or 32 (16D or 32D). In terms of ARM's processors Cortex A9 implements VFPv3-D16, and Cortex A15 implements VFPv4-D32 - as can Cortex A7 (Anand seems to have this wrong). 

It is conceivable that ARM7s means VFPv4-D32 although I would have expected there were other ways of indicating this combination. [I'm less worried about not representing the Cortex A15, Cortext A7 and Qualcomm Krait's support of Large Physical Addresses and Virtualisation as these shouldn't affect compilation].

Then, given Apple A6 has an ARMv7s processor it isn't Cortex A9 based. So what is it? 

The licencable ARM processors that been available for long enough to allow Apple to launch now are the Cortex A15 and the Cortex A7. At identical clock frequencies Cortex A15 is about 1.4x faster than Cortex A9 (Dhrystone). Accordingly 2x performance can be reached from a 1.4x increase in clock, from 800 MHz to 1.12 GHz - not high compared to the quoted figures of other smart phones. There are rumoured power consumption issues with high-frqeuency Cortex A15s but there are things that can be done to deal with this. [For example, ST-Ericsson has chosen to use advanced manufacturing process technology (FDSOI) (see this and this), and ARM themselves promote "big-LITTLE" technology]. So, I'd count dual-Cortex A15 as possible. 

What does this leave in Anan's analysis? Just the "I've confirmed that Apple's A6 SoC is based on Apple's own ARM based CPU core" - nothing technical.

2 comments:

sundar said...

Just a thought about the new instruction set v7s from the new Xcode. If this adds only a VFPv4, then it would only help some math intensive application that uses floating point calculations heavily. But that can't be a 2X performance improvement for all applications.

Second is, how about compatibility of applications that run on the new iphone 5 and the older ones? Should an app be compiled for iphone 5 specifically with v7s to get the most out of the A6?

If cortex A15 was really made for servers as Anand says then why would TI, Nvidia people implement them in their SoCs intended for mobile devices?

A lot of questions in mind. Doesn't convince me either that the core isn't a cortex A15.

The Editor said...

1. Cortex A15 can achieve much higher performance per clock cycle than Cortex A9 on NEON. If this is added in to the mix, then the overall performance goes up. Certainly not 2x for all applications - but that isn't what is being claimed.

2. I'd say that if developing, unless you think the VFPv7s makes a big difference, don't use it. If you are using it, then either you'll have to have two versions, or you don't support the old hardware. But do undertstand - that's just my view, not Apple's advice.

3. Processors are like children, you bring them up but you have no control of what they do with their lives.

Search This Blog