컴퓨터 저장 장치: RAM과 보조기억장치 (ft. 캐시 메모리)
1. RAM과 보조기억장치의 차이
컴퓨터의 저장 장치는 데이터가 전원이 꺼진 후에도 유지되는지 여부에 따라 휘발성과 비휘발성으로 나뉩니다.
2. DRAM vs. SRAM: RAM의 두 얼굴
RAM은 크게 DRAM과 SRAM 두 종류로 나뉘며, 각각의 특성과 사용 목적이 다릅니다.
-
DRAM (Dynamic RAM):
- 저장된 데이터가 시간이 지나면 동적으로 사라지기 때문에, 주기적으로 데이터를 재활성화(재충전)해야 합니다.
- 저렴하고 집적도가 높아 대용량 메모리인 주기억장치(RAM)로 널리 쓰입니다.
-
SRAM (Static RAM):
- 전원이 공급되는 동안 데이터가 유지되어 재충전이 필요 없습니다.
- DRAM보다 속도가 빠르지만, 가격이 비싸고 소비 전력이 많으며 집적도가 낮습니다.
- 대용량보다는 빠른 속도가 중요한 캐시 메모리에 주로 사용됩니다.
| 구분 | DRAM | SRAM |
|---|
| 재충전 | 필요함 | 필요 없음 |
| 속도 | 느림 | 빠름 |
| 가격 | 저렴함 | 비쌈 |
| 집적도 | 높음 | 낮음 |
| 소비 전력 | 적음 | 높음 |
| 주요 용도 | 주기억장치(RAM) | 캐시 메모리 |
3. 발전된 RAM: SDRAM과 DDR SDRAM
4. 메모리 관리 기술: 논리 주소와 물리 주소
CPU는 프로그램을 실행할 때 실제 메모리 주소를 직접 다루기 어렵기 때문에 가상의 주소를 사용합니다.
- 물리 주소: 메모리 하드웨어가 실제로 사용하는 주소.
- 논리 주소: CPU와 실행 중인 프로그램이 사용하는 가상의 주소.
이를 변환하는 장치가 바로 메모리 관리 장치(MMU)입니다. MMU는 논리 주소에 베이스 레지스터 값을 더해 실제 물리 주소를 계산합니다.
메모리 보호 기법
- 베이스 레지스터: 현재 프로그램의 시작 물리 주소를 저장합니다.
- 한계 레지스터: 현재 프로그램의 논리 주소 최대 크기를 저장합니다.
- 작동 방식: CPU가 메모리에 접근할 때, 접근하려는 논리 주소가 한계 레지스터 값을 넘지 않는지 검사하여 다른 프로그램의 영역을 침범하지 않도록 보호합니다.
5. 저장 장치 계층 구조와 캐시 메모리
컴퓨터의 저장 장치는 속도와 용량에 따라 계층적으로 구성됩니다.
- 원칙: CPU에 가까운 장치일수록 빠르고, 멀어질수록 느립니다. 또한, 속도가 빠를수록 용량은 작고 가격은 비쌉니다.
캐시 메모리
CPU와 RAM의 속도 차이를 줄이기 위해 탄생한 매우 빠른 임시 저장 장치입니다. CPU가 필요할 것으로 예측되는 데이터를 미리 가져와 저장해 둡니다.
메모리로부터 데이터를 가져올 때는 참조 지역성의 원리를 따릅니다.
- 캐시 히트: 예측이 맞아 캐시에서 데이터를 찾았을 때.
- 캐시 미스: 예측이 틀려 RAM에서 데이터를 가져와야 할 때.
- 종류: CPU 코어에 가까운 순서대로 L1, L2, L3 캐시가 있습니다. L1이 가장 빠르고 용량이 작습니다.
- 참조 지역성의 원리: 캐시 메모리가 데이터를 가져오는 핵심 원칙입니다.
- 시간 지역성: 최근에 사용된 데이터는 곧 다시 사용될 가능성이 높다.
- 공간 지역성: 사용된 데이터 근처의 데이터가 곧 사용될 가능성이 높다.