CS지식 쌓기
메모리의 주소 공간 (물리주소, 논리주소)
류도토리
2023. 12. 29. 17:06
- 물리 주소
- 메모리 입장에서 바라본 주소
- 말 그대로 정보가 실제로 저장된 하드웨어 상의 주소
- 논리 주소
- CPU와 실행 중인 프로그램 입장에서 바라본 주소
- 실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소
- 주소의 변환
- MMU(메모리 관리 장치) 라는 하드웨어에 의해 변환
- MMU는 논리 주소와 베이스 레지스터(프로그램의 첫번째 물리 주소) 값을 더하여 논리 주소를 물리 주소로 변환
- 이렇게 되면 다른 데이터 삭제됨
- 한계 레지스터
- 프로그램의 영역을 침범할 수 있는 명령어의 실행을 막음
- 베이스 레지스터가 실행 중인 프로그램의 가장 작은 물리 주소를 저장한다면, 한계 레지스터는 논리 주소의 최대 크기를 저장
- 베이스 레지스터 ≤ 프로그램 물리 주소 범위 < 베이스 레지스터 + 한계 레지스터 값
- 메모리 보호
- CPU는 메모리에 접근 하기 전 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지 항상 검사