MMU (Memory Management Unit)
Jan 27, 2026
핵심 개념
섹션 제목: “핵심 개념”MMU(Memory Management Unit)는 논리 주소를 물리 주소로 변환하는 하드웨어 장치이다. 프로그램은 논리 주소로 동작하지만 실제 메모리는 물리 주소로 접근해야 하므로, 이 변환을 소프트웨어로 처리하면 성능 저하가 심각하다. MMU는 하드웨어 수준에서 이를 자동으로 처리한다.
비유하면, MMU는 통역사와 같다. 프로그램(외국인)이 “346번”이라고 말하면, MMU(통역사)가 현재 기준점을 더해 실제 메모리 주소로 전달한다.
동작 원리
섹션 제목: “동작 원리”핵심 레지스터
섹션 제목: “핵심 레지스터”| 레지스터 | 역할 |
|---|---|
| 재배치 레지스터 (Relocation Register) | 프로세스의 물리 메모리 시작 주소 저장. 논리 주소에 이 값을 더해 물리 주소 계산 |
| 한계 레지스터 (Limit Register) | 프로세스가 접근 가능한 논리 주소 범위 저장. 범위 초과 시 트랩 발생 |
주소 변환 순서
섹션 제목: “주소 변환 순서” 한계 레지스터 │ v논리주소 → [< 비교] ─yes─→ [+ 재배치 레지스터] → 물리주소 → 메모리 │ no v 트랩(주소 오류)- CPU가 논리 주소 생성
- 한계 레지스터와 비교하여 유효성 검사
- 유효하면 재배치 레지스터 값을 더함
- 물리 주소로 메모리 접근
OS의 역할
섹션 제목: “OS의 역할”OS는 MMU의 레지스터를 설정하고, 이후 변환은 하드웨어가 자동으로 수행한다. 컨텍스트 스위칭 시 레지스터 값만 교체하면 된다.
재배치 레지스터 = 100040, 한계 레지스터 = 74600일 때:
- 논리 주소 50000 → 유효 (50000 < 74600) → 물리 주소 150040
- 논리 주소 80000 → 무효 (80000 > 74600) → 트랩 발생
관련 개념
섹션 제목: “관련 개념”- 논리 주소와 물리 주소 - MMU가 변환하는 두 주소 공간
- 연속 메모리 할당 (Contiguous Allocation) - 단순 재배치 방식의 메모리 배치
- 페이지 테이블 (Page Table) - 더 유연한 주소 변환 기법
- 컨텍스트 스위치 (Context Switch) - 레지스터 교체가 필요한 프로세스 전환