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

  • akdj - Tuesday, January 26, 2016 - link

    I'd bet Apple switches to OLED sooner than later but the combination of IGZO and A/R glare covering/coating/glass infused front end and iOS 9's (current beta. I'm not sure if it's life in the current version of public iOS) display 'blue point' setting helps significantly at night, while reading. You're able to turn the temp down, fairly low in temp to help your eyes in the dark with a warmer screen. I use it every night. Amazing, yet small addition to iOS that - again may go unnoticed but if you take advantage of it, your eyes will thank you!
    I'm actually using Pencil in right hand, left free to hold or help type -- as you can navigate, open apps, manipulate the iPad and UI with the pencil but with a LOT more precision whether using a sketch pad, editing in Pinnacle or iMovie, GarageBand, or even using playback apps like dJay, games, and writing or notating a PDF, picture or just prefer sending a hand written note, it's an exceptional piece of hardware and the App Store's selection of apps, the best in history and at the lowest cost we've enjoyed ...in history.
    I'm floored by the accelerated pace of apps being updated for support of both iPP and the Apple Watch. Niche product? Sure, but as a smaller iPad owner as well I'd LOVE to see this speaker tech drizzle down the line. Speakers, SoC and the 'speed' of this guy are phenomenal and anyone that spends anytime with one and apps from Adobe, MS, Autodesk or other big software devs, you'll immediately 'see' what the authors are discussing and the enjoyment many have found in ownership.
    As the workplace transitions to BYOD, Jr and HSchools transition to the same --- as well as colleges, iPads of all shapes and sizes can be seen. That said, the iPP offering of the Pencil takes this another step forward for education and medical/sciences/teaching, audio production, mobile video capture, controlling your Parrot or --- as many ignorant, haven't seen or touched it yet, folks will tell you -- 'consumption'. Media; music, videos, books and magazines --- all look, sound and are more enjoyable with the larger display, significantly upgraded speakers and improved perfomance make it the perfect iPad --- for me.
    I still have my rMBP 15" at home for heavier lifting my iMacs and Mac Pro in studio but the use they get is minimal compared to just a couple years ago. For everyday everyone tasks; email, surfing, comms, Twit, FB, Instagram or fill in favorite social site here -- to wifi calling, continuity with the rest of your system through handoff, and sooooo many other little things that took me away from 20 years of PC usage seven years ago to strictly OS X and iOS - with Win 7/10 on partitions of the MP in the case software is proprietary to Windows --- an ever growing anomaly rather than the usual just a half decade ago
    ALL the big software developers have switched up staff and dollars from desk and laptop to mobile development --- some, over 50%! Adobe's got a dozen companion apps as does Google (that run many times better on iOS than my Android devices!) -Autodesk and Microsoft both demonstrated their software at the iPP release and I've been using the MS suite since the day it dropped, subscribed to Adobe CC since its inception and have watched literally ...weekly updates to their companion iOS software. To the extent they've rewritten ALL of their apps for 64bit compatibility opimized to iOS and are absolutely phenomenal --- certainly not 'gimped' - bit extensions of the CC suite on your MBP, MP, iMac or iPhone!

    Anyway, as you seem to get it, that it's a great tablet --- as far as nighttime reading, the latest iOS drop allows much more granular control of the screen temp than Android's standard, cinema, photo, and adaptive settings. Definitely help with reading in the dark!

    J
  • SFoster4 - Friday, January 22, 2016 - link

    I am an IBM mainframe systems programmer and have been for 38 years. I have been using PC's as well for longer than many of you have been alive. I have seen and owned lots of hardware. The hardware along with the software will always evolve. Why can't you people just enjoy the changes, I do. I bought an iPad Pro. I love it. I am typing on it right now. But I am not going to lambaste others for using different devices. If there was only one solution then the hardware/software would be boring. However that might not be a bad thing because then I would have to read all of childish rants of my d*** is bigger than your d***.
  • blackcrayon - Saturday, January 23, 2016 - link

    Thank you.

    Unfortunately, there doesn't seem to be any correlation between maturity and interest in tech...
  • klassobanieras - Friday, January 22, 2016 - link

    "When discussing azimuth, we’re basically looking at the angle that the stylus makes with the plane of the display, while altitude is the angle that the stylus makes relative to the normal of the display"

    This could be more clearly expressed - the azimuth is the angle of the pencil *within* the display plane vs the horizontal axis, not the angle it makes with the plane itself.
  • Constructor - Saturday, January 23, 2016 - link

    Basically the Pencil gives:
    • pixel-precise location (x, y)
    • pretty precise pressure (from manual testing – subtle pressure variations come through very well)
    • relatively crude inclination (looks like only a few increments from 0..90° in the software I've checked)
    • relatively precise direction when inclined (dx, dy – when shading "sideways" it knows the orientation of the point)
  • SaolDan - Friday, January 22, 2016 - link

    The only way i could call this thing "pro" is if it could run the software i use for work. I-lux, ETC software, crestron software, ILC software, wattstopper software, i could keep naming software. Im that years down the road some of them could be available in ios but as a lesser crappy app. My boss is an ipad freak and he wont buy ipads for the company because we cant load any of the software we need to use. The device looks nice and its huge in a good way. Sucks that it doesnt have a usb drive and file system. No this cant not replace a laptop. No it cant run real games. It all depends on what use u give it.
  • blackcrayon - Sunday, January 24, 2016 - link

    You really don't understand why they used "pro"?

    Look, Samsung makes a 256GB 850 PRO ssd. For my job, 256 gigs isn't nearly enough. How can it be pro? Because it has features and performance above and beyond their other models. It's just a label. It doesn't mean every profession on the planet will find it to be the perfect device. I know a lot of graphics professionals that could use an iPad Pro in their workflow where an Air wouldn't have worked very well (pencil, larger screen).
  • Constructor - Sunday, January 24, 2016 - link

    No, the Samsung "pro" SSDs are not just a different badge. They also use different chips with a different architecture for more consistent performance and for increased reliability.

    With the iPad it's more similar to the MacBook Pro: Anyone can use it for anything; It's mostly similar to the smaller models. But its full-page document capability, its professional-grade Pencil and its high processor performance make it more suitable for demanding work than any other model.
  • MaxIT - Saturday, February 13, 2016 - link

    The whole "pro" bitching is utterly ridiculous. One can use a Mac Pro for Safari and Mail while another could earn real money just using an iPad mini ... Who's the "Pro" here ?
  • MaxIT - Saturday, February 13, 2016 - link

    World doesn't end at your job...
    And the iPad pro DOES have a file system.

Log in

Don't have an account? Sign up now