Una unidad de protección de memoria ( MPU ) es una unidad de hardware que proporciona protección de memoria . Generalmente se implementa como parte de la unidad central de procesamiento (CPU). [ 1 ] La MPU es una versión reducida de la unidad de gestión de memoria (MMU) que solo proporciona soporte para la protección de memoria. Suele implementarse en procesadores de bajo consumo que solo requieren protección de memoria y no necesitan las funciones completas de una MMU, como la gestión de memoria virtual . [ 2 ] [ 3 ]
Descripción general
La MPU permite que el software con privilegios 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 los procesadores ARMv8-M admite hasta 16 regiones. Los atributos de memoria definen el ordenamiento y la fusión de estas regiones, así como los atributos de almacenamiento en caché y búfer. Los atributos de caché pueden ser utilizados por las cachés internas, si están disponibles, y pueden exportarse para su uso por las cachés del sistema. [ 4 ]
La MPU supervisa las transacciones, incluyendo la búsqueda de instrucciones y el acceso a datos desde el procesador , lo que puede generar una excepción de fallo cuando se detecta una violación de acceso. El objetivo principal de la protección de memoria es impedir que un proceso acceda a memoria que no le ha sido asignada. Esto evita que un error o malware dentro de un proceso afecte a otros procesos o al propio sistema operativo . [ 4 ]
Véase también
Referencias
- unidad central de procesamiento
- circuitos digitales
- Gestión de la memoria