메모리 보호 장치
Memory protection unit메모리 보호 장치(MPU)는 메모리 보호를 제공하는 컴퓨터 하드웨어 장치다.주로 중앙처리장치(CPU)의 일부로 시행된다.[1]MPU는 메모리 보호 기능만 지원하는 MMU(메모리 관리 장치)의 축소 버전이다.보통 메모리 보호만 필요하며 가상 메모리 관리와 같은 메모리 관리 유닛의 완전한 초기 기능이 필요하지 않은 저전력 프로세서에서 구현된다.[2][3]
개요
MPU는 특권 소프트웨어가 메모리 영역을 정의하고 메모리 액세스 권한과 메모리 속성을 각각 할당할 수 있도록 한다.프로세서의 구현에 따라 지원되는 메모리 영역의 수가 달라진다.ARMv8-M 프로세서의 MPU는 최대 16개 지역을 지원한다.메모리 속성은 캐시 및 버퍼링 속성과 함께 이러한 영역의 순서 및 병합 동작을 정의한다.캐시 속성은 가능한 경우 내부 캐시에 의해 사용될 수 있으며 시스템 캐시에 사용하기 위해 내보낼 수 있다.[4]
MPU는 프로세서에서 명령 가져오기 및 데이터 액세스를 포함한 트랜잭션을 모니터링하며, 액세스 위반이 감지될 때 오류 예외를 발생시킬 수 있다.메모리 보호의 주요 목적은 프로세스가 할당되지 않은 메모리에 액세스하지 못하도록 하는 것이다.이것은 프로세스 내의 버그나 악성 프로그램이 다른 프로세스 또는 운영 체제 자체에 영향을 미치는 것을 방지한다.[4]