메모리 관리 장치(MMU)는 가상 메모리의 가상 주소를 물리 주소로 변환시켜 알아서 매핑을 시켜준다.
이를 위해 오늘날 대부분의 마이크로 프로세서에는 메모리 관리 장치(MMU)가 들어있다.
MMU는 **TLB(Translation Lookaside Buffer)**라는 프로세서에 내장된 캐시를 가진다.
- CPU가 생성한 가상 주소에 대한 페이지 정보가 변환 우선참조 버퍼(TLB) 안에 존재한다면, 시간 지체 없이 바로 물리적 주소를 생성한다.
- 존재하지 않는다면 페이지 테이블을 참조하는데, 이때 테이블에서 적중(hit)하면 TLB를 갱신하는 작업을 거친다.
- 페이지 테이블에서 Page Fault가 발생하는 경우, OS에서 그 처리를 담당하는데 특히, **MMU(Memory Management Unit)**가 가상 기억장치 운영을 담당한다.
MMU(Memory Management Unit)
- CPU코어 안에 탑재되어 가상 메모리를 실제 물리 메모리로 변환 해주는 장치
- MMU는 가상 메모리와 실제 메모리 사이 변환을 위해 TLB라는 고속의 보조기억장치를 사용한다.
- TLB 섹션에서 봤듯 MMU는 CPU요청이 들어오면 TLB에 원하는 변환 정보를 제일 먼저 확인 하고 없다면 페이지 테이블에 가게 된다.
MMU 사용 이점
- 모든 프로세스마다 같은 주소를 사용할 수 있게 해준다.
- CPU는 프로세스 관리도 쉬워지고 구현 또한 쉬워진다. 실제 Physical Address 가 13, 19, 22 더라도 Virtual Address는 1로 동일할 수 있다는 것이다.
- 서로 떨어진 데이터를 연속적으로 표현할 수 있다.
- 위에서 말한 것 처럼 Physical Address 13,19,22를 연속된 데이터처럼 1,2,3으로 표현할 수 있다는 것이다.