메모리 관리 장치: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
새 문서: thumb|[[모토롤라 68010 프로세서와 함께 사용되었던 68451 MMU. 예전에는 MMU가 이와 같이 따로 분리된 하드웨어였지만 ...
 
잔글편집 요약 없음
3번째 줄:
'''메모리 관리 유닛'''(Memory Management Unit, MMU)은 [[CPU]]가 [[메모리]]에 접근하는 것을 관리하는 컴퓨터 [[하드웨어]] 부품이다. [[가상 메모리]] 주소를 실제 메모리 주소로 변환하며, 메모리 보호, [[캐시]] 관리, [[버스 (컴퓨터)|버스]] 중재 등의 역할을 담당하며 간단한 8[[비트]] 아키텍처에서는 [[뱅크 스위칭]]을 담당하기도 한다.
 
최신 아키텍처에서 메모리 관리 유닛은 가상 주소공간을 2<sup>''N''</sup>비트 크기의 페이지들로 나눈다. 그 가운데 일부 페이지는 실제 메모리 주소의 한 페이지에 대응되는데, 대부분의 경우 가상 주소공간은 실제 메모리의 주소공간보다 크기 때문에 페이지가 실제 메모리에 대응되는 것은 아니다. CPU가 가상 메모리 주소를 MMU에 넘겨주면 MMU는 그 주소를 받아 뒤쪽의 ''N''비트는 바꾸지 않고 앞쪽의 나머지 비트를 그에 해당하는 실제 메모리 주소로 바꾼다. 이때 가상 메모리 주소와 실제 메모리 주소 사이의 변환을 위해 MMU는 변환 참조 버퍼(Translation Lookaside Buffer, TLB)라는 고속의 보조기억장치를 참조한다. 이 보조기억장치에 원하는 변환 정보가 없을 때는 더 느린 다른 방법으로 페이지 변환 정보를 얻어오는데, 이 페이지 변환 정보가 담겨 있는 자료구조를 페이지 테이블(Page Table Entry, PTE)이라 한다. 페이지 테이블의 동작은 아키텍처와 [[운영체제]]에 따라 서로 다르다.
 
TLB나 PTE는 또한 그 메모리 주소가 캐시에 저장되었는지, 페이지가 쓰여졌는지(dirty bit), 프로세스에게 메모리에 접근할 권한이 있는지 등을 저장하기도 한다.