Asayomu Tech
注目★★★★★Hacker News

Intel 8087のFSCALE、140超のマイクロ命令を解剖

30秒で把握

  • 1Opcode Collective が8087 FSCALEのマイクロコードを解析
  • 2FSCALEは140超の命令と3段階のサブルーチンで構成
  • 3ゼロ・NaN・非正規化数と指数の例外処理を実装

要約

Opcode Collective は Intel 8087 の FSCALE 命令を実装するマイクロコードをリバースエンジニアリングした。FSCALE は浮動小数点数を2のべき乗で高速にスケーリングする命令だが、140以上のマイクロ命令と3段階のサブルーチン呼び出しで構成される。8087のマイクロコードROMには1648個のマイクロ命令があり、FSCALEは指数を整数化して加算し、オーバーフローやアンダーフロー、ゼロ・NaN・非正規化数などを処理する。解析では、2つのNaNを比較して大きい方を返す文書化済みの動作や、tmpA/tmpBの役割をフリップフロップで交換する実装も明らかになった。

あなたへの影響

CPUや数値計算の実装を調べるエンジニアは、FSCALEの特殊値処理と丸め・例外動作を仕様検証の題材にできる。

推奨:マイクロコードは命令単位で追跡し、通常経路と例外経路を分けて確認するとよい。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。