如何通过减少停顿或指令数来优化代码?
我试图在MIPS中执行d =(a + b)*(b-c),想知道我的代码是否可以提高效率。
LW $1, 1($0) #LOAD A
LW $2, 2($0) #LOAD B
LW $3, 3($0) #LOAD C
ADD $ZERO, $ZERO, $ZERO #NOP
ADD $1, $1, $2 #ADD A & B
SUB $3, $2, $3 #SUBTRACT B & C
ADD $ZERO, $ZERO, $ZERO #NOP
ADD $ZERO, $ZERO, $ZERO #NOP
MUL $3, $1, $3 #MULTIPLY A & C
ADD $ZERO, $ZERO, $ZERO #NOP
ADD $ZERO, $ZERO, $ZERO #NOP
SW $3, 4($0) #STORE D
Image of data and its addresses
请注意,这是一个字可寻址实现,并且$ 0中的默认值可以假定为0。