【发布时间】:2014-08-30 00:45:23
【问题描述】:
在 MIPS ISA 中,有一个零寄存器 ($r0),它总是给出零值。这允许处理器:
- 任何产生要丢弃的结果的指令都可以将其目标指向该寄存器
- 成为
0的来源
在source 中说这提高了 CPU 的速度。它如何提高性能?不是所有的ISA都采用这个零寄存器的原因是什么?
$r0 不是通用的。它被硬连线为 0。不管你是什么 做这个寄存器,它的值总是0。你可能想知道为什么 MIPS 中需要这样的寄存器。
MIPS 的设计者使用基准测试(用于确定 CPU 的性能),这使他们确信拥有一个寄存器 硬连线为 0 将提高 CPU 的性能(速度),因为 反对没有它。不是每个人都同意一个硬连线的寄存器 0 是必不可少的,因此并非所有 ISA 都有零寄存器。
【问题讨论】:
-
也许零寄存器使 CPU 更快,因为它允许用更少的指令编写许多程序。
-
ElectricalEngineering.SE 相关问题:Why MIPS uses R0 as “zero” when you could just XOR two registers to produce 0?
标签: mips cpu-registers instruction-set