Cache Policy

Cache policy는 메모리 시스템에서 데이터를 효율적으로 관리하기 위한 전략들의 집합이다.
주요 목적은 메모리 접근 시간을 최소화하고 시스템 성능을 최적화하는 것이다.

배치 정책 (Placement Policy)

캐시에 데이터를 어디에 저장할지 결정하는 정책이다.
주요 유형은:

  1. 직접 매핑 (Direct-mapped): 각 메모리 블록이 캐시의 특정 위치에만 매핑된다.
  2. 완전 연관 (Fully associative): 메모리 블록이 캐시의 어느 위치에나 저장될 수 있다.
  3. 집합 연관 (Set-associative): 직접 매핑과 완전 연관의 중간 형태이다.

교체 정책 (Replacement Policy)

캐시가 가득 찼을 때 어떤 데이터를 제거할지 결정하는 정책이다.
주요 알고리즘:

  1. LRU (Least Recently Used): 가장 오래 사용되지 않은 데이터를 제거한다.
  2. FIFO (First In First Out): 가장 먼저 들어온 데이터를 제거한다.
  3. Random: 무작위로 데이터를 제거한다.

쓰기 정책 (Write Policy)

캐시의 데이터가 수정될 때 주 메모리를 어떻게 업데이트할지 결정하는 정책이다:

  1. Write-through: 캐시와 주 메모리를 동시에 업데이트한다.
  2. Write-back: 캐시만 즉시 업데이트하고, 나중에 주 메모리를 업데이트한다.
  3. Write-around: 캐시를 건너뛰고 직접 주 메모리에 쓴다.

할당 정책 (Allocation Policy)

쓰기 작업 시 캐시 미스가 발생했을 때의 동작을 결정한다.

  1. Write-allocate: 데이터를 캐시로 가져온 후 쓰기를 수행한다.
  2. No-write-allocate: 캐시를 건너뛰고 직접 주 메모리에 쓴다.

프리패치 정책 (Prefetch Policy)

앞으로 필요할 것으로 예상되는 데이터를 미리 캐시로 가져오는 정책이다.


참고 및 출처