SoC Analysis: On x86 vs ARMv8

Before we get to the benchmarks, I want to spend a bit of time talking about the impact of CPU architectures at a middle degree of technical depth. At a high level, there are a number of peripheral issues when it comes to comparing these two SoCs, such as the quality of their fixed-function blocks. But when you look at what consumes the vast majority of the power, it turns out that the CPU is competing with things like the modem/RF front-end and GPU.


x86-64 ISA registers

Probably the easiest place to start when we’re comparing things like Skylake and Twister is the ISA (instruction set architecture). This subject alone is probably worthy of an article, but the short version for those that aren't really familiar with this topic is that an ISA defines how a processor should behave in response to certain instructions, and how these instructions should be encoded. For example, if you were to add two integers together in the EAX and EDX registers, x86-32 dictates that this would be equivalent to 01d0 in hexadecimal. In response to this instruction, the CPU would add whatever value that was in the EDX register to the value in the EAX register and leave the result in the EDX register.


ARMv8 A64 ISA Registers

The fundamental difference between x86 and ARM is that x86 is a relatively complex ISA, while ARM is relatively simple by comparison. One key difference is that ARM dictates that every instruction is a fixed number of bits. In the case of ARMv8-A and ARMv7-A, all instructions are 32-bits long unless you're in thumb mode, which means that all instructions are 16-bit long, but the same sort of trade-offs that come from a fixed length instruction encoding still apply. Thumb-2 is a variable length ISA, so in some sense the same trade-offs apply. It’s important to make a distinction between instruction and data here, because even though AArch64 uses 32-bit instructions the register width is 64 bits, which is what determines things like how much memory can be addressed and the range of values that a single register can hold. By comparison, Intel’s x86 ISA has variable length instructions. In both x86-32 and x86-64/AMD64, each instruction can range anywhere from 8 to 120 bits long depending upon how the instruction is encoded.

At this point, it might be evident that on the implementation side of things, a decoder for x86 instructions is going to be more complex. For a CPU implementing the ARM ISA, because the instructions are of a fixed length the decoder simply reads instructions 2 or 4 bytes at a time. On the other hand, a CPU implementing the x86 ISA would have to determine how many bytes to pull in at a time for an instruction based upon the preceding bytes.


A57 Front-End Decode, Note the lack of uop cache

While it might sound like the x86 ISA is just clearly at a disadvantage here, it’s important to avoid oversimplifying the problem. Although the decoder of an ARM CPU already knows how many bytes it needs to pull in at a time, this inherently means that unless all 2 or 4 bytes of the instruction are used, each instruction contains wasted bits. While it may not seem like a big deal to “waste” a byte here and there, this can actually become a significant bottleneck in how quickly instructions can get from the L1 instruction cache to the front-end instruction decoder of the CPU. The major issue here is that due to RC delay in the metal wire interconnects of a chip, increasing the size of an instruction cache inherently increases the number of cycles that it takes for an instruction to get from the L1 cache to the instruction decoder on the CPU. If a cache doesn’t have the instruction that you need, it could take hundreds of cycles for it to arrive from main memory.


x86 Instruction Encoding

Of course, there are other issues worth considering. For example, in the case of x86, the instructions themselves can be incredibly complex. One of the simplest cases of this is just some cases of the add instruction, where you can have either a source or destination be in memory, although both source and destination cannot be in memory. An example of this might be addq (%rax,%rbx,2), %rdx, which could take 5 CPU cycles to happen in something like Skylake. Of course, pipelining and other tricks can make the throughput of such instructions much higher but that's another topic that can't be properly addressed within the scope of this article.


ARMv3 Instruction Encoding

By comparison, the ARM ISA has no direct equivalent to this instruction. Looking at our example of an add instruction, ARM would require a load instruction before the add instruction. This has two notable implications. The first is that this once again is an advantage for an x86 CPU in terms of instruction density because fewer bits are needed to express a single instruction. The second is that for a “pure” CISC CPU you now have a barrier for a number of performance and power optimizations as any instruction dependent upon the result from the current instruction wouldn’t be able to be pipelined or executed in parallel.

The final issue here is that x86 just has an enormous number of instructions that have to be supported due to backwards compatibility. Part of the reason why x86 became so dominant in the market was that code compiled for the original Intel 8086 would work with any future x86 CPU, but the original 8086 didn’t even have memory protection. As a result, all x86 CPUs made today still have to start in real mode and support the original 16-bit registers and instructions, in addition to 32-bit and 64-bit registers and instructions. Of course, to run a program in 8086 mode is a non-trivial task, but even in the x86-64 ISA it isn't unusual to see instructions that are identical to the x86-32 equivalent. By comparison, ARMv8 is designed such that you can only execute ARMv7 or AArch32 code across exception boundaries, so practically programs are only going to run one type of code or the other.

Back in the 1980s up to the 1990s, this became one of the major reasons why RISC was rapidly becoming dominant as CISC ISAs like x86 ended up creating CPUs that generally used more power and die area for the same performance. However, today ISA is basically irrelevant to the discussion due to a number of factors. The first is that beginning with the Intel Pentium Pro and AMD K5, x86 CPUs were really RISC CPU cores with microcode or some other logic to translate x86 CPU instructions to the internal RISC CPU instructions. The second is that decoding of these instructions has been increasingly optimized around only a few instructions that are commonly used by compilers, which makes the x86 ISA practically less complex than what the standard might suggest. The final change here has been that ARM and other RISC ISAs have gotten increasingly complex as well, as it became necessary to enable instructions that support floating point math, SIMD operations, CPU virtualization, and cryptography. As a result, the RISC/CISC distinction is mostly irrelevant when it comes to discussions of power efficiency and performance as microarchitecture is really the main factor at play now.

SoC Analysis: Apple A9X SoC Analysis: CPU Performance
Comments Locked

408 Comments

View All Comments

  • jasonelmore - Friday, January 22, 2016 - link

    This, there is no filesystem. The hardware can be as fast as it wants, but it's severely limited by it's input options, and it's locked down nature. A ipad, or a phone for that matter, will never be able to replicate a x86 device. aarch64 is crude in comparison to x86 as detailed in the 2nd page of this article.

    Sure they can re-write a lot of it, and make a bunch of compramises to make it work, but they wont' waste the time, because:

    1: nobody wants to pay more than $10 for apps on the platform because it's seen as a toy and disposable within 4 years

    2: Lacks a true filesystem for moving files from physical media, to the devices

    3: Lacks precise input methods for quick and ultra precise manipulation of the software (unlike mouse or trackball on pc). Like Slicing a video file, or selecting text and making it Bold, italic, underlined

    4: platform lacks pro level payment and upgrade options for developers
  • Sc0rp - Friday, January 22, 2016 - link

    There's a file system, you just don't have access to it.

    1) Pretty much any computer is disposable in 4 years because the shelf life for hardware before it goes obsolete is about 3 years. Protip: If you 'upgrade' your processor, video card and/or motherboard (!) you just assembled a new computer. It doesn't matter that it is in the same case that your old computer used. Also users are willing to pay more than $10 for software. But, to be honest a lot of legacy developers from the desktop realm have been giving their users the shaft on software prices for years and years and consumers are more apt to pay $6 for an app that actually does that they need rather than $700 for one that does way more than they ever will need.

    2) There is a file system. You can plainly see it and interact with it when you use software like iExplorer. Personally, I have no problems with handling files on iOS9 and moving them about.

    3) Apple Pencil. Have you heard of it?

    4) Actually those options already exist on the platform. I don't know why you think they don't when they so clearly do and have been demonstrated by iOS game developers for years now. You mean to tell me that I can pay $6-20 for a ship or $100 for a bushel of smurfberries but somehow there's no way to add in upgrade options? Dude, just make it optional DLC.
  • jasonelmore - Saturday, January 23, 2016 - link

    keep drinking the kool-aid man.

    1: apple has succeeded in convincing you that computers are disposable within 4 years. Thousands of schools around the world are using Pentium 4's and Nehalm Pc's. These pc's can run the latest photoshop CC, Office Suite, or any other software that has been made recently.
    I know a ton of people using i7 920's and are playing the latest games no problem. With apple, the applications just wont load at all, because they require a certain OS. WIndows 10 Supports very old hardware, and very slow hardware. Same with any flavor of linux. OSX and iOS do not.

    2: the file system is not accessible within the device. So your argument is basically this. Use a 2nd machine, install a third party application, and access the files. Really? Pro's don't need a hidden or in-accessible file system, they need file permissions, and only a jailbreak can give that to them.

    3: The pencil is a drawing device first and foremost. It is not designed, nor meant to be, a primary way of interacting with the device's OS and applications. Moreover, only one device in apple's entire product history, supports this peripheral. Good luck slicing video with precision. A mouse can hover over a precise point, and offer two context actions via left or the right mouse button. A pencil can hover over a precise point, and do nothing. any actions require tap and hold, and buttons aren't used anywhere except for drawing apps.

    4: Developers want to be able to charge yearly fee's for updates, instead of release a whole new app. Like Tweetbot 1, 2, 3,, 4. In-app purchases are not meant for upgrades. They are meant to be used as a glorified "demo" system. You demo the app, and then buy it if you like it. There are a number of articles and reddit posts about developers leaving ios and going with their own distribution platform due to apples store policies. Big developers too, not little ones.
  • Constructor - Saturday, January 23, 2016 - link

    You clearly don't know what you're talking about.

    1. The iPad 3 which I have just replaced with an iPad Pro has just started its new life for a new user after 4 years of perfectly up-to-date and fully supported use by me. It is still fully supported and almost everything that's available for iOS still runs on it, most of it very well – and that on a device which has about 1/10th of the iPod Pro's performance!

    The main reason why you can still use old Windows PCs (or old Intel Macs, for that matter, like I'm doing right now!) without too many disadvantages against new ones is that Intel has entered a prolonged stagnation phase since they've bumped into the end of Moore's Law with their ridiculously outdated x86 architecture. There simply is hardly any movement forwards any more on the Intel front.

    Meanwhile Apple is cranking up the performance of their own processors at a speed we haven't seen for a decade on the desktop (it's actually a major achievement that the older iOS devices run as well as they do compared to the multiple times more powerful new ones!).

    2. Where I want filesystem access under iOS, I have it. I use Good Reader as my general-purpose local file manager for all kinds of files (including local or remote up- and downloads) and I can use iCloud, Dropbox and others for online shared filesystems. Your imagined problem is pretty much just an imaginary one.

    3. The Pencil is a precise pointing device. Which can be user everywhere. It's just not needed most of the time, in part because the touch interface can be used very precisely without it already.

    4. Payment is actually a lot easier and simpler than on any desktop platform, and in-app-payment is explicitly not permitted for "demo unlocking". Where it's done well it can unlock additional features, which can be used for featured upgrades as well.

    Your whole post betrays above all a profound ignorance about iOS and looks a lot like a panicked attempt to somehow justify why the exact habits you happen to have formed somehow were the only possible way to do anything for everybody.

    But as always, the world is not as simple or as limited as that.
  • jasonelmore - Saturday, January 23, 2016 - link

    1: what about the iphone 4, or ipad 2? Stuck on iOS 7 and can't be updated any further

    2: Physical media? USB drive? Even android can take a thumb drive. This allows android to be more of a traditional computer. You can store ISO's on your phone, EXE's, etc, and use your phone as a mini-laptop for working with other machines. Your goodreader just lets you view the files, so your solution is to email it or dropbox it everytime you need it on a different device? that's what we call a "work-around".

    Sending everything over the cloud is not something everyone wants to do, or can do. What if your in a area with no service, or better yet, you don't subscribe to service, and you want to use the phone as a computing device on wifi.

    3: again, the pencil is not comparable to a mouse or trackpad. the ipad has no cursor, Your fingers are large compared to a mouse selecting a single pixel on a screen. Main actions, and contextual actions are done via tap, long press, etc.. selecting text on a touch screen should be a good enough example to understand what i'm getting at.

    4: did you know apple will not even let you update apps you already own, if your credit card expires, or does not have any money on it?

    the fact that you are trying to argue this point, only shows that you have not been following public out cry on this subject. No Paid upgrades, No demo's (very important for expensive pro like apps), no way for developers to respond to bad reviews, at any given time apple can replicate your app, and since apple apps are not sandboxed, they have a inherit advantage. everyone else must be sandboxed, and pay a 30% royalty.

    Regarding payment on PC, pretty much everything pro level has gone to a subscription model. If by easy, you mean having a credit card on file for all purchases, then ok, it's easy. But it's also locked down, and like i said, you cant update the app if your card suddenly runs out of money or you go over the credit limit. it will force you to enter a new credit card, just to update a app you already paid for.

    look man, if your ok with apple making all the choices for you, then by all means, keep on doing what your doing. but some people have different ideas and want to customize the device to their needs.

    i can tell your a fanboy because you started insulting me there at the end, and that only shows your having a hard time justifying what you say to be true. These are not my habits, they are established work-loads that people have been doing on their computers for decades.

    you really do need a filesystem to be called a comptuer. and you need a cloud service that is compatible with all platforms and file types. Your solutions to a lot of my arguments is used a bunch of third party programs. a file system is fundamental to computing. there should be a 1st party file explorer (even a restricted one with the option to run root). To deny that access is basically saying "we are apple and we know better, you don't need that option"
  • Constructor - Saturday, January 23, 2016 - link

    1: what about the iphone 4, or ipad 2? Stuck on iOS 7 and can't be updated any further

    Wrong again, both directly and contextually.

    First, The iPad 2 is still supported by iOS 9.2.1 which is the current version. Only the iPhone 4 has iOS 7 as its latest version.

    This is a pretty illuminating comparison of iOS device performance historically:
    http://browser.primatelabs.com/ios-benchmarks
    (Select Multi-Core results)

    iOS 9 now covers a performance range from the iPad Pro down to the iPhone 4S which is 13 times slower.

    The iPhone 4 is even 26 times slower, and it only has a single CPU core, contrary to all devices which are still currently supported to this day (including the iPad 2).

    And I'm pretty sure you'd be right in front raking Apple over the coals for iOS 9 running less than smoothly on that single-core iPhone 4.

    It's actually quite remarkable how well iOS still runs on those over four years old devices after the breakneck performance development of the past years in the iOS space.

    2: Physical media? USB drive?

    And then where is that floppy drive "everybody knows" is absolutely required..? ;-)

    Even android can take a thumb drive. This allows android to be more of a traditional computer. You can store ISO's on your phone, EXE's, etc, and use your phone as a mini-laptop for working with other machines. Your goodreader just lets you view the files, so your solution is to email it or dropbox it everytime you need it on a different device? that's what we call a "work-around".

    ...and wrong again!

    Good Reader can do many things, among them using DropBox. But I can also simply tap a button and Good Reader appears in my local WiFi network (including in the one my iPhone has just provided) as a bog-standard WebDAV network drive which I can directly mount on my Mac, on a PC or on any other mobile device (including on a Good Reader instance running there if I want).

    GoodReader can also mount locally available shares and download from these (or upload to them).

    I can also throw files to another Apple device purely locally via AirDrop, or I can exchange files locally via Weafo (which appears as a web-server from which anybody else can download the file). And that's only scratching the surface (ahem) of what I could do with iOS since I have simply stopped exploring further for the time being because I haven't needed more than that personally.

    You know very little about what's actually possible under iOS.

    3: again, the pencil is not comparable to a mouse or trackpad. the ipad has no cursor, Your fingers are large compared to a mouse selecting a single pixel on a screen.

    ...and that is why there is the Pencil for those rare events where I actually need to address specific pixels. Finger-based UIs can actually be quite precise otherwise, so these needs are actually relatively rare.

    Main actions, and contextual actions are done via tap, long press, etc.. selecting text on a touch screen should be a good enough example to understand what i'm getting at.

    You can't have actually used iOS devices if you still believe that. Text selection – to take your example – works very well and very precisely by finger touch alone because it is designed for exactly that.

    4: did you know apple will not even let you update apps you already own, if your credit card expires, or does not have any money on it?

    I've never used a credit card for iTunes in all those years and never had a single problem.

    the fact that you are trying to argue this point, only shows that you have not been following public out cry on this subject. No Paid upgrades, No demo's (very important for expensive pro like apps), no way for developers to respond to bad reviews, at any given time apple can replicate your app, and since apple apps are not sandboxed, they have a inherit advantage. everyone else must be sandboxed,

    "Outcries" about Apple are the norm rather than the exception. And of course there are valid points to be made in multiple directions. But the measure of the App Store is where there is one that actually works better for a) the users and b) the developers.

    There isn't one.

    So Apple may not actually have made all the wrong compromises there, as inconvenient as some of them may be for some people. Perfection sounds nice, but actually achieving an actually workable solution is much harder than just clamouring for one.

    and pay a 30% royalty.

    Ouch. Again with the cluelessness!

    First up, these 30% are no "royalty" as pure profit for Apple as you appear to believe, they cover all the costs of distribution including minimum payment transaction charges which are quite substantial as a ratio at the very low item prices in the App Store (no, the percentages you've heard of don't apply there – the minimum charges are much higher than that!). They also cover all other fees and expenses, also including cross-subsidies for the large number of distribution of free apps.

    That all the other app stores have never been able to undercut Apple here should have given you a hint or two: It's pretty much run at cost, at Apple as much as anywhere else.

    look man, if your ok with apple making all the choices for you, then by all means, keep on doing what your doing. but some people have different ideas and want to customize the device to their needs.

    You don't even know what can or can't be done with iOS as it is, and yet you're all about sweeping generalizations.

    i can tell your a fanboy because you started insulting me there at the end, and that only shows your having a hard time justifying what you say to be true. These are not my habits, they are established work-loads that people have been doing on their computers for decades.

    I'm simply fed up with always the exactly same ignorant cow manure being shoveled all over the place by people who are full of prejudices but empty on actual knowledge of the topic, let alone actual, practical experience.

    you really do need a filesystem to be called a comptuer.

    Rubbish. I could just as arbitrarily claim that if you didn't have a HiDPI screen your machine was a mere toy and "completely unusable" for any serious uses just because that's what I fancied most.

    In real life with real use I need solutions which are appropriate to my actual needs. Stomping your foot and throwing tantrums when you can't replicate exactly the same workflow you happened to have earlier is silly and shortsighted.

    Successfully working with IT has always meant adapting what was actually available to what one actually needed and being creative at getting both together for as much pragmatic efficency as feasible.

    Crybabies whining about their bygone habits and preferences have always been left behind in the process when new opportunities appeared on the scene.

    and you need a cloud service that is compatible with all platforms and file types. Your solutions to a lot of my arguments is used a bunch of third party programs. a file system is fundamental to computing. there should be a 1st party file explorer (even a restricted one with the option to run root). To deny that access is basically saying "we are apple and we know better, you don't need that option"

    It is as if you haven't paid any attention for the past nine years.

    iOS is a safe, stable and still extensible mobile platform which can run third-party software. This was extremly hard to achieve, and Apple forced a lot of compromises regarding "hackability" because of it. I get how that rubs many people the wrong way (not least as a developer myself, even if not for iOS so far), but as someone who has developed and handled substantially complex, extensible systems (some from the ground up) I am very much aware of where crucial decisions have to be made for something like that, and between which alternatives these decisions have been in major cases.

    And the very real stability and safety (including privacy protection!) which actually results from Apple's decisions is hard to deny.

    I'm not at all denigrating your preference for completely different kinds of systems where many decisions have been made completely differently, but your problem here is that you don't seem to be aware what these criteria and these options even are when it's about the creation of a major platform.

    One can easily disagree with many of Apple's decisions and rules, and that aplies to myself as well in various cases, but actually being aware of why Apple is handling many things the way they do is actually relevant here, and in most cases it's actually knowable.

    You'd be much better off if you started at least questioning some of your evident prejudices and preconceived notions at the very least for some broader perspective – which is valuable even if your conclusions for your own system preferences end up in exactly the same place as they do now, just not out of sheer ignorance any more.
  • Morawka - Saturday, January 23, 2016 - link

    Good reader requires you to be on the same network as the machine you want to share files with. Some networks do not even have wifi ap's so your sol in that regard. The only workaround I've found is to pack around a nano wifi router that can run off a battery pack, and physically hook it into the network (if you even have access to the ports). ita really just a file viewer with a few nifty features, but it does not excuse the lack of a native solution. Micro usb otg thumb sticks are the shit. No worrying about sensitive files over the network.
  • MaxIT - Saturday, February 13, 2016 - link

    You are becoming ridiculous... Are you really complaining because a smartphone from 2010 isn't supported anymore in 2016 ? Lol at you ...
    Tell me about HTD Evo or Google Nexus One, both android flagships from 2010 .... They were death and buried by 2012 .....
  • FunBunny2 - Saturday, January 23, 2016 - link

    -- bumped into the end of Moore's Law with their ridiculously outdated x86 architecture.

    not true, strictly speaking. years ago Intel stopped executing the ISA in silicon, and went with an emulator which ran "micro-code" on a "micro-architecture". the real processor (ALU, etc.) in a X86 chip is some RISC machine; which gets changes each tock. whether this is really more efficient than using those billions and billions of transistors to do all of X86 in silicon is a question I've never seen answered.
  • Constructor - Saturday, January 23, 2016 - link

    Exactly: They have been forced to build a real-time hardware cross-assembler into their CPUs because that was the absolute last resort to get ahead at all any more. Absolute madness, and close to a miracle that they've pulled that off at all, even with the substantial penalties that entails.

    The ARM64 ISA, by comparison, is completely new, legacy-free and was designed from scratch for optimal execution efficiency. It's not even backward compatible to ARM32. The two are completely different, much more different than x86 and AMD64.

    ARM CPUs generally don't need any microcode – they can decode and execute the instruction stream directly, and complications are kept to a minimum (just consider, by comparison, what an Intel CPU needs to take care of internally when processing asynchronous high-priority interrupts, for instance!).

    Intel has always completely botched their basic ISA designs. Remember the original x86? What a horrendous, incompetently conceived turd! The painful iterations after that were hardly any better, and If AMD hadn't helped them out with AMD64 (which given what they had to start from was actually somewhat decent), if they hadn't put everything in chip design and manufacturing and if the Microsoft monopoly hadn't afforded them a perfect base for their own monopoly, they would have been toast a long time ago already.

    The declining Windows PC market, however, is not a good portent at all for Intel specifically, especially when looking at the continuous profit erosion of the dwindling number of PC manufacturers.

    The era of the ascent of the Windows PC is over. The rollercoaster car has just passed the top of its climb.

Log in

Don't have an account? Sign up now