개념
- 가상 메모리는 디스크에 저장된 N개의 연속된 바이트의 배열이다.
- 디스크 안 배열의 내용이 물리 메모리 안에 캐시되어 있는 방식이다.

DRAM 캐시의 구성
용어들
- DRAM (Dynamic RAM)
- SRAM보다 속도가 느리지만 용량이 크고 비용이 낮아서 주 메모리로 많이 사용한다.
- SRAM(Static RAM)
- DRAM보다 속도가 10배 빠르나 비싸서 주로 CPU 캐시에 사용한다.
- Disk Storage
DRAM 캐시의 중요성
- 디스크는 DRAM보다 약 10,000배 느리므로, 디스크에서 데이터를 읽어오는 것도 큰 시간이 걸린다.
- 반면 SRAM과 DRAM은 10배밖에 차이가 나지 않는다.
- 즉 DRAM에서 캐시 미스가 나면 미스 패널티가 매우 크다.
DRAM 캐시의 구성 방식
- 큰 페이지 (블록) 크기
- 일반적으로 4 KB 또는 때때로 4 MB이다.
- 큰 페이지 크기를 사용하는 이유는 한 번에 많은 양의 데이터를 DRAM에서 읽어오는 것이 효율적이기 때문이다.
- (한번에 많이 가져가야 느린 디스크가 겨우겨우 처리할테니…)
- 전연관 (Fully Associative) 캐시:
- 특정 가상 페이지가 물리적 페이지의 어떤 위치든 저장될 수 있다는 것을 의미한다.
- 이를 위해 매핑 함수를 쓴다.
- 가상 주소를 물리 주소로 변환하는 함수이다.
- 전연관 캐시는 복잡한 매핑 함수를 사용해야 하며, 이를 이용하면 캐시의 모든 블록에서 가상 페이지가 무엇인지 찾을 수 있다.
- 복잡한 교체 알고리즘:
- DRAM 캐시는 복잡한 교체 알고리즘을 사용하여, 어떤 데이터를 캐시에서 제거할지를 결정한다.
- 하드웨어로 구현하기에는 너무 복잡하고 비용이 많이 들기 때문에 주로 소프트웨어에서 처리된다.
- 쓰기 정책:
- Write-back
- 데이터를 캐시에만 쓰고, 나중에 메모리에 쓰는 방식이다.
- 메모리 쓰기 연산이 줄어들어 성능이 향상된다.
- DRAM 캐시는 이 방식을 사용한다.
- Write-through
- 데이터를 캐시와 메모리 양쪽에 동시에 쓰는 방식이다.
- 데이터 일관성을 유지하는 데 유리하지만 성능이 좋지 않다.
페이지 테이블
정의