메모리 계층 구조

라이트 백(write-back) 캐시에서 각 라인에 붙이는 더티 비트(dirty bit)의 역할로 올바른 것은 무엇입니까?

  1. A그 라인의 데이터가 유효하여 읽을 수 있는지를 나타낸다
  2. B갱신되어 주기억장치와 내용이 다르다는 것을 나타낸다
  3. C그 라인에 마지막으로 접근한 시각을 나타낸다
정답과 해설 보기

정답: B. 갱신되어 주기억장치와 내용이 다르다는 것을 나타낸다

라이트 백 방식에서는 쓰기를 캐시에서만 처리하므로 주기억장치의 내용이 오래된 라인이 생깁니다. 더티 비트는 그 라인이 갱신되었음을 나타내며, 쫓아낼 때 더티한 라인만 주기억장치에 되써 넣으면 되도록 합니다. 갱신하지 않은 라인은 그대로 버려지므로 불필요한 쓰기를 줄일 수 있습니다. 라인이 유효한지를 나타내는 것은 유효 비트(valid bit)이고, 접근 순서는 LRU 등 교체를 위한 정보로 관리합니다.

  • A. 데이터가 유효한지를 나타내는 것은 유효 비트입니다.
  • B. 올바릅니다. 갱신되어 주기억장치와 다르다는 것을 나타내며, 교체 시의 되쓰기 여부를 정합니다.
  • C. 접근 순서는 교체 방식을 위한 별도의 정보입니다.
이 분야 연습하기 분야로 돌아가기

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

  1. 쓰기에서 캐시 미스가 났을 때 해당 라인을 읽어 오지 않고 하위 계층에 직접 쓰는 방식은 무엇입니까?
  2. 용량이 2라인인 완전 연관 방식의 LRU 교체 캐시가 처음에 비어 있을 때, 블록을 A, B, A, C, B, A 순서로 참조하면 미스는 몇 번 일어납니까?
  3. 하드웨어 프리페치가 특히 효과를 발휘하기 쉬운 접근은 무엇입니까?
  4. 소프트웨어 프리페치 명령을 넣을 때, 얼마나 앞의 데이터를 읽을 것인가(프리페치 거리)에 대한 설명으로 올바른 것은 무엇입니까?
  5. 위의 루프에서 int가 4바이트, 캐시 라인이 64바이트이고, 배열은 캐시에 들어 있지 않으며 시작이 라인 경계에 정렬되어 있을 때, 프리페치가 없다면 배열 읽기의 미스율은 얼마입니까?

이 분야의 비교