The Memory Hierarchy
6장에서 필수적으로 답할 수 있는 질문들을 모아봤습니다. 아직 6.4까지 밖에 못읽어서 더 추가적으로 들어갈 질문들은 업데이트해 가도록 하겠습니다.
- Locality 종류 2가지
- Temporal locality란?
- Spatial locality란?
- stride-k reference pattern이란?
- 반복문을 row-major-order로 해야할까? column-major-order로 해야할까? 그 이유는? (C로 작성한다고 가정)
- 반복문 body가 작으면 왜 locality가 좋을까요?
- Memory Hierarchy란?
- cache hit의 과정을 설명해주세요
- cache miss의 과정을 설명해주세요
- cold miss란?
- capacity miss란?
- Cache 구조를 설명해주세요. (m = 32bits, C(캐시 크기) = 1024bytes, Block 크기 = 32bytes, E(Set에 있는 라인 수) = 32)
- word를 선택하는 단계를 3가지로 나누어서 설명해주세요.
- Directed Mapped Cache를 설명해 주세요.
- conflict miss가 무엇인가요? 그리고 왜 directed mapped cache에서 특히 이를 조심해야 되나요?
- Set Associative Cache를 설명해 주세요.
- cache miss가 발생했을때 replacement policy에 대해 아는대로 말씀해주세요.
- Fully Associative Cache를 설명해주세요.
- write-through란?
- write-back이란?
- write-allocate와 no-write-allocate를 설명하고 write-through와 write-back중 각각 어떤 것과 매칭되는지 말씀해 주세요.
- i-cache, d-cache, unified-cache란?