ARM VS x86 architecture

The ARM and x86 are the two major competitors that are currently hogging the market, with each having a dominating function. The ARM processors are preferred for mobile devices whilst the x86 are used in laptops computers and servers. Each has its strengths and weaknesses.

JAK Electronics 13200 09/05 2023-05-09 16:11:45

The world of computing is slowly but exponentially growing with improvements in processors and microprocessors growing steadily. In every computer or computing device, there are several integrated circuits with the most prevalent being the CPU, the central processing unit. The brains of the computer that, receive, interpret and execute instructions to perform a certain task. In our previous article, we discussed the difference between microprocessors and microcontrollers.

All CPUs are based on a particular architecture. The layout and arrangement of the parts that make up a CPU (central processing unit) is what is referred to as its architecture. It specifies the set of instructions the CPU is capable of processing, how it handles data, and how it interacts with other parts of the computer system.

Complex Instruction Set Computing (CISC) and Reduced Instruction Set Computing (RISC) are the two basic divisions of CPU architectures.

A broad instruction set that may carry out several actions in a single instruction is a distinguishing feature of CISC architectures like the x86. Hence the name complex instruction set computing (CISC). These instructions are frequently complex and their execution may need several cycles. Desktop and server computers typically employ CISC designs as they are designed to handle large traffics of data.

Small instruction sets that are geared for the speedy execution of straightforward tasks define RISC systems like ARM. Thus, the risk is characterized by its simplicity in execution and low energy demand. Mobile devices, embedded systems, and other low-power gadgets frequently employ RISC architectures.

There are however other architectures, such as VLIW (Very Long Instruction Word) and EPIC (Explicitly Parallel Instruction Computing), that are rarely known due to their utilization in specialized applications and systems.

The choice of a CPU architecture for a certain computing application is dependent on several factors, with performance and power efficiency being some of the key factors. Other factors such as instruction set size, clock speed, number of cores, and cache size can also affect the choice of CPU as they directly influence the performance and power consumption of a CPU.

Catalog

Why is architecture important?
What is x86?
What is ARM?
ARM vs x86: A Comparison
Final Thoughts

Why is architecture important?

An instruction set, as it is more appropriately referred to, is a set of instructions, that directs the processor on how to transport data between registers and memory or how to complete a computation using a particular execution unit (such as multiplication or subtraction). Different instructions are needed for different CPU hardware blocks, and these tend to scale up with more sophisticated and potent CPUs. As we'll see in a minute, desired instructions can also influence hardware design.

It is important to note therefore that applications that are written for one architecture cannot work within the environment of another architecture. The instruction sets are incompatible.

In the current state of technology, it would therefore be madness to write applications in CPU, instructions, that is in machine language. To counter this absurdity, many applications that are used today are written in high-level languages such as Java, C#, C and others that are then translated and compiled for different architectures such as ARM for mobile devices, x86 and others. By so doing, these applications can be cross-platform.

Apple, who primarily used x86 microprocessors from Intel have transitioned to their custom chip design, Apple Silicon, an ARM processor. For their x86 applications to be compatible they introduced a translation layer called ROSSETA to translate x86 to ARM. Although slow this approach also works.

What is x86?

The x86 architecture is a family of instruction set architecture that is used mainly in personal computers, desktops and servers. It is generally referred to as the intel architecture. It is so-called since it was initially created in the intel labs by Intel in the 70s. The X86 designation refers to the family of Intel processors, which began with the 8086 and eventually produced the 80186, 80286, 80386, 80486, Pentium, and Xeon, among others. The last two digits of X86's early processors are represented by the number 86.

Figure 1: An Intel Pentium Processor

 

Since its initial use by Intel other companies such as AMD and VIA have also acquired licenses to use and distribute processors using the same architecture. The x86 architecture is based on the complex instruction set computing (CISC) architecture, which means that each instruction can perform multiple operations.

The x86 processor in modern systems today is far more advanced than the original 8086 processor that it was launched with. The current processor architecture is based on Intel’s 80386, also known as the i-386 or IA-32, a 32-bit instruction set rather than the older 16-bit on the 8086.

It is worth noting that most of the current computers run on a 64-bit instruction set rather than the older 32-bit, although it is still used. The current extended architecture owes its origins to AMD, who came up with the architecture. Hence it is called AMD64 or x86-64. Intel also has its alternative of the 64-bit called, IA-64 which was designed to be backwards compatible but did not gain much popularity.

In addition to being modified for usage in desktop and server systems, x86 CPUs are now utilized in laptops, tablets, and other portable devices. x86 processors have improved in speed and power efficiency throughout time, making a larger range of devices possible.

What is ARM?

On the other hand, the ARM, which stands for Advanced RISC Machines, architecture is part of the reduced instruction set computing family of architecture. It was first developed by the Acorn (ARM) Computers, with the first semiconductor being named ARM1 with a clock speed of 6MHz. The company's ARM is responsible for distributing licenses for this technology. The ARM architecture is designed to be more power-efficient than the x86 architecture, which makes it well-suited for use in battery-powered devices.

Over the years the ARM chips have evolved to be more efficient and highly performing compared to the first chip in 1985. Although the first ARM device was a PC, the RiscPC computer, the ARM processors are majorly used in mobile devices, embedded systems, and other low-power devices. ARM processors are used by many different manufacturers, including Qualcomm, Samsung, Apple, and others. This allows for a wide range of devices to use the same processor architecture, making it easier for developers to create software that works across different devices.

 

Figure 2: Snapdragon ARM processor

 

Unlike the x86 processor where all the hardware components such as sound cards, graphics cards, memory, storage and other peripherals are independent of the CPU, the ARM processors do not have a separate CPU, instead, the processor and other hardware controllers are on the same physical substrate, as one integrated circuit.

 Over the years, the ARM processors have evolved and improved significantly becoming more capable of high efficiency and performance to rival that of x86 processors. With these improvements, ARM processors have resurged in the personal computing space. In 2017, Qualcomm announced the expansion of its mobile chip range into laptops with its then-new chip, the snapdragon 850 launched in 2018. Later in 2020, Apple announced its shift to using ARM-powered laptops with the M1 MacBook Air making its debut. So far, the Apple computers using ARM processors have shown great promise.

 

Figure 3:M1 MacBook Air Running ARM chip

ARM vs x86: A Comparison

The ARM and x86 are the two major competitors that are currently hogging the market, with each having a dominating function. The ARM processors are preferred for mobile devices whilst the x86 are used in laptops computers and servers. Each has its strengths and weaknesses.

Besides their uniquely similar functions, the x86 and ARM architectures have fundamental differences that are to be considered when choosing between the two. In this article, we will discuss the major key differences between the two.

Figure 4: x86 vs ARM which to pick

Performance Comparison

When it comes to processors regardless of their architecture, performance is one of the key performance indicators that determine the effectiveness of a processor, or a generation of processors. For different processors and applications, the performance might vary.

Here's a deeper dive into the performance comparison between x86 and ARM architectures:

  1. Clock speed:Measured in gigahertz (GHz), clock speed is the pace at which the CPU can carry out instructions. x86 processors have historically had faster clock rates than ARM processors, however, this difference has closed recently as ARM processors have grown more potent.
  2. The number of cores:x86 and ARM processors may both have many cores, enabling them to carry out several instructions at once. Performance can be significantly impacted by the number of cores, especially for operations that can be performed in parallel, such as video encoding or mathematical calculations. In high-end applications, x86 CPUs often have more cores than ARM processors.
  3. Size of the cache:The processor's cache is a tiny, high-speed memory area used to store frequently used data and instructions. By decreasing the amount of time required to retrieve frequently used data, a bigger cache can enhance speed. Although the gap is less noticeable in more recent ARM processors, x86 processors typically have bigger caches than ARM processors.
  4. Power usage:For mobile devices and other low-power applications, power usage is a crucial aspect. Because of their famed energy economy, ARM processors can operate longer than x86 processors on a single battery charge. However, in recent years, x86 CPUs have significantly increased their power efficiency.
  5. Performance per watt (Power Consumption):The amount of performance a processor can produce for a specific level of power consumption is measured in terms of performance per watt. In general, ARM processors outperform x86 processors in terms of performance per watt, making them ideal for low-power applications.

Compatibility and Software Support

Comparing the x86 and ARM architectures also requires taking compatibility and software support into account. Here is a more detailed comparison of these two architectures:

  1. Backward compatibility:Because x86 processors have been around since the 1970s, a ton of legacy software was created to operate on them. As a result, x86 processors have a higher level of generic program compatibility than ARM CPUs. On the other side, ARM processors are made to be more futuristic, with an emphasis on improving performance for contemporary software and applications. It is also important to note that most developers are getting a whiff of the importance of developing applications for ARM architecture as its popularity in personal computing grows.
  2. Operating systems and applications Support: Support from a variety of operating systems, including Windows, Linux, macOS, iOS, and Android, is available for both x86 and ARM CPUs. Some operating systems, nevertheless, could favour one architecture over another. For instance, Android was first created for ARM processors, but Windows has always been geared for x86 CPUs.

The choice of CPU architecture may be significantly influenced by the availability of software applications. While many software programs may be found for both x86 and ARM CPUs, certain programs might only be found for one particular architecture. This is especially true for specialist software or niche applications utilized in the scientific and technical industries.

  1. Support from developers:The choice of CPU architecture can also be influenced by the availability of developer tools and support. Compilers, debuggers, and libraries are among the many development tools that are readily accessible for the x86 and ARM architectures, and both have strong support from developer communities.

Customizability and Flexibility

When it comes to designing and engineering new systems and devices, customizability and flexibility play an important role. As an engineer, it is important to keep in mind the capabilities of the x86 and ARM in terms of these two factors.

  1. Customizability:ARM processors are renowned for their flexibility to be modified by manufacturers, allowing them to design processors with certain features and capabilities that are customized to their requirements. For some applications, this may lead to highly optimized CPUs that provide superior performance and power efficiency. x86 processors have a more uniform architecture that may make them less suited for particular applications since they are less adaptable.

However, for the end user, this is highly debatable. In systems with ARM architecture, with the deep integration of components in ARM chips, it is difficult to optimize or customize the out-of-factory features. The x86 architecture comes with independent memory, storage, graphics cards and other hardware, making it easy to improve, replace or change.

  1. Flexibility: ARM processors are very adaptable and may be utilized in a variety of applications, including embedded systems, servers, and mobile devices. This adaptability is partly attributable to the very modular architecture of ARM processors, which have discrete components that may be coupled in a variety of ways to produce processors with diverse functionalities. Although x86 processors are adaptable as well, they could be more suited for particular tasks, including desktop or server computing.

Final Thoughts

In conclusion, both the x86 and ARM architectures have advantages and disadvantages, and the decision between them is based on the requirements of the individual applications. While ARM processors are renowned for their power economy, customizability, and flexibility, x86 processors are renowned for their strong performance and compatibility with older applications. We may anticipate that both architectures will stay important and continue to compete in a range of applications and sectors as the computer technology develops further. In the end, carefully considering the unique demands and requirements of the application in issue is the key to selecting the best CPU architecture.

Popular Post

Recommend Products

Analog Devices Inc.
RoHS

AD5600HRMZ

Analog Devices Inc.

SI,HIGH TEMP,V-OUT,UNBUFFERED 16

-
Analog Devices Inc.
RoHS

AD9653BCPZ-125

Analog Devices Inc.

ANALOG DEVICES - AD9653BCPZ-125 - ADC QUADRUPLE 16 BITS 125MSPS 48LFCSP

-
Analog Devices Inc.
RoHS

AD9268BCPZ-105

Analog Devices Inc.

Dual ADC Pipelined 105Msps 16-bit Parallel/LVDS 64-Pin LFCSP EP Tray

-
Texas Instruments
RoHS

LM5018SD/NOPB

Texas Instruments

IC REG BUCK ISO ADJ 0.3A 8WSON

-
Texas Instruments
RoHS

ADC12J2700NKE

Texas Instruments

ADC Single Folding/Interpolating 2.7Gsps 12-bit Serial 68 -Pin VQFN Tube

-
Analog Devices Inc.
RoHS

AD9268BCPZ-125

Analog Devices Inc.

Dual Channel Dual ADC Pipelined 125Msps 16-bit Parallel/LVDS 64-Pin LFCSP EP Tray

-
Linear Technology/Analog Devices
RoHS

LTC5541IUH#TRPBF

Linear Technology/Analog Devices

IC MIXR 1.3-2.3GHZ DWNCONV 20QFN

-
Micron Technology Inc.
RoHS

JS28F00AP33BFA

Micron Technology Inc.

IC FLASH 1G PARALLEL 56TSOP

-

FAQ

Can I run x86 software on an ARM processor?
Yes, in some instances. While it is possible to execute x86 applications natively on an x86 CPU while using emulation and virtualization technologies, the performance may be slower.
Which is better, x86 or ARM?
It depends on the specific application requirements. x86 processors are known for their high performance and compatibility with legacy software, while ARM processors are known for their power efficiency, customizability, and flexibility.
What kind of devices use x86 processors?
x86 processors are commonly used in desktop and laptop computers, servers, and workstations.
What kind of devices use ARM processors?
ARM processors are commonly used in mobile devices such as smartphones and tablets, as well as in embedded systems such as IoT devices, industrial automation, and automotive systems.
Is one architecture more secure than the other?
Security measures may be included in both x86 and ARM CPUs, and the degree of security relies on the particular implementation. However, ARM processors may be viewed as more secure in general since they are frequently utilized in mobile devices and other applications that have stringent security requirements.
Can I switch from one architecture to another?
In most cases, it is not possible to switch between architectures without replacing the hardware. However, some software applications may be available for both architectures, which can make it easier to transition between platforms.