The CPUs : ARM vs X86_64

Ever wondered how MacBooks and mobile phones are so compact but compete with the high-end desktops?

Diagram

It's just because of the CPU architecture design. Nothing too complicated; there is a concept called instruction set computing.

When your CPU does the calculations, it follows a predefined instruction set, which is a collection of commands that a processor understands and executes. like add, subtract, load, and store.

Nowadays, 2 instruction set architectures are most used.

  • Complex instruction set computing (CISC)

  • Reduced instruction set computing (RISC)

CISC follows a complex, large instruction set, and instructions can be variable-length and require more complex decoding. And RISC follows a smaller, simpler instruction set, each instruction designed for efficient execution, often within a single clock cycle.

Now having a larger, more complex instruction set allows CISC for multi-step operations within a single instruction, so it uses less memory. While RISC processors often require more memory to store programs because they need more instructions to complete a task.

X86_64 systems use CISC, in which every component of the CPU is placed separately and works independently so that we can scale up and scale down as required, like GPU and memory. Most components have separate chips called controllers.

On the other side, ARM uses RISC architecture, where every component is integrated together. They do not have a separate CPU. These processors are manufactured together in what’s called a system-on-a-chip (SoC). So the ARM architecture is more compact and power efficient than X86_64.

Macbook and Mobile uses RISC, and other desktops use X86_64 so they can upgrade the single components in the future, and also power usage is not a constraint for them.

Now, if you are thinking about cloud provider companies, what do they choose? Let me tell you that they started moving to ARM architecture because of heat management and power efficiency.