Una unidad de protección de memoria (MPU) , es una unidad de hardware de computadora que brinda protección a la memoria . Por lo general, se implementa como parte de la unidad central de procesamiento (CPU). [1] MPU es una versión reducida de la unidad de administración de memoria (MMU) que solo brinda soporte de protección de memoria . Por lo general, se implementa en procesadores de baja potencia que solo requieren protección de memoria y no necesitan la función completa de una unidad de administración de memoria como la administración de memoria virtual . [2] [3]
Descripción general
La MPU permite que el software privilegiado defina regiones de memoria y asigne permisos de acceso a la memoria y atributos de memoria a cada una de ellas. Dependiendo de la implementación del procesador , el número de regiones de memoria admitidas variará. La MPU en procesadores ARMv8-M admite hasta 16 regiones. Los atributos de memoria definen los comportamientos de ordenación y fusión de estas regiones, así como los atributos de almacenamiento en caché y búfer. Los atributos de caché pueden ser utilizados por cachés internos, si están disponibles, y pueden exportarse para que los utilicen los cachés del sistema. [4]
MPU monitorea las transacciones, incluida la obtención de instrucciones y el acceso a datos desde el procesador , lo que puede desencadenar una excepción de falla cuando se detecta una infracción de acceso. El objetivo principal de la protección de la memoria es evitar que un proceso acceda a la memoria que no se le ha asignado. Esto evita que un error o malware dentro de un proceso afecte a otros procesos o al propio sistema operativo . [4]