是否有一组特定的MIPS操作会导致气泡或noOp?或者它仅仅取决于后续调用需要哪些寄存器?在分支的预测方法之外,分支是否总是导致两个noOps?
LW R2 0(R1)
Label1: BEQ R2 R0 Label2 #not taken once then taken
LW R3 0(R2)
BEQ R3 R0 Label1 #taken
ADD R1 R3 R1
Label2 AS R1 0(R2)
据此,NOP (no operation):
sll $0,$0,0
我也相信每一个以$0作为目标寄存器的指令都是NOOP。