[CS] 캐시 메모리의 이해: 히트, 미스, Mapping(사상)전략

최지나·2023년 12월 26일
2

CS

목록 보기
36/55

캐시

정의

  • 빠른 장치와 느린 장치 사이의 속도 차이를 줄이기 위해 사용되는 임시 저장소
  • 캐시 히트: 캐시에서 원하는 데이터를 찾음
  • 캐시 미스: 캐시에서 찾지 못해 메모리에서 데이터를 가져와야 함

특징

  • 데이터 접근 시간을 단축하고, 데이터를 재게산하는 시간 절약 가능
  • 캐시 설정 시 자주 사용되는 데이터를 기준으로 하는데, 이때 지역성의 원리를 따름
    • 시간 지역성: 최근 사용한 데이터에 다시 접근하는 경향
    • 공간 지역성: 최근 접근한 데이터 주변 공간에 접근하는 경향

예시

  • CPU의 레지스터, 데이터베이스의 Redis DB, 웹 서버의 Nginx 서버

캐시 매핑의 종류

매핑이라는 용어 대신 '사상'이라는 용어를 사용하기도 한다

직접 매핑(Direct Mapping)

  • 메모리의 특정 블록이 특정 캐시 라인에만 매핑. 탐색이 빠르지만, 스와핑이 자주 발생 가능

연관 매핑(Associative Mapping)

  • 메모리의 어떤 내용도, 캐시의 어떤 위치에도 매핑 가능
  • 스와핑이 적지만, 캐시의 모든 블록을 탐색해야 하므로 속도가 느림

집합 연관 매핑 (Set Associative Mapping)

  • 세트 연관 사상이라고도 한다
  • 직접 매핑의 탐색 효율성과 연관 매핑의 스와핑 감소 장점을 결합
  • 집합을 형성하고, 해당 집합 내에는 어떠한 블록도 들어올 수 있음(메모리 블록 그룹이 하나의 집합을 공유)

REF

profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글