본문 바로가기
CONCEPT/Computer Architecture

[컴퓨터구조] 메모리의 주소 공간

by 1005 2025. 2. 19.

 

Q) CPU와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장되어 있는지 다 알고 있을까? 

: 메모리 몇 번지에 무엇이 저장되어 있는지 알지 못함.

 

Q) 논리 주소와 물리 주소로 주소 공간을 나눈 이유?

: CPU가 프로그램의 각각의 주소인 논리주소를 통해서 실제 메모리의 주소인 물리주소와 상호작용하여 메모리 관리함.

 = CPU가 메모리와 상호작용하기 위해!

논리 주소는 프로그램마다 0번지가 있지만, 물리 주소는 0번지가 1개뿐!

 

Q) 논리 주소를 물리 주소로 변환하는 방법?

: MMU(메모리 관리 장치)라는 하드웨어에 의해 변환됨.

CPU가 주소버스를 통해 가져오는 주소는 항상 MMU를 통해서 변환되어 가져와짐.

 

* MMU는 논리 주소와 베이스 레지스터(프로그램의 기준주소) 값을 더하여 논리 주소를 물리 주소로 변환함.

베이스 레지스터(기준주소)로 부터 100(논리주소)만큼 떨어진 곳이 곧, 물리주소(유효주소: 연산에 사용할 데이터가 저장된 위치)


한계 레지스터는 1000이 저장되어있어서 CPU에서 1500번지를 언급해도 실행이 안됨. 1500번지는 한계 레지스터보다 크기 때문에 다른 프로그램에서 사용하는 메모리를 보호하기 위해 명령을 막음!

CPU는 메모리에 접근하기 전 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사함.

실행 중인 프로그램의 독립적인 실행 공간을 확보& 하나의 프로그램이 다른 프로그램을 침범하지 못하게 보호함.

댓글