Intel 8087のtangentアルゴリズム、CORDICを超えたハイブリッド手法を解明

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

Intel 8087のtangentアルゴリズム、CORDICを超えたハイブリッド手法を解明

1980年に登場したIntel 8087はtangent命令FPTANを90マイクロ秒で実行し、8086の約13,000マイクロ秒から大幅に高速化した。著者はチップを開封し、マイクロコードROMとデータパスを顕微鏡で観察。CORDICの16ビット精度とPadé近似3x/(3-x²)を組み合わせ、除算を不要にする巧妙な仕組みを明らかにする。

CORDICは、単純なハードウェアで超越関数を高速に計算するための巧妙なアルゴリズムだ。シフトと加算、そしてテーブル参照を使い、乗算や除算を必要としない。
  1. cmovq

    fptanがレジスタスタックに1をプッシュするのも変だなあとずっと思っていた。8087がxとyを別々に返していて、余分な除算が必要だったのとの互換性を保つためだと分かって、今は納得している

  2. drob518

    数値計算手法と低レベルハードウェアの組み合わせは実に魅力的だ。20世紀のエンジニアたちは賢くもあり、創造的でもあった。

  3. kens

    8087に関する質問があれば、著者本人がここにいます...

この日のほかの記事

2026-09-26