gpt4 book ai didi

performance - MIPS(好奇心)清除寄存器的更快方法?

转载 作者:行者123 更新时间:2023-12-04 14:35:20 34 4
gpt4 key购买 nike

在 MIPS 程序集中清除寄存器 (=0) 的最快方法是什么?

一些例子:

xor    $t0, $t0, $t0
and $t0, $t0, $0
move $t0, $0
li $t0, 0
add $t0, $0, $0

哪个效率最高?

最佳答案

在许多 MIPS 实现中,这些操作都将编译为相同的指令,因为通常 'mov $a, $b' 是 or $a, $b, $0 的惯用语。和 li $r, xori $r, $0, x 的简写:

move $t0, $0
li $t0, 0

这些都将发生在同一个管道上,在架构上是等效的:
xor $t0, $t0, $t0
and $t0, $t0, $0

在我曾经使用过的每个 RISC 实现中,add 与 xor/and/nor/etc 在同一管道上。

基本上,这都是特定芯片的实现所特有的,但它们都应该是单时钟。如果芯片出现故障, liand x, $0, $0可能是最快的,因为它们最大限度地减少了对其他寄存器的错误依赖。

关于performance - MIPS(好奇心)清除寄存器的更快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4023026/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com