News

Understanding the Differences Between ARM and x86 Processing Cores

May 05, 2017 by Robin Mitchell

ARM and x86 are the two most common processor families on the planet. What are their strengths, weaknesses, and applications?

ARM and x86 are the two most common processor families on the planet. What are their strengths, weaknesses, and applications?

For years, ARM (originally Acorn RISC Machines but now Advanced RISC Machines) has been at the center of modern microprocessors and embedded design. With a focus on low power consumption and a simple instruction set, mobile devices in particular have hugely benefited from the processor design.

But a few years ago, Raspberry Pi made its debut, boasting a Broadcom SoC which included a 700MHz ARM core. The ARM core on its own boasted low cost and simplicity.

Intel, for its part, has mainly produced processors aimed at high performance and high throughput environments, including desktop PCs, laptops, servers, and even supercomputers. But this is no longer the case as Intel is embracing the mobile/low power market with many mobile processors, including the Intel Atom series (one of the main processors powering Windows 10 tablets).

The two processor families have many differences, including their processing power, power consumption, software, and applications. Let's take a look.

Differences in Processing Power

ARM processors fit into a family called RISC which stands for Reduced Instruction Set Computing.

A RISC processor focuses on keeping the number of instructions as few as possible while also keeping those instructions as simple as possible. Simple instructions have some advantages for both hardware and software engineers alike. Since instructions are simple, the circuitry needed requires fewer transistors, resulting in more chip space and/or smaller chips. Because of this, ARM processors will typically integrate many peripherals including graphic processing units which has allowed computers such as the Raspberry Pi to have so few components.

But simple instructions comes at a cost. More instructions are required to do tasks, which results in an increase in memory consumption and longer execution times. However, ARM processor make up for the increased execution time with faster processors and pipe-lining.

 

Intel processors are commonly found in desktop environments. Image courtesy of Intel Free Press [CC-BY 2.0]

 

Intel processors, on the other hand, fit into a family called CISC which stands for Complex Instruction Set Computing.

Unlike RISC computers, the instructions available on a CISC are more focused on performing complex tasks with large amounts of flexibility.

For example, many RISC-based machines perform operations between registers, which commonly requires the program to load variables into registers before performing an operation. A CISC-based machine, however, can (or should) be able to perform operations between registers, between a register and a memory location, and even between memory locations. Other common operations include multiplication with floating point numbers, barrel rolls, single instruction loops, complex memory manipulation, memory searches, and much more.  

Differences in Power Consumption

Power consumption in embedded designs can be one of the most important criteria. A system that is designed to be connected to a power source such as the mains electricity can typically ignore power consumption constraints but a mobile design (or one connected to an unreliable power source) may be wholly dependent on power management.

ARM cores excel in low-power designs with many of their cores (if not most) not requiring heat-sinks. Their typical power consumption is less than 5W with many packages including GPUs, peripherals, and memory. Such small power dissipation is only possible due to the fewer transistors used and the relatively lower speeds (compared to common desktop CPUs). But again (relating to the previous section), this impacts the performance of the system and therefore more complex operations will take longer.

 

ARM processors are famously powerful. Image courtesy of ISEE [CC BY-SA 3.0]

 

Intel cores consume a lot more power than ARM cores due to their increased complexity. A high-end Intel I-7 can consume as much as 130W of power whereas the mobile Intel processors (such as Atom and Celeron) consume anywhere between 6W to 30W. The lowest-power-consuming processors (the Atom line), designed for laptop use, do not integrate graphics into the processor whereas the mobile versions do. However, those which integrate graphics have significantly lower clock speeds (between 300MHz to 600MHz), which results in a smaller throughput.

Differences in Software

When it comes to the big two names in the processor market, comparing software availability and toolchains is difficult since both are heavily used. ARM-based devices have the advantage of running operating systems designed for mobiles such as Android. Intel-based devices have the advantage of running just about any operating system that can run on a standard desktop PC, including Windows and Linux. Both devices can potentially run the same applications so long as the application is compiled in a language that relies on a virtual machine such as Java.

 

Both architectures have a good range of software available. Image courtesy of Socram8888 [CC BY 2.0]

 

However, ARM-based systems are currently limited in what operating systems can be installed due to the majority of operating systems being written for x86-based computers. Some Linux distributions do exist for ARM—including the famous Raspberry Pi OS—but some users may find this limiting.

Since ARM is becoming increasingly popular, Microsoft released a slimmed down version of their Windows 10 called Windows 10 IoT Core which can run on ARM processors.

Differences in Application

Which processor you use depends on your embedded and/or single board computer requirements. If your plan is to mass-produce a single board computer whose objective is to be low in cost then the only real option is ARM. If the plan is to have a powerful platform then Intel is the best way to go. If power conservation is a concern then ARM can be the best choice but there are Intel processors that boast strong processing capabilities while providing low power dissipation.

For projects that don’t require complex displays (such as monitors), then ARM is most likely to be the choice. This comes down to several factors, including the cost of ARM microcontrollers, what packages are available, and the wide variety offered by multiple vendors. Intel does produce microcontrollers (for example, the Quark D2000 range that runs the x86 architecture) but these are only available in packages that are not prototyping-friendly. However, if a reflow oven is available, then Quark microcontrollers could be a potential candidate.

Overall, both Intel and ARM produce marvelous machines with a wide range of integrated controllers and peripherals. Each type, ARM or Intel, fits into its own niche.

4 Comments
  • Michael Roberts May 06, 2017

    I feel this article is way too high level or just doesn’t really give a good comparison.  The writer really should expand on all the families seen within ARM. I have seen ARM controllers that outrank i7 processors and keep power consumption down.  Also Intel has been in the SOC market for years. Also ARM does support out of order computation especially on their more complex family processors. They also have processors that have virtualization support and are entering the server market.

    Like. Reply
  • Chris Clark May 19, 2017

    I think it would be good to note the difference between Harvard and Von Neumann architectures with the very different memory schemes.

    Like. Reply