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

时间:2013-01-22 21:14:44

标签: x86 latency throughput fpu x87

Intel® 64 and IA-32 Architectures Optimization Reference Manual列出了各种CPU指令的延迟和吞吐量数据。

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

  

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

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

2 个答案:

答案 0 :(得分:4)

除了这个论点之外,其他指令的混合可能会对延迟和吞吐量产生影响。这些指令是微编码的,这意味着它们生成一系列μops,需要与ALU资源的其他指令竞争;如果出现这种争论,可能会对表现产生不利影响。

答案 1 :(得分:2)

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