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

    Double the browsing time while moving to LTE and roughly the same in everything else despite double the performance is pretty impressive.
  • rarson - Thursday, October 18, 2012 - link

    I'm pretty sure they mentioned about a million times that "this is the new paradigm blah blah blah, where if you use heavy processing power more often, the battery life will diminish faster" (I'm paraphrasing here). I'm fine with that. The iPhone 5 shows some pretty impressive battery life in light workloads and doesn't actually do all that bad in heavy workloads despite how much number crunching it's doing, even though it might actually tank the battery life down to less-than-4S levels.

    It's a tradeoff: you get more power or longer battery life, depending on how you use it. The article paints this as a bad thing, but I disagree; it's obviously making much more efficient use of the hardware. Because of that, I definitely think the battery life overall is better, even though sometimes it might be worse. And you're still getting a lot more number crunching for the watts used.
  • Center - Tuesday, October 16, 2012 - link

    In the intro, the screen specs on the iphone 5 is listed as 1136x960.. should be 1136x640.

    But great article as always, Anandtech!
  • Krysto - Tuesday, October 16, 2012 - link

    I hope we'll see the same kind of thorough review of Samsung's Exynos 5 Dual chip, Anand.
  • ltcommanderdata - Tuesday, October 16, 2012 - link

    Isn't TI supposed to become the first shipping Cortex A15 SoC? I expect Anandtech to thoroughly review the first Cortex A15 SoC. There shouldn't be a need to go into the same detail (on the CPU side) for every subsequent one unless preliminary tests show something significantly different.
  • Kidster3001 - Monday, October 22, 2012 - link

    Samsung and Qualcomm do not ship generic ARM chips. They purchase licenses to use the ARM instruction set, not the chip design. Their chips are highly customized and perform differently.

    Using your logic to just review the first A15 class chip and consider the rest to be comparable is similar to just reviewing the first new car to be released every year and assume the rest will be comparable.

    btw, TI is getting out of the business. I doubt they will ship first, or ever.
  • A5 - Tuesday, October 16, 2012 - link

    Considering the fact that Krait got several articles here, I'd imagine that whatever the first shipping A15 chip is will get significant coverage.
  • Wurzelsepp - Tuesday, October 16, 2012 - link

    Great review, you really have to give Apple credit for building an amazing SoC.

    It's interesting to see how well the Adreno competes with SGX-543MP3, the new Nexus 4 with this GPU is going to be amazing.
  • Krysto - Tuesday, October 16, 2012 - link

    One thing both the iPhone and the Intel Atom processors will keep lacking for a year from now, will be OpenGL ES 3.0 support. Apple might bring it to the new iPad 4 this spring, but the iPhone won't have it until the next iPhone, in the fall of 2013, obviously. Same with Intel, they won't be supporting it at least until end of 2013.

    In the meantime both Adreno 320 and Mali T604 are supporting it, and will come out this fall.
  • darwinosx - Tuesday, October 16, 2012 - link

    A year from now and something 'coming out this fall". Right.

Log in

Don't have an account? Sign up now