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

  • grkhetan - Wednesday, October 17, 2012 - link

    You dont "need iTunes" per se to use the iPhone any more. However, it is required if you sync music. However, I use iTunes Match -- so I dont need to use iTunes sync for anything... However I need to use iTunes to upload my music to the iTunes Match servers but thats it. I am happy to say with iCloud and iTunes Match -- "syncing" my iPhone is something that is no longer required at all.
  • Touche - Wednesday, October 17, 2012 - link

    One doesn't need iTunes, except one does...however, you don't, however you need it...but happily, you don't require it at all, except you do.

    Hmm...
  • grkhetan - Wednesday, October 17, 2012 - link

    Touche, iTunes is not required to use the phone if you dont need music/videos using the default player. (You could play them from streaming services like Spotify/Pandora, etc or store it in dropbox).

    But if you need to play music using the default music player -- you need to use iTunes to sync the music over. BUT if you use iTunes Match, then you dont need to use "iTunes sync", but you need iTunes to upload the music to iTunes Match servers. This itself is not painful at all in my opinion -- the main burden with iTunes was the "sync"
  • phillyry - Sunday, October 21, 2012 - link

    I'm sorry but I'm going to have to agree with Touché here.

    Please don't backtrack/double back to justify the fact that you do in fact need iTunes on an iPhone and need to sync it. Wired or wireless it's still a sync - it just goes through iCloud when done wirelessly.

    Lets not confound the matters of whether the use of an iPhone is pleasant or not with whether you need to use the generally unpleasant iTunes sync. Apple's lockdown on sync methods sucks for the users freedom of access to their own device but, despite that, the device is still great to use.
  • ThreeDee912 - Wednesday, October 17, 2012 - link

    Basically, if you want to put your own media on your iPhone, you'll need iTunes to sync or upload with iTunes Match.

    You can do everything else on the phone itself.
  • darkcrayon - Wednesday, October 17, 2012 - link

    No, you don't need iTunes to put media on your iPhone. You do need it to put media in the stock Music or Videos app. If you don't want to use those there are many apps that let you supply your own music via wifi copy to the iPhone or by downloading them directly from the web if you have such a source.

    I don't have any issue with iTunes though so I just use that.
  • steven75 - Wednesday, October 17, 2012 - link

    Funny, I know people who have switched the other way and are hugely relieved to be free of the bloatware, nervous anticipation of "will my phone ever get updated?", and crappy plastic hardware.

    In summary, anecdotes are fun and enjoy what ya got.
  • KPOM - Thursday, October 18, 2012 - link

    Don't let the door hit you on the way out. Also, don't complain when Samsung decides your phone is "too old" for the latest update. I resisted the iPhone as long as I could. I even had a Nexus One for over 18 months. But once Google decided that its former flagship, which was released 6 months after the iPhone 3GS, was 'too old" to get any OS after Gingerbread (which it got about 3 months after Gingerbread devices came out) I decided I could no longer put up with Google's tactics. Plus, it's nice no longer giving away all my personal information to Google just for the privilege of using their bloated copycat OS.
  • Spunjji - Friday, October 19, 2012 - link

    No. Now you're giving it to Apple for the privelege of using their bloated copycat OS instead.

    Seriously, I was following you write up until your final crock-of-shit statement. All smartphone operating systems use your data, and they all borrow from each other.
  • Leyawiin - Wednesday, October 17, 2012 - link

    "POOF!"

    Hate the commercials, but that guy makes me laugh.

Log in

Don't have an account? Sign up now