“从软件工程师的角度看,这是一个有趣的挑战,在不连续的地方可能有两个内存区域,集成式内存虽小,但速度更快,因此最好留给对速度有高要求的代码,例如实时操作系统。这意味着开发工具必须足够灵活以将代码正确地映射到存储器上,而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之间是否有明确的界限真的重要吗?可能不重要了。因为无论我们将其称之为什么,应用程序都有附带要求,这些要求将决定使用哪个设备。