메모리 계층 구조

캐시의 라인 크기를 키웠을 때의 영향으로 올바른 것은 무엇입니까?

  1. A강제 미스가 늘고, 미스 페널티는 작아진다
  2. B어떤 프로그램이든 미스율이 단조롭게 계속 내려간다
  3. C공간적 지역성을 활용할 수 있는 반면, 미스 페널티가 커진다
정답과 해설 보기

정답: C. 공간적 지역성을 활용할 수 있는 반면, 미스 페널티가 커진다

라인을 키우면 한 번의 미스로 가까운 데이터를 한꺼번에 가져올 수 있으므로, 공간적 지역성이 있는 처리에서는 강제 미스가 줄어듭니다. 반면 한 번의 미스로 전송하는 양이 늘어나 미스 페널티가 커지고, 용량이 같다면 라인 수가 줄어 충돌 미스나 사용되지 않는 데이터의 로드도 늘어납니다. 그래서 라인을 너무 키우면 미스율이 오히려 올라가며, 미스율이 계속 내려가는 것은 아닙니다. 강제 미스가 늘어난다는 것도 반대입니다.

  • A. 강제 미스는 오히려 줄고, 미스 페널티는 커집니다.
  • B. 너무 키우면 라인 수가 줄어 미스율이 올라갑니다.
  • C. 올바릅니다. 지역성을 활용할 수 있는 반면, 미스 페널티가 늘어납니다.
이 분야 연습하기 분야로 돌아가기

메모리 계층 구조의 다른 문제

  1. 라이트 스루(write-through) 캐시에서 쓰기 버퍼(write buffer)를 두는 주된 목적은 무엇입니까?
  2. 라이트 백(write-back) 캐시에서 각 라인에 붙이는 더티 비트(dirty bit)의 역할로 올바른 것은 무엇입니까?
  3. 쓰기에서 캐시 미스가 났을 때 해당 라인을 읽어 오지 않고 하위 계층에 직접 쓰는 방식은 무엇입니까?
  4. 용량이 2라인인 완전 연관 방식의 LRU 교체 캐시가 처음에 비어 있을 때, 블록을 A, B, A, C, B, A 순서로 참조하면 미스는 몇 번 일어납니까?
  5. 하드웨어 프리페치가 특히 효과를 발휘하기 쉬운 접근은 무엇입니까?

이 분야의 비교