CPU가 생성하는 주소를 논리 주소라고 한다. 이렇게 생성된 논리 주소의 집합은 논리 주소 공간이라 한다.
메모리가 취급하는 주소를 물리 주소라고 한다. 이러한 주소 집합을 물리 주소 공간이라 한다.
컴파일 또는 적재 시에 주소를 바인딩하면 논리 주소와 물리 주소는 같게 된다. 그러나 실행 시간 바인딩 기법에서는 논리주소와 물리주소가 다르다. 이런 경우 우리는 논리 주소를 가상 주소라 한다.
프로그램의 실행 중에는 이와 같이 가상 주소를 물리 주소로 바꾸어줘야 하는데 이러한 변환 작업은 메모리 관리 장치(MMU)가 하게 된다.
간단하게 MMU의 동작을 보자. 우리가 알던 base register는 relocation register로 대체한다. CPU가 어떠한 주소에 대한 요청을 하는 과정이다.