Intel 8087正切算法:超越CORDIC

Reverse-engineering the Intel 8087's tangent algorithm: more than CORDIC

Intel 8087正切算法:超越CORDIC

Intel 8087芯片在1980年问世,将正切计算速度从8086处理器的13000微秒大幅提升至90微秒。本文通过拆解芯片物理结构并分析微码,揭示了其FPTAN指令背后的核心算法。该算法并非单纯依赖经典的CORDIC技术,而是巧妙结合了CORDIC迭代与有理多项式逼近(Padé approximant)。这种混合策略既利用了CORDIC仅需移位和加减法的硬件优势,又通过多项式处理微小残差角,实现了64位的高精度计算。文章详细解析了从伪除法到伪乘法的完整流程,展示了早期工程师如何在有限硬件条件下实现卓越性能。

Intel 8087将这两种方法结合,从而同时获得了高精度和高性能。
  1. cmovq

    一直觉得 fptan 指令也会把 1 压入寄存器栈这件事很奇怪。现在明白了,这是为了让原本针对 8087 编写的代码(预期通过 y/x 来计算正切值)在新处理器上只需改为 y/1 就能继续正常工作。

  2. kens

    这里是本文作者,欢迎回答你们关于 8087 的问题……

  3. drob518

    数值方法与底层硬件的结合真是引人入胜。那些 20 世纪的工程师既聪明又富有创造力。

同日更多故事

2026-09-27