CPI为多少?\r参考答案:\r(1)因为lw指令和add指令之间存在一个load-use数据冒险,所以每个lw指令和add指令之间要有\r诙流水线阻塞。而add指令和lw指令之间的数据冒险可通过数据转发解决。即:CPI为1.5。\r使川“转发,•的怙况,\r(2)如果没有转发,而寄存器写口和寄存器读口分别在一个时钟周期的前、后半个周期内工作,则在\r每条lw指令和add指令之间将会有两个阻塞,这样每条指令相当于都要有三个时钟才能完成。即:CPI\r为3。\r不使用“转发”的情况,Time(dockcycles)\raddr1,r2,r3\rstall\rstall\ro\rrlwr4,O(r1)\rd\rstall\rstall\raddr6,r4,r7\r通辿寄存器弓口/读II分别安撑住前半/后半周期,在不使用“转\r发”时使得每条指令之间只要阻察两次就可解决!\rII.假定在一个带转发的五段流水线中执行以卜MIPS程序段,则怎样调整指令序列使其性能达到最好?\rloop:lw$2,l00($6)//R[$2]<-M[R[$6]+l00]\radd$2,$2,$3//R[$2]<-R[S2]+R[$3]\rlw$3,200($7)//R[$3]<-M[R[$7]+200]\radd$6,$4,$7//R[$6]<-R[$4]+R[$7]\rsub$3,$4,$6//R[$3]<-R[$4]+R[$6]\r•71•\rIw$2,300($8)//R[$2]<-M[R[$8]+300]\rbeq$2,$8,loop//ifR[$2]=R[$8]gotoloop\r参考答案:\rIw$2,100($6)\radd$6,$4,$7\radd$2,$2,$3\rIw$3,200($7)\rIw$2,300($8)\rsub$3,$4,$6\rbeq$2,$8,loop\r•72-