那么现在的MCU就是MPU吗?不再有区别了吗?
当下可区分MCU与MPU的因素
如今的MCU和MPU十分相似,但依然在很多方面有一些细微的区别,这包括CPU功能、位数、操作系统、时序要求、核心数量等方面。
在CPU功能方面,如果CPU具有复杂的流水线,具有预测执行和其他超标量功能,则可以将其视为MPU,但是转变的确切位置并没有明确界定。
在位数上,8位设备更有可能被视为MCU,64位设备很可能被视为MPU。不过最早的却是MPU是4位,这更像是历史问题,而不是决定性的特征。
也可以根据计算机可运行的操作系统进行分类,如果它运行Linux,则可以将其称为MPU。如果它仅允许较小的实时操作系统,甚至只运行裸机,则可以将其称为MCU,这为能够运行的Linux的设备留出了许多中间地带。在时序方面,MCU通常用于需要硬或软实时响应的应用程序,MPU通常不能用于这一目的。
一般也将多核处理器视为MPU,尤其是在内核相同且管理对称的情况下。不过专用设备可能具有多个处理器,有些专用于诸如数字信号之类特定任务的处理器也会被认为是MCU,因此通过核心数目判断是MPU还是MCU并不是一个准确的依据。
从使用目的来看,可以认为通用设备是MPU,单用途设备是MCU,但这实际上只关乎设备的使用方式,如果在不明确使用目的的情况下使用任何设备,那时候如何称呼这一设备呢?
通常全功能MPU不会具有专用外围设备,这在很大程度上是因为它们是通用的,而不是面向特定应用,因此你可能会认为只要有这样的外围设备,就是MCU,但是事实并非如此,缺少外围设备也并不意味着就是MPU。