스물두줄

컴퓨터시스템응용기술사 · 컴퓨터 구조 및 운영체제

MMU 가상 주소 변환과 메모리 보호

MMU는 CPU가 만든 가상 주소를 물리 주소로 바꾸는 하드웨어다. 변환과 함께 메모리 접근 권한도 검사해 잘못된 접근을 막는다. 프로그램은 자기만의 주소 공간을 보고, 실제 배치는 MMU가 정한다. MMU는 주소 변환 유닛, 보호 로직, TLB, 페이지 테이블 워커…

주요 장면

  1. 0:02 MMU 정의
  2. 0:20 구성요소와 변환 흐름
  3. 0:48 TLB 적중률과 평균 변환 시간
  4. 1:12 MMU와 IOMMU 비교
  5. 1:39 흔한 실수와 채점 포인트
  6. 2:16 정리

대본

MMU 정의

MMU는 CPU가 만든 가상 주소를 물리 주소로 바꾸는 하드웨어다.

변환과 함께 메모리 접근 권한도 검사해 잘못된 접근을 막는다.

프로그램은 자기만의 주소 공간을 보고, 실제 배치는 MMU가 정한다.

구성요소와 변환 흐름

MMU는 주소 변환 유닛, 보호 로직, TLB, 페이지 테이블 워커로 이루어진다.

가상 주소가 들어오면 먼저 TLB에서 페이지 번호를 찾는다.

TLB에 없으면 페이지 테이블 워커가 메모리에서 PTE를 읽어 TLB에 채운다.

그다음 보호 로직이 권한과 Valid 비트를 검사하고 물리 주소를 만든다.

TLB 적중률과 평균 변환 시간

TLB 적중률이 높으면 평균 변환 시간이 크게 줄어든다.

적중률 0.95, TLB 1 ns, 메모리 100 ns라고 가정하고 계산해 보자.

평균 시간은 6 ns다. 항상 메모리를 거치는 101 ns보다 훨씬 작다.

MMU와 IOMMU 비교

IOMMU는 이름이 MMU와 비슷하지만 대상이 다르다.

MMU는 CPU가 내는 가상 주소를, IOMMU는 장치가 내는 주소를 변환한다.

IOMMU는 장치마다 접근할 수 있는 메모리를 나눠 격리한다.

답안에는 대상이 CPU인지 장치인지 명확히 써야 한다.

흔한 실수와 채점 포인트

시험 답안에서 자주 빠지는 내용을 짚어 본다.

첫째, MMU가 변환뿐 아니라 보호 기능도 함께 수행한다고 써야 한다.

둘째, TLB 히트 시에는 페이지 테이블을 읽지 않는다는 점을 쓴다.

셋째, 페이지 크기처럼 아키텍처에 따라 달라지는 값은 조건을 함께 적는다.

정리

이번 장에서는 MMU의 변환과 보호 기능을 정리했다.

TLB는 변환 속도를, 페이지 테이블 워커는 미스 처리를 맡는다.

MMU는 주소 변환, 보호, 효율적 메모리 사용을 함께 맡는 하드웨어다.

같은 장의 영상