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

  • FunBunny2 - Saturday, January 23, 2016 - link

    -- It's by now become a quasi-religious belief system for some that "mobile devices cannot ever be used for any professional purposes whatsoever!".

    despite what some think, Apple didn't invent the tablet. warehouses and manufacturers (when the US had them, of course) have used tablets with 802.11, and earlier protocols, for decades. all Apple did was create a consumer version.
  • Constructor - Saturday, January 23, 2016 - link

    A "version" which "consumers" (apparently intended as a belittling epithet by you) can use, but the whole point is that it's not limited to that.
  • akdj - Monday, January 25, 2016 - link

    "You will still never be able to fit Photoshop's whole interface and abundance of options and menus into the tablet in a way that the user is easily able to reach them, without scrolling through pages of big buttons."
    Huh. Wonder why folks. The professional ones, for years have been buying Wacom tab companions to their 'workstation' specifically FOR PS, And EXACTLY for the reasons you outline, the ability to have precision touch and capacitance/tactile feel and response of real pencil or pen to paper. Some of these Wacom Photoshop controllers cost several times the price of the iPP for YEARS, & the iPP has its computer built in! No need to add a 'workstation'
    You must've been hiding under a rock the last ½ decade. You've CERTAINLY not visited the App Store in some time. Adobe, Autoideskk Microsoft and the BIGGEST makers of "Content Creation" software are currently devoting MORE resources to mobile programming and development than their 'workstation' counterparts.
    The 'big brow box' filled with diseases,; viruses - malware, adware, & the ilk's days are numbered. They're already on their way out of MANY folks' homes and offices being replaced by ultra books, passively cooled and ultra low voltage with ultra high efficiency is all the rage today. Battery life > 5 extra FPS, usability and funtionality > pure power, lotsa RAM, and expensive CPU and GPUs. Portability and the ability for 'instant on' access to their tab or phone > waiting til home, turning the power on, waiting for the boot. Opening PS (a slowly dying program with a phenomenal amount of alternatives on an iPad and iPhone and iDevice -- been that way for years, now with Adobe on board, their CreativeCloud suite offers a plethora of companion apps capable of ALL CS6's abilities as it's designed to aggregate and integrate with 'your' CC assets allowing for MOST editing ANYone will ever need on the iPad ...especially now with the display's ability to work with such an excellent active stylus and it's near direct comparison to Wacom's line of ...apparently unnessasary PS instruments and tools over the last decade or two those 'productive individuals' have made many millions of dollars in publishing? Now an AIO system with its OWN computer built in - a massive community of developers, independent to Adobe, friend next door or Autodesk themselves --- any software company interested in future survival in the industry is devoting more resources than ANY point in history to mobile dev. It's why MS, Adobe and AD were all there at the iPP unveiling. ALL demonstrating some phenomenal --- and yes, PROfessional use-case applications and software. I'm not a doctor but downloaded the examples shown at its unveiling of the Human Body atlas and AutoCAD --- its mind blowing how easily and flue to the iPad is able to manipulate such extensive detail and graphic overlays (nervous, muscular, skeletal, circulatory system overlays --- in any combination and with the ability to manipulate the direction you're looking at at a consistent 60fps) are MUCH better teaching aids - and learning that ANY static text book

    Whether you ARE creating, flying a jet filled with passengers, entertaining a couple thousand folks at a concert, controlling inventory or filing your flight plan a personal pilot --- and probably 100,000 other occupations have been made significantly easier to accomplish, with less weight, more time away from the charger and 110v. That's what people need, want and are looking for. Unfortunately for Apple, they're making their iPad 'too well' --- as I've got the original, and an iPad 2 that both work, hold a charge and last as long as the Day I bought them six and five years ago respectively this year.
    I also own the Air 2 and iPP and both have significantl impacts on my business I've run for nearly thirty years, successfully and exponentially dropping 'weight' every decade or so with something as capable as the always on, always connected and never a concern with battery life --- as the iPad is, easily replaces hundreds of dozens of crates of vinyl records! All while weighing about as much as a single - double record LP.

    So, to summarize at the end of the day if you're a Photoshop user, you just got an incredible tool to augment your worlflow, make your photographic post production easier, organization and metadata handling, batch alteration or editing and aggregation of your library, metadata in tact and ready for post when you get home. No more off loading memory cards, organizing memory cards, redundantly dumping them for redundant/backup purposes and all the other BS that goes into using a dinosaur of a program FEW truly NEED for their projects.
    Today, Adobe offers a ½ dozen "Photoshop" apps on iOS. Along with drawing, marking PDFs, even Premier and AE capture and integration (w/motion) - the options are becoming more extensive everyday, Adobe's just rewrote their entire app library and replaced each app for even better continuity for those still needing PS's tools or Acrobat's abilities beyond the $3, $5, $10 alternatives ...some, like Pixelmator, cross platform with ANY & EVERY PS tool the average layman could dream of --- available - @ the cost of a single month rental of PS/Lightroom 'rental'. And not just for hobbyists. Spend some time at DPreview.com to see the PS competition OR see Adobe's subscription tactics to maintain revenues.

    It's not just a super powerful tablet. It's that and so much more thanks to an extensive and larger library of accessible software already matured to the point the App Store is - all in one place and all reasonably priced. Best prices and selection of software in history is currently more convenient and organized than ever and it's in the App Store

    As devs have only had single GB of RAM, slower SoCs and smaller displays to program to over the last six years, even the Air 2 & 6s line of iPhones seems HUGE right now with double the RAM, graphics and compute. Double it again and you've got tether iPP. I'm already seeing apps available for Air 1/Mini 2 - 5s or A7/64bit iPads and newer to run the app.
    As a daily user of the iPP for two months --- so many of your goofy statements make no sense, shout ignorance and beg to be straightened out --- but there's always a few schills around these parts beating an incredible product down while the masses of us are enjoying it!
    Silly Murloc. What is it that makes YOU a Pro, and why is it YOUR job wouldn't be made easier or convenient with a tablet?
  • jlabelle - Thursday, January 28, 2016 - link

    " now with Adobe on board, their CreativeCloud suite offers a plethora of companion apps capable of ALL CS6's abilities as it's designed to aggregate and integrate with 'your' CC assets allowing for MOST editing ANYone will ever need on the iPad"

    a very big big rant that just fall flat because of false premises. The claim above is a good example : simple case that most photographers need : Can I develop my RAW files on an iPad ?
    When I mean developing, it is the normal basic reasons why you are shooting RAW in the 1st place : 1/ work in 16 bits mode so that you can push shadows / pull highlights and work on color without posterization ; 2/ apply automatically the lens correction (distorsion, CA, vignetting, ...) and 3/ have a color managed workflow (take into account the color space of the RAW file, have a calibrated display...)
    The answer is ... drums rolling : you can NOT.
    And you do not need a CS subscription to do that on a Surface, you can just purchase once Capture One Pro, DXO Optics... what you want. So what you can do with a Windows tablet, you simply cannot on an iPad Pro.
    This is just one example but the same is true for a list so long that it makes no sense to try argue against that.
  • Gastec - Monday, January 25, 2016 - link

    A gamer you would know what Pro moniker means.
    It goes like this: "I'm a Pro, gamer or whatever" meaning "I'm a big shot, a slick, better and cooler that you". And that's what iPad means when it says it's "Pro" :)
  • KPOM - Friday, January 22, 2016 - link

    What do we need all the ports for? Most people, even in offices, can get by with wireless networks and printing these days.
  • xerandin - Saturday, January 23, 2016 - link

    Quadro*
  • rabastens23 - Friday, January 22, 2016 - link

    "Performance is better than a high end workstation from 10 years ago, a system which was capable of running professional tasks which are still nowhere to be found on mobile platforms."

    That's sort of an odd claim - what are those tasks, exactly? And if it's not a performance issue, why do you need an iPad Pro to do them?
  • ddriver - Friday, January 22, 2016 - link

    Design, engineering, content creation. Basically every scenario that involves making something professionally rather than consuming something.

    Nobody needs a ipad pro to do this, point is the device is powerful enough for such tasks, and it would be nice if there was the software for it, in order to make that device truly PRO as in useful to professionals and not "pro" as in an empty marketing BS.
  • lilmoe - Friday, January 22, 2016 - link

    DUDE. Software is NOT the only thing the iPad "Pro" is missing for it to be a Pro tablet. Get this through your head.

    The hardware is lacking even if it were much more powerful. The OS is also lacking.

Log in

Don't have an account? Sign up now