스물두줄

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

MMU

설명 영상 MMU 가상 주소 변환과 메모리 보호 · 2:29

왜 배우는가: MMU는 가상메모리 주소 변환과 메모리 보호를 담당하는 하드웨어로, 운영체제·컴퓨터구조 전반의 출발점이 된다. 가상메모리, TLB, 페이지 테이블, IOMMU 문제의 공통 기반이라 기술사 시험에서 용어형과 논술형으로 반복 출제된다.

출제 이력: 제137회 3교시 2번, 제135회 1교시 3번

1. 한 줄 정의와 핵심 키워드

MMU는 CPU가 발생시킨 가상 주소를 물리 주소로 변환하고 메모리 접근 권한을 검사하는 하드웨어 장치이다.

핵심 키워드는 다음과 같다.

  • 메모리 관리 장치(MMU): 가상 주소를 물리 주소로 바꾸는 CPU 내부 하드웨어
  • 가상 주소(Virtual Address): 프로그램이 보는 주소 공간의 주소
  • 물리 주소(Physical Address): 주기억장치에서 실제 위치를 나타내는 주소
  • 페이지 테이블(Page Table): 페이지 번호와 프레임 번호의 대응을 저장한 자료구조
  • TLB(Translation Lookaside Buffer): 최근 변환 결과를 저장하는 주소 변환 캐시
  • 페이지 폴트(Page Fault): 요청한 페이지가 물리 메모리에 없을 때 발생하는 인터럽트
  • 메모리 보호(Memory Protection): 읽기·쓰기·실행 권한 검사
  • IOMMU(Input/Output MMU): I/O 장치가 쓰는 장치 주소를 변환하는 MMU

2. 개념 풀이

쉽게 말하면 MMU는 프로그램이 쓰는 주소를 실제 메모리 주소로 번역하는 번역기다. 프로그램마다 0번지부터 시작하는 독립 주소 공간을 가진 것처럼 보이게 하고, 실제 물리 메모리 위치는 MMU가 대신 정한다.

정식으로는 MMU가 가상 주소 공간을 고정 크기의 페이지 단위로 나누고, 각 페이지를 물리 메모리의 프레임에 대응시키는 장치라고 정의한다. 주소의 상위 비트는 페이지 번호로 변환되고 하위 비트는 페이지 내 오프셋으로 그대로 유지된다. 한국어 위키백과는 뒤쪽 N비트는 바꾸지 않고 앞쪽 나머지 비트만 변환한다고 설명한다.

페이지(Page)는 가상 주소 공간을 나눈 고정 크기 블록이다. 프레임(Frame)은 물리 메모리를 같은 크기로 나눈 블록이다. 페이지와 프레임은 크기가 같아야 1:1 대응이 가능하다.

권한 검사는 MMU의 또 다른 핵심 기능이다. 페이지 항목에 유효(Valid), 쓰기 여부(Dirty), 참조 여부(Referenced), 접근 권한 비트가 있어 잘못된 접근을 차단한다. 위키 자료는 TLB나 PTE가 캐시 저장 여부, dirty bit, 접근 권한 정보를 담는다고 설명한다.

페이지 폴트는 요청한 페이지가 물리 메모리에 없을 때 MMU가 운영체제에 보내는 인터럽트다. 운영체제는 보조기억장치에서 해당 페이지를 읽어 들이고 페이지 테이블을 갱신한다.

가상 주소 공간의 페이지 수는 주소 공간 크기를 페이지 크기로 나누어 구한다.

3. 등장 배경과 필요성

초기 컴퓨터는 프로그램이 물리 주소를 직접 사용했다. 그래서 여러 프로그램이 같은 메모리 영역을 건드리면 충돌이 생기고, 한 프로그램의 잘못된 쓰기가 다른 프로그램이나 운영체제를 망가뜨렸다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기