CS
[CS] 캐시의 지역성
programmer-faust
2025. 8. 28. 02:48
- 순서
- 캐시란?
- 캐시의 계층
- 캐시의 지역성
- 캐시의 지역성이 미치는 영향
- 캐시란?
- CPU와 메인 메모리(RAM) 사이에 존재하는 작은 고속 메모리이다.
- CPU는 매우 빠르지만 메인 메모리는 상대적으로 느리기 때문에 이 속도 차이를 줄이기 위해 자주 쓰일 데이터를 캐시에 저장함.
- 캐시는 보통 SRAM 기반으로 되어있음
- 캐시의 계층
- L1캐시: 가장 빠르고 작으며 CPU 코어 가까이에 있음
- L2캐시: L1보다 크고 느리나 여전히 CPU 내부에 위치함
- L3캐시: CPU 코어 전체가 공유하고, 용량이 크며 상대적으로 느림
- 이후에 없으면 RAM에서 가져옴
- 즉 캐시는 CPU > L1 > L2 > L3 > RAM 순서로 데이터를 탐색함
- 캐시의 지역성
- 캐시의 지역성이란 캐시 성능을 높여주는 메모리 접근 패턴이다.
- 시간 지역성: 최근에 접근한 데이터는 가까운 미래에 다시 접근할 가능성이 높음
- 공간 지역성: 어떤 데이터에 접근하면, 그 데이터 주변(인접한 메모리)에도 곧 접근할 가능성이 높음
- 순차 지역성(공간 지역성의 특수형태): 메모리 주소를 순차적으로 접근하는 경우
- 캐시의 지역성이 미치는 영향
- 캐시 히트: CPU가 필요한 데이터가 캐시에 있음 => 빠름
- 캐시 미스: 없어서 RAM에서 가져와야함 => 느림
- 지역성이 좋으면 캐시 히트율이 올라가 성능 개선
- 지역성이 나쁘면 캐시 효율이 떨어져 프로그램이 매우 느려짐