1. 물리 주소
- 정보가 실제로 저장된 하드웨어상의 주소
- 메모리가 사용하는 주소
2. 논리 주소
- 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
- CPU와 프로그램이 사용하는 주소
3. 물리 주소와 논리 주소 간의 변환
- 메모리 관리 장치 (MMU)
- COU와 주소 버스 사이에 위치
- CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더하여 논리 주소를 물리 주소로 변환
- 논리 주소: 100, 베이스 레지스터: 1000, CPU 명령 : 논리 주소 100의 데이터를 삭제
- MMU는 베이스 레지스터와 논리 주소를 더한 1100번지의 데이터를 지움
- 베이스 레지스터는 프로그램의 가장 작은 물리 주소, 즉 프로그램의 첫 물리 주소를 저장
- 한계 레지스터
- 논리 주소의 최대 크기를 저장
- 즉, 프로그램의 물리 주소 범위는 베이스 레지스터 값 이상, 베이스 레지스터 값 + 한계 레지스터 값 미만
- 논리 주소 범위를 벗어나는 명령어 실행을 방지
- 실행중인 프로그램이 다른 프로그램에 영향 받지 않도록 보호
- 만약 CPU가 한계 레지스터보다 높은 논리 주소에 접근하려고 하면 인터럽트를 발생 시켜 실행을 중단