Learning
토픽 47 / 111·메모리 계층 (Memory Hierarchy)

MPU (Memory Protection Unit)

MPU (Memory Protection Unit)

가상 주소 변환 없이 물리 메모리 영역별 접근 권한(R/W/X)과 경계를 설정하여 메모리 보호만 수행하는 하드웨어 장치로, MMU보다 단순하며 임베디드·실시간 시스템에 주로 사용

목적: 메모리 보호, 프로세스 격리(제한적), 안전성 확보, 버그 탐지

특징: 주소 변환 없음(물리 주소 직접 사용), 리전(Region) 기반 보호, 하드웨어 단순, 저전력

구성요소

  • 리전(Region): 보호 영역 단위, 시작 주소 + 크기 + 속성(R/W/X), 일반적 8~16개
  • 접근 권한: Privileged/Unprivileged별 읽기/쓰기/실행 권한 설정
  • 서브리전: 리전 내 세부 분할(ARMv7-M), 8등분

동작: ① CPU가 메모리 접근 → ② MPU가 접근 주소를 리전과 비교 → ③ 권한 검사 → ④ 위반 시 MemManage Fault 발생

장점: 단순한 하드웨어, 낮은 전력, 결정적 동작(RTOS 적합), 빠른 컨텍스트 스위칭

단점: 가상 메모리 불가, 리전 수 제한(8~16개), 프로세스 격리 제한, 외부 단편화

적용사례: ARM Cortex-M(MCU), RTOS(FreeRTOS, Zephyr), 자동차 ECU(AUTOSAR), 항공·의료 임베디드

비교: MPU(보호만/변환없음/단순/저전력/임베디드) vs MMU(보호+변환/복잡/고성능/범용OS)

연관: MMU, 임베디드 시스템, RTOS, ARM Cortex-M, 메모리 보호