FPU 使用什么算法来计算超越函数



现代FPU会使用什么方法来计算超越函数?

例如,英特尔CPU提供诸如FSINFCOSFYL2X等指令。我很好奇会使用什么算法在硬件中实际实现这些。

我天真的猜测是泰勒系列可能会与一些查找表相结合,但这只不过是一个疯狂的猜测。请开导我。

附言这个问题比英特尔硬件更笼统。

一个起点可以是"改进的新算法"IA-64上的超越功能",由Shane Story和Ping Tak Peter Tang撰写,均来自英特尔。它可能没有您想要的那么多细节,但它包括几个参考。

更新 08/13/2014

原始链接已断开。IEEE的公共摘要/引文页面可以在这里找到:

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=762822&tag=1

在硬件(以及硬件乘法指令不可用的软件)中,它通常在CORDIC中实现,因为这只需要加法,减法,位移和表查找

相关:

  • C 如何计算 sin() 和其他数学函数?
  • 罪恶和cos是如何实现硬件的?
  • 计算机使用什么算法来计算对数?
  • 计算机如何计算罪恶值?
  • 计算机如何计算平方根?

最新更新