ARM vs. x86

As we all know, x86 is today’s dominant for desktop and portable computer processors while ARM(Advanced RISC Machines) is the dominant of microcontroller and embedded processors.

Their main difference is that they are based on different instruction set architecture:

So, what’s the big difference between CISC and RISC? Here are some summaries:

CISCRISC
Emphasis on hardwareEmphasis on software
Includes multi-clock complex instructionsSingle-clock, reduced instruction only
Memory-to-memory :
“LOAD” and “STORE” incorporated in instructions
Register-to-register:
“LOAD” and “STORE” are independent instructions,
only these two instructions can access memory
Higher cycles per second,
Smaller code sizes
Fewer cycles per second,
Larger code sizes
Transistors used for storing complex instructionsSpends more transistors on memory registers
Less RAM is needed to store the assembly level instructionsMore RAM is needed to store the assembly level instructions
Less time is needed to compileMore time is needed to compile

The reason why we say RISC emphasizes more on software is that reduced instruction set means more burden on software design, per se, it requires more efficient softwares and more complex compliers.

Today, the Intel x86 is arguable the only chip which retains CISC architecture while ARM has plenty of manufacturers. (Apple, Nvidia, Samsung Electronics, arm, etc).

With the decrease in price of RAM and the advance in compiler technology, the RISC use of RAM and emphasis on software has become ideal.

Today, RISC is used in most real-time systems for the following 2 properties:

So, as for x86 and ARM, we have:

x86ARM
Higher energy consumptionLower energy consumption
Base for most desktop OS like Linux and WindowsBase for most mobile OS like Android
· 技术笔记