Intel 8087は浮動小数点の足し算をどう実装したのか、ダイを削って解明

The Intel 8087 chip: floating-point addition and subtraction

Intel 8087は浮動小数点の足し算をどう実装したのか、ダイを削って解明

1980年に登場したIntel 8087は、8086の加算をほぼ100倍に高速化した浮動小数点コプロセッサだ。著者はチップの蓋を鑿でこじ開け、顕微鏡で撮影したダイ写真とマイクロコードを読み解き、1648個のマイクロ命令が指数の比較、桁合わせのシフト、正規化、無限大やゼロといった特殊ケースをどう処理するかを一つずつ明らかにする。

チップを設計しているときなら、こうした奇妙で場当たり的な最適化も好き放題にできるのだ。
  1. WalterBright

    8087はいつもすごくクールだと思っていたけど、実際にはあまり普及しなかった。初期のWin32はコンテキストスイッチの際に8087のレジスタを保存しなかった。私はMicrosoftの人たちに電話して、どうか8087を破壊しないでほしいと頼んだら、彼らは折れてレジスタを保存するようになった。

    私は自分のコンパイラで8087をサポートしてきたことをいつも誇りに思っているし、数値計算の人たちがなぜそれを無視するのか理解に苦しむ。

  2. dsign

    1980年のチップが80ビット浮動小数点を扱えたというのは、ちょっと衝撃的だ。46年後の今年のマイコンが浮動小数点サポートなし、あるいはせいぜい32ビットで出荷されているのを見ると、少し腹が立つ。でもそういうのは「セキュアアイランド」とETを呼び出せる無線を備えているんだよね。

  3. kens

    著者です。8087に関する別の記事を書きました。次は8087のどの部分を見てほしいですか?

  4. kar1181

    ケンがいてくれて本当によかった。低品質なコンテンツの海の中の光の灯台だ。長年にわたり、数え切れないほどの時間を費やした投稿や動画に感謝します。

この日のほかの記事

2026-10-18