为什么MIPS BLT指令不是用硬件实现的?

问题描述 投票:1回答:1

我想问为什么BLT指令不是MIPS ISA的一部分。相反,它们实际上使它成为汇编程序员的伪指令。从硬件实现的角度来看,我无法认识到BLTBLTZ(它是MIPS ISA的一部分)之间的区别。

顺便说一句,“计算机组织与设计”一书说:

听取冯·诺伊曼关于“设备”简单性的警告MIPS架构不包括分支,因为它太复杂,要么会延长时钟周期时间,要么每条指令需要额外的时钟周期,两条更快的指令是更有用。

但我仍然不知道为什么会发生这种情况。

branch mips hardware cpu-architecture
1个回答
4
投票

It's much easier to compare with zero

因为小于零实际上只是一个符号位检查,而小于是一个减法然后根据结果的符号位跳转。因此BLTZ要快得多。同样,>= 0也只需要1个符号位检查。 <= 0> 0需要另外的零检查,但它相当微不足道。

实际上,架构支持在单个指令中直接在两个值之间进行跳转和比较并不常见,尽管大多数都会基于相对于0的值进行跳转。即使像x86这样的CISC架构也需要用户进行比较,然后跳

© www.soinside.com 2019 - 2024. All rights reserved.