메모리 계층 구조
프로그램이 어떤 데이터에 처음 접근했을 때 일어나는 캐시 미스를 줄이는 방법으로 효과가 있는 것은 무엇입니까?
- A프리페치(prefetch)로 미리 읽어 둔다
- B캐시의 연관도(way 수)를 2배로 한다
- C캐시의 용량만 2배로 한다
정답과 해설 보기
정답: A. 프리페치(prefetch)로 미리 읽어 둔다
처음 접근할 때 일어나는 강제 미스(compulsory miss)는 해당 데이터가 아직 한 번도 캐시에 들어온 적이 없기 때문에 일어나므로, 용량이나 연관도를 늘려도 줄지 않습니다. 필요해지기 전에 프리페치로 읽어 두거나, 라인을 크게 하여 가까운 데이터를 한꺼번에 가져오면 줄일 수 있습니다. 연관도를 높여서 줄어드는 것은 같은 세트를 두고 다투는 충돌 미스이고, 용량을 늘려서 줄어드는 것은 작업 집합이 넘치는 용량 미스입니다.
- A. 올바릅니다. 아직 읽어 오지 않은 데이터를 미리 읽어 두는 것이 효과적입니다.
- B. 연관도를 높여서 줄어드는 것은 충돌 미스입니다.
- C. 용량을 늘려서 줄어드는 것은 용량 미스입니다.