x86:超越函数的延迟和吞吐量



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

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新