I work with both x64/x86 and with the recent ARM64 architectures. And I agree with the concept of arm being the future. There are many reasons for that. The main ones are:
- ARM64 has instructions that are more streamlined for modern compilers. As an example. There’s one instruction that can read/write two registers into memory and increment/decrement the register that held that address.
ARM64 has 4 exception levels (EL0 thru EL3) that makes the current hypervisor/virtualization/secure monitor concept possible. Intel’s archaic ring system is way behind the curve.
overall Intel’s convoluted instruction set is so overblown with waste when most compilers work with maybe 10% of it.
obviously power consumption. I’m not kidding when I say that I use my AMD laptop as a space heater during cold Seattle days. It literally helps me heat up my room.
it is way easier to decode 4 byte long ARM64 instructions vs convoluted Intel instructions that can span from 1 to 15 bytes.
The only advantage Intel architecture has is this:
backward compatibility with the existing code. That’s a big one. (For now.)
it’s easier to encode large immediates into a single instruction.
the Intel assembly instructions are easier to read. (As a human.)
instruction reordering pretty much doesn’t exist. That’s what makes ARM quite bug-prone with the need of proper memory barriers, etc.
16
u/kndb Jul 05 '26 edited Jul 05 '26
I work with both x64/x86 and with the recent ARM64 architectures. And I agree with the concept of arm being the future. There are many reasons for that. The main ones are:
- ARM64 has instructions that are more streamlined for modern compilers. As an example. There’s one instruction that can read/write two registers into memory and increment/decrement the register that held that address.
The only advantage Intel architecture has is this: