[Quick Guide] The Difference Between SoPC, MCU, MPU and SoC

·

3 min read

Ⅰ. The Concept of SoPC, MCU, MPU and SOC

CPU (Central Processing Unit) is the core of computing and control of a computer, which consists of operators, controllers and registers, and the bus of data, control and status to realize the connection between them. The well-known three-stage pipeline: fetching, decoding, and execution is the object of the CPU, and the operation principle of almost all CPUs can be divided into four stages: Fetch, Decode, Execute, and Writeback.

The CPU takes instructions from memory or cache memory, puts them into the instruction register, decodes them, and executes them. The so-called programmability of the computer mainly refers to the programming of the CPU.

MPU (Micro Processor Unit), called microprocessor (not microcontroller MCU, computer (i.e., computer) is divided into giant machine, mainframe, medium-sized machine, small machine and microcomputer 5 categories. These five types of computer computing core is collectively known as the CPU, and the MPU is only the core processor of the microcomputer (microcomputer). In other words, the concept of CPU includes MPU, and MPU is a kind of CPU. In a microcomputer, the CPU is integrated on a super-large scale integrated circuit chip called a microprocessor (MPU), which is inserted in the cpu slot of the motherboard.

(Many people will confuse the microprocessor with the microcontroller.) It usually represents a powerful CPU (tentatively understood as an enhanced version of the CPU, right?), but not a chip designed for any pre-existing specific computing purpose. Such chips are often the core CPUs of personal computers and high-end workstations. e.g. Intel's X86, some of ARM's Cortex-A chips such as Freescale i.MX6, Allwinner A20, TI AM335X, etc. are all MPUs.

MCU (Micro Control Unit): called microcontroller, single-chip microcomputer or microcontroller, is the CPU frequency and specifications are appropriately reduced, and the memory, counter, A/D conversion, UART and other peripheral interfaces are integrated on a single chip to form a chip-based computer (with a computer of all basic functions) for different applications and different combinations of control.

With the emergence of large-scale integrated circuits and their development, the CPU, RAM, ROM, timing counter and a variety of I/O interfaces of a computer are integrated on a single chip to form a chip-level chip, such as 51, STC, AVR, Cortex-M these chips, there are RAM and ROM inside in addition to the CPU, which means that the whole computer system is integrated in a single chip. You can directly add simple peripheral devices (resistors, capacitors) to run the code.

It is still essentially a complete microcontroller, with a processor and various interfaces, all the development is based on the existing system architecture, all the applicant has to do is to develop the software program and add external devices. And like ARM (Cortex-A series) directly put the code can not run, because it is essentially just an enhanced version of the CPU, you must add the appropriate RAM and ROM.

SOC (System on Chip) is a system on a chip. A circuit system capable of performing certain functions consists of multiple modules, such as processors, interfaces, memories, analog-to-digital converters, and so on. These functional modules can be implemented by discrete devices, and then combined on a printed circuit board (PCB) to form a system on chip.

MCU is a chip-level chip, while SOC is a system-level chip, which has built-in RAM and ROM like MCU and is as powerful as MPU, not only for simple code, but also for system-level code, which means it can run operating systems (mainly Linux OS) (think of it as MCU integration and MPU processing power all in one). SOC integrates the functions of many MCUs, and what used to be done by multiple MCUs in cooperation is integrated, and the MCUs are no longer available. Therefore, the use of SOC is more integrated, smaller and compressed cost.

Click here to read more.

Thank you.