In embedded development, we often encounter some technical terms, such as CPU, MCU, MPU, SOC, and MCM. These abbreviations represent different types of electronic processing units, which play an important role in consumer electronics, computer hardware, automation, and industrial systems. Below we will introduce the basic meanings of each term and their differences in practical use:
CPU
CPU (Central Processing Unit) – Central Processing Unit: consists of an arithmetic unit, controller, registers, and corresponding buses. It can be an independent processor chip or a large integrated circuit that contains a multi-core processor.
The well-known three-stage pipeline: fetch, decode, execute, represents the CPU. The CPU fetches instructions from memory or cache, places them into an instruction register, decodes the instructions, and then executes them. The so-called programmability of a computer actually refers to programming the CPU.
MCU
MCU (Microcontroller Unit) – Microcontroller Unit: MCU is a compact processor, with the advent and development of large-scale integrated circuits, it integrates the CPU, RAM, ROM, timers, and input/output I/O pins onto a single chip.For example, chips like 51, STC, and Cortex-M, which not only include a CPU but also contain RAM and ROM, can directly add simple components (resistors, capacitors) to form a minimal system that can run code.
MCUs are commonly used in embedded systems, such as household appliances, automotive electronics, and medical devices. Compared to MPUs, MCUs are more self-contained solutions capable of independently executing predetermined tasks.
MPU
MPU (Microprocessor Unit) – Microprocessor Unit: is a more specific type of CPU,Microprocessors usually represent powerful CPUs (understood as enhanced CPUs), and these chips are often the core CPUs of computers and high-end systems.
For example, ARM’s Cortex-A chips that embedded developers are most familiar with, all belong to MPU.MPUs are mainly used in personal computers, servers, and other high-performance computing devices.The design of microprocessor units focuses on high-performance instruction processing.
SOC/SOPC
SoC (System on Chip) – System on Chip: is an integrated circuit that integrates all or most of the necessary electronic circuits and components onto a single chip. It includes CPU cores, memory, input/output controllers, peripheral devices, and other functional modules.The design goal of SoC is to enable it to serve as the main computing engine of a system.MCU is a chip-level chip, while SOC is a system-level chip that integrates the advantages of both MCU and MPU, having built-in RAM and ROM while being as powerful as an MPU, allowing it to store and run system-level code, meaning it can run an operating system.
SoPC (System on a Programmable Chip) – Programmable System on Chip: refers to a system on chip whose hardware logic can be programmed, such as FPGA (Field Programmable Gate Array) used to create system-level designs.Compared to traditional SoC, SoPC offers more flexibility because the hardware logic can be modified and configured according to demand after chip manufacturing.
To illustrate, the hardware configuration of a microcontroller is fixed, while we can modify the software configuration. Originally, the serial communication function can be changed to an AD sampling function by modifying the code, meaning that the hardware configuration is fixed and can only select one or more functions by modifying the software.
Whereas SoPC can modify hardware configuration information to become the corresponding chip, which can be MCU or SOC.
MCM
MCM (Multi-Chip Module) – Multi-Chip Module: MCM is a technology that packages multiple independent integrated circuits into a single chip. Unlike SoC, which integrates all functions into a single integrated circuit, MCM is typically used to package more powerful, performance-focused independent integrated circuits. They can provide internal connections similar to a system bus, making performance superior to single-chip solutions.
In embedded development, the most frequently encountered are generally MCU and SOC, and now STM32 has almost become synonymous with MCU, while SOC is currently dominated by the Cortex-A series, with differences in development difficulty. For embedded practitioners, understanding these professional concepts is essential.
This content is from ittbank, and the copyright belongs to the original author.