메모리 관리 장치(Memory Management Unit)
- MMU는 가상 주소를 물리 주소로 변환하고, 메모리를 보호하는 기능을 수행한다.
- 가상 메모리의 논리 주소를 가지고 실제 데이터가 담겨 있는 곳에 접근하기 위해서는 빠른 주소 변환이 필요한데, 이를 MMU가 도와준다.
- MMU를 사용하게 되면, CPU는 각 물리 메모리에 접근하기 이전에 메모리 주소 변환 작업을 거친다.
- MMU는 굉장히 빈번하게 작업을 처리해야 하기 때문에, 소프트웨어 코드만으로는 이 작업을 수행하기 벅차다. 그래서 메모리 관리 작업을 하는 특수한 하드웨어를 따로 컴퓨터에 설치해야 한다. (실제로는 작은 칩을 컴퓨터에 꽂아서 사용한다)
- MMU가 메모리를 일일이 가상 주소에서 물리 주소로 변환하게 되면, 작업 부하가 높아질 수 있다. 그래서 MMU는 실제 물리 메모리 공간을 여러 페이지 단위로 나눠서, 각 페이지 단위로 데이터를 처리한다.
장점
- 모든 프로세스마다 같은 주소를 사용할 수 있게 한다.
- CPU는 프로세스 관리 및 구현이 간단하다.
- 실제 물리 주소가 13번지, 15번지 29번지 일 때 MMU는 가상주소로 이를 모두 1번지로 표현할 수 있다.
- 서로 떨어져 있는 데이터를 연속된 데이터로 표현할 수 있다.
- 실제 물리 주소가 13번지, 15번지 29번지인 경우 연속된 데이터처럼 1번지 2번지 3번지 처럼 표현 가능하다.
🙇 참고 사이트 🙇
https://jerryjerryjerry.tistory.com/186 https://velog.io/@rlvy98/CS-MMUMemory-Management-Unit-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%EC%9E%A5%EC%B9%98