MESI 프로토콜에 대한 질문이 있습니다.캐시 일치의 MESI 프로토콜
I1 : 부하 $의 S1 [A] I2 : 부하 $ s2와, [B]
(1) MESI 캐시 일관성 프로토콜을 구현하는 단일 프로세서 시스템에서 실행되는 다음 코드를 고려 I3 : 추가 $ S1, $ S2, $ S3 I4 : 저장소 $의 S3에서, [C] I5 : 서브 $의 S3에서, 1 $의 S4 I6 : 저장소 $의 S3, [A]
가정 쓰기 스루 캐시 정책. 단일 프로세서에서 두 개의 다른 캐시 블록 (처음에는 비어 있음)에 메모리 블록 A, B 및 C가로드 된 경우 (필요에 따라) 다음 표를 완료하여 A, B, C가 들어있는 블록의 캐시 상태를 식별하십시오 명령이 실행됩니다. 그것
내 대답은 :
다음 RTLI1: R1 <-[6]
I2: R2 <-[4]
I3: R3 <- R1 + R2
I4: [6]<- R3
I5: R4 <- R4 - 1
I6: [4]<- R4
에서
Step/State A B C
I1 E I I
I2 E E I
I3 E E I
I4 I I E
I5 I I E
I6 E I I
(2) 쓰기를 통해 캐시 정책을 가정합니다. 메모리 블록 4, 6은 하나의 프로세서에 두 개의 서로 다른 캐시 블록 (처음에 비어)에로드하는 경우
내 대답은
Step/state Block 4 Block 6
Initial I I
I1 I E
I2 E E
I3 E E
I4 I E(write miss, AOW)
I5 I E
I6 E(write miss, AOW) I
내 대답은 수정하십시오이다? 대단히 감사드립니다.
왜 블록 A와 B를 무효화합니까? – Leeor