포스트

[CS] CPU Cache (캐시 메모리)

CPU와 메모리의 속도 차이를 해결하는 캐시 메모리의 개념, 참조 지역성 원리, L1/L2/L3 계층 구조를 정리한 포스트입니다.

[CS] CPU Cache (캐시 메모리)

CPU와 메모리 사이의 속도 병목(Bottleneck)을 해결하는 핵심 장치, 캐시 메모리를 이해하자.


1. CPU vs Memory 비교

구분CPUMemory (RAM)
목적데이터 연산 및 제어데이터 임시 저장
성능 지표클럭 속도, 코어 수, 캐시 메모리용량, 대역폭
속도매우 빠름빠름
용도명령어 실행 및 수치 계산실행 중인 프로그램/데이터 실시간 유지
비유두뇌 역할작업대 역할
대표 예시Intel Core, Apple M3DDR4 16GB

2. CPU Cache란?

  • 정의: CPU가 자주 사용할 법한 데이터를 메인 메모리(RAM)에서 미리 복사해두는 임시 저장소.
  • 역할: CPU와 Memory 사이의 속도 차이로 인한 지연(Bottleneck) 방지.
  • 특징: 가격이 매우 비싸기 때문에 효율적인 관리가 중요함.

캐시 적중률(Cache Hit Rate) 높이기

캐시 효율을 높이기 위해 참조 지역성의 원리를 이용한다.

  1. 시간적 지역성 (Temporal Locality): 최근에 접근한 데이터는 곧 다시 접근할 확률이 높음.
  2. 공간적 지역성 (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코어 공유
RAMCPU 외부느림GB 단위전체 공유
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.