메모리 주소
물리 주소, 논리 주소
물리 주소와 논리 주소로 나눈 이유
메모리에 저장된 값들은 시시각각 변하기 때문
같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라짐
물리 주소
메모리 입장에서 바라본 주소
말 그대로 정보가 실제로 저장된 하드웨어상의 주소
논리 주소
CPU와 실행 중인 프로그램 입장에서 바라본 주소
실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소
물리 주소와 논리 주소 간의 변환
CPU와 메모리가 상호작용 하기 위해서는 변환은 필수불가결
MMU(Memory Management unit) 메모리 관리 장치라는 하드웨어에 의해 변환
MMU는 논리 주소와 베이스 레지스터(프로그램의 기준 주소, 시작 주소) 값을 더하여 논리 주소를 물리 주소로 변환
메모리 보호
한계 레지스터를 통해 메모리를 보호
한계 레지스터
프로그램의 영역을 침범할 수 있는 명령어의 실행을 막음
베이스 레지스터가 실행 중인 프로그램의 가장 작은 물리 주소를 저장한다면,
한계 레지스터는 논리 주소의 최대 크기를 저장
따라서, 프로그램의 물리 주소 범위는
베이스 레지스터 값 ≤ 프로그램의 물리 주소 범위 < 베이스 레지스터 값 + 한계 레지스터 값
이처럼 CPU는 메모리에 접근하기 전
접근하고자 하는 논리 주소가 한계 레지스터보다 작은 지를 항상 검사하며
실행 중인 프로그램의 독립적인 실행 공간을 확보하고
하나의 프로그램이 다른 프로그램을 침범(인터럽트, 트랩) 하지 못하게 보호
'CS > [혼자 공부하는] 컴퓨터 구조' 카테고리의 다른 글
7-1] 보조기억장치: 하드 디스크 (0) | 2023.05.31 |
---|---|
6-3] 메모리와 캐시 메모리: 캐시 메모리와 참조 지역성 (0) | 2023.05.31 |
6-1] 메모리와 캐시 메모리: RAM의 특징과 종류 (0) | 2023.05.30 |
5-3] CPU의 성능 향상 기법: 명령어 집합 (CISC와 RISC) (0) | 2023.03.31 |
5-2] CPU의 성능 향상 기법: 명령어 병렬 처리 기법 (0) | 2023.03.31 |