为什么分支指令比跳转指令更快?

时间:2014-06-24 01:10:12

标签: assembly avr

查看amtel avr instruction set,我注意到分支指令如果执行则需要2个周期,如果不执行则需要1个,而跳转指令需要3个周期。

为什么会这样?

1 个答案:

答案 0 :(得分:2)

这似乎来自OP-Code长度。 JMP指令是32位指令,因为它必须从单独的字中读取地址。此读数会花费额外的时钟周期。

分支和相对跳转rjmp和间接跳转ijmp是16位指令,也在2个时钟周期内执行。