2014-06-05 1 views
0

다음 명령어의 종속성 유형을 결정해야합니다. 불행히도, 내가 사용하고있는 책은 이것에 대해 어떻게 가야하는지에 관해서는 매우 불분명하다. 이것이 내가 생각해 낸 것입니다 :종속성 유형 - MIPS/파이프 라이닝

SW R16, -100(R6) --> RAW on R16 
LW R4, 8(R16)  --> WAR on R16 
ADD R5, R4, R4 --> RAW on R4 

나는 올바른 길을 가고 있습니까? 첫 번째 명령어가 파이프의 첫 번째 명령어 임에도 불구하고 Read-After-Write 종속성 유형을 가질 수 있습니까?

답변

1
SW R16, -100(R6) --> possible RAW on R6 and/or R16 
LW R4, 8(R16)  --> none: R16 was read in the previous instruction, 
         so it can be read safely here 

ADD R5, R4, R4 --> RAW on R4 
+0

R6에 가능한 RAW가있는 이유는 무엇입니까? 또한, ID 단계에서 R16을 읽고 다음 단계의 ID 단계까지 다시 사용하지 않기 때문에 의존 관계가없는 첫 번째 명령의 R16이 아닙니까? –

+1

나는 그가 "sw 전에 RAW 의존성이 있을지도 모른다"는 것을 의미한다고 가정하고있다. –

+1

그래서 SW 이전에 명령어가 없다고 가정 할 때 처음 두 명령어는 의존성이 없다. –

0

이 응답은 순서가 잘못되어 실행 중일 때 (슈퍼 스칼라) 시스템에 따라 달라집니다.