Learning
토픽 33 / 111·메모리 계층 (Memory Hierarchy)

참조의 지역성 (Locality of Reference)

참조의 지역성 (Locality of Reference)

프로그램이 실행될 때 메모리 접근이 특정 영역에 집중되는 경향으로, 캐시·가상메모리·프리페칭 등 메모리 계층 설계의 핵심 원리

목적: 메모리 계층 효율성의 이론적 근거 제공, 캐시 적중률 극대화

유형

  • 시간적 지역성(Temporal Locality): 최근 접근한 데이터가 가까운 미래에 다시 접근될 가능성이 높음 (예: 루프 변수, 스택 변수)
  • 공간적 지역성(Spatial Locality): 접근한 데이터 인근 주소가 곧 접근될 가능성이 높음 (예: 배열 순회, 순차 명령어)
  • 순차적 지역성(Sequential Locality): 공간적 지역성의 특수 형태, 메모리가 순차적으로 접근되는 패턴 (예: 명령어 인출)

활용

  • 캐시 메모리: 시간적(LRU 교체)·공간적(캐시 라인 단위 적재) 지역성 활용
  • 가상 메모리: 페이지 단위 적재, 워킹 셋 기반 관리
  • 프리페칭(Prefetching): 순차적 지역성 기반 선제적 데이터 로드
  • TLB: 페이지 테이블 엔트리의 시간적 지역성 활용

Working Set 모델: Denning(1968), 일정 시간 윈도우 내 프로세스가 참조하는 페이지 집합, 워킹 셋 크기만큼 메모리 할당 시 스래싱 방지

비교: 시간적(같은데이터재접근/캐시유지) vs 공간적(인근데이터접근/라인적재) vs 순차적(순서대로접근/프리페칭)

연관: 캐시 메모리, 가상 메모리, TLB, 프리페칭, 스래싱, 페이지 교체