메모리 계층 구조

용량이 2라인인 완전 연관 방식의 LRU 교체 캐시가 처음에 비어 있을 때, 블록을 A, B, A, C, B, A 순서로 참조하면 미스는 몇 번 일어납니까?

  1. A4회
  2. B5회
  3. C6회
정답과 해설 보기

정답: B. 5회

순서대로 따라가면 A(미스, [A]), B(미스, [A,B]), A(히트, A가 최근), C(미스, 가장 오래된 B를 쫓아내고 [A,C]), B(미스, 가장 오래된 A를 쫓아내고 [C,B]), A(미스, 가장 오래된 C를 쫓아내고 [B,A])가 되어 미스는 5회입니다. 4회라고 하는 것은 C를 넣을 때 A를 쫓아냈다고 잘못 본 경우 등의 셈법이며, LRU에서는 히트한 A가 최신이 되는 점이 중요합니다. 6회는 세 번째 A의 히트를 놓친 수입니다.

  • A. 4회는 쫓아낼 블록을 잘못 본 셈법입니다.
  • B. 올바릅니다. 히트는 세 번째 A뿐이며, 미스는 5회입니다.
  • C. 6회는 세 번째 A의 히트를 놓친 수입니다.
이 분야 연습하기 분야로 돌아가기

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

  1. 하드웨어 프리페치가 특히 효과를 발휘하기 쉬운 접근은 무엇입니까?
  2. 소프트웨어 프리페치 명령을 넣을 때, 얼마나 앞의 데이터를 읽을 것인가(프리페치 거리)에 대한 설명으로 올바른 것은 무엇입니까?
  3. 위의 루프에서 int가 4바이트, 캐시 라인이 64바이트이고, 배열은 캐시에 들어 있지 않으며 시작이 라인 경계에 정렬되어 있을 때, 프리페치가 없다면 배열 읽기의 미스율은 얼마입니까?
  4. 행렬 곱셈 등에서 사용되는 루프 블로킹(타일링, tiling)의 주된 목적은 무엇입니까?
  5. 위와 같이 x 좌표만 합산하는 처리를, 구조체의 배열(각 성분을 별도의 배열로 만든 형태)로 바꾸면 빨라지기 쉬운 이유는 무엇입니까?

이 분야의 비교