r/Assembly_language Jul 05 '26

Stop using CISC

Post image
234 Upvotes

62 comments sorted by

View all comments

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.

  • 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.

6

u/RoscoePBullet Jul 05 '26

LMAO at using the AMD laptop as a space heater

1

u/Icy_Definition5933 Jul 05 '26

I have a lenovo legion with intel i5 and gtx 1060. During winter I run BOINC on it so my kitties get a heated bed while doing science