Ahm*_*osh 2 hardware branch mips cpu-architecture
我想问一下为什么该BLT
指令不是 MIPS ISA 的一部分。相反,他们实际上使它成为汇编程序员的伪指令。从硬件实现的角度来看,我只是无法识别BLT
和BLTZ
(这是 MIPS ISA 的一部分)之间的区别。
顺便说一下,《计算机组织与设计》这本书说:
注意到冯诺依曼关于“设备”简单性的警告,MIPS 架构不包括分支,因为它太复杂了,要么会延长时钟周期时间,要么每条指令需要额外的时钟周期,两条更快的指令是更有用。
但我仍然不知道为什么会发生这些。
因为小于零实际上只是一个符号位检查,而小于是
无论哪种方式都比单个位检查复杂得多,因此BLTZ
速度要快得多。同样,>= 0
也只需要1个符号位校验。<= 0
并> 0
需要另一个零检查,但这相当微不足道。
事实上,架构支持在单个指令中直接在两个值之间进行跳转和比较并不常见,尽管大多数会基于与 0 相关的值进行跳转。 即使像 x86 这样的 CISC 架构也需要用户进行比较,然后跳