메모리 계층 구조

캐시의 용량을 크게 하면 일반적으로 히트 시간이 어떻게 됩니까? 그 이유와 함께 올바른 것은 무엇입니까?

  1. A짧아진다. 데이터가 많이 들어갈수록 찾는 시간이 줄기 때문
  2. B변하지 않는다. 히트 시간은 라인 크기만으로 정해지기 때문
  3. C길어지기 쉽다. 배선과 선택 회로가 커지기 때문
정답과 해설 보기

정답: C. 길어지기 쉽다. 배선과 선택 회로가 커지기 때문

캐시를 크게 하면 미스율은 내려가지만, 기억 셀 배열이 커져 배선이 길어지고 인덱스 선택이나 출력 선택 회로도 커지므로 히트 시간은 길어지기 쉽습니다. 그래서 L1은 수십 KB 정도로 작게 유지하고, 큰 용량은 L2나 L3에서 확보하는 다단계 구성을 취합니다. 히트 시간이 짧아지는 일은 없고, 라인 크기만으로 정해지는 것도 아닙니다. 미스율과 히트 시간의 균형으로 용량이 정해집니다.

  • A. 크게 해도 찾는 시간은 짧아지지 않으며, 오히려 길어집니다.
  • B. 히트 시간은 용량이나 연관도에도 좌우됩니다.
  • C. 올바릅니다. 배선과 선택 회로가 커져 히트 시간이 늘어나기 쉽습니다.
이 분야 연습하기 분야로 돌아가기

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

  1. 위의 연결 리스트를 따라가는 처리가, 같은 수의 요소를 가진 배열을 차례로 읽는 것보다 훨씬 느려지기 쉬운 이유는 무엇입니까?
  2. 한 번의 미스로 64바이트 라인을 읽고 주기억장치의 대기 시간이 100 ns일 때, 동시에 처리할 수 있는 미스가 하나뿐이면 읽기 대역폭은 약 0.64 GB/s에 그칩니다. 동시에 10개의 미스를 처리할 수 있다면 대역폭은 대략 얼마가 됩니까? (다른 제약은 없다고 가정합니다)
  3. 한 번 쓴 뒤 당분간 다시 읽지 않는 큰 데이터를 쓸 때, 캐시를 거치지 않는 스토어(논템포럴 스토어, non-temporal store)를 사용하는 주된 이점은 무엇입니까?
  4. 캐시의 히트율이 95%일 때, 미스율은 얼마입니까?
  5. 미스한 라인을 주기억장치에서 읽어 올 때, CPU가 필요로 하는 워드(word)를 먼저 보내고 나머지를 나중에 보내는 기법은 무엇입니까?

이 분야의 비교