3

英特尔® 64 和 IA-32 架构优化参考手册列出了各种 CPU 指令的延迟和吞吐量数据。

对于超越函数(FSIN等),一些数字被列为范围(第 C-29 页)。脚注 4 解释:

先验指令的延迟和吞吐量在动态执行环境中可能会有很大差异。这些说明仅给出了一个近似值或一个值范围。

我的问题是:哪些因素会影响此类指令的吞吐量和延迟?我想这个论点的价值是一个因素。还有其他的吗?

4

2 回答 2

4

除了参数之外,正在运行的其他指令的混合可能会对延迟和吞吐量产生影响。这些指令是微编码的,这意味着它们会生成一系列微操作,这些微操作需要与其他指令竞争 ALU 资源;如果发生此类争执,可能会对性能产生不利影响。

于 2013-01-22T21:23:46.040 回答
2

x87 控制字指定计算的准确性(64 位、53 位或 24 位尾数),它会影响超越函数的性能,尤其是那些内部使用除法或平方根的函数。一般来说,我建议避免使用三角 x87 指令,因为在设计上它们对于大输入值非常不准确。

于 2013-01-23T02:42:24.260 回答