핵심 인사이트 (3줄 요약)

  1. 본질: RISC-V PMP는 M-mode (Machine Mode)가 물리 주소 범위별 R/W/X 권한을 설정해 하위 모드의 메모리 접근을 하드웨어로 제한하는 메커니즘이다.
  2. 가치: MMU가 없거나 단순한 임베디드 코어에서도 샌드박스와 부트 보호를 구현할 수 있어, RISC-V 보안의 최소 기본선 역할을 한다.
  3. 판단 포인트: PMP 설계의 핵심은 적은 엔트리 수 안에서 TOR·NAPOT 매칭 방식을 섞어 코드·데이터·I/O 경계를 어떻게 배치하느냐에 있다.

Ⅰ. 개요 및 필요성

가상 메모리와 대형 하이퍼바이저가 없는 마이크로컨트롤러나 부트 단계에서는, 물리 메모리 자체를 직접 잘라 보호해야 하는 경우가 많다. RISC-V PMP는 이런 환경에서 주소 변환보다 앞서, 특정 물리 주소 범위에 읽기·쓰기·실행 권한을 붙여 경계를 만드는 도구다. 즉 복잡한 OS가 없어도 하드웨어 차단선을 만들 수 있게 해 주는 것이다. 그래서 PMP는 단순 레지스터 몇 개 같아 보여도, 임베디드 보안과 secure boot에서 매우 중요하다.

┌──────────────────────────────────────────────────────────────┐
│             Physical memory sliced into PMP regions         │
├──────────────────────────────────────────────────────────────┤
│ Code   : RX                                                  │
│ Data   : RW                                                  │
│ MMIO   : restricted                                           │
│ Others : deny-by-default for lower modes                    │
└──────────────────────────────────────────────────────────────┘
  • 📢 섹션 요약 비유: 놀이터를 구역별로 나눠서 어떤 아이는 미끄럼틀만, 어떤 아이는 모래밭만 들어가게 하는 울타리와 같다.

Ⅱ. 아키텍처 및 핵심 원리

PMP는 pmpcfg와 pmpaddr 레지스터 쌍으로 구성되며, 각 엔트리는 주소 매칭 모드와 R/W/X 권한, 락 비트를 가진다. TOR (Top of Range)는 인접 엔트리 두 개로 임의 범위를 표현하기 좋고, NAPOT (Naturally Aligned Power-of-Two)는 하나의 엔트리로 정렬된 2의 거듭제곱 크기 영역을 표현할 수 있다. 하드웨어는 낮은 번호 엔트리부터 순차 매칭하므로 우선순위 설계도 중요하다. 또한 L bit를 세우면 M-mode까지 설정을 함부로 바꾸기 어렵게 만들 수 있다.

구성 요소역할설계 포인트
pmpcfg권한·매칭 방식 설정L/A/X/W/R 비트 해석 정확성
pmpaddr주소 경계 정의정렬과 범위 계산 검증
TOR임의 범위 표현엔트리 2개 소비
NAPOT정렬된 2^N 범위 표현엔트리 절약, 정렬 제약
┌──────────────────────────────────────────────────────────────┐
│                How PMP evaluates an access                  │
├──────────────────────────────────────────────────────────────┤
│ Access request -> check entry0 -> entry1 -> ...             │
│                      │                                       │
│                      ├─ first match decides allow/deny       │
│                      └─ no match => lower modes denied       │
└──────────────────────────────────────────────────────────────┘
  • 📢 섹션 요약 비유: 문을 순서대로 지나가며 첫 번째로 걸리는 출입 규칙이 곧 최종 판정이 되는 건물과 같다. 문 배치 순서가 곧 정책이 된다.

Ⅲ. 비교 및 연결

PMP는 MMU보다 단순하지만 물리 경계 제어에서는 더 직접적이다. MMU가 가상 주소 번역과 페이지 보호를 제공한다면, PMP는 그 아래에서 절대 넘어가면 안 되는 물리 울타리를 만든다. 따라서 MMU 없는 MCU에서는 주 보호 장치이고, MMU 있는 시스템에서는 부트 코드와 보안 모니터 보호를 위한 하드웨어 최후선이 된다.

비교 대상강점대표 한계
PMP가벼운 하드웨어로 물리 경계 강제엔트리 수와 표현력 제한
MMU풍부한 가상 메모리 관리복잡도와 RAM 부담 증가
소프트웨어 검사유연성 높음우회 가능성과 실수 위험
  • 📢 섹션 요약 비유: 낮은 울타리지만 철근으로 만든 담장과, 유연한 안내선, 복잡한 도로 표지판의 차이라고 볼 수 있다. PMP는 단순하지만 강제력이 높다.

Ⅳ. 실무 적용 및 기술사 판단

실무에서는 부트 ROM 보호, 펌웨어 업데이트 영역 제어, MMIO (Memory-Mapped I/O) 접근 제한, RTOS 태스크 격리에 PMP가 쓰인다. 기술사 답안에서는 엔트리 수가 적기 때문에 코드/데이터/주변장치/가드 페이지 같은 핵심 구역 우선 배치를 해야 한다고 쓰면 좋다. 또한 부팅 초기에 PMP를 설정하기 전의 공백 시간, 그리고 락 비트를 언제 세울지 결정하는 시점이 매우 중요하다.

  • 📢 섹션 요약 비유: 울타리를 늦게 세우면 이미 아이들이 금지 구역에 들어간 뒤일 수 있다. PMP는 빨리, 그리고 핵심 구역부터 세워야 한다.

Ⅴ. 기대효과 및 결론

PMP는 RISC-V가 소형 코어부터 보안을 실용적으로 가져가기 위한 기본 도구다. 적은 자원으로도 물리적 경계를 만들 수 있어, 오픈 하드웨어 기반 secure boot와 TEE의 최소 기반이 된다. 다만 엔트리 제약과 복잡한 주소 계획 부담은 항상 남는다. 따라서 PMP는 "간단한 권한 비트"가 아니라 "한정된 하드웨어로 만드는 물리 메모리 정책"으로 이해하는 것이 좋다.

  • 📢 섹션 요약 비유: 색연필 몇 자루만으로 큰 지도를 나눠 칠해야 하는 것처럼, PMP는 적은 엔트리로 중요한 구역을 똑똑하게 나눠야 한다.

📌 관련 개념 맵

개념연결 포인트
TOR임의 범위를 표현하는 대표 PMP 매칭 방식
NAPOT엔트리 효율이 좋은 정렬 기반 매칭 방식
Lock Bit설정 변경을 어렵게 만들어 부트 보호를 강화
MMIO 보호PMP가 단순 메모리뿐 아니라 장치 접근 제어에도 쓰이는 이유

📈 관련 키워드 및 발전 흐름도

[Boot-time PMP Setup]
    │
    ▼
[Physical Region Permission]
    │
    ▼
[Lower-mode Access Check]
    │
    ├──▶ [Allow Code/Data Access]
    └──▶ [Fault on Forbidden Region]

이 흐름은 부팅 초기에 설정된 PMP 규칙이 이후 하위 모드의 실제 메모리 접근을 하드웨어로 판정하는 과정을 보여준다. 즉 정책 설정 시점이 곧 보안 출발점이다.

👶 어린이를 위한 3줄 비유 설명

  1. 컴퓨터가 자기 방을 여러 칸으로 나누고, 각 칸마다 읽기와 쓰기와 실행 표지판을 붙이는 것과 비슷해요.
  2. 어린 동생 프로그램은 허락된 칸만 들어갈 수 있어요.
  3. 그래서 실수로 중요한 칸을 건드리면 바로 경보가 울리고 막을 수 있답니다.