멀티코어와 동기화
MESI 프로토콜에서 캐시 라인이 Modified(M) 상태일 때의 의미로 올바른 것은?
- A이 코어만 해당 라인을 가지고 있으며, 내용이 주기억장치와 다르다(write-back 필요)
- B여러 코어가 같은 내용을 가지고 있으며, 주기억장치와도 일치한다
- C이 라인의 내용은 사용할 수 없으며, 읽으려면 다시 가져와야 한다
정답과 해설 보기
정답: A. 이 코어만 해당 라인을 가지고 있으며, 내용이 주기억장치와 다르다(write-back 필요)
M 상태는 이 코어가 쓰기를 수행하여 최신 값을 자신만 가지고 있는 상태입니다. 주기억장치의 값은 오래된 것이므로, 이 라인을 교체(evict)할 때나 다른 코어가 읽으려 할 때 최신 값을 write-back하거나 직접 전달해야 합니다. M 상태의 라인에는 다른 코어에 알리지 않고 그대로 몇 번이든 쓸 수 있으므로, 같은 코어가 연속해서 쓸 때는 빠르게 처리할 수 있습니다.
- A. 맞습니다. 교체할 때는 주기억장치로 write-back합니다.
- B. 그것은 Shared(S) 상태입니다.
- C. 그것은 Invalid(I) 상태입니다.