gpt4 book ai didi

compiler-construction - 在什么情况下乱序执行会产生更高效的代码

转载 作者:行者123 更新时间:2023-11-30 23:58:22 26 4
gpt4 key购买 nike

我试图了解 Memory barrier工作,为什么使用它以及在什么情况下应该使用它。但是我不完全确定在什么情况下安排指令的顺序会更有效,谁能给我举个例子?

最佳答案

它有用的一种情况是浮点计算 - 这些通常比“正常”指令花费的时间长得多,因此 CPU 在多条指令上运行这些指令是有用的,而其他正常程序指令发生在主程序中铝。

它还可以帮助保持所有管道处于事件状态 - 一些 CPU 有多个指令管道(例如,一个专门用于分支,一对专门用于算术运算符,一对用于浮点和 SIMD 指令)。对指令重新排序允许 CPU 保持所有流水线都满,而不是为几条指令留空,从而加快程序执行速度。

即使对于单个流水线,重新排序指令也可以通过删除连续的相关指令来帮助保持流水线满 - 参见 http://en.wikipedia.org/wiki/Instruction_pipeline

关于compiler-construction - 在什么情况下乱序执行会产生更高效的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3953016/

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