Andrej Karpathy的RSS订阅清单

← Andrej Karpathy的RSS订阅清单27 sept · 7 min

8087提速144倍,靠的不是更强算法而是两套算法接力

8087提速144倍,靠的不是更强算法而是两套算法接力27 sept7 min

Intel 8087 如何在 1980 年把正切计算从约 13000 微秒压缩至 90 微秒?Ken Shirriff 通过芯片显微分析与微码逆向,揭示了一套极具工程美感的混合方案:先用 CORDIC 快速将角度收缩,再用 Padé 近似完成高精度计算。

这期节目深度解析的并不只是一个复古算法,而是一堂硬件经济学课:乘法器性能、ROM 密度、舍入策略、数据表示与接口设计,如何共同决定“最佳算法”。欢迎结合原文阅读,感受四十年前芯片设计中的系统级取舍。

原文链接:

http://www.righto.com/2026/09/8087-tangent-cordic.html

原文标题:Reverse-engineering the vintage Intel 8087's tangent algorithm: more than CORDIC

主要内容:

• 8087 将 CORDIC 与 Padé 近似串联:前者快速压缩角度,后者在极小余角范围内以极低成本达到 64 位精度。

• 纯 CORDIC 若追求 64 位精度,需要约 64 轮旋转与大量常量;8087 只执行 16 轮 pseudo-division,大幅降低时间和存储成本。

• 芯片将旋转决策位写入移位寄存器,再逆序执行 pseudo-multiplication,重建结果并尽量控制舍入误差。

• FPTAN 并不直接返回正切值,而是返回分子 Y 和分母 X;按需除法既支持 tangent/cotangent,也避免了无谓的昂贵计算。

• 从 Booth 乘法、guard/round/sticky 位到高密度微码 ROM,文章展示了算法与硬件实现如何彼此塑形。

推荐理由: