캐시 미스

gksrudtlr
|2025. 3. 20. 10:29
  • 캐시미스란?
    • CPU나 GPU가 데이터를 캐시에서 찾지 못해 메인 메모리(RAM) 또는 저장장치에서 데이터를 가져와야하는 상황
    • 이는 성능 저하의 주 원인중 하나
  • 종류
    • 컴펄서리 미스(Compulsory Miss)
      • 콜드 미스(Cold Miss)라고도 불림
      • 처음 요청한 데이터가 캐시에 없는 경우 발생
      • 새로운 프로그램 실행 시 자주 발생
    • 캐패시티 미스(Capacity Miss)
      • 캐시 크기가 작아 필요한 데이터가 캐시에 남아 있을 수 없는 경우 발생
      • 데이터가 캐시에서 밀려나고 다시 필요할 때 미스가 발생
    • 컨플릭트 미스(Conflict Miss)
      • 특정 주소의 데이터가 캐시 내에서 같은 인덱스를 공유해야 하는 경우 발생
      • 직접 매핑(Direct-Mapped) 캐시에서 특히 문제가 될 수 있음
      • 캐시 교체 정책이 영향을 미침
  • 성능에 미치는 영향
    • 발생시 CPU/GPU는 더 느린 메모리(RAM 또는 디스크)에서 데이터를 가져와야함
    • 캐시 미스율(Miss Rate)이 높아지면 프로그램 실행 속도가 급격히 느려질 수 있음
    • 게임 엔진이나 그래픽스 프로그래밍에서 캐시 최적화가 중요한 요소
  • 줄이는 방법
    • 공간 지역성(Spatial Locality) : 연속된 데이터를 함께 사용하도록 배열 기반 구조 활용
    • 시간 지역성(Temporal Locality) : 자주 사용하는 데이터를 반복적으로 참조하도록 코드 구성
    • 데이터 구조 최적화 : 연결 리스트(Linked List)보다 배열을 선호
    • 캐시 친화적인 알고리즘 : 행 우선 순회(Row-Major-Order)등을 사용하여 메모리 접근 최적화

'오늘의 키워드' 카테고리의 다른 글

Spline Interpolation  (1) 2025.03.26
Easing  (0) 2025.03.24
삽입정렬  (0) 2025.03.19
암시적 메서드  (0) 2025.03.18
객체지향 캡슐화 VS 정보은  (0) 2025.03.17