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

  • Relic74 - Saturday, February 27, 2016 - link

    Citrix support isn't very good on the iPad Pro, we have one on the office as a test bed. We've gone with ChromeBooks instead, a little cheaper, though not by much as we bought the Dell 13" ChromeBooks which are about 600 bucks. Works fantastic as a terminal machine. The iPad Pro is just to expensive for such a thing and it doesn't support a mouse, plus external display support absolutely sucks. Their was black bars, resolution looked bad, doesn't support extending the desktop (an absolute must have feature) and the DPI is so large it looks like a children's OS. Though are biggest complaints was the lack of multi-user support, horrible file management, no Open ID support and can't run apps in the background. The iPad Pro just isn't an Enterprise computer. They might use them as data entry and retrieval devices but as an Office computer, nope.
  • name99 - Friday, January 22, 2016 - link

    Your comment, like the use of the term "Productivity software", reveals the sort of white collar snobbery that is rampant in supposedly classless America.
    I agree that an iPad (and for that matter a Surface) are highly sub-optimal devices for the tasks of large amounts of writing, research, constructing spreadsheets, debugging code, etc.

    But those are not the only jobs in the world. Musicians are also professionals (in the colloquial, if not the legal) sense, as are designers/drawers/artists, as are those using these sorts of tablet devices to hold large numbers of technical papers [my particular use case] (ie scientists/researchers), or blueprints or CAD/CAM material or medical diagrams.
    To claim that those people are not doing "real" jobs, or that they don't "deserve" or "need" a device optimized to their usage models (which are much heavier on finger or pencil/stylus/brush style manipulation, much lighter on keyboard manipulation) is basically one more version of the usual "look at me, I'm the most important person in the world, and only my needs matter".
  • Constructor - Saturday, January 23, 2016 - link

    Perfectly said!
  • MaxIT - Saturday, February 13, 2016 - link

    Absolutely correct! To some people on this (and similar) forum if you aren't doing Photoshopping, 3D modeling , CAD or extensive data querying you don't deserve the term "Pro".
    I know of people making a lot of real money, real big money, using just a notepad and a word processor. Or a sketch device.
    In my organization we are managing $36 millions gear with an outdated iPad 4 and PROFESSIONAL APPS (the same apps someone here keep saying it doesn't exist). But we don't deserve the term "pro", do we ?
  • Wagobert - Saturday, January 23, 2016 - link

    regarding software, I have to agree with Ddriver. On the "SOC Analysis: CPU Performance" page, the authors used Apple XCode (running presumably on a Mac). Could Apple's own XCode run on this hardware? This is being discussed on multiple sites, and the consensus seems to be that memory and IOS are the problem - see here, for example: https://www.quora.com/Will-Apple-make-an-iPad-Pro-...
  • Constructor - Saturday, January 23, 2016 - link

    Sure it could. The performance is definitely there. Replicating the entire UI would just be a pretty big task, and larger screens are usually a big advantage in coding and debugging.

    There's also the matter that Apple is reluctant to allow binaray code generation directly on the device because it could be abused for attacks (because the code signing key would have to be on the device and might be exploitable through other vulnerabilities).
  • MaxIT - Saturday, February 13, 2016 - link

    Maybe in the future, but not yet. To do some serious developing you need multiple windows, a good workspace and maybe some virtual machines... That means a big screen, a lot of ram and a different UI.
  • Relic74 - Saturday, February 27, 2016 - link

    It can but Apple won't release it for this, it's not a laptop.
  • zeeBomb - Saturday, January 23, 2016 - link

    Well I'm late
  • akdj - Monday, January 25, 2016 - link

    Apparently you're oblivious to the amount of resources, time money and man hours being devoted specifically to the development of mobile, companion apps from the likes of MS, Adobe and AutoDesk.
    None want to be left in the rear view mirror!
    Also, to whoever was beating up on the 2 dozen MS apps, there's a 'Glass' app used specifically for Office suite, scanning and the like. Maybe even 'Office Glass' --- but v1 of the suite's 'drop' a year ago ---or has it been two now? Doesn't Matter, I was on board day one and have had nothing but luck and reliability with it. Both on iOS and OS X. Adobe's companion apps JUST underwent ground up re-writes to support 64bit, handoff amnd it's continuity with a home, studio, desk or one's 'main production' --- not necessarily "pro" rig, but possibly the machine with peripheral options, storage, more power with. 110v constantly, etc. I received mine November 6th, ordered around a week, maybe two post-launch. I've owned every iPad and deploy them now and since iPad 4 'in the field' for my business our family's run for three generations. As well as a dozen full and two dozen part time & temp employees, plenty of us pay our mortgages, car payment(s), daycare and taxes using the iPad as our primary, if not 'only' computer while 'making paper' (we own/operate a flight service and mobile A/V production company in Alaska - I've been flying myself nearly thirty years --- & the ½ pound replacement (Mini 4) or 1.5 pound long trip replacement, iPP is an incredible relief from my 45-60 pound flight bag. Faster, more reliable and up to date than anything 'printed' as well --- its ability to file my flight plan, calculate fuel, diversions for safety, real time traffic, weather, or airport 'issues'. Jeep charts, plates 'no fly areas' maybe -- or any diversion from routine T/O or landing cycle knowledge is paramount & the more details, the better when you're flying in & outta the same areas son long
    In the air, test/beta versions of NextGen (ADSB's successor and the update to America, if not the world's ATC system --- with 3D display or HUD showing traffic, terrain, and their headings, altitude and speeds - as well, and most importantly where they're going to, whether their path crosses mine @ a certain moment in the future ...& with the info, both (if equipped) planes will be instructed to change heading, decrease/increase speed or altitude. TCAS (collision avoidance) and 'always on' transponders w/GPS & better tracking then radar and the many blind spots on the planet to radar --- as travel increases, your idea of professional should be changing - as these guys are faster than anything we used on our desks in 2010, just six years ago. Solid state, blazing fast storage, always on and always fast LTE connectivity, wifi if you're in range. The horsepower (I've yet to notice frame drops other than in the App Store as its repopulating during an extensive swatch and I'm deep down) to run most anything developers can dream up now and will continue better their apps, integration and aggregation with the 'mainframe' of the business ...whether you're an engineer, architect, car salesman or waitress. Teachers, UPS & FedEx'll update their tabs so,easy and the garbage men can get rid of pen and pencil as well as the monstrous waste of paper generated daily to be thrown straight into the trash.
    iPad Pro, the Surface Pro --- they're 'words' but my definition of professional is the ability to help me make money. A tool, usually an invaluable one that's evolved enough in the capacity I need it for to be considered Revolutionary
    That's 2010, 2012 the original and the Retina display 'then 2015, with iPP.
    I'm with the author(s). I've owned and LOVE Pencil, don't need or want the KB cover after using it for a week. At all
    9one thing on the UI side of the equation is the very excellent OS X like software keyboard layout, the Pencil as a helper for typing and picking suggested/predicted words above the keyboard I've found. And with common punctuation including 'shift' 5 for the % -- shift keys on both sides, double shifting does rage cap lock thing and we've got tab/delete, larger emoji key w/numeric and keyboard switcher in both sides of the space bar. The clipboard, undo and redo are awesome as are the 'up down' form filler/maneuver buttons on the right top of the KB UI. Well enough laid out, I've found a very comfortable case in the lap, perfect angle typing with my left thumb and right hand using/holding the pencil as my second hand. Worlds a treat, hard to explain correctly but efficient, effective and my near new 15" 2015 rMBP has been lonely since Thanksgiving (I'm floored by what Adobe's accomplished with their creative cloud, my iPad Air 2 or Pro mad their aggregation with OS X on my iMac, the Mac Pro. Or earlier mentioned MacBook. They're ALL Over It! The software companies are done boxing DVDs up with 300 page instruction manuals and the packaging costs. Get used to it. Lap/desktops aren't going anywhere but iPads can certainly be the tool of choice, primary tool to get their job done, inventory counted or their record produced!
    Pro football today had a bunch of problems on the sidelines today with their Surface Pros, had to 'turn em off' for a few. Both teams ...til they 'rebooted the system' lol
    iPads man. They're for pros that want to look, sound and be prepared professionally with reliability and extensive functionality, support and longevity. 'Imstiimown kids still use and it's still working great, the original iPad. Also have the Xoom, predecessor to Nexus. Doesn't 'light up'. It's. Broked.

Log in

Don't have an account? Sign up now