【随手一寄】MCU和MPU的区别
前言
转载自知乎的这篇文章,来做一些总结。
正文
MCU
全称Micro Controller Unit。主要负责“控制(Controller)”相关的工作,即接收外界信号,给予反馈,做一些简单的人机交互,因此MCU对于主频需求不高,一般在几十MHz~100多MHz的量级;处理能力需求也不高,目前普遍是以ARM的M系列32位系统为主流;MCU上完成的任务大多数是一些简单的刺激-响应式的任务,且任务类型单一,任务执行过程简单,因此也不需要很大的存储器容量。
MCU算是以软制硬的典型,因为MCU本身的硬件实力不强,其硬件主要是辅助软件进行协调以及控制等工作。
MPU
全称Micro Processor Unit。主要负责“处理(Processor)”相关的工作,即能够自发地进行各种运算,之后得出结果,涉及到算力相关,因此MPU对于主频需求以及处理能力需求都很高,MPU很早就演进到了32位处理器,现在更是开始大力普及64位。现在MPU领导具有绝对影响力的Arm公司一开始就定位要做32位。同时MPU也一直追求实现较高的主频。早期经典的Arm 9系列MPU频率就在200MHz-400MHz。现在手机上使用的高端MPU更是到达了3GHz,和主流的桌面处理器是一个级别了。和通用的桌面处理器一样,MPU现在也普遍“多核化”。而且算出的结果以及一些工作区的缓存都需要较大的存储容量,一定要搭配大容量的存储器(DDR或是机械硬盘)以及FLASH才能运行。
MPU算是以硬助软的典型,打个比方,咱们平时玩的那些3A大作,拿个核显作为GPU,它能跑吗?它跑不了,没这个能力知道吗?。
后记
关于MCU和MPU,网上的解释可谓纷乱杂陈。但都不像前言中提到的那篇文章讲得这么清楚,特此记录以免淡忘。
查资料的时候又查到了一篇很有意思的议论文,有兴趣的可以看看,主要论证了为什么我们现在用的电脑和手机不是嵌入式系统。(这一点在本科的时候我就知道有这个说法,但了解不够深入)
如果说有任何不同的想法或是想要纠正笔者错误的观者们,欢迎下方评论区留言,一起讨论,一起进步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端