CPU는 메모리 몇 번지에 프로그램이 저장되어 있는지 모두 저장해두지 않는다. 메모리에 적재된 프로그램은 쉽게 바뀌기 마련이다.
따라서 이를 해결하기 위해 논리 주소가 있다.
메모리 주소는 크게 두가지로 나뉜다
1.물리 주소
2.논리 주소
물리 주소
메모리가 사용하는 물리 주소는 정보가 실제로 저장된 하드웨어상의 주소를 의미한다.
논리 주소
실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소를 의미한다.
즉, 이 논리주소는 프로그램 각각에게 동일한 주소가 부여될 수 있다.
CPU와 프로그램이 사용하는 논리주소와 메모리의 실제 물리 주소와의 관계를 잡아주는 것을 메모리 관리 장치(MMU)라고 한다.
MMU인 베이스 레지스터에서 만약 1500이 저장되어 있다면 논리 주소 100이 나타내는 실제 물리 주소는 1600이 되는 것이다.
이 베이스 레지스터는 프로그램의 물리주소 시작점을 담고 있는 셈이다.
만약 논리 주소에서 베이스 레지스터 값을 더한 후 자신 프로그램의 메모리보다 범위가 큰 물리 주소에 접근 하는 것을 막기 위해 한계 레지스터라는 레지스터가 이를 제지한다.
한계 레지스터는 논리 주소의 최대 크기를 저장한다.
논리 주소값과 레지스터 값의 합이 한계 레지스터 값보다 크게 된다면 인터럽트가 발생하여 이를 제지한다.
'CS > 컴퓨터 구조&운영체제' 카테고리의 다른 글
[컴퓨터 구조 & 운영체제] 11. 캐시 메모리 (0) | 2024.05.12 |
---|---|
[컴퓨터 구조 &운영체제] 9. RAM (0) | 2024.05.08 |
[컴퓨터 구조 &운영체제] 8. CISC & RISC (0) | 2024.05.07 |
[컴퓨터 구조 &운영체제] 7.명령어 병렬 처리 기법 (0) | 2024.05.07 |
[컴퓨터 구조 &운영체제] 6.CPU 설계 (2) | 2024.04.30 |