메모리 관리 장치(MMU)

메모리관리장치(MMU - Memory Management Unit) - CPU가 메모리에 접근하는 것을 관리하는 컴퓨터 하드웨어 부품으로 가상 메모리 주소를 실제 메모리 주소로 변환하여, 메모리 보호, 캐시 관리, 버스 중재 등의 역할을 담당하며 간단한 8비트 아키텍처에서는 뱅크 스위칭을 담당하기도 한다.


* 가상 메모리 주소 
- 가상 메모리 기법으로 제공되는 주소공간, 프로세스 관점에서 사용하는 주소,
- 프로세스가 참조할 수 있는 주소들의 범위이며, 하나의 프로세스 당 하나의 가상주소 공간이 주어진다. 스레드는 프로세 내의 주소 공간을 공유한다.
- 주소버스의 크기에 따라 달라진다.
* 실제 메모리 주소 
- 컴퓨터의 메인 메모리를 접근할 때 사용되는 주소, 기억장치의 주소 레지스터에 적재된다. 실제 메모리 공간과 같다.

* 캐시
- 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소
- 캐시 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우 사용
- 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다.
- CPU 캐시, 디스크 캐시 등이 있다.

* 뱅크 스위치(뱅크 전환)
- 마이크로프로세서의 주소 공간보다 많은 메모리를 활용하기 위해 개발된 기술
- 16비트의 주소 공간(65536)일 때, 이 보다 많은 메모리를 확장하기 위해선 뱅크스위칭을 사용한다. 주소공간 내에서 액세스가 되어야 하므로 동시에 64kB보다 많은 공간을 식별할 수 없다. 
- 사용하는 뱅크를 설정하고 해당공간만을 액세스하다가, 뱅크를 바꾸어 다른 공간을 활용한다.
- 같은 주소공간에서 뱅크스위칭을 해야할 때는 논리회의 주소 디코더에 의한 설정에 의해 결정한다.
- 같은 주소공간의 여러개의 뱅크 중에 선택된 뱅크만이 액세스 되도록 하고 선택되지 않은 뱅크는 데이터를 유지만 하도록 한다.


댓글

이 블로그의 인기 게시물

파이썬을 이용한 image to pdf 변환 프로그램

젯슨 나노 - GPIO