MIPS 指令之间的空操作数
Numbers of no-ops betweeen MIPS instructions
我有如下指令序列:
I1 lw , 40()
I2 add , ,
I3 sw , 50()
问题是:
在没有转发的基本五级流水线中,I2和I3之间应该有多少个noop?
我觉得数字是2,而书上给出的解是1,我是不是漏了什么?任何线索表示赞赏。
题目实际上是Computer Organization and design, The Hardware/Software Interface Fourth editon的Exercise 4.13。
好吧,如果您的管道中没有转发,解决此冲突的唯一方法是 two 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
从这个粗略的table可以清楚的看出,I2的Write Back和I3的Instruction Decode只有"aligned"两个noop。我假设你的教科书是错误的。
我有如下指令序列:
I1 lw , 40()
I2 add , ,
I3 sw , 50()
问题是:
在没有转发的基本五级流水线中,I2和I3之间应该有多少个noop?
我觉得数字是2,而书上给出的解是1,我是不是漏了什么?任何线索表示赞赏。
题目实际上是Computer Organization and design, The Hardware/Software Interface Fourth editon的Exercise 4.13。
好吧,如果您的管道中没有转发,解决此冲突的唯一方法是 two 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
从这个粗略的table可以清楚的看出,I2的Write Back和I3的Instruction Decode只有"aligned"两个noop。我假设你的教科书是错误的。