x86 or ARM64: Making Sense of the Architectural Variations

09 / Nov / 2023 by Abhishek Sharma 0 comments

Introduction

As we go forward with the current generation’s approach to selecting a PC or laptop according to their needs, there is a rising debate about the option. A regular Windows operating system machine or the latest Apple Macbook with updated M-series chips? The answer lies in understanding the difference between the architecture on which these chips are based: the x86 and arm64 processors.

Lately, with Apple picking up arm64 as their base architecture for the M-series chipset, there has been a huge buzz in the market about whether these processors used in a mobile phone can be relied on or not. 

The clear first instinct question here is, what are x86 and arm64? How were they created? What is technology that makes them different? And is arm64 a new architecture? And last, which is better?

Here, we are going to answer these questions in a very simple manner by looking at these points:

  • History of computer architecture
  • Difference between 8-bit, 16-bit, 32-bit & 64-bit chips
  • Is arm64 a new technology
  • Understanding RISC and CISC
  • Major differences and use cases of x86 and arm64
  • Why Apple & other companies are pushing towards it now

To understand the difference between x86 and arm64, having a knowledge of computer architecture is required as it makes the base of these processors. But we will try to understand these terms in a very simplistic manner.

History

First, let’s dig a little in the past to understand where these x86 and arm64 terms came from. The x86 refers to the 32-bit and 64-bit processors created by Intel. They started with a 4-bit chip in 1970, which progressed to 8-bit with multiple variants, and an ‘8080’ suffix was added to them. Later, the company created 16-bit chips suffixed with ‘8086’ and multiple variants defined as 80186, 80286, 80386, and so on.

Later, the version upgraded to 32-bit and then 64-bit, but AMD was able to develop a better chip that made its extension to the x86 instruction set, and this was the most widely used solution. This popularly came to be known as x86-64 architecture.

During this time, Acron Computers was also building a silicon chip based on RISC and launched their first chip in 1985, known as ARM1 later, in 1994, they launched their first PC with ARM, but didn’t find much success in the PC market which Intel was clear ruler. Eventually, the ARM architecture made its way to phones and tablets and was very successful due to its role in making the devices light and compatible. Today, almost all phones and tablets work on ARM architecture.

How chips vary from 8 to 64-bits

A computer’s CPU works on instructions given to it to perform a task, the bits here refer to the size of the operand that a CPU can process in a single arithmetic process. It is like during a weight lifting, can you lift an 8kg weight or a 16kg weight, 32kg weight, or 64kg weight in a single go. Similarly, in the case of the CPU, if it’s a 32-bit set, it will be able to add two 32-bit numbers in a single instruction, and the result will be a 32-bit instruction. The same goes for the other sets as well.

Every bit is a range set which can be calculated by “2 raised to the power the bit – 1”. The 8-bit number ranges from 0 to 256, the 16-bit ranges from 0 to 65535, the 32-bit ranges from 0 and 4294967295, and the 64-bit ranges from 0 and 18446744073709551615. A higher bit number can be processed by the lower bit, but for this, it won’t be a single instruction; the numbers will add, keep the result stored, and carry over the bits. This increases the time taken to process and complete the instruction.

The real deal, the difference in architecture

The x86 processors are CISC-based, while the ARM64 processors are RISC based. The terms RISC (Reduced Instruction Set Computing architecture) and CISC (Complex Instruction Set Computing architecture) look very straightforward, but when we dig deep, it shows how different and complex these are at that micro level. The difference between the two lies in the number of ‘Instructions’ available in each. For the CISC, the number is around 981 while for the RISC it lies close to 50.

What is RISC & CISC?

The main idea behind the RISC and CISC architecture is how the instruction sets are processed. Instruction Set is a set of codes that a computer processor understands to complete a task. These instruction sets are generally a combination of 0s and 1s or machine language that forms instruction like ADD, JUMP, or LOAD.

A RISC (Reduced Instruction Set Computing) architecture works towards simplifying the hardware by using simple instruction sets with few basic steps. For example, a LOAD command will simply load the data, and a STORE command will simply store the data. As we reduce the complexity of the instruction set performed by the hardware, the scope of providing flexible intelligence through the software rather than hardware is the key concept for the RISC. Thus increasing the complexity at the compile level rather than the processor level.

On the other hand, CISC (Complex Instruction Set Computing) architecture works towards processing complex tasks with multiple steps getting executed in a single instruction set. For example, a MULTIPLICATION command will load, evaluate, and store instructions, making this process complex. The intent behind the CISC architecture is to reduce the memory cost as a huge program needs more storage space, thus requiring larger memory. Combining the number of instructions in a single instruction will lower the instruction per program and thus increase the complexity at the hardware level.

Below is the list of the major differences between RISC & CISC architecture

RISC CISC
Designed to focus on Software Designed to focus on Hardware
Instruction sets are simple and easy to decode Instruction sets are complex and difficult to decode
Due to one instruction, one task method requires bigger code for tasks Due to one instruction multiple task method, the code size is small
One instruction can be completed in one clock cycle One instruction needs more than one clock cycle
Due to less work by each instruction, power consumption is low Due to more work by each instruction, power consumption is high
Need more registers to process the instructions Need less registered to process the instructions
Need more RAM to process Need less RAM to process

 

Why ARM64 now?

With the above difference in the architecture, it is pretty much clear that ARM64 is more energy efficient. Due to the increasing demand for conserving energy to reduce the load on our non-renewable resources and reduce environmental hazards, the popularity of ARM64 is increasing. Companies are investing in the R&D of this architecture to get the most out of them, and is one of the major reasons behind Apple selecting this for their new M-series chips in Macbook and moving towards their goal of achieving ‘zero carbon emission’ working.

ARM64, combined with other GPU enhancements, improves the overall process, and processes can be handled better. ARM64 not only helps in power efficiency but also helps to improve the software compatibility to make the process faster, thus helping increase the execution time. This helps to improve the multi-tasking capabilities.

Recently, with the launch of custom ARM64-based processors called Graviton, AWS has started promoting better performance and up to 40% lower costs than the general x86-based processors. Migrating the existing workload and adopting Graviton with minimal effort is the key that AWS has been majorly focusing on. ARM64-based architecture also helps AWS to reduce its carbon footprints and use up to 60% less energy than comparable EC2 instances.

Though ARM64 has been in the market for a long time, it is still preferred for mobile and tablet devices. However, the Research and Development of ARM64 with laptop processors has shown a pool of potential and opportunities, and soon, we can see high performance included with less power consumption and compact devices.

FOUND THIS USEFUL? SHARE IT

Leave a Reply

Your email address will not be published. Required fields are marked *