前言:
最近参加某公司面试时,被问到为什么采用MPU+MCU的架构,而不是纯MPU,或是纯MCU,于是便对网上的资料进行了一些总结。
参考:
https://zhuanlan.zhihu.com/p/106860696
utm_source=wechat_session
背景:
MPU的全称叫Micro Processor Unit,MCU的全称是Mirco Controller Unit
MCU由于主要完成“控制”相关的任务,所以被称为Controller。也就是根据外界的信号(刺激),产生一些响应,做一点简单的人机界面。
对于这种需求,通过不需要芯片主频太高。早期8051系列主频不过10几MHz,还是12个周期执行一条指令。经过多年的“魔改”也最终达到了100MHz。在MCU上完成的任务大多数是一些简单的刺激-响应式的任务,而且任务类型单一,任务执行过程简单。在这种情况下一般不需要MCU去执行功能复杂、运算量大的程序,而通常不需要运行大型操作系统来支持复杂的多任务管理。这就造成了MCU一般对于存储器的容量要求比较低。
MPU,Processor,顾名思义是处理器。处理器就是能够执行“处理”功能的器件。其实具备Processor这个单词的器件不少。比如CPU就被称为“*处理器”,那既然有“*”就应该有“外围”。GPU在经典的桌面计算机中就是一个典型的“外围”处理器,主要负责图形图像处理,由于图形图像显示。
当然,今天由于AI的崛起,GPU变身成为了人工智能的训练神器。带“P”的还有DSP,数字信号处理器,一种专门为了数字信号处理而生的“领域专用处理器”。所以这些带P的处理器,都是要具备“处理”能力的。“处理”什么?自然是处理数据/信息了。也就是说处理器本身都需要较为强大的数据处理/计算能力。以GPU为例,正是由于它强大的并行浮点运算能力才能支持高速的图像处理,使音视频播放、多媒体技术成为可能。同样由于这样的处理能力使之在AI时代来临之时发挥巨大作用。
所以从形态上看,MPU由于需要运行对处理能力要求复杂大程序,一般都需要外挂存储器才能运行起来。而MCU往往只是执行刺激-响应式的过程控制和辅助,实时性更高,功能比较单一,仅仅需要使用片上集成的小存储器即可。
最后:
MPU+MCU硬件架构在于既利用了MCU的实时性也利用了MPU强大的并行运算能力,支持高速的图像处理,使多媒体技术成为可能。同时也利用了其运行稳定的网络协议和文件系统资源。
相关文章
- 02-19简述EI电离源的工作原理
- 02-19第四期:写一篇高水平的工程类英文论文(SCI/EI)_结论与讨论Result and Discussion【论文写作】
- 02-19todo: 改变字体的动画
- 02-196837. 【2020.10.31提高组模拟】小y的数论
- 02-19http代理和SOCKS代理的区别
- 02-19国信证券开源自研的微服务开发框架 Zebra
- 02-19python – 具有mpz / mpfr值的numpy数组
- 02-19gRPC学习之二:GO的gRPC开发环境准备
- 02-19python – 任何地方的Gmpy文档?
- 02-19如何在Visual Studio上安装MP的MPFR和GMP