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

캐시 메모리 (Cache Memory)

캐시 메모리 (Cache Memory)

CPU와 주기억장치 사이에 위치하여 자주 사용되는 데이터를 임시 저장함으로써 메모리 접근 속도를 향상시키는 고속 SRAM 기반 메모리

목적: 메모리 지연 완화, 평균 접근시간 단축, CPU-DRAM 속도 차이 해소

특징: SRAM 기반, 지역성 활용, 자동 관리, 투명성, 다단계 계층

구조

  • L1 캐시: CPU 코어 내장, 32-64KB, 1-4사이클, I-Cache/D-Cache 분리
  • L2 캐시: 코어당 전용, 256KB-1MB, 10-20사이클, 통합 캐시
  • L3 캐시: 코어 간 공유, 8-64MB, 40-60사이클, Inclusive/Exclusive

매핑 방식

  • 직접 매핑(Direct Mapped): 1개 라인 가능, 간단, 충돌 많음
  • 완전 연관(Fully Associative): 모든 라인 가능, 유연, 복잡/비쌈
  • 집합 연관(Set Associative): N-way, 집합 내 N개 라인, 균형적(일반적 2/4/8-way)

교체 정책: LRU(Least Recently Used), FIFO, Random, LFU

쓰기 정책

  • Write-Through: 캐시+메모리 동시 쓰기, 일관성 우수, 느림
  • Write-Back: 캐시만 쓰기, 교체 시 메모리 반영, 빠름, Dirty bit
  • Write-Allocate: Miss 시 캐시 적재 후 쓰기
  • No-Write-Allocate: Miss 시 메모리 직접 쓰기

성능: L1 Hit Rate ~95%, L2 ~80%, L3 ~70%, AMAT 크게 단축

캐시 일관성: MESI/MOESI 프로토콜, 멀티코어 데이터 동기화

적용사례: Intel Core(L1 32KB/L2 256KB/L3 공유), AMD, ARM

비교: L1(빠름/작음/분리) vs L3(느림/큼/공유), SRAM vs DRAM

연관: 메모리 계층, SRAM, 지역성, MESI 프로토콜