L1, L2, L3 캐시의 차이점 정리
L1, L2, L3 캐시는 CPU 코어에 가까운 순서로 늘어선 다단계 캐시로, 가까울수록 작고 빠르며 멀수록 크고 느립니다. 일반적인 PC나 서버 CPU에서는 L1이 수십 KB에 수 사이클, L2가 수백 KB~수 MB에 십수 사이클, L3가 수 MB~수십 MB에 수십 사이클이 대표적인 범위입니다. L1과 L2는 대부분 코어마다 따로 두고, L3는 여러 코어가 공유합니다. 메인 메모리인 DRAM에 접근하는 데는 수백 사이클이 걸리므로, 이 계층에서 가능한 한 많은 접근을 처리합니다.
| 비교 항목 | L1 캐시 | L2 캐시 | L3 캐시 |
|---|---|---|---|
| 코어와의 관계 | 각 코어 전용 | 대부분 코어별 전용. 몇 개의 코어가 공유하는 설계도 있습니다 | 여러 코어(칩 전체 또는 코어 묶음)가 공유 |
| 용량(PC·서버용 CPU의 대표적인 범위) | 명령어용·데이터용 각각 약 32~64 KB | 코어당 약 256 KB~수 MB | 칩 전체에서 수 MB~수십 MB |
| 레이턴시(대표적인 범위) | 약 3~5사이클 | 약 10~20사이클 | 약 30~70사이클. 코어에서 먼 부분일수록 깁니다 |
| 명령어와 데이터 | 분리(I 캐시와 D 캐시) | 공용(통합 캐시) | 공용(통합 캐시) |
| 설계에서 중시하는 점 | 짧은 히트 시간. 파이프라인 안에서 매 사이클 사용합니다 | L1의 미스를 받아 미스 페널티를 줄입니다 | 메인 메모리 접근을 줄이고 코어 간에 데이터를 공유합니다 |
| 미스했을 때 가는 곳 | L2 | L3 | 메인 메모리(DRAM) |
| 주소 처리 | 가상 인덱스·물리 태그(VIPT)가 많습니다 | 물리 주소 | 물리 주소 |
| 포함 관계 | 최상위. 하위에 포함되는지는 하위의 방식으로 결정됩니다 | 인클루시브, 논인클루시브 등 설계에 따라 다릅니다 | 인클루시브로 하면 일관성 확인 범위를 좁히기 쉽습니다. 중복을 없앤 익스클루시브나 논인클루시브 설계도 있습니다 |
| 물리적 배치 | 코어 안. 실행 유닛 바로 옆 | 코어 바로 바깥. 코어의 일부로 배치 | 코어별 슬라이스로 나누고 링이나 메시 네트워크로 연결하는 경우가 많습니다 |
| 라인 크기 | 64바이트가 일반적 | 64바이트가 일반적 | 64바이트가 일반적 |
수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.