Compiler construction 在什么情况下,无序执行会导致更高效的代码
我试图了解它是如何工作的,为什么使用它,以及在什么情况下应该使用它。然而,我不完全确定在什么情况下安排指令顺序更有效,有人能给我举个例子吗 浮点运算是有用的一种情况——这些运算通常比“正常”指令花费的时间长得多,因此CPU在多条指令上运行这些指令到一侧是有用的,而其他正常的程序指令则发生在主ALU中 它还可以帮助保持所有管道处于活动状态-一些CPU有多条指令管道(例如,一条专门用于分支,一对专门用于算术运算符,一对用于浮点和SIMD指令)。对指令进行重新排序可以使CPU保持所有管道都已满,而不是让一条管道为数不多的指令清空,从而加快程序的执行速度Compiler construction 在什么情况下,无序执行会导致更高效的代码,compiler-construction,cpu,compiler-optimization,Compiler Construction,Cpu,Compiler Optimization,我试图了解它是如何工作的,为什么使用它,以及在什么情况下应该使用它。然而,我不完全确定在什么情况下安排指令顺序更有效,有人能给我举个例子吗 浮点运算是有用的一种情况——这些运算通常比“正常”指令花费的时间长得多,因此CPU在多条指令上运行这些指令到一侧是有用的,而其他正常的程序指令则发生在主ALU中 它还可以帮助保持所有管道处于活动状态-一些CPU有多条指令管道(例如,一条专门用于分支,一对专门用于算术运算符,一对用于浮点和SIMD指令)。对指令进行重新排序可以使CPU保持所有管道都已满,而不是
即使对于单个管道,重新排序指令也可以通过删除连续的相关指令来帮助保持管道已满-请参见谢谢,管道对我来说意义重大