
← Andrej Karpathy的RSS订阅清单27 sept · 7 min
8087提速144倍,靠的不是更强算法而是两套算法接力
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,文章展示了算法与硬件实现如何彼此塑形。
推荐理由: