Apple's Swift: Visualized

Section by Anand Shimpi

Based on my findings on the previous pages, as well as some additional off-the-record data, this is what I believe Swift looks like at a high level:


Note that most of those blocks are just place holders as I don't know how they've changed from Cortex A9 to Swift, but the general design of the machine is likely what you see above. Swift moves from a 2-wide to a 3-wide machine at the front end. It remains a relatively small out-of-order core, but increases the number of execution ports from 3 in Cortex A9 to 5. Note the dedicated load/store port, which would help explain the tremendous gains in high bandwidth FP performance.

I asked Qualcomm for some additional details on Krait unfortunately they are being quite tight lipped about their architecture. Krait is somewhat similar to Swift in that it has a 3-wide front end, however it only has 4 ports to its 7 execution units. Qualcomm wouldn't give me specifics on what those 7 units were or how they were shared by those 4 ports. It's a shame that Intel will tell me just how big Haswell's integer and FP register files are 9 months before launch, but its competitors in the mobile SoC space are worried about sharing high level details of architectures that have been shipping for half a year.

Apple's Swift core is a wider machine than the Cortex A9, and seemingly on-par with Qualcomm's Krait. How does ARM's Cortex A15 compare? While the front end remans 3-wide, ARM claims a doubling of fetch bandwidth compared to Cortex A9. The A15 is also able to execute more types of instructions out of order, although admittedly we don't know Swift's capabilities in this regard. There's also a loop cache at the front end, something that both AMD and Intel have in their modern architectures (again, it's unclear whether or not Swift features something similar). ARM moves to three dedicated issue pools feeding 8 independent pipelines on the execution side. There are dedicated load and store pipelines, two integer ALU pipes, two FP/NEON pipes, one pipe for branches and one for all multiplies/divides. The Cortex A15 is simply a beast, and it should be more power hungry as a result. It remains to be seen how the first Cortex A15 based smartphone SoCs will compare to Swift/Krait in terms of power. ARM's big.LITTLE configuration was clearly designed to help mitigate the issues that the Cortex A15 architecture could pose from a power consumption standpoint. I suspect we haven't seen the end of NVIDIA's companion core either.

At a high level, it would appear that ARM's Cortex A15 is still a bigger machine than Swift. Swift instead feels like Apple's answer to Krait. The release cadence Apple is on right now almost guarantees that it will be a CPU generation behind in the first half of next year if everyone moves to Cortex A15 based designs.

Custom Code to Understand a Custom Core Apple's Swift: Pipeline Depth & Memory Latency
Comments Locked

276 Comments

View All Comments

  • A5 - Tuesday, October 16, 2012 - link

    He said pretty clearly and repeatedly that all browser tests on Android were run in Chrome.

    Rooting the phone to install a new kernel to improve benchmark scores would be insane. That's like asking why he didn't overclock it, too.
  • edsib1 - Tuesday, October 16, 2012 - link

    But his benchmarks scores are all crap.

    My HTC One X (Tegra) with official 4.04 RUU gets 1684 compared to 1131 in Anands tests.

    Something is seriously wrong with his testing.

    It should also be pointed out Geekbench has errors. It reports memory sequential reads for android devices incorrectly.
  • doobydoo - Friday, October 19, 2012 - link

    Dunno why you're even talking about Geekbench.

    Anand has noted several times that you can't use it to accurately compare cross platform.
  • Kidster3001 - Monday, October 22, 2012 - link

    umm, you do know that for Kraken and Sunspider... lower is better.
  • Spunjji - Friday, October 19, 2012 - link

    I agree that rooting the phone and installing a new kernel for benchmarking is silly, but at least having up-to-date figures for a phone known to have received significant performance increases since its release would be a nice idea. This chap's numbers certainly make the phone look very different in terms of attractiveness.
  • Kidster3001 - Monday, October 22, 2012 - link

    I also believe you will see better browser performance from the highly customized Intel Android browser than you will from Chrome for x86 Android.
  • Krysto - Tuesday, October 16, 2012 - link

    Something seems very wrong with RAZR M. It uses the same S4 processor as One X, has smaller 4.3" screen, has lower qHD resolution, bigger battery, and yet it still significantly underperforms the S4-based One X in Sunspider performance, in battery life, and other stuff as well. That shouldn't happen, and it seems like the issue is some very sloppy software that Motorola put on top of the RAZR M hardware.
  • Arbee - Tuesday, October 16, 2012 - link

    Yes, it's called Motoblur ;-)
  • Spunjji - Friday, October 19, 2012 - link

    I thought they killed Blur already? :/
  • magnimus1 - Tuesday, October 16, 2012 - link

    Thanks! This was one phone I was waiting for. The other one I want to see is the Motorola RAZR i. Do you guys have any plans to review that?

Log in

Don't have an account? Sign up now