聊聊MCU的困惑

Posted 星沉地动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊MCU的困惑相关的知识,希望对你有一定的参考价值。

不知道有没有人心中有这种困惑:

什么是MCU?
MCU和MPU有什么区别?
MCU和SOC有什么关系?
MCU和单片机有什么关系?

相关名词概念缩写:


要搞清楚这些呢,这一切还是要从处理器说起。
我们平时见到的所有处理器,都是属于微处理器架构。
这些微处理器根据不同的功能和性能,大概可以分成4类:

通用高性能微处理器:也就是我们平时说的CPU,用在个人电脑和服务器上,AMD和INTEL这2个典型代表芯片,应该说得上是目前地表最强的处理器了。

嵌入式微处理器:也就是文档里面会看到的MPU,性能虽然比不上通用高性能微处理器,但芯片集成度高,外设功能很丰富,主要用在移动设备和多媒体相关应用。

数字信号处理器:简称DSP,这一类处理器性能比较弱,但是同时功耗也降下来了。DSP比较擅长做数学运算,应用在需要大量实时计算的场合,比如音频编解码。德洲仪器TI的通用DSP应该具有典型代表性。

微控制器:英文缩写称MCU,江湖人称单片机。顾名思义这类处理器,就是用来做信号控制,也可以做一些简单的运算,它低成本,低功耗,对性能要求不高的地方都可以用得上。比如智能家居,工业控制,物联网等等应用非常的广泛。

MCU最大的一个特点就是没有MMU,没有MMU就不能运行像linux一样的操作系统。
MMU:内存管理器,主要负责物理地址和虚拟地址的相互转换。

所以从目前来看有没有MMU是MCU和MPU最大的区别。


AP和BP的叫法主要是从手机行业里流行起来的。
因为传统的手机系统里面主要由AP和BP两个处理器组成。
AP负责运行操作系统和多媒体应用的处理器,通常是MPU类型的处理器。
BP负责射频通信的处理器,通常是MCUDSP类型的处理器。


SOC系统,就是芯片上有一个系统。把一个系统的核心功能集成到一个芯片上。这个系统并没有明确规定是何种系统,可以是手机系统、通信系统等等

比如:
蓝牙
SOCnRF52832,集成了MCU和BLE。
手机SOC:高通
骁龙888,集成了AP(MPU+GPU)和BP。

单片机:单芯片微型计算机。就是把计算机缩小之后,集成到一个芯片上。一个芯片就是一个计算机。麻雀虽小,五脏俱全。一个芯片上有CPU、内存、定时器、中断控制、输入输出等设备。

计算机本身就是一种系统,所以单片机是一种典型的SOC。
早期SOC和单片机是差不多的,但随着时间的推移,单片机和SOC就开始差异化了。 


那么单片机和MCU之间到底有何恩怨?
从严格意义上讲:
单片机是站在芯片的角度定义了一种计算机系统的形态。
MCU是站在处理器的角度定义了一种处理器类型。 
现在普遍认为他们两个是一个东西,是因为现状就是市面上所有的单片机都是MCU。

或许哪天AMD/INTEL造出了一颗集成CPU+1TB硬盘+32GB内存的芯片,这一个芯片就能安装Windows操作系统的时候,单芯片计算机就不再是MCU了吧。


那目前市面上有没有界限比较模糊的处理器产品? 

最近几年随着芯片技术的发展和市场需要,也确实出现了一些比较独特的产品:

全志F1C100S:多媒体处理器
ARM9核心,集成32MB DDR,支持SD/EMMC接口,支持linux系统。
成本大约10块钱(浮动)。

 

恩智浦RT1170:跨界处理器
Cortex-M7+M4双核心,集成2MB SRAM,无FLASH,支持SD/EMMC接口,不支持linux。
成本大约60块(浮动)。

我相信随着芯片技术的不断发展,MCU与MPU的界限以后会越来越模糊。
这些名词术语也会消失在芯片发展历史的洪流之中。

 

 

以上是关于聊聊MCU的困惑的主要内容,如果未能解决你的问题,请参考以下文章

对带有 USB 全速半双工通话优先级的 PySerial 感到困惑

双12,聊聊和电商们有关的网络安全

聊聊 Kafka: Kafka 为啥这么快?

聊聊 Kafka: Kafka 为啥这么快?

不好意思昨天断更了,今天聊聊创业

困惑度 (perplexity)