FPU 【Floating-Point Unit】 浮動小数点演算装置 / 数値演算コプロセッサ
概要
FPU(Floating-Point Unit)とは、コンピュータの処理装置の一種で、数値データの表現形式の一つである浮動小数点数の計算に特化した演算装置のこと。CPUの処理を補助するプロセッサとしてコンピュータに搭載されることがある。浮動小数点数は小数点以下の桁数をある範囲で任意に設定できる数値形式で、表現できる数値の範囲が広く、コンピュータグラフィックス(CG)やシミュレーション、科学技術計算などでよく用いられる。FPUは浮動小数点演算を高速に処理することに特化した集積回路(IC)で、コンピュータのCPU(中央処理装置)に接続して数値演算の実行を肩代わりする形で利用する。
拡張カードなど電子基板の形で提供され、他の周辺機器などと同じように拡張スロットなどに接続して使用する製品と、ICチップの形で提供され、マザーボードなどに設けられた専用のソケットなどに装着して使用するタイプの製品がある。
基板型の製品はCPUと拡張バスなどを介して接続されるため通信速度が遅い欠点があるが、汎用的で様々な機種に装着できる。チップ型の製品はCPUやマザーボードなどが対応していなければ使用できないが、CPUと専用の伝送路で通信するため高速に動作するという利点がある。
かつてはパソコンなどの安価なコンピュータで大量の浮動小数点演算を行う用途は限られていたため、FPUが拡張製品としてCPU本体とは別に提供されていたが、1990年代以降はCPUの性能向上やコンピュータの用途拡大が進み、FPUに相当する演算機能もCPU内部に取り込まれるのが一般的となった。現代では単体の装置・製品としてFPUが提供されることは少なくなっている。
かつてよく利用されたFPU製品としては、米インテル(Intel)社のx86系プロセッサに追加するx87系コプロセッサ(8087、80287、80387、80487など)や、米モトローラ(Motorola)社のMC68000系プロセッサに追加するMC68881やMC68882などが知られている。Intel社はx87系製品のことを「NDP」(Numeric Data Processor)と呼称していた。