Large and Fast: Exploiting Memory Hierarchy
메모리 계층 구조 (Memory Hierarchy)
계층구조를 사용하는 이유?
- 이상적인 메모리 = 크고 빠르고 싼 것 -> 현실에서는 불가능
그래서 빠르지만 비싼 것은 조금만 사용하고 (Cache)
느리지만 싼 것은 많이 사용함 (Disk)
이것을 계층적으로 구성함
메모리 계층은 위로 갈수록 빠르고 비싸고 작다. 아래로 갈수록 느리고 싸고 크다.
구조
- CPU
- Cache memory
- Main memory (RAM)
- Disk
지역성
캐시가 가능한 이유는 지역성 덕분
- 시간 지역성 : 한 번 접근한 데이터는 곧 다시 접근할 가능성이 높음
- 공간 지역성 : 어떤 주소를 접근하면 그 근처 주소도 접근할 가능성이 높음
캐시 기본 구조
캐시에 블록 8개, 메인메모리는 32개 블록
-> 캐시에 다 못 들어감
즉, 어디에 넣을지 정하는 규칙이 필요