0. VM as a Tool for Caching
<aside>
💡
디스크 상 N Byte 연속 배열을 가상 페이지(VP)로 나누고, DRAM을 물리 페이지(PP)들로 나누어 캐시처럼 운용
</aside>
- VP 상태는 Unallocated / Cached / Uncached로 구분.
- Unallocated
- Virtual Memory 시스템에 의해 아직까지 할당되지 않은 페이지들
- Cached
- Uncached
- 메인메모리를 캐시처럼 사용하기
1. DRAM 캐시의 구성
Terminology & Logical Facts
- SRAM Cache (Static Ram Cache)
- CPU와 메인 메모리 사이에서 L1, L2, L3 캐시 메모리를 말함
- Flip-Flop 방식
- 우리가 생각하는 CPU내의 저장공간
- 참고 자료
- DRAM Cache (Dynamic Ram Cache)
- 가상페이지를 메인 메모리로 캐싱하는 VM 시스템 캐시
- Capacitor 방식
- 우리가 아는 그 “램”
- 알쓸신잡
<aside>
💡
위치와 속도 차이
</aside>
- SRAM은 DRAM보다 최소 10배 빠르며, 디스크는 DRAM보다 약 100,000배 느림
- 따라서 DRAM 캐시 미스는 SRAM 캐시 미스보다 매우 비쌈
- DRAM 캐시 미스는 디스크 접근이 필요하기 때문
- 특히 디스크 접근 시 첫 바이트 읽기 비용이 매우 크지만(약 100,000배), 이후 연속 바이트는 상대적으로 빠름
DRAM 캐시의 조직 방식
- 큰 가상 페이지 크기
- 미스 비용이 크므로 가상 페이지 크기는 보통 4KB ~ 2MB
- 완전 결합성(fully associative)
- 어떤 가상 페이지도 어느 물리 페이지에나 저장 가능
- 교체 알고리즘
- 잘못 교체했을 때의 비용이 크므로, 운영체제는 SRAM 캐시보다 훨씬 정교한 교체 알고리즘 사용
- 쓰기 정책
- 디스크 접근 비용이 크기 때문에 항상 write-back 방식 사용(write-through는 비효율적)