What is the Difference Between MCU and SOC?

The most commonly used main chips in automotive controllers are MCUs and SOCs. Traditional vehicles primarily use MCUs, while smart vehicles, due to the increasing number of functions, are gradually starting to use SOCs. For example, the architecture commonly used in domain controllers is MCU + SOC. So, what exactly is the difference between MCU and SOC?

1.Basic Concept of MCU

MCU stands for MicroController Unit, which refers to a microcontroller. Some people may not be familiar with this term, but it also has a more familiar Chinese name, which is “单片机” (single-chip microcomputer). The 51 single-chip microcomputer we studied in college is actually a type of MCU.

1.1 Single-Chip Microcomputer vs. Microcomputer

A single-chip microcomputer is the Chinese translation of Single Chip Microcomputer, which indicates that its architecture is derived from traditional microcomputers. Traditional microcomputers are mainly divided into five parts: controller, arithmetic unit, memory, input, and output devices.

The controller (CU) and arithmetic unit (ALU) are integrated together, referred to as the CPU. The memory includes internal memory (RAM) and external memory (hard disk). The I/O devices include input devices like keyboards and mice, and output devices like monitors and speakers.

We can simplify it into three parts: CPU, memory, and I/O devices. These three parts are actually composed of many independent chips.

What is the Difference Between MCU and SOC?

Microcomputer Architecture Diagram– External Bus

Communication between these chips must be done through external buses for data transmission. Some communicate within the motherboard, while others need to connect with other chips through connectors on the motherboard. Therefore, there are many slots and connectors on the motherboard for data communication between chips.

What is the Difference Between MCU and SOC?

There are many slots and connectors on the motherboard

The advantage of this structure of microcomputers is that each device can be individually configured and changed to adapt to different hardware requirements.

In contrast, a single-chip microcomputer integrates the CPU, memory, and I/O devices into a single chip. Communication between them is completed internally within the chip, allowing the chip to independently complete the entire process from program storage to computation execution and input/output. The advantage of this structure is high execution efficiency, making it suitable for small dedicated systems.

What is the Difference Between MCU and SOC?

MCU (Single-Chip Microcomputer) Architecture Diagram – Internal Bus

1.2 Basic Composition and Principles of MCU

The CPU in the MCU, which is the central processing unit, has the same basic functions as the CPU in a microcomputer. It is the brain of the chip, responsible for processing various tasks and issuing various instructions.

The RAM in the MCU is equivalent to the memory in a microcomputer, used for fast data processing. The size of the RAM determines the speed of task and data processing;

The ROM in the MCU is equivalent to the hard disk in a microcomputer, used to store programs and fixed data. Currently, FLASH is mainly used, and the size of FLASH determines the number of tasks and data processing.

The I/O peripherals of the MCU differ significantly from those of microcomputers. The I/O devices of microcomputers are generally fixed, such as keyboards, mice, monitors, and speakers. In contrast, the MCU used in embedded systems initially only had basic GPIO for simple input and output, such as buttons and LED lights.

As user demands have increased, the integration of common peripheral types has gradually increased, such as A/D, PWM, UART, I2C, SPI, etc. Additionally, different industries have specific peripherals; for example, the MCU in automotive controllers may include CAN controllers, LCD drivers, stepper motor drivers, etc.

What is the Difference Between MCU and SOC?

MCU Architecture Diagram – Common Peripherals

With the development of vehicle intelligence and connectivity, the peripheral resources required by automotive controllers are becoming increasingly complex. For example, the LCD display on the instrument panel has upgraded from traditional monochrome segment LCDs to color TFTs; the central control has upgraded from a radio to an entertainment screen; and the vehicle networking has added TBOX, while architectural changes have introduced domain controllers.

Traditional MCUs can no longer meet these functional requirements through simple I/O peripheral upgrades; SOCs must be used.

2.Basic Concept of SOC

SOC stands for System On Chip, which refers to an integrated circuit that combines multiple circuit modules into a single chip, forming a circuit system that approaches complete computer functionality.

From a conceptual standpoint, its hardware structure seems similar to that of an MCU, as it is also a single-chip microcomputer.

However, the goals of this SOC single-chip microcomputer and the MCU single-chip microcomputer are different, leading to qualitative differences between SOC and MCU.

MCUs are designed specifically for simple control tasks, aiming for simplicity, speed, and efficiency;

thus, they require only a small number of modules and system resources that match these modules.

On the other hand, SOC, referred to as a system on chip, indicates that the system refers to a computer system. A computer system is a large and complex system capable of running an operating system, containing numerous modules, and supporting high-performance computing. To accommodate more modules and handle more tasks, the accompanying core and system resources are entirely different, resulting in a qualitative change from quantitative change.

2.1Single-Core vs. Multi-Core

A typical MCU architecture is relatively simple, usually consisting of a single core + basic components, with limited hardware resources and memory typically <10MB. For example, it integrates a single ARM Cortex-M series processor, using SRAM and Flash as storage units, and includes basic peripherals like GPIO/ADC/PWM.

In contrast, SOCs feature a multi-core heterogeneous architecture, supporting GB-level memory expansion and rich hardware resources. For instance, they may integrate multi-core processors that combine CPU + GPU + NPU + DSP, with high-speed memory controllers that support DDR, and include wireless communication modules like Bluetooth and Wi-Fi.

A typical multi-core SOC is the chip used in smartphones, such as Qualcomm’s Snapdragon 865 chip, which integrates 1 Cortex-A77 (2.84GHz), 3 Cortex-A77 (2.42GHz), and 4 Cortex-A55 (1.8GHz), totaling 9 cores.

What is the Difference Between MCU and SOC?

Snapdragon865 – Multi-Core SOC

Although typical MCUs have a single-core architecture, with the development of smart vehicles and data fusion processing, many MCUs have begun to adopt multi-core designs to enhance performance and handle complex tasks, such as CPU + GPU architectures. Although the number and performance are still much smaller than SOCs, the number of processors alone cannot completely distinguish MCUs from SOCs.

2.2 Real-Time Performance and Operating Systems

As mentioned earlier, the goal of MCUs is to pursue speed, meaning they must have good real-time performance. The best way to achieve real-time performance within the chip is to directly manipulate registers, so much of the software in MCUs does not use an operating system, employing bare-metal programming. Even if an operating system is present, it is usually a proprietary RTOS or a lightweight third-party RTOS (like FreeRTOS).

In contrast, the goal of SOCs is to handle complex multi-tasking requirements, meaning they need good computing power. An operating system is suitable for parallel processing of complex multi-tasking needs. Therefore, SOCs typically use standard drivers + third-party operating systems for programming. These operating systems are often larger OSs, such as QNX, Linux, or Android.

What is the Difference Between MCU and SOC?

Comparison of Software Architectures of MCU and SOC

The drawback of large operating systems is slow boot times. After powering on, the complete third-party operating system, such as Linux or Android, must be loaded, which can take tens of seconds or even minutes. Even relatively lightweight and real-time QNX operating systems require several seconds.

In contrast, the startup time requirements for major controller nodes in vehicles are quite high. For example, network management requires controllers to be quickly awakened (e.g., within 100ms).

This startup time is unattainable for SOCs, while MCUs typically do not have an operating system or run lightweight real-time systems, allowing for startup times of only tens of milliseconds, suitable for high real-time scenarios, meeting automotive startup real-time requirements.

Additionally, controllers in vehicles not only have startup time requirements, but some safety-related functions also have execution time requirements. For example, automatic braking requires the execution time to be less than 200ms.

MCUs, focusing on single control tasks, such as data collection from a sensor or driving a motor, have high execution efficiency and fast running speeds, which can meet execution speed requirements.

In contrast, while SOCs have higher system frequencies (GHz) than MCUs (MHz) and can handle complex algorithms, the internal integration of multi-core processors and GPU modules leads to more complex task scheduling algorithms. The execution time of individual tasks depends on algorithm optimization, making it impossible to guarantee the rapid execution of all tasks.

Typically, when fast startup times are required, and many tasks need to be processed, an MCU + SOC architecture is adopted.

What is the Difference Between MCU and SOC?

MCU + SOC Architecture Block Diagram

2.3 Peripherals, Computing Power, and Power Consumption

MCUs have a limited number of peripherals. In addition to general GPIO, AD, PWM, timers/counters, they also add ports for different fields, such as LCD drivers, motor drivers, and buzzer drivers, and CAN controllers.

In contrast, SOCs, due to the integration of CPU, GPU, DSP, and other core modules, have powerful functions. In addition to basic peripherals, they can handle more high-speed and complex peripherals, supporting various communication protocols and interfaces. Many SOCs support 3D graphics, Bluetooth, Wi-Fi, USB, cameras, audio, and video. More advanced SOCs also support 5G communication modules and AI modules.

Moreover, since the design focus of SOCs is on computational integration, to reduce costs and improve versatility, parts unrelated to computational performance, such as large-capacity storage and power modules, are placed externally, allowing customers to select and configure them according to their needs.

The memory capacity of SOCs is typically measured in GB, and they can also connect to large-capacity storage devices, such as UFS, with capacities of up to 128GB or 512GB. In contrast, the memory of MCUs is measured in KB or MB, such as an internal 2MB PFlash.

In addition to differences in peripherals, the power consumption of the chips also varies. The higher the frequency, the higher the computing power, and the power consumption during system operation will also be higher.

Typical power consumption for MCUs is in the microwatt range, while SOC power consumption reaches the watt range. Therefore, power management for SOCs is more complex, and the chips are more prone to heating, requiring coordination between hardware and software.

What is the Difference Between MCU and SOC?

Comparison of MCU and SOC

SOCs typically have powerful computing capabilities, with AI computing power reaching dozens or even hundreds of TOPS. The common unit for measuring CPU computing power in SOCs is KDMIPS. In the automotive field, whether for intelligent driving or smart cockpits, the CPU computing power requirements are extremely high. For example, the integrated domain controller for driving and parking requires the chip to support parallel processing of 5 cameras + 5 radars (5V5R) or 6 cameras + 5 radars (6V5R) sensor data, which requires the CPU computing power to be at least 20 KDMIPS.

3. Summary

The characteristics of MCUs are a simple hardware and software architecture, fast startup speed, and good real-time performance; while the characteristics of SOCs are high main frequency, multi-core architecture, the ability to run operating systems, high computing power, and the capability to handle a large number of complex tasks!

Leave a Comment