一直以来就这样理解,有点困惑,今天特意查了下:(取自维基百科)
Many of these early RISC designs also shared a not-so-nice feature, the branch delay slot. A branch delay slot is an instruction space immediately following a jump or branch. The instruction in this space is executed whether or not the branch is taken (in other words the effect of the branch is delayed). This instruction keeps the ALU of the CPU busy for the extra time normally needed to perform a branch. Nowadays the branch delay slot is considered an unfortunate side effect of a particular strategy for implementing some RISC designs, and modern RISC designs generally do away with it (such as PowerPC, more recent versions of SPARC, and MIPS).
可以看出,上面的 "move a2, s2" 是位于 branch delay slot 中的,应该是跳转类型的指令执行时间相对来说有点长,需要处于 branch delay slot 中的指令,占据 ALU 来赢去跳转类型指令相对多的执行时间。