Differences Between ARM, Intel, and MIPS Mobile Processors

Android supports three types of processors (CPUs): ARM, Intel, and MIPS. Among them, ARM is undoubtedly the most widely used. Intel is well-known for its prevalence in desktops and servers, but its influence in the mobile industry is relatively small. MIPS has a long history in the 32-bit and 64-bit embedded fields and has achieved considerable success, but currently, its adoption rate in Android is the lowest among the three.

Differences Between ARM, Intel, and MIPS Mobile Processors

In summary, ARM is currently the winner and Intel is ARM’s strongest competitor. So, what exactly are the differences between ARM processors and Intel processors? Why is ARM so popular? Is it important what processor your smartphone or tablet uses?

Processor (CPU)

The central processing unit (CPU) is the brain of your smart device. Its task is to drive your device by executing a series of instructions, including the display, touch screen, modem, etc., turning a lump of plastic and metal into a shiny smartphone or tablet. Mobile devices are very complex, and the processors inside need to execute millions of lines of instructions to perform the tasks that users expect these devices to do. 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.

This is why choosing what kind of processor is important. A super power-hungry, sluggish processor will quickly drain your battery, while a sophisticated, efficient processor will provide you with high performance and long battery life. Overall, the first difference between ARM and Intel processors is that the former uses a Reduced Instruction Set Computing (RISC), while the latter uses a Complex Instruction Set Computing (CISC). In simple terms, RISC has a smaller instruction set that is closer to atomic operations, while CISC has a larger and more complex instruction set. Atomic operations refer to operations that can mostly be completed by the processor in one operation, such as adding two registers. CISC instructions describe an intention, but the processor must execute three or four simpler instructions to achieve that intention. For example, a CISC processor can be instructed 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 retrieves the second number from address 2 (operation 2), then sums them (operation 3), and so on.

Differences Between ARM, Intel, and MIPS Mobile Processors

All modern processors use a concept known as micro-operations, which is a set of internal instructions that describe the atomic operations that the processor can perform. A CISC processor actually executes three micro-operations. For RISC processors, their instructions are very close to their micro-operations. In contrast, CISC processor instructions need to be converted into some simpler micro-operations (as illustrated in the previous example of a CISC processor performing addition). This means that the decoder in a RISC processor (which tells 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 this quite well. Intel is the leader 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 still used the same complex instruction set architecture as in desktops, trying to force it into smaller processors for mobile devices.

The average thermal design power of an Intel i7 processor is 45 watts. In contrast, an ARM-based system-on-a-chip (which includes a graphics processor) has a peak thermal power of around 3 watts, about 1/15th of the Intel i7 processor. Intel is now a giant employing many smart people. Its latest Atom series processors have adopted temperature control designs similar to ARM processors, which required Intel to use the latest 22-nanometer manufacturing process. Generally speaking, the smaller the nanometer size of the manufacturing process, the more efficient the energy usage. ARM processors use a lower manufacturing process and achieve similar thermal control effects. For example, the Qualcomm Snapdragon 805 processor uses a 28-nanometer manufacturing process.

Differences Between ARM, Intel, and MIPS Mobile Processors

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, known as x86-64 (sometimes abbreviated as x64), was actually designed and developed by AMD. The story goes like this: Intel wanted to do 64-bit computing, and it knew that if it evolved a 64-bit architecture from its 32-bit x86 architecture, the new architecture would be inefficient. Therefore, it initiated a new 64-bit processor project called IA64, which resulted in the Itanium series of processors. Meanwhile, AMD realized it couldn’t produce a processor compatible with IA64, so it extended the x86 architecture by adding 64-bit addressing and 64-bit registers. The resulting architecture is known as AMD64, which became the standard for 64-bit versions of x86 processors.

Differences Between ARM, Intel, and MIPS Mobile Processors

The IA64 project was not considered successful and has essentially been abandoned. Intel ultimately adopted AMD64. Intel’s current mobile solution uses a 64-bit processor based on the AMD-developed 64-bit instruction set (with some differences).

ARM’s story is quite different: seeing the demand for 64-bit computing in mobile devices, ARM released the ARMv8 64-bit architecture in 2011, which is the result of several years of work for 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.

Differences Between ARM, Intel, and MIPS Mobile Processors

As the names suggest, one runs 32-bit code and the other runs 64-bit code. The clever design of ARM allows the processor to switch seamlessly between these two modes during operation. This means that the decoder for 64-bit instructions is newly designed and does not need to accommodate 32-bit instructions, while the processor can still maintain backward compatibility.

Heterogeneous Computing

Differences Between ARM, Intel, and MIPS Mobile Processors

ARM’s big.LITTLE architecture is an innovation that Intel cannot replicate. In the big.LITTLE architecture, the 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, providing the same performance and having 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 operating normally, it uses low-power cores, while when running a complex game, it uses high-performance cores.

How is this achieved? When designing a processor, a lot of technical design decisions need to be made, which determine the processor’s performance and power consumption. Both Intel and ARM processors use pipelining when a command 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 on. 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 instruction after that is in the first step, and so on in a loop.

To execute instructions faster, these pipelines can be designed to allow instructions to be executed out of order (out-of-order execution). 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 logic structures, and it can be imagined that such structures are very complex. Complexity means more power consumption. Intel processors have the option to include out-of-order logic structures. Heterogeneous computing does not have this convenience. ARM Cortex-A53 uses in-order execution, thus consuming less power. In contrast, ARM Cortex-A57 uses out-of-order execution, making it faster but more power-hungry. Processors adopting the big.LITTLE architecture can simultaneously have Cortex-A53 and Cortex-A57 cores, deciding how to use these cores based on specific needs. When synchronizing emails in the background, high-speed out-of-order execution is unnecessary; only complex gaming requires it. Using the right core at the right time.

Differences Between ARM, Intel, and MIPS Mobile Processors

In principle, the more complex logical structures in a processor, the higher the performance, and the fewer, the higher the efficiency. Instruction pipelining is just one of them, including floating-point units, Single Instruction Multiple Data logic (SIMD) (such as ARM’s NEON and Intel’s SSE/MMX), and L1 and L2 caches. Each Atom system-on-a-chip from Intel offers only one solution, while ARM and its chip partners provide multiple configurable options.

Compatibility

ARM is currently the leader in mobile processors. ARM’s partners have shipped 50 billion units based on ARM’s designs to the mobile and embedded markets. For Android, ARM has become the standard, which poses a problem for Intel and MIPS. Although the main programming language for Android is Java, developers can also use existing code (such as C or C++) to develop applications. These fixed-platform applications are usually compiled into programs for ARM processors, not all of which are compiled into programs for Intel or MIPS processors.

To solve this issue, Intel and MIPS need to use special conversion software to translate ARM’s instructions into the instructions used by their processors. This will certainly reduce performance. Currently, MIPS and Intel claim compatibility with about 90% of the applications in the Play Store. For the top 150 applications, the compatibility rate is 100%. On one hand, the compatibility rate is very high; on the other hand, it highlights ARM’s dominance, forcing other processor designers to provide a compatibility layer.

Leave a Comment