메모리 계층 구조

미스한 라인을 주기억장치에서 읽어 올 때, CPU가 필요로 하는 워드(word)를 먼저 보내고 나머지를 나중에 보내는 기법은 무엇입니까?

  1. A크리티컬 워드 퍼스트(critical word first)
  2. B라이트 얼로케이트
  3. C희생 캐시
정답과 해설 보기

정답: A. 크리티컬 워드 퍼스트(critical word first)

64바이트 라인 전체가 도착하기를 기다렸다가 데이터를 넘기면 그만큼 CPU의 대기가 길어집니다. 크리티컬 워드 퍼스트에서는 요청된 워드를 가장 먼저 전송하여 곧바로 CPU에 넘기고 라인의 나머지는 나중에 채우므로, 실질적인 미스 페널티를 짧게 할 수 있습니다. 라이트 얼로케이트는 쓰기 미스 때 라인을 읽어 올지에 관한 방식이고, 희생 캐시는 쫓아낸 라인을 일시적으로 보관하는 작은 버퍼입니다. 둘 다 전송 순서와는 관계가 없습니다.

  • A. 올바릅니다. 필요한 워드를 먼저 보내 대기 시간을 짧게 합니다.
  • B. 라이트 얼로케이트는 쓰기 미스 때의 처리 방식입니다.
  • C. 희생 캐시는 쫓아낸 라인을 보관하는 버퍼입니다.
이 분야 연습하기 분야로 돌아가기

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

  1. 위의 두 루프를 하나로 합치면(루프 융합, loop fusion) N이 클 때 빨라지기 쉬운 이유는 무엇입니까?
  2. 큰 행렬을 전치(transpose)하는 처리(b[j][i] = a[i][j])에서 캐시 미스가 많아지기 쉬운 이유와 대표적인 대책의 조합으로 올바른 것은 무엇입니까?
  3. 일반적인 컴퓨터의 기억 계층에서 상위 계층(CPU에 가까운 쪽)일수록 성립하는 성질로 올바른 것은 무엇입니까?
  4. 캐시의 성능을 평가할 때 미스율만이 아니라 평균 메모리 접근 시간으로 비교해야 하는 이유로 올바른 것은 무엇입니까?
  5. 두 프로그램을 같은 코어에서 번갈아 실행하면, 각각을 단독으로 실행하는 것보다 느려질 수 있습니다. 캐시의 관점에서 가장 적절한 설명은 무엇입니까?

이 분야의 비교