2016-11-19 8 views
1

나는 일련의 지시 명령이 있습니다숫자는

I1 lw $1, 40($6) 
I2 add $6, $2, $2 
I3 sw $6, 50($1) 

질문 : 많은 noops 어떻게해야 전달하지 않고 기본적인 다섯 단계 파이프 라인에서

, I2와 I3 사이에 있습니까?

숫자가 2 인 것 같지만 책에서 주어진 해결책은 1입니다. 나는 무엇인가 놓치고 있습니까? 모든 단서는 높이 평가됩니다.

실제 질문은 의 연습 문제 4.13 컴퓨터 구성 및 디자인, 하드웨어/소프트웨어 인터페이스 넷째 편집입니다.

답변

0

파이프 라인에 전달 기능이 없다면이 충돌을 해결하는 유일한 방법은 두 개의 noops입니다.

1 2 3 4 5 6 7 8 9 
I1 IF ID EX MEM WB 
I2  IF ID EX MEM [WB] 
NOP   IF ID EX MEM WB 
NOP    IF ID EX MEM WB 
I3      IF [ID] EX MEM WB 

당신은 분명이 noops에 "정렬"뒤로 I2와 I3의 명령 디코드의 쓰기 전용이 거친 테이블에서 볼 수 있습니다. 나는 당신의 교과서가 잘못되었다고 생각합니다.

+0

답변 해 주셔서 감사합니다. –

+0

@ 贾 霄 雷 당신을 진심으로 환영합니다. 그것이 정확하다고 느끼면 그것을 받아 들일 수 있으므로 새로운 사용자는 귀하의 질문과 답변의 혜택을받을 것입니다. –