반응형
주기억 장치의 역할
정의
- 주기억 장치(Main Memory)는 CPU와 가장 가까운 메모리 계층으로, 프로그램 실행 중 필요한 데이터를 임시로 저장하는 공간
- 컴퓨터의 데이터를 읽기 및 쓰기 작업에 빠르게 접근할 수 있도록 설계됨
역할
- 프로그램 명령어 저장:
- 실행 중인 프로그램의 명령어가 저장
- CPU는 명령어를 명령어 사이클(인출 → 해독 → 실행)에 따라 처리.
- 데이터 저장:
- 프로그램이 처리하는 데이터가 저장
- 연산 중인 중간 값과 최종 결과도 저장.
- CPU와 저장장치 간 데이터 중계:
- 주기억 장치는 CPU와 하드디스크(보조기억장치) 사이에서 데이터를 빠르게 전달하는 역할을 합니다.
특징
- 휘발성 메모리(Volatile Memory):
- 전원이 꺼지면 저장된 데이터가 사라짐.
- 직접 접근 가능:
- CPU는 주기억 장치에 직접 접근하여 데이터를 읽고 씁니다.
RAM(Random Access Memory)
- 주기억 장치의 주요 구성 요소로, 실행 중인 프로그램과 데이터를 저장해 CPU가 빠르게 접근 가능.
- 데이터를 읽고 쓰는 속도가 빠른 휘발성 메모리.
- 임의 접근 가능: 어느 위치든 동일한 시간에 접근 가능
- RAM 용량이 클수록 한번에 많은 프로그램을 RAM에 적재하여 동시에 실행할 수 있다.
주소 공간
정의
- 주소 공간은 메모리의 각 위치를 식별하는 고유한 주소의 범위를 의미합니다.
- CPU는 명령어와 데이터를 처리하기 위해 주기억 장치의 주소를 사용합니다.
주소 공간의 구성
물리 주소 (Physical Address):
- 실제 메모리의 물리적인 위치를 나타냅니다.
- 주기억 장치의 크기에 따라 주소 범위가 결정.
논리 주소 (Logical Address):
- CPU에서 참조하는 가상의 주소
- CPU와 운영체제는 논리 주소를 물리 주소로 변환(MMU: Memory Management Unit)하여 데이터에 접근
논리 주소가 필요한 이유
- 프로그램의 위치와 상관없이 일관성있는 동작을 보장
- CPU 입장에서 물리 주소를 알 필요가 없어짐
- 프로그램이 다른 물리 주소를 갖게 되더라도 CPU에서는 항상 동일한 논리 주소를 참조할 수 있음
- 프로그램 간 메모리 보호
- 프로그램에 독립적인 논리 주소 공간을 할당.
- 프로그램은 자신의 논리 주소 공간만 참조할 수 있으며, 다른 프로그램의 메모리를 침범하지 못합니다.
MMU의 주소 변환
MMU는 2개의 레지스터 정보를 사용하여 메모리 접근을 관리함
- 베이스 레지스터(base register): 현재 프로그램의 메모리 시작 위치를 저장
- 한계 레지스터(limit register): 현재 프로그램의 메모리 크기(범위)를 저장
1. 주소 변환
물리 주소 = base register + 논리 주소
2. 접근 검증
변환된 물리 주소가 Base Register와 Base Register + Limit Register 범위 내에 있는지 확인.
만약 범위를 벗어나면 침범 탐지(트랩 또는 예외 발생) 후 접근을 차단.
참고로 가상메모리, 페이징 같은 고급 메모리 관리 기법에서는 이런 방법을 사용하지 않고 대신 페이지 테이블이라는 것을 활용(이 내용은 운영체제 과목에 있음)
댓글