Блок защиты памяти
Блок защиты памяти ( MPU ) — это аппаратный блок компьютера, обеспечивающий защиту памяти . Обычно он реализуется как часть центрального процессора (ЦП). [1] MPU — это урезанная версия блока управления памятью (MMU), обеспечивающая только защиты памяти поддержку . Обычно он реализуется в процессорах с низким энергопотреблением, которым требуется только защита памяти и не нужна полноценная функция блока управления памятью, такая как управление виртуальной памятью . [2] [3]
Обзор
[ редактировать ]MPU позволяет привилегированному программному обеспечению определять области памяти и назначать разрешения на доступ к памяти и атрибуты памяти для каждой из них. В зависимости от реализации процессора количество поддерживаемых областей памяти будет различаться. MPU на процессорах ARMv8-M поддерживает до 16 регионов. Атрибуты памяти определяют порядок и поведение этих регионов, а также кэширования атрибуты и буферизации. Атрибуты кэша могут использоваться внутренними кэшами, если они доступны, и могут быть экспортированы для использования системными кэшами. [4]
MPU отслеживает транзакции, включая выборку инструкций и доступ к данным от процессора , что может вызвать исключение ошибки при обнаружении нарушения доступа. Основная цель защиты памяти — предотвратить доступ процесса к памяти, которая ему не была выделена. Это предотвращает влияние ошибки или вредоносного ПО внутри процесса на другие процессы или саму операционную систему . [4]