SoC和MCU的区别是什么?

用户头像
野生芯片研究员
 · 天津  

为了研究SoC和MCU的区别,笔者统计了30家A股上市芯片设计公司财报中对于这两者的释义。详见附录图表。

可以看到,一般公司会把SoC(System on Chip)定义为“系统级芯片”。

那么,什么样的芯片算“系统级芯片”呢?

SoC龙头瑞芯微对于SoC的释义中提到 SoC “是将系统关键部件集成在一块芯片上,可以实现完整系统功能的芯片电路”。

哪些算“关键部件”呢?

很多公司的释义中给出了例子:“如手机SoC 集成了通用处理器、硬件编解码单元、基带等”。(摘自富瀚微联芸科技龙芯中科星宸科技等公司年报-名词释义)

而对于MCU的定义,大家倒是比较清晰和趋同:

MCU - Micro Control Unit 的缩写,是把中央处理器频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA 等周边接口,甚至 LCD 驱动电路都整合在单一芯片上,形成芯片级的微型计算机。(摘自峰岹科技年报-名词释义)

可以看到,SoC和MCU的定义是很类似的。但是大家SoC的认知是“性能更高,集成的模块更多”;而对于MCU的定义是“更小的,更微型的,主频和规格经过缩减的”,这里的“缩减”是相对PC来说的,所以MCU又称为单片机,即“单颗芯片形成的计算机”。

虽然各家对SoC的定义里没有提及MCU定义中提到的“内存、计数器、USB、A/D转换、UART、PLC、DMA”,但并非是因为这些模块在SoC中没有,反而是因为在SoC中这些相对于“通用处理器、硬件编解码单元、基带等”太微不足道了,所以没有在这里提及。

参考瑞芯微的RK3588芯片框图,就可以看到,这些模块在SoC中是有的,只不过屈居末座。

不过有一个比较特别的点就是内存(含ram和rom),一般SoC上不包含内存,因为SoC的内存需求比较大,不会封装到一颗芯片里,而是让厂商自己在外围接合适大小的存储,这就有了不同内存容量大小的手机,以及外接不同大小内存的工业核心板(如8+64G/16+512G/16+1T)。

所以我们一般把性能和集成度更高的称之为SoC,比如高通骁龙系列联发科天玑系列手机/平板芯片,还有瑞芯微RK3XXX系列,他们CPU性能一般在4核1.0GHz以上;而一些性能相较于SoC性能更低、功能更简单的称之为MCU,如STM32、nRF52832、GD32、ESP32-S3、RA6M4等,一般CPU为Arm M系列/XuanTie R系列或等效的CPU核,双核,主频在32MHz~数百MHz之间。

那么,这又引来了几个问题:

1. SoC和MCU性能间的边界在哪里?有没有一条性能标准,这条标准之上我们称之为SoC,之下称之为MCU?

2. 像RK3588这类SoC芯片框图中还画了一个Arm M0的MCU,我们该如何理解?它的作用又是什么呢?

由于篇幅有限,下期继续讲~