메모리 계층 구조

논블로킹 캐시(non-blocking cache, 미스를 처리하는 중에도 다른 접근을 받아들이는 캐시)의 주된 이점은 무엇입니까?

  1. A캐시 미스의 횟수 자체를 블로킹 방식보다 줄일 수 있다
  2. B미스한 데이터를 주기억장치에서 빠르게 읽을 수 있게 된다
  3. C여러 미스의 대기 시간을 겹치고, 그동안에도 히트를 처리할 수 있다
정답과 해설 보기

정답: C. 여러 미스의 대기 시간을 겹치고, 그동안에도 히트를 처리할 수 있다

블로킹 캐시에서는 하나의 미스 처리가 끝날 때까지 뒤따르는 접근이 모두 기다리게 됩니다. 논블로킹 캐시는 미스 정보를 기록하는 전용 레지스터(MSHR)를 가지고 있어, 처리 중에도 히트하는 접근에 응답하거나 다른 미스를 동시에 주기억장치에 요청할 수 있습니다. 이를 통해 대기 시간을 겹쳐 숨길 수 있지만, 미스의 횟수 자체는 줄지 않으며 한 번의 미스로 주기억장치에서 읽는 시간도 변하지 않습니다. 아웃 오브 오더(out-of-order) 실행과 조합하여 효과를 발휘합니다.

  • A. 미스 횟수는 변하지 않으며, 대기 시간을 겹쳐 숨기는 것이 효과입니다.
  • B. 주기억장치에서 읽는 시간 자체는 변하지 않습니다.
  • C. 올바릅니다. 미스의 대기 시간을 겹치고, 그동안에도 히트를 처리할 수 있습니다.
이 분야 연습하기 분야로 돌아가기

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

  1. L1 캐시의 미스율(전체 접근에 대한 비율)이 4%, L2 캐시의 전역(global) 미스율(전체 접근 중 L2에서도 미스하는 비율)이 1%일 때, L2의 지역(local) 미스율은 얼마입니까?
  2. TLB의 엔트리가 64개이고 페이지 크기가 4 KB일 때, TLB 미스 없이 접근할 수 있는 메모리 범위(TLB 리치, TLB reach)는 얼마입니까?
  3. 대형 페이지(huge page)를 사용하는 것의 주된 장점과 단점의 조합으로 올바른 것은 무엇입니까?
  4. 2차원 배열의 한 행 크기가 4096바이트(2의 거듭제곱)일 때, 열 방향으로 요소를 따라가면 캐시 용량에 여유가 있어도 미스가 많아질 수 있습니다. 그 대책으로 효과가 있는 것은 무엇입니까?
  5. 주기억장치 DRAM에 접근하는 데 걸리는 시간은 L1 캐시의 히트 시간의 대략 몇 배입니까? (일반적인 PC나 서버의 CPU의 경우)

이 분야의 비교