寄存器重命名(register renaming)

寄存器重命名是计算机CPU的微体系结构(Microarchitecture)中的一种技术,避免了机器指令或者微指令(μop)不必要的顺序化执行,从而提高了处理器的指令级并行的能力。【参考1】

例如:

mov eax, [mem1]
imul eax, 6
mov [mem2], eax
mov eax, [mem3]
add eax, 2
mov [mem4], eax

这段代码看起来是依赖于 EAX 的计算结果,但是如果将最后三条指令中的 EAX 替换为其他寄存器,就可以清楚的看到代码是在执行两个独立的操作:[MEM1]乘以6结果保存在[MEM2], 以及[MEM3]加上2之后存在[MEM4]中。就是说,这两个操作完全可以并行执行。处理器会自动给最后三条指令分配一个另外的寄存器,这样两个运算可以同时进行。

参考:

1.https://baike.baidu.com/item/%E5%AF%84%E5%AD%98%E5%99%A8%E9%87%8D%E5%91%BD%E5%90%8D/10927257?fr=aladdin

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注