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

  • HammerStrike - Friday, January 22, 2016 - link

    "I beg your pardon, Miss Taggart," he had said, offended. "I don't know what you mean when you say that I haven't made use of the metal. This design is an adaptation of the best bridges on record.

    What else did you expect?”

    "A new method of construction."

    "What do you mean, a new method?"

    "I mean that when men got structural steel, they did not use it to build steel copies of wooden bridges."

    Ann Rand, "Atlas Shrugged"

    The question around the iPad Pro is not is it a close enough copy of a workstation to do workstation work, but does it enable new work streams that were previously unexplored. As has been previously noted, the Surface Pro 4 is an extremely capable piece of hardware that checks all the same boxes as the iPad Pro, but no software had been designed to take advantage of it's unique form factor - it's still using a wooden design on a steel bridge.

    The real differentiation for the iPad Pro is iOS, and the touch first / mobility first design mentality it brings to the table - software has to be written specifically for that environment and usage case. There are some notable hardware and input difference between the iPad Pro and previous iOS devices - time will tell if they can be combined to provide real productivity improvements vs previous designs or if they are merely novelties that will be quickly forgotten. Jury is still out on that, but if anyone can build the "critical mass" to jump start that exploration it's Apple. Hopefully some apps come out and wow us - to channel Asimov, there is a single light usage case advancement, and to progress it anywhere is to progress it everywhere.
  • name99 - Friday, January 22, 2016 - link

    I simply cannot figure your complaint: "It is a computer, REDUCED to an accessory, which COULD be THAT MUCH MORE USEFUL."

    So what do you want? You want the iPad Pro form factor running OSX? You want the ability to plug in a second screen? You want to be able to install Windows?

    Your complaint seems to be "this is not a Surface Pro 4". It isn't MEANT to be.
    It's meant to be a larger screen version of an iPad, for those for whom an iPad is an appropriate device. If you're not one of those people, WTF does it matter to you? Do you hang around bicycle tracks telling everyone there they should be using a motorbike or a car or a truck because those are more powerful?

    You are stuck in a certain vision of what a computer is "supposed" to be, every bit as much as IBM confronted by DEC couldn't imagine a computer that wasn't a mainframe, then DEC confronted by Apple, Atari, etc couldn't imagine a computer that wasn't a mini, then in 2007 people couldn't imagine a pocket computer.

    If you want to think of this as an "accessory" to a Mac, go ahead. I don't see what the value of that analogy, or why it's supposed to be an insult (Apple grew to the company it is today on the back of that accessory, the iPod...). People loved their iPods, they love their iPhones (especially the way they work together seamlessly with their Macs), and I expect they will love their iPad Pros.
  • Jumangi - Saturday, January 23, 2016 - link

    Actually it is being touted as surface competition. Apple PR pushes this as a laptop replacement and its pricing is right with the Surface. Totally valid to compare the two.
  • Constructor - Saturday, January 23, 2016 - link

    You can do that. And Apple does indeed propose it as such – among very many other things, quite a few of which are actually better served by an iPad than by a conventional notebook.

    Just one example among many: The ability to simply use it in portrait mode already makes a huge difference for anything document-related, for which the narrow widescreens on computers are woefully inadequate.
  • MaxIT - Saturday, February 13, 2016 - link

    Indeed it is. And it's way better than a Surface Pro, because it runs an OS that is actually designed to be used with a touch interface, while the Surface doesn't....
  • Relic74 - Saturday, February 27, 2016 - link

    Windows 10 was designed to be used with touch as well, it's silly to even think otherwise. People who such things have never used one before, simple as that.
  • The Hardcard - Friday, January 22, 2016 - link

    It's not about now. Yes now I have a laptop for things my device can't do, and a desktop for things my laptop can't do timely.

    But I am excited that soon devices that can be carried and pocketed will soon be powerful enough and have the software to do every thing I want to do in a timely fashion.

    The iPad Pro marks the beginning of the final stage of the mobile transition, being THE computer for all mainstream activities.

    There will still be larger form factors, just as there will still be mainframes. But most homes and many business won't have them.

    In fact, that is what IBMs new angle is. The occasional or particular high-power computation you need done elsewhere, results served to your device. Most people won't even need that
  • RafaelHerschel - Saturday, January 23, 2016 - link

    Conditioning I guess. Some people can't imagine that using the right tool for the job is more important than using a form factor that was originally designed for media consumption.
  • Ananke - Friday, January 22, 2016 - link

    Pros use Oracle, SAP, Cytrix for 98% of hardware, and some other exotic stuff amounts for the 2% left...Hence, nobody will approve capital expense of $1000+ on software unsupported device, when a $329 workstation can just do it. Software companies don't bother to bring the huge databases to exotic silicon either, when there are already CHEAPER well developed alternatives.
    Tablets are great for POS terminals, some apps that require mobile high quality visual content, and that's it pretty much. There is just no functionality need for something else, especially an expensive one.
  • mrcaffeinex - Friday, January 22, 2016 - link

    In the office where I work, the iPad Pro may be the device people have been looking for. All of our remote application access goes through Citrix, with the most-used applications being Outlook for e-mail, Word for document review/minor editing, and Adobe Reader for PDF viewing. The experience on the iPad currently is not great, because the desktop versions of these applications do not translate well to the touch-first environment. The stylus and keyboard cover, coupled with the enhanced resolution, could make a difference.

    It is not a solution for everyone, but I have been fielding calls from our users already about wanting these, so there is potentially some kind of market to cater to here. I realize that from a technology standpoint there are more powerful alternatives and that there are other ways to approach the software situation, but at the end of the day, this is the kind of device that our users want: an iPad with a slightly bigger screen, responsive stylus input, and a keyboard cover in a convenient package, not to mention the implied prestige of Apple product ownership (in some circles the image is considered very important).

    Time will tell if this is a fad or a long-term product line strategy. If Apple can turn a profit with these (and they do have a history of turning a profit on their devices), even in spite of a limited market appeal, they will probably keep marketing them.

Log in

Don't have an account? Sign up now