Diferencias entre MMU y MPU

Literalmente hablando, MMU quiere decir «Unidad de Administración de Memoria» mientras que MPU significa «Unidad de Protección de Memoria». Ambos son hardware especializado que utiliza la CPU para el manejo de la memoria. MMU se usa para muchas funciones principalmente Memoria virtual (es decir, la traducción de la dirección virtual a la dirección física) y protección de memoria. En cambio, MPU solo se usa para protección de memoria. En ese sentido, podemos pensar en MMU como un superconjunto de MPU.

Diferencias entre MMU y MPU

Los procesadores que necesitan ejecutar sistemas operativos de alta gama como Android, Linux, Windows suelen tener MMU, pero los procesadores que necesitan ejecutar RTOS como ThreadX, Nucleus suelen tener MPU. Por lo general, un teléfono inteligente contiene dos procesadores principales, uno que ejecuta SO de gama alta (por ejemplo, Android) donde se ejecutan las aplicaciones y el segundo que ejecuta RTOS de banda base (por ejemplo, ThredX) donde se ejecutan las pilas de protocolos 3G/4G/5G. El primero se llama procesador de aplicaciones, mientras que el segundo se llama procesador de banda base. El procesador de aplicaciones (por ejemplo, la serie ARM Cortex-A) tiene MMU mientras que el procesador de banda base (por ejemplo, la serie ARM Cortex-R) tiene MPU.