计算|正在消失的MCU与MPU之间的界限( 二 )


从上面的分析来看,每个特征因素都会存在缺陷,结果无法令人满意,那么行业专家又是怎么认为的呢?
MCU和MPU已成过时的术语
Cadence IP集团产品行销总监Marc Greenberg对此表示:“我不知道MCU与MPU之间的区别是否存在某些官方的定义,经过简单的检索似乎表明,裸片上存在NVM的为MCU,但各种MPU上都有NVM的某些位,MPU也可能在同一片裸片上具有MCU,那又是什么呢?最小的无缓存处理器可能仍具有一些寄存器和SRAM,用RTL编码的定序器与从ROM执行的通用处理器真的有区别吗?显然MCU和MPU之间的区别有些随意,这意味着这一界限并不明确甚至可以随心所欲。当我想到MPU时,我想到的是用于控制通用计算机的设备,例如台式机、服务器、平板电脑等。”
Cadence高级工程师Grant Martin认为:“根据维基百科的解释,MCU是在单个金属氧化物半导体集成电路芯片上的小型计算机,MPU是一种计算机处理器,在MOSFET结构的单个或多个集成电路上结合了中央处理单元的功能。”
“如果深入研究,MPU具有CPU的功能,因此它是计算机处理器,而MCU则是更完整的计算机,这意味着MCU内包含MPU,这与常识相反。具有多个处理器核心的16路服务器处理器是否不再是MPU?而是一种多核异构SoC?”
“例如,一部手机可能包括多个应用程序处理内核,用于音频、视频、图像处理的多个DSP,一个或两个用于在屏幕上呈现图像的GPU以及一个仅用于娱乐目的的神经网络处理单元——MCU。从我的角度来看,行业应该放弃这些过时的术语,使用更精确更具描述性的术语。”Grant Martin继续说。
西门子业务部门Mentor的高级产品经理Jeff Hancock则认为:“从系统软件的角度来看,MCU有望适用于直接解释和控制硬件传感器和执行器的应用。这种访问通常涉及一致且可靠的指令时序,这与通用MPU的需求相矛盾。通用MPU旨在优化吞吐量,而MCU通常会优化延迟。因此,如果是需要处理大型数据库,MPU更合适,如果是要精细的机电控制,那么MCU更合适。
Jeff Hancock还说:“外部存储器和缓存肯定让MCU的标准有所变化,但这距离将MCU等同于MPU还有很长的路要走。特别是并不是所有MCU中的所有处理单元都专门使用外部存储器,也可以使用隔离的子系统构建系统,这些子系统允许关键的工作负载和不太关键的应用程序级系统并行继续。”
“从软件工程师的角度看,这是一个有趣的挑战,在不连续的地方可能有两个内存区域,集成式内存虽小,但速度更快,因此最好留给对速度有高要求的代码,例如实时操作系统。这意味着开发工具必须足够灵活以将代码正确地映射到存储器上,而RTOS必须足够小适合片上存储器。”西门子业务部门的嵌入式软件技术专家Walls补充到。
Tortuga Logic的高级硬件安全工程师Nicole Fern表示:“过去,MCU与嵌入式系统相关联。在嵌入式系统中,低成本和低功耗的要求比性能更为重要。但是随着移动计算和IoT边缘计算的出现,许多嵌入式系统现在需要复杂的处理,这样就产生了面向嵌入式领域看起来更像MPU的MCU产品,为带有外部存储器和高速缓存的器件提供了更高的性能和可配置性。这种情况下,术语MCU和MPU之间的差异仅取决于是否集成CPU系统。”
Arm的低功耗IoT业务高级总监Thomas Ensergueix也认为:“近年来,MCU和MPU之间的界限已经模糊。MCU和MPU之间的主要区别之一是软件和开发。MPU将支持丰富的OS,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。在决定哪种硬件平台、MCU或MPU最有效之前,由软件开发人员决定哪个软件环境和生态系统最适合他们的应用。
“随着现在MCU已经过渡到32位,我们还看到了性能的急剧提高,这有助于缩小MCU和MPU之间的差距。例如:许多基于Arm Cortex-M7的MCU可提供100多个Dhrystone MIPS,或在CoreMark中提供2,000多个点。这些设备中的许多设备还具有非常大的内置存储器,或者提供快速接口来连接外部存储器。这确保了性能和内存不再是MCU的瓶颈,并使它们更接近低端MPU。”
小结
如今MPU与MCU之间是否有明确的界限真的重要吗?可能不重要了。因为无论我们将其称之为什么,应用程序都有附带要求,这些要求将决定使用哪个设备。
本文编译自https://semiengineering.com/mpu-vs-mcu/
原文作者Bryon Moyer
雷锋网雷锋网雷锋网