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

  • OldAndBusted - Wednesday, October 24, 2012 - link

    "I'm not an apple product owner, and never plan to be"

    That's actually kind of sad. That no matter what the product, you can't even consider it if it comes from Apple.
  • SolidusOne - Saturday, October 20, 2012 - link

    How can you write page after page about geeky nuances, many of which cannot be discerned without lab equipment, and not utter a single word about the device's music player quality? This model particularly, as other reviews have said it was inferior to 4s in audio quality. ??????
  • phillyry - Sunday, October 21, 2012 - link

    Sorry but are you serious or trolling?

    Google search reveals nothing about this.

    If you're serious then Engadget has an article for you that compares the sound quality of iPhone 5, GS3, One X, etc. with basically no appreciable difference. http://www.engadget.com/2012/10/02/iphone-vs-rival...
  • mshdk - Sunday, October 21, 2012 - link

    What is the name of the IM app shown in the review?
  • mohit2805 - Sunday, October 21, 2012 - link

    Why Apple never goes for an inbuilt radio? why just its own ipod, when there are so many radio stations to listen to for free?
  • Krysto - Tuesday, October 23, 2012 - link

    The new Chromebook, which has a dual core 1.7 Ghz Cortex A15 CPU, reaches 668 points in Sunspider. That's compared to the 900+ for Apple's A6.
  • darkcrayon - Wednesday, January 2, 2013 - link

    Comparing a chip in a laptop to one in a smartphone.. A laptop with terrible battery life (for an ARM device) at a that. Nice work. Let us know when Apple puts an Ax chip inside of a small laptop and then let's compare performance.
  • eanazag - Thursday, November 1, 2012 - link

    I live in MN and have been using the maps app in iOS 6 on an iPhone 4 and iPad 3. I have encountered no issues with it. In fact it has been a little more accurate than the GPS I have and Google previously. I am guessing that in more urban areas there is a larger difference.

    I would have liked to see some more features that my GPS has, such as current speed, estimated arrival time, and remaining total miles for trip.

    If I'm going to complain, wish they would have included turn-by-turn on the 4.
  • Coffeebean20 - Saturday, November 24, 2012 - link

    Wow great review, I got my iPhone 5 free And tested it. I came up with similar results. Great review, good job :)
  • cpu_arch - Wednesday, November 28, 2012 - link

    Your block diagram of Swift is inaccurate, not because I know the block diagram of the Swift CPU, but because it fails to describe the basic out-of-order execution pipeline of any modern CPU's. Hint: instruction re-ordering is in the wrong place in your diagram.

    Your measurements of branch prediction microarchitecture performance are not useful. The key measurement is mispredict rate.

    Also modern branch prediction is a function of branch outcome of the branch in question and prior branches, not some multiply/divide mechanism which you describe in your article.

Log in

Don't have an account? Sign up now