
Processor (CPU)
The central processing unit (CPU) is the brain of your smart device. Its job is to drive your device by executing a series of instructions, including those for the display, touchscreen, modem, etc., turning a lump of plastic and metal into a shiny smartphone or tablet.
Mobile devices are very complex, and the processors within them need to execute millions of lines of instructions to perform the tasks people expect from these devices. Speed and power consumption are crucial for processors. Speed affects user experience, while power consumption affects battery life. A perfect mobile device must have good performance and low power consumption.
That’s why it’s important to choose the right processor. A super power-hungry, sluggish processor will quickly drain your battery, whereas a refined, efficient processor provides high performance and long battery life.
Overall, the first difference between ARM and Intel processors is that the former uses a reduced instruction set (RISC), while the latter uses a complex instruction set (CISC).
In simple terms, the reduced instruction set is smaller and closer to atomic operations, while the complex instruction set is larger and more complicated. Atomic operations refer to operations that can mostly be completed by the processor in one operation, such as adding two registers.
Complex instruction set instructions describe an intent, but the processor must execute three or four simpler instructions to achieve that intent. For example, a complex instruction set processor can be commanded to sum two numbers and store the result in main memory. To complete this command, the processor first retrieves the first number from address 1 (operation 1), then fetches the second number from address 2 (operation 2), then performs the addition (operation 3), and so on.

All modern processors use a concept known as microinstructions, which is a set of internal instructions that describe the atomic operations the processor can perform.
A complex instruction set processor actually executes three microinstructions. For reduced instruction set processors, their instructions are very close to their microinstructions, while complex instruction set processor instructions need to be converted into simpler microinstructions (as in the previous example of the complex instruction set processor performing addition).
This means that the decoder in the reduced instruction set processor (responsible for telling the processor what to do) is much simpler, and simplicity means efficiency and low power consumption.
Manufacturing Process
Another major difference between ARM and Intel processors is that ARM has always focused on designing low-power processors. Their goal is to design low-power processors, which is their strength. Intel’s strength lies in designing ultra-high-performance desktop and server processors, and they do it well.
Intel is the giant in the desktop and server industry. For the past 20 years, all of my PCs, laptops, and servers (except one) have used Intel processors. However, when entering the mobile industry, Intel continued to use the same complex instruction set architecture as in desktops, trying to force it into smaller processors meant for mobile devices.
The average thermal design power of an Intel i7 processor is 45 watts. The peak thermal design power of ARM-based system-on-chip (which includes graphics processors) is about 3 watts, roughly 1/15th of that of an Intel i7 processor. Intel is currently a giant, employing many smart people.
The latest Atom series processors from Intel adopt temperature control designs similar to ARM processors, requiring Intel to use the latest 22-nanometer manufacturing process. Generally speaking, the smaller the nanometer size of the manufacturing process, the higher the energy efficiency. ARM processors use lower manufacturing processes and achieve similar temperature control effects. For instance, the Qualcomm Snapdragon 805 processor uses a 28-nanometer manufacturing process.

64-bit
There are also some significant differences between ARM and Intel regarding 64-bit computing. Did you know that Intel has not developed a 64-bit version of the x86 instruction set? This 64-bit instruction set, called x86-64 (sometimes abbreviated as x64), was actually designed and developed by AMD.
The story goes like this: Intel wanted to implement 64-bit computing, knowing that if it evolved its 32-bit x86 architecture into a 64-bit architecture, the new architecture would be inefficient. So, they initiated a new 64-bit processor project called IA64, leading to the creation of the Itanium series processors.
At the same time, AMD realized that it could not produce a processor compatible with IA64, so it extended x86 by adding 64-bit addressing and 64-bit registers. The resulting architecture, known as AMD64, became the standard for 64-bit versions of x86 processors.

The IA64 project was not considered successful and has basically been abandoned. Intel eventually adopted AMD64. Intel’s current mobile solution involves using a 64-bit processor based on the AMD-developed 64-bit instruction set (with some differences).
ARM’s story is quite different: recognizing the demand for 64-bit computing in mobile devices, ARM released the ARMv8 64-bit architecture in 2011, which was the result of years of work on the next generation of ARM instruction set architecture. To develop a concise 64-bit architecture based on existing principles and instruction sets, ARMv8 uses two execution modes, AArch32 and AArch64.
As the names imply, one runs 32-bit code while the other runs 64-bit code. The cleverness of ARM’s design is that the processor can seamlessly switch between the two modes during operation. This means that the decoder for 64-bit instructions is newly designed and does not have to accommodate 32-bit instructions, while the processor still maintains backward compatibility.
Heterogeneous Computing
ARM’s big.LITTLE architecture is an innovation that Intel cannot replicate at the moment. In the big.LITTLE architecture, processors can be of different types. Traditional dual-core or quad-core processors contain the same two or four cores. A dual-core Atom processor has two identical cores that provide the same performance and have the same power consumption.
ARM introduced heterogeneous computing to mobile devices through big.LITTLE. This means that the cores in the processor can have different performance and power consumption. When the device is running normally, it uses low-power cores, while when you run a complex game, it uses high-performance cores.
How is this achieved? A lot of technical design choices must be considered when designing the processor, and these design choices determine the processor’s performance and power consumption.
Both Intel and ARM processors use pipelining when an instruction is decoded and prepared for execution. This means that the decoding process is parallel.
The first step reads the instruction from memory, the second step checks and decodes the instruction, the third step executes the instruction, and so forth. The benefit of pipelining is that while the current instruction is in the second step, the next instruction is already in the first step. While the current instruction is executing in the third step, the next instruction is in the second step, and the next-next instruction is in the first step, and this continues in a loop.
To execute instructions faster, these pipelines can be designed to allow instructions to be executed out of order. Some clever logical structures can determine whether the next instruction depends on the result of the current instruction’s execution. Both Intel and ARM provide out-of-order execution logical structures, which are obviously very complex. Complexity means more power consumption.
Intel processors allow designers to choose whether to include out-of-order logic structures. Heterogeneous computing does not have this issue. The ARM Cortex-A53 uses in-order execution, thus consuming less power, while the ARM Cortex-A57 uses out-of-order execution, making it faster but more power-hungry. Processors using the big.LITTLE architecture can have both Cortex-A53 and Cortex-A57 cores, deciding how to use these cores based on specific needs. When syncing emails in the background, high-speed out-of-order execution is not needed, only when playing complex games is it necessary. Using the right core at the right time.
In principle, the more complex logical structures in a processor, the higher the performance; the fewer, the higher the efficiency. Instruction pipelining is just one aspect, including floating-point units, single instruction multiple data logic (SIMD) (such as ARM’s NEON and Intel’s SSE/MMX), as well as Level 1 and Level 2 caches.
For each Atom system-on-chip, Intel provides only one solution, while ARM and its chip partners offer multiple configurable solutions.
Compatibility
ARM is currently the leader in mobile processors. ARM’s partners have shipped 50 billion units based on ARM designs to the mobile and embedded markets. For Android, ARM has become the standard, posing a challenge for Intel and MIPS.
Although the primary programming language for Android is Java, developers can also use existing code (such as C or C++) to develop applications. These platform-fixed applications are usually compiled into programs for ARM processors, not all compiled into programs for Intel or MIPS processors.
To address this issue, Intel and MIPS must use special conversion software to translate ARM instructions into the instructions used by their processors. This, of course, reduces performance.
Currently, MIPS and Intel claim compatibility with about 90% of the applications in the Play Store. For the 150 most popular applications, the compatibility rate is 100%. On one hand, the compatibility rate is high, while on the other hand, it highlights ARM’s dominance, forcing other processor designers to provide a compatibility layer.
Conclusion
Manufacturing processors is a complex business. ARM, Intel, and MIPS are all working hard to provide the best technology for mobile devices, and it is clear that ARM is the leader. With low power consumption, a concise 64-bit design, heterogeneous computing, and being the standard for mobile computing, ARM is likely to maintain its leading position.

The “Learning World” column has officially launched and is continuously updated, so come and follow us! Just reply with “microcontroller”, “embedded systems”, “Internet of Things”, “smart hardware”, “embedded engineers”, “CPU”, “GPU”, “FPGA”, “Linux”, “Android”, “ARM” keywords to read past related exciting content anytime!