CS

[CS] 캐시의 지역성

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

'CS' 카테고리의 다른 글

[CS]임계영역과 데드락  (0) 2025.08.28
[CS] 컨텍스트 스위칭  (1) 2025.08.28
[CS] 프로세스와 스레드  (2) 2025.08.28
[CS]메모리 단편화  (1) 2025.08.28
[CS]프로세스의 메모리  (1) 2025.08.27