在MIPS ISA中,存在一个零寄存器($r0
),该寄存器始终提供零值。这使处理器可以:
0
的来源在此source中说,这提高了CPU的速度。它如何提高性能?为何并非所有ISA都采用该零寄存器的原因是什么?
$ r0不是通用的。硬连线为0。无论您做什么对此寄存器执行操作,它的值始终为0。您可能想知道为什么MIPS需要这样的寄存器。
MIPS的设计者使用了基准(用于确定CPU的性能),这使他们确信拥有寄存器硬连线为0会提高CPU的性能(速度),因为反对没有它。并非所有人都同意硬注册到0是必不可少的,因此并非所有的ISA都有零寄存器。
有一些潜在的方法可以提高性能;尚不清楚哪种处理器适用于该特定处理器,但我已按从大到小的顺序大致列出了它们。
对于您的每个项目,这是一个答案。
零寄存器的概念不是新概念。我第一次在CDC 6600大型机上遇到它,它的历史可以追溯到1960年代中期。在某些方面,它是最早的RISC处理器之一,并且是5年以来世界上最快的计算机。在该体系结构中,“ B0”寄存器被硬接线为始终为零。 http://en.wikipedia.org/wiki/CDC_6600
零寄存器允许在设计新寄存器时保存一些操作码指令集架构(ISA)。