What is CPU?
The CPU (Central Processing Unit) is the computational and control core of a computer.
The CPU is composed of an arithmetic logic unit, a control unit, registers, and buses that facilitate communication between them. Its primary functions include interpreting computer instructions and processing data in computer software.
Before the 1970s, central processors consisted of multiple independent units. Later, integrated circuit-manufactured central processors, known as microprocessors, emerged. These highly compact components are what we refer to as microprocessors, and the most complex circuits within them are designed as powerful individual units, commonly known as cores.
The operation of almost all CPUs can be divided into four stages: Fetch, Decode, Execute, and Writeback. The CPU retrieves instructions from memory or high-speed cache, places them in an instruction register, decodes them, and then executes the instructions. The concept of a computer’s programmability primarily pertains to programming the CPU.
What is MPU?
An MPU (Micro Processor Unit), also known as a microprocessor, is a programmable special integrated circuit.
An MPU is just a processor that needs to be paired with numerous other peripherals like memory to constitute a system.
Microprocessors typically represent powerful CPUs (akin to enhanced CPUs). These chips often serve as the core CPU in computers and high-end systems.
They gained significant popularity in the 1980s when microcomputers and gaming consoles utilized MPUs. Over time, MPUs have become smaller in size. Nowadays, only Intel and AMD’s x86 series CPUs are considered as MPUs. These CPUs have also become increasingly complex, and labeling them as “microprocessors” might be somewhat inadequate.
In the realm of personal computers, you can observe motherboards similar to the diagram above. By attaching components like the CPU, memory modules, sound cards, etc., a complete computer system is formed. The entire motherboard is large in size and intricate in manufacturing.
What is MCU?
An MCU (Micro Control Unit), also known as a microcontroller, refers to a microcomputer where, with the emergence and development of large-scale integrated circuits, the central processor, memory, timers/counters, various input/output interfaces, etc., are all integrated onto a single chip. It can operate with minimal components (such as resistors, capacitors) to form a minimal system capable of running code.
Compared to the general-purpose microprocessors used in personal computers, an MCU emphasizes self-sufficiency (not relying on external hardware) and cost-effectiveness.
Its greatest advantage is its compact size, allowing it to be placed within devices, but it has limited storage capacity, simple input/output interfaces, and lower functionality.
The development of MCUs has gone through phases including 8-bit 8051 microcontrollers, 16-bit AVR microcontrollers, and 32-bit STM microcontrollers.
MCUs integrate processors and various modules such as USB controllers, UART controllers, memory, Flash, etc. With only a few external components, an electronic system can be built.
What is SOC and SOPC?
A System on a Chip (SOC) is an integrated circuit that integrates a computer or other electronic systems onto a single chip.
To provide a comparison: an MCU is chip-level, while an SOC is system-level. It combines the advantages of MCUs and MPUs, having built-in RAM and ROM while also being powerful like an MPU. It can store and execute system-level code, meaning it can run operating systems (primarily Linux OS).
Additionally, SOPC is a concept worth understanding. Compared to the aforementioned concepts, SOPC is not as frequently encountered, but its significance remains undiminished.
SOPC (System On a Programmable Chip) allows hardware configurations to be changed, meaning you can construct your own chip.
MCU Vs. MPU
The MCU integrates on-chip peripheral devices, and you can directly add simple peripheral devices (resistors, capacitors) to run the code. In essence, it is still a complete single-chip microcomputer with a processor and various interfaces. All development is based on the existing system architecture. What the user needs to do is to develop software programs and add external devices.
The MPU does not have peripheral devices (such as memory arrays), it is a highly integrated general-purpose processor, and it is an MCU that removes integrated peripherals. MCU, such as ARM’s Cortex-A series, cannot run the code directly, because it is essentially an enhanced version of the CPU, and corresponding RAM and ROM must be added.
Feature | Microcontroller (MCU) | Microprocessor (MPU) |
---|---|---|
Bit Width | Mainstream: 8-32 bits, Some 64-bit | Minimum: 32 bits, Mainstream: 64-bit |
Operating Frequency | Several MHz to several hundreds of MHz | Mainstream: From hundreds of MHz to several GHz |
Architecture | Pipeline or random logic systems are mainstream, with some being superscalar |
Superscalar architecture is mainstream |
Memory Management | Can have some external memory, but main memory is built-in, with some having built-in cache and MMC units |
Mainstream to have external memory, with some having built-in cache and MMC units |
Instruction Set | Basic arithmetic and logic operations, limited DSP and floating-point operation support in high-end versions |
Supports a wider range of instructions, including DSP and floating-point operations |
Price | Low | High |
Examples | ARM Cortex-M (Designed for small-footprint/low-power controller applications) |
ARM Cortex-A (Developed with a focus on high-performance application processors) |