SoC Analysis: Apple A9X

Diving into the heart of the iPad Pro, we have Apple’s latest generation tablet SoC, A9X. Like the other Apple X series SoCs before it, A9X is by and large an enhanced and physically larger version of Apple’s latest phone SoC, taking advantage of the greater space and heat dissipation afforded by a tablet to produce a more powerful SoC.


Apple's A9X (Image Courtesy iFixit)

That Apple has developed a new SoC to launch alongside the iPad Pro is in no way surprising, but just as how the iPad Pro has ramifications for the overall iPad lineup as Apple gets into the productivity tablet market, iPad Pro’s genesis is reflected in its component selection. Apple already needed a powerful SoC for the iPad Air 2 in order to keep performance up with the tablet’s high resolution of the screen, and iPad Pro in turn pushes Apple’s performance needs even harder. Not only is there an even higher resolution screen to drive – the 2732x2048 display has about 66% of the pixels of a 4K display – but now Apple needs to deliver suitable performance for content creation and meaningful multitasking. I don’t want to imply that the A9X was somehow specifically designed from scratch for the iPad Pro, as there are a number of more important engineering considerations, but I do want to highlight how the iPad Pro is not just another iPad, and that as Apple expands the capabilities of the iPad they need to expand the performance as well if they wish to extend their reputation for smooth UX performance.

Looking at the specifications of the A9X, it seems like Apple always throws us a curveball on the X series SoCs, and for their latest SoC this is no different. With A8X Apple delivered more RAM on a wider memory bus, a larger GPU, and surprisingly, three Typhoon CPU cores. To date it’s still not clear just why Apple went with three CPU cores on A8X – was it for multitasking, or as an alternative means to boost performance – and A9X’s configuration only serves to highlight this enigma.

Apple SoC Comparison
  A9X A9 A8X A6X
CPU 2x Twister 2x Twister 3x Typhoon 2x Swift
CPU Clockspeed 2.26GHz 1.85GHz 1.5GHz 1.3GHz
GPU PVR 12 Cluster Series7XT PVR 6 Cluster Series7
(PVR GT7600)
PVR 8 Cluster Series6XT
(APL GXA6850)
PVR SGX554 MP4
RAM 4GB LPDDR4 2GB LPDDR4 2GB LPDDR3 1GB LPDDR2
Memory Bus Width 128-bit 64-bit 128-bit 128-bit
Memory Bandwidth 51.2GB/sec 25.6GB/sec 25.6GB/sec 17.1GB/sec
L2 Cache 3MB 3MB 2MB 1MB
L3 Cache None 4MB 4MB N/A
Manufacturing Process TSMC 16nm FinFET TSMC 16nm &
Samsung 14nm
TSMC 20nm Samsung 32nm

Instead of continuing with a triple-core CPU design for A9X, for their latest X series SoC Apple has dropped back down to just a pair of Twister CPU cores. The catch here – and why two cores is in many ways better than three – is that relative to A8X and A9, Apple has cranked up their CPU clockspeeds. Way, way up. Whereas the iPad Air 2 (A8X) shipped at 1.5GHz and the iPhone 6s (A9) at 1.85GHz, the A9X sees Apple push their clockspeed to 2.26GHz. Not counting the architectural changes, this is 22% higher clocked than the A9 and 51% higher than the A8X.

The fact that Apple dropped back down to 2 CPU cores is unexpected given that we don’t expect Apple to ever go backwards in such a fashion, and while we’ll never know the official reason for everything Apple does, in retrospect I’m starting to think that A8X was an anomaly and Apple didn’t really want a tri-core CPU in the first place. A8X came at a time where Apple was bound by TSMC’s 20nm process and couldn’t drive up their clockspeeds without vastly increasing power consumption, so a third core was a far more power effective option.


A9X Die Shot w/AT Annotations (Die Shot Courtesy Chipworks)

Overall this means that iPad Pro and A9X will set a very high bar for tablet CPU performance. As we’ve already seen in the iPhone 6s review, the Twister CPU core is very potent and in most cases faster than any other ARM CPU core by leaps and bounds. Cranking up the clockspeed a further 22% only serves to open up that gap even further, as Twister is now reaching clockspeeds similar to the likes of Cortex-A57 and A72, but with its much wider execution pipeline and greater IPC. This is also the reason that an Intel Core CPU comparison is so interesting, as Intel’s tablet-class Core processors in many ways are the target to beat on overall CPU performance, and we’ll be touching upon this subject in greater detail a bit later.

GPU: Imagination PowerVR 12 Cluster Series 7XT

Meanwhile on the GPU side, as expected Apple has further increased the number of clusters on their SoC to drive the higher resolution display of a tablet. Whereas A9 used a 6 cluster design (PVR GT7600), A9X doubles this, giving us a relatively massive 12 cluster design.

In Imagination’s PowerVR Series7XT roadmap, the company doesn’t have an official name for a 12 cluster configuration, as this falls between the 8 cluster GT7800 and 16 cluster GT7900. So for the moment I’m simply calling it a “PowerVR 12 cluster Series7XT design,” and with any luck Imagination will use a more fine-grained naming scheme for future generations of PowerVR graphics.

In any case, the use of a 12 cluster design is a bit surprising from an engineering standpoint since it means that Apple was willing to take the die space hit to implement additional GPU clusters, despite the impact this would have on chip yields and costs. If anything, with the larger thermal capacity and battery of the iPad Pro, I had expected Apple to use higher GPU clockspeeds (and eat the power cost) in order to save on chip costs. Instead what we’re seeing is a GPU that essentially offers twice the GPU power of A9’s GPU.

However to put all of this in context, keep in mind that iPad Pro’s display is 5.95Mpixels, versus the 2.07Mpixel screen on the iPhone 6s Plus. So although Apple has doubled the number of GPU clusters for A9X – and I suspect clocked it fairly similarly – that increased performance will be very quickly consumed by the iPad Pro’s high resolution screen. Consequently even a 12 cluster GPU design is something of a compromise; if Apple wanted to maintain the same level of GPU performance per pixel as in the iPhone 6s family, they would have needed an even more powerful GPU. Which just goes to show how demanding tablets can be.

Memory Subsystem: 128-bit LPDDR4-3200, No L3 Cache

Responsibility for feeding the beast that is A9X’s GPU falls to A9X’s 128-bit LPDDR4 memory controller configuration. With twice as many GPU clusters, Apple needs twice as much memory bandwidth to maintain the same bandwidth-to-core ratio, so like the past X-series tablet SoCs, A9X implements a 128-bit bus. For Apple this means they now have a sizable 51.2GB/sec of memory bandwidth to play with. For an SoC this is a huge amount of bandwidth, but at the same time it’s quickly going to be consumed by those 12 GPU clusters.

Geekbench 3 Memory Bandwidth Comparison (1 thread)
  Stream Copy Stream Scale Stream Add Stream Triad
Apple A9X 2.26GHz 20.8 GB/s 15.0 GB/s 15.3 GB/s 15.1 GB/s
Apple A8X 1.5GHz 14.2 GB/s 7.44 GB/s 7.54 GB/s 7.49 GB/s
A9X Advantage 46.4% 101% 103% 102%

It’s also while looking at A9X’s memory subsystem however that we find our second and final curveball for A9X: the L3 cache. Or rather, the lack thereof. For multiple generations now Apple has used an L3 cache on both their phone and tablet SoCs to help feed both the CPU and GPU, as even a fast memory bus can’t keep up with a low latency local cache. Even as recent as A9, Apple included a 4MB victim cache. However for A9X there is no L3 cache; the only caches on the chip are the individual L1 and L2 caches for the CPU and GPU, along with some even smaller amounts for cache for various other functional blocks..

The big question right now is why Apple would do this. Our traditional wisdom here is that the L3 cache was put in place to service both the CPU and GPU, but especially the GPU. Graphics rendering is a memory bandwidth-intensive operation, and as Apple has consistently been well ahead of many of the other ARM SoC designers in GPU performance, they have been running headlong into the performance limitations imposed by narrow mobile memory interfaces. An L3 cache, in turn, would alleviate some of that memory pressure and keep both CPU and GPU performance up.

One explanation may be that Apple deemed the L3 cache no longer necessary with the A9X’s 128-bit LPDDR4 memory bus; that 51.2GB/sec of bandwidth meant that they no longer needed the cache to avoid GPU stalls. However while the use of LPDDR4 may be a factor, Apple’s ratio of bandwidth-to-GPU cores of roughly 4.26GB/sec-to-1 core is identical to A9’s, which does have an L3 cache. With A9X being a larger A9 in so many ways, this alone isn’t the whole story.

What’s especially curious is that the L3 cache on the A9 wasn’t costing Apple much in the way of space. Chipworks puts the size of A9’s 4MB L3 cache block at a puny ~4.5 mm2, which is just 3% the size of A9X. So although there is a cost to adding L3 cache, unless there are issues we can’t see even with a die shot (e.g. routing), Apple didn’t save much by getting rid of the L3 cache.

Our own Andrei Frumusanu suspects that it may be a power matter, and that Apple was using the L3 cache to save on power-expensive memory operations on the A9. With A9X however, it’s a tablet SoC that doesn’t face the same power restrictions, and as a result doesn’t need a power-saving cache. This would be coupled with the fact that with double the GPU cores, there would be a lot more pressure on just a 4MB cache versus the pressure created by A9, which in turn may drive the need for a larger cache and ultimately an even larger die size.

As it stands there’s no one obvious reason, and it’s likely that all 3 factors – die size, LPDDR4, and power needs – all played a part here, with only those within the halls of One Infinite Loop knowing for sure. However I will add that since Apple has removed the L3 cache, the GPU L2 cache must be sizable. Imagination’s tile based deferred rendering technology needs an on-chip cache to hold tiles in to work on, and while they don’t need an entire frame’s worth of cache (which on iPad Pro would be over 21MB), they do need enough cache to hold a single tile. It’s much harder to estimate GPU L2 cache size from a die shot (especially with Apple’s asymmetrical design), but I wouldn’t be surprised of A9X’s GPU L2 cache is greater than A9’s or A8X’s.

Building A9X Big: 147mm2, Manufactured By TSMC

Finally, let’s talk about the construction and fabrication of the A9X SoC itself. Chipworks’ previous analysis shows that the A9X is roughly 147mm2 in die size, and that it’s manufactured by TSMC on their 16nm FinFET process.

At 147mm2 the A9X is the second-largest of Apple’s X-series tablet SoCs. Only the A5X, the first such SoC, was larger. Fittingly, it was also built relative to Apple’s equally large A5 phone SoC. With only 3 previous tablet SoCs to use as a point of comparison I’m not sure there’s really a sweet spot we can say that Apple likes to stick to, but after two generations of SoCs in the 120mm2 to 130mm2 range, A9X is noticeably larger.

Some of that comes from the fact that A9 itself is a bit larger than normal – the TSMC version is 104.5mm2 – but Apple has also clearly added a fair bit to the SoC. The wildcard here is what yields look like for Apple, as that would tell us a lot about whether a 147mm2 A9X is just a large part or if Apple has taken a greater amount of risk than usual here.

A9X continues to be the largest 16nm FinFET ASIC we know to be in mass production at TSMC (we’ll ignore FPGAs for now), and while this will undoubtedly change a bit later this year once the next-generation discrete GPUs come online, I don’t think you’ll find a better example of how the contract chip manufacturing market has changed in a single generation. 4 years ago it would be GPUs leading the charge, but now it’s phone SoCs and a rather sizable tablet SoC that are first out of the gate. After almost a decade of catching up, SoCs have now reached the bleeding edge for chip fabrication, enabling rapid performance growth, but also inheriting the risks of being the leader. I won’t dwell on this too much, but I’m immensely curious about both what A9X yields are like as the largest FinFET ASIC at TSMC, and just how much of TSMC’s FinFET capacity Apple has been consuming with the production of A9 and A9X.

Finally, it's also interesting to note just how large A9X is compared to other high performance processors. Intel's latest-generation Skylake processors measure in at ~99mm2 for the 2 core GT2 configuration (Skylake-Y 2+2), and even the 4 core desktop GT2 configuration (Intel Skylake-K 4+2) is only 122mm2. So A9X is larger than either of these CPU cores, though admittedly as a whole SoC A9X contains a number of functional units either not present on Skylake or on Skylake's Platform Controller Hub (PCH). Still, this is the first time that we've seen an Apple launch a tablet SoC larger than an Intel 4 core desktop CPU.

Introduction and Design SoC Analysis: On x86 vs ARMv8
POST A COMMENT

408 Comments

View All Comments

  • ddriver - Saturday, January 23, 2016 - link

    So in your expert opinion, all programs do is syscalls? No application logic, no application data? LOL

    Also, API calls are NOT syscalls. Syscalls are requests to OS kernel, API calls are just regular calls to a library. Fundamentally different things.
    Reply
  • FunBunny2 - Saturday, January 23, 2016 - link

    -- Fundamentally different things.

    exactly the same: your not writing active code, but calling out to somebody else's code to do the work. in neither case does it matter what you're source language is, from a performance point of view. there's a reason that java mostly beats C++ these days.
    Reply
  • Constructor - Saturday, January 23, 2016 - link

    The main reason for that is the "well, it's fast enough, and if not we'll compensate with CPU upgrades" mentality in many projects. Reply
  • gistya - Sunday, January 24, 2016 - link

    Why are we talking about Java and C++ here? Just curious.

    I recently worked on Google's j2objc project and it's pretty freaking slick. You can translate Java code into Objective C that compiles and runs pretty flawlesly on an iOS device, and it's fast. It's not emulated, it's actually a port of Android's core libs right into Objective C. Amazing work.

    I started working with Swift recently and it's pretty cool itself. Apple's answer to C# and Java, basically. I like that they released it free and open source for Linux. It's weird to program in until you get used to the weird memory management stuff but, hey, code runs so much faster without garbage collection.
    Reply
  • ddriver - Sunday, January 24, 2016 - link

    Objective C is an atrocity. Moving away from it in favor of swift is one of the few moves apple can be commended for.

    Apple have taken advantage of native code, which has resulted in better user experience than android, even when their hardware was mediocre. Because native code is way better than java.
    Reply
  • Relic74 - Saturday, February 27, 2016 - link

    Developing apps that take advantage of the iPad Pro's hardware is just the tip of the iceberg. iOS needs a complete overhaul as in it's current state it's lacking just to many features to be considered anything approaching a Pro OS.

    The iPad Pro is my first iOS device, I've played with them over them years but I never really liked iOS, it just always felt extremely restrictive to me. When the Pro came out with iOS 9.2 I was intrigued and started to read up on it, the reviews were solid and everyone I talked to who owned one, really liked them. So I made the plunge and bought one for myself. Now I already have a tablet, the new Pixel C in which I really like, even though the reviews on that haven't been so super. The biggest complaint was that Android isn't really a productivity OS. I found it to be quite the opposite, it's an extremely capable machine. So when I read that the iPad Pro is pretty decent on productivity tasks, I thought well if they thought the Pixel C wasn't up for the task and it is, than the iPad Pro must be something special.

    It's not, every reason why I avoided iOS all of these years is still present in the latest version, every single one. As I use CodeEnvy, a cloud based IDE to do most of my programming, I assumed the iPad Pro would be able to handle to handle my work flow. It's nothing outrageous what I'm doing or expect, simply using the CodeEnvy app, Prompt 2 (a terminal app) and Chrome. I also needed Excel to calculate trade PNL's. Within the first hour of using the iPad Pro it was more than apparent that it just wasn't meant for productivity work or at least nothing on the level that I required and didn't come lose to the Pixel C's abilities.

    First, I needed to run the terminal app in the background, compiling apps can take a while, plus I run scripts and monitoring applications. However after 3 minutes iOS would terminate it's connections. After some research it seems only about 1% of the apps in the App Store can actually run in the background for extended periods of time, mostly GPS and music apps. Than their was the problem with app resolutions, more than 80% of them I had installed didn't support the iPad Pro's resolution. So again after some research it seems only about 10% of the apps available actually support it's resolution, these unsupported apps also use another keyboard, one that is extremely basic and missing many of the features of the systems default. Now, app developers are working on this problem but the real problem, which is that apps in iOS are resolution independent in the first place just isn't a good idea. However it seems that their is no other way to do it because of this so called Walled Garden Paradigm.

    Apps in iOS are basically islands and in some weird way are even like OS's themselves, they basically have to fend for themselves With little contact to actual system except through hacks, okay, API's but it sure sounds like a hack to me. So every time a new feature is added to iOS app developers have to manually update their code to support it. Which brings me to the next issue, dual app view, only about 120 apps or so support it, again, we have to wait for the app developers. Now I'm not saying Android is the better option for any of you, it's all about preferences but when I enabled the dual app view feature in Android 6.0, every app from that moment on supported it. Further, every app I have installed into my Pixel C supported it's resolutions. When I connect a monitor to it, everything is supported, resolution, aspect ratio, I can even change the DPI to make it look more like a proper desktop UI and it supports extending the desktop, not just mirroring. Since the Pixel C has a USB C, I'm using the same port-replicator I bought for my MacBook 12" which has, HDMI, SD Card reader, 2 USB 3, mini USB and Ethernet, connecting a display to the Pixel C couldn't be easier. When I connected my monitor to the iPad Pro it looked like complete crap, black bars, the DPI was so large it looked like a child's toy and it just supported mirroring which absolutely sucks because you can't have two monitors.

    File system or should I say lack of because except for iCloud, iOS doesn't have one, it depends on it's apps to manage them. This is absolutely ridiculous and frankly Apple should be ashamed of themselves for leaving it this way for the last 8 years. Dealing with files in iOS is a complete nightmare. Every time I grab a file from the cloud I end up creating at least 4 copies of the same files because when you send a file to an app, it sends a copy, leaving the original in the app your sharing from. So keeping track of which file is the latest version is impossible. Why am I sharing in the first place, on every single mobile device I've ever used, the sharing feature was used to send content to an online source, never was it used as a method to manage files, especially not as the primary method. Also I have yet to have seen an app that can Share to every compatible app installed, their always missing apps in the share list, why because unlike Android which creates it's Share lists dynamically on a system level, the app developers for iOS apps have to manually create a Share profile, which means apps can pick and choose which apps they want to support. When you install the DropBox client, every app that can create a file from that time on should be able to Share to it, period. Instead we have to wait for the app developers for everything in iOS. People say that Android is fragmented, fine but so is iOS, except in it's case, it's the apps that are fragmented. Anytime a new feature is added, every app should automatically be able to do it because the system manages it, not the apps.

    The keyboard, I first bought the Apple keyboard, however I really didn't like the way it felt to type on, I missed having the function keys and the biggest issue, no backlite, something I simply cannot live with out as I type at night in bed a lot. It also doesn't provide any protection so I had to buy the hard case, 200 bucks + for a mediocre keyboard. So I bought the Logitech, a much, much better typing experience however there is one problem that became hugely apparent while using it. I wanted a mouse, not every time, just when the keyboard was connected. Why, well like Tim Cook said about notebooks with touchscreen's being a failed idea mostly do to poor ergonomics, the user has to constantly reach up to navigate the UI (get's old real quick), the iPad Pro, ironically, falls under the same category. Foot in mouth next time Tim, I'm sure you didn't realize at the moment that you were also talking about the iPad Pro but it's the same exact thing.

    The Pencil, I'm not an artist so I can't really say if it's good or not. The one thing I do know is that I can't use it throughout the system. Something I desperately wanted to do, so in the drawer it went, instead I use a Wacom, has pressure sensitivity, palm rejection and writes great, no lag. In fact I can't tell the difference between the two when using apps like EverNote, Bamboo Paper, OneNote, etc. the iPad Pro is a finger print magnet, I just wanted a stylus to navigate the UI with, also without a mouse the Wacom is the closest thing I can get, works a lot better with it than without when using the keyboard, that's for sure. Is there an actual Apple device available without compromises, there is absolute zero excuse for not allowing the Pencil to function throughout the system. This idea that the iPad Pro is a touch device only completely fell apart the second Apple made the Pencil and keyboard, two accessories that break this touch only paradigm. The only reason why Apple is doing this is to save a little face from all these years of saying the stylus is garbage. This is also why I'm pissed that Pro doesn't have mouse support. The OS certainly supports it by the way, my brother has an iPad Air 2 which is JailBroken and he installed mouse drivers just fine, works great.

    There is potential here, however even with great apps the blatant problems in iOS prohibit it from ever becoming a proper productivity tool. Now I fully realize that there are plenty of people that get by just fine with using the iPad Pro, I'm just not one of them. The Pixel C is a much more capable machine for what I do, I have every app that I need which by the way are the same exact apps I had installed on the iPad Pro so I don't get this, no apps for Android tablets thing, I have over 60 apps, all of them look and perform great. In fact, they actually look better on the Pixel C because they all support it's resolution. I have a stylus, the same Wacom. I use for the iPad Pro. I have an actual file-manager with all of my files in a single area, organized by folders. I can access my firms secure NAS drive using Open ID, I have all of my cloud storage, other computers, external HD's and FTP servers mounted as local assets, so when I click on save, the file is saved directly on whichever remote storage I choose. None of that, click on Share BS. When I'm editing a file and need to use more than one app, each app uses the same exact file, no creation of multiple files from Sharing, just open, edit, save, go to other app, open, edit, save. I can find any file in less than a minute, I can find every file that contains a persons name inside of the files In less than a minute. I tried to do this in iOS, I just gave up, finding files in iOS is like trying to find Noah's Ark in Turkey. Zipping and sending files in iOS, well, just also sucks, hopefully the files your sending aren't located in more than 2 apps. I use the Pixel C as a desktop computer as it has mouse support and looks great when connect to a monitor with extending desktop capabilities. Since I can run Linux desktop applications and quickly mind you, it actually makes for a decent desktop machine, however I just purchased an Nvidia Shield TV, installed Arch Linux on it and am now using that as my desktop computer. The performance of the Pixel C was so good when running Linux apps that the Shield TV was a no brainier. Yes, there are GPU drivers for it, in fact my CUDA applications work great on it. I can encode a video file using the GPU to compute faster than most laptops using their CPU's.

    Write now I am compiling an app in the background, while downloading a 20GB .rar file to a connected HD, while streaming a movie directly from OneDrive without having to download it first, to my sons TV in his room, I have Gimp running on my monitor as I was editing a picture, (I'm running Arch Linux in a Chroot under Android, to use applications I just start them up through an X-Terminal, works great), while I'm typing this up in Chrome on the Pixel C itself. The iPad Pro doesn't come close to that level of multitasking, running two apps in a split screen view is a nice feature however I would give it up in heart beat to be able to run any and all apps in the background.

    I'll end it here, the iPad Pro is still just an iPad, it's not a laptop replacement, it's not a productivity machine, it's an iPad. A content consumption device, just with a larger display. Those wanting one, wait, at least until version 2 comes out. There are just tom any issues that need to be worked out and most importantly, no apps that really take advantage of it.
    Reply
  • boozed - Friday, January 22, 2016 - link

    MaxiPad, surely. Reply
  • definitelyReal - Friday, January 22, 2016 - link

    Lol Reply
  • xerandin - Saturday, January 23, 2016 - link

    You win this comments section. Not really worth much, but it's better than the guys in here defending a product that has left most of everyone everywhere completely nonplussed. Reply
  • Constructor - Saturday, January 23, 2016 - link

    Ideologue, much?

    I've simply bought it because I wanted to use it, and I do. Every single day. And it is fantastic.

    If you're "nonplussed" by it, you're likely asking the wrong questions to begin with.
    Reply

Log in

Don't have an account? Sign up now