[CS] CPU Cache (캐시 메모리)
CPU와 메모리의 속도 차이를 해결하는 캐시 메모리의 개념, 참조 지역성 원리, L1/L2/L3 계층 구조를 정리한 포스트입니다.
[CS] CPU Cache (캐시 메모리)
CPU와 메모리 사이의 속도 병목(Bottleneck)을 해결하는 핵심 장치, 캐시 메모리를 이해하자.
1. CPU vs Memory 비교
| 구분 | CPU | Memory (RAM) |
|---|---|---|
| 목적 | 데이터 연산 및 제어 | 데이터 임시 저장 |
| 성능 지표 | 클럭 속도, 코어 수, 캐시 메모리 | 용량, 대역폭 |
| 속도 | 매우 빠름 | 빠름 |
| 용도 | 명령어 실행 및 수치 계산 | 실행 중인 프로그램/데이터 실시간 유지 |
| 비유 | 두뇌 역할 | 작업대 역할 |
| 대표 예시 | Intel Core, Apple M3 | DDR4 16GB |
2. CPU Cache란?
- 정의: CPU가 자주 사용할 법한 데이터를 메인 메모리(RAM)에서 미리 복사해두는 임시 저장소.
- 역할: CPU와 Memory 사이의 속도 차이로 인한 지연(Bottleneck) 방지.
- 특징: 가격이 매우 비싸기 때문에 효율적인 관리가 중요함.
캐시 적중률(Cache Hit Rate) 높이기
캐시 효율을 높이기 위해 참조 지역성의 원리를 이용한다.
- 시간적 지역성 (Temporal Locality): 최근에 접근한 데이터는 곧 다시 접근할 확률이 높음.
- 공간적 지역성 (Spatial Locality): 최근에 접근한 데이터의 주변 데이터도 곧 사용할 확률이 높음.
💡 캐시 적중(Hit) 시 빠르게 데이터를 가져오고, 미스(Miss) 시 하위 계층(RAM → SSD)으로 내려가 탐색한다.
3. Cache 계층 구조 (L1, L2, L3)
L1 Cache (Level 1)
- CPU와 가장 가까운 캐시.
- 명령어 캐시(Instruction Cache): CPU가 사용할 명령어 저장.
- 데이터 캐시(Data Cache): 메인 메모리에 기록될 데이터 저장.
L2 Cache (Level 2)
- L1 캐시에 찾는 데이터가 없을 경우 접근.
- L1보다 용량이 크고 속도는 약간 느림.
L3 Cache (Level 3)
- 멀티코어 환경에서 여러 코어가 공용으로 사용하는 캐시.
- L1, L2는 각 코어에 독립적으로 존재하지만, L3는 코어들이 공유함.
1
2
3
4
5
6
7
8
CPU 코어
├── L1 Cache (코어 독립) ← 가장 빠름, 용량 가장 작음
├── L2 Cache (코어 독립)
└── L3 Cache (코어 공유) ← 상대적으로 느림, 용량 큼
↓
Main Memory (RAM)
↓
보조기억장치 (SSD/HDD)
4. 개인 기기 확인 (노트북 성능지표)
내 노트북의 L1, L2 메모리 사양을 확인하여 현재 시스템의 성능 수준을 체크해볼 수 있다.
💡 Windows 기준: 작업 관리자 → 성능 → CPU 탭에서 L1/L2/L3 캐시 크기를 확인할 수 있다.
5. 핵심 요약
| 캐시 레벨 | 위치 | 속도 | 용량 | 공유 여부 |
|---|---|---|---|---|
| L1 | 코어 내부 | 가장 빠름 | 수십 KB | 코어 독립 |
| L2 | 코어 내부/근접 | 빠름 | 수백 KB | 코어 독립 |
| L3 | 코어 외부 | 상대적으로 느림 | 수~수십 MB | 코어 공유 |
| RAM | CPU 외부 | 느림 | GB 단위 | 전체 공유 |
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.