논리, 물리 주소 공간

이찬영·2021년 9월 1일
0

OS

목록 보기
26/35

논리 주소와 물리 주소 공간

논리 주소 (logical address)

CPU가 생성하는 주소를 논리 주소라고 한다. 이렇게 생성된 논리 주소의 집합은 논리 주소 공간이라 한다.

물리 주소 (physical address)

메모리가 취급하는 주소를 물리 주소라고 한다. 이러한 주소 집합을 물리 주소 공간이라 한다.

가상 주소 (virtual address)

컴파일 또는 적재 시에 주소를 바인딩하면 논리 주소와 물리 주소는 같게 된다. 그러나 실행 시간 바인딩 기법에서는 논리주소와 물리주소가 다르다. 이런 경우 우리는 논리 주소를 가상 주소라 한다.

프로그램의 실행 중에는 이와 같이 가상 주소를 물리 주소로 바꾸어줘야 하는데 이러한 변환 작업은 메모리 관리 장치(MMU)가 하게 된다.

MMU 동작 과정

MMU 동작

간단하게 MMU의 동작을 보자. 우리가 알던 base register는 relocation register로 대체한다. CPU가 어떠한 주소에 대한 요청을 하는 과정이다.

  1. CPU가 logical address의 데이터를 가져온다.
  2. logical address는 MMU에게 전달 된다.
  3. MMU는 전달 받은 주소에 relocation register의 값을 더해 물리 주소로 만들어준다.
  4. MMU는 이 물리 주소가 실제 주소 영역에 있는지 확인한다. (범위를 넘어갔는지 확인)
  5. 정상적인 범위 내라면 물리주소를 반환하여 메인 메모리에 접근한다.

0개의 댓글