Understanding CPU, MPU, MCU, and SOC: Key Differences

In embedded development, we often encounter some technical terms, such as CPU, MPU, MCU, and SOC. These technical terms are frequently used and are often topics of questions in interviews. Let’s take a look at their characteristics and differences.

CPU

CPU stands for Central Processing Unit, which is the core of computation and control in a computer. The CPU consists of the arithmetic logic unit, control unit, registers, and corresponding buses. The well-known three-stage pipeline: fetch, decode, execute is associated with the CPU. The CPU retrieves instructions from memory or cache, places them in the instruction register, decodes the instructions, and then executes them. The programmability of computers essentially refers to programming the CPU.

Understanding CPU, MPU, MCU, and SOC: Key Differences

MPU

MPU stands for Micro Processor Unit, referring to a microprocessor (note that this is not a microcontroller; many people confuse microprocessors with microcontrollers). A microprocessor typically represents a powerful CPU (considered as an enhanced CPU), and such chips are often the core CPU of computers and high-end systems. For example, the ARM Cortex-A chips that embedded developers are most familiar with fall under the category of MPU.

MCU

MCU stands for Micro Control Unit, which refers to a microcontroller. With the emergence and development of large-scale integrated circuits, computer components such as CPU, RAM, ROM, timers, and input/output I/O pins are integrated onto a single chip. Chips like 51, STC, and Cortex-M have internal components that include CPU, RAM, and ROM, allowing them to run code with just simple components (resistors, capacitors) to form a minimal system. In contrast, ARM (Cortex-A series) cannot run code directly because it is essentially an enhanced CPU that requires additional RAM and ROM.

Understanding CPU, MPU, MCU, and SOC: Key Differences

SOC

SOC stands for System on Chip, referring to a system on a chip. To compare: an MCU is a chip-level chip, while an SOC is a system-level chip that integrates the advantages of both MCU and MPU, possessing built-in RAM and ROM while being powerful like an MPU. It can store and run system-level code, meaning it can run an operating system (primarily Linux OS).

Understanding CPU, MPU, MCU, and SOC: Key Differences

Additionally, SOPC is a concept worth understanding. Compared to the aforementioned concepts, the occurrence frequency of SOPC is not as high, but that does not diminish its importance. SOPC stands for System On a Programmable Chip, which means a programmable system on a chip. The most significant difference between SOPC and MCU, MPU, SOC is that hardware configurations can be changed, meaning you can construct the chip yourself.
To illustrate, the hardware configuration of a microcontroller is fixed. What we can programmatically modify is the software configuration. For instance, a serial communication function can be changed to an AD sampling function by modifying the code, which means the hardware configuration is fixed, and we can only choose one or more functions through software modification. In contrast, SOPC allows for modification of hardware configuration to become the corresponding chip, which can be either an MCU or an SOC.

Conclusion

In embedded development, the most frequently encountered are generally MCU and SOC. Currently, STM32 has almost become synonymous with MCU, while SOC is primarily represented by the Cortex-A series. The level of development difficulty also varies. For embedded practitioners, understanding these technical concepts is essential.
Welcome to join the angel round, Around companies in the group (Friendly connections with 500 automotive investment institutions, including top-tier organizations; several companies have successfully completed their rounds); There are communication groups for sci-tech innovation companies, complete vehicles in the automotive industry, automotive semiconductors, key components, new energy vehicles, intelligent connected vehicles, aftermarket, automotive investment, autonomous driving, vehicle networking, and dozens of other groups. To join, please scan the administrator’s WeChat (Please indicate your company name)

Understanding CPU, MPU, MCU, and SOC: Key Differences

Leave a Comment