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, gradually start 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

The term single-chip microcomputer translates to Single Chip Microcomputer, indicating 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. Memory includes internal memory (RAM) and external memory (hard disk). IO 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 IO 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 conducted 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 in 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 IO 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 basic functions similar to 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 IO peripherals of the MCU differ significantly from those of microcomputers. The IO devices of microcomputers are generally fixed, such as keyboards, mice, monitors, and speakers. In contrast, MCUs 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, MCUs in automotive controllers may also 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 vehicle networking has added TBOX; architectural changes have increased domain controllers.

Traditional MCUs can no longer meet these functional requirements through simple IO 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 the functionality of a complete computer.

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

However, the goals of this SOC single-chip microcomputer and the MCU single-chip microcomputer are different, and this difference in goals leads to a qualitative difference between SOC and MCU.

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

thus, they only require 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, leading to 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 supporting 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?

Snapdragon 865 – 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 the ability to handle complex tasks, such as CPU + GPU architectures. However, in terms of quantity and performance, they are still much smaller than SOCs, so the number of processors alone cannot completely distinguish between MCUs and 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 instead. 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 and 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 between MCU and SOC

The downside 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 capable 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, which cannot 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 may also add LCD drivers, motor drivers, and CAN controllers for different fields.

In contrast, SOCs, due to the integration of CPU, GPU, DSP, and other core modules, have powerful functionality. 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, while 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 2MB of built-in 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 coordinated handling of software and hardware.

What is the Difference Between MCU and SOC?

Comparison of MCU and SOC

SOCs typically have powerful computing capabilities, with AI computing power reaching tens 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; 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