发布网友 发布时间:2022-11-20 18:36
共1个回答
热心网友 时间:2023-12-31 04:57
为了避免WAR和WAW带来的流水线停顿产生气泡。详见tomasulo算法,指令在发射前分配一个RS和一个ROB项(这个就是动态寄存器重命名),执行后的结果会临时写在ROB中,等到该指令前的所有指令执行完毕,retire时再写回到ARF。所以你看,结果是临时写回ROB中,即使多条指令写回到同一个寄存器也不受影响,因为不同的指令结果是写在不同的ROB中的。当然解决RAW也有相应的旁路/转发技术,也是tomasulo算法中的一部分。