이번에는 메모리 계층구조에 대해서 알아보자.
- CPU는 매우 빠른 연산 속도를 가지지만, 메인 메모리나 디스크에서 데이터를 읽는 속도는 훨씬 느림!
- 이 속도 차이를 해결하기 위해, 작고 빠른 저장장치(캐시 메모리)를 CPU와 메인 메모리 사이에 배치하는 개념이 정착됨.
- 더 나아가, 저장장치들은 속도, 크기, 비용에 따라 여러 개의 계층(Hierarchy)으로 구성된다.
이제 계층 구조에 대해서 상세하게 알아보자

(악필주의)

이 그림에선 L0부터 L6까지 7단계로 나눈 저장장치 계층 구조를 보여준다.
🔺 상위 계층 (빠르지만 비싼 저장장치)
🔻 하위 계층 (느리지만 용량이 크고 저렴한 저장장치)

부연설명을 덧붙이자면
- CPU는 가장 먼저 L0 (레지스터)에서 데이터를 찾는다.
- 만약 레지스터에 없으면, L1 → L2 → L3 → L4 → L5 → L6 순서로 데이터를 찾는다.
- 하위 계층일수록 데이터 접근 속도가 느려지므로, CPU는 최대한 상위 계층에서 데이터를 찾는 것이 중요하다.
1. 속도와 비용의 균형
- 빠른 저장장치는 비용이 비싸므로 용량이 제한(L1, L2)
- 느린 저장장치는 비용이 저렴, 속도 느림(HDD, Cloud Storage)
- 이 둘을 적절하게 활용하는 것이 중요
2. 자주 사용되는 데이터는 상위 계층에 저장
- CPU가 자주 사용하는 데이터는 캐시 메모리(L1~L3)에 저장됨
- 메인 메모리(RAM)는 현재 실행 중인 프로그램과 데이터를 보관
- HDD/SSD는 장기 저장용
메모리 지역성(Locality)의 활용
- 시간 지역성 (Temporal Locality): 최근 사용한 데이터는 다시 사용할 가능성이 높음 → 캐시에 저장
- 공간 지역성 (Spatial Locality): 특정 위치의 데이터가 사용되면, 그 주변 데이터도 함께 사용할 가능성이 높음 → 블록 단위로 로드