|
FPU(Floating Point Unit、浮動小数点(演算処理)装置)とは、浮動小数点演算を専門に行う処理装置のこと。コンピュータの周辺機器のようなアーキテクチャのものもあれば、CPUと一体化したコプロセッサのようなアーキテクチャのものもある。 AMDではAm9511をAPU (Arithmetic Processing Unit) と呼んでおり(2011年以降はAPUをAccelerated Processing Unitの略称として使用)、インテルではx87をNDP(Numeric data processor, 数値演算コプロセッサ)、またその命令についてNPX(Numeric Processor eXtension)とも呼んでいる。 マイクロプロセッサにおいては、Apple IIの頃は完全に周辺機器のようなアーキテクチャだったが、8087の頃には命令の一体化など、CPUの拡張装置のようなアーキテクチャになった。 インテルのx86系CPUでは387(386用)が最後となり、486からは同一のチップ内に内蔵された(486の初期には、FPUを内蔵しない廉価版と、事実上はオーバードライブプロセッサであった487もあった)。同様に、モトローラの68000系でもMC68040以降のMPUではチップ内に内蔵している。 1990年代以降の高性能プロセッサではFPUはプロセッサ内部のサブユニットとなっている。同年代以降、組み込み用のプロセッサ以外ではFPUを単体で用いることは珍しくなっている。 == 接続の形式 == === I/Oプロセッサ形式 === FPUをI/Oポートに接続して、通常の周辺機器と同様にI/Oポートを介してデータのやり取りを行なう形式。たとえばAm9511はこの形式で設計されている。FPUは周辺機器として扱われるので、CPUと同じメーカのFPUを使わなくてもよく、8ビットCPUの時代には、コストのかかるAm9511などの代わりに別メーカの電卓用CPUをI/Oポートに接続して使うことがホビイストの間で実験的に行なわれた。 また、対応機種として設計されていない組み合わせ、たとえばモトローラのMC68881(MC68020/MC68030用FPU)や、インテルの287(286用FPU)を、MC68000やMC68010に接続する場合は、データの入出力をプログラム上で明示的に行わなくてはならない。そのマシンに対応した数値演算ライブラリを使用すれば、アプリケーションソフトウェアのプログラミングにおいては、FPUを使用することを意識する必要は無いが、I/Oポートを介してデータをやり取りするため直接接続されている場合に比べて、大きなオーバヘッドが生ずる。逆に利点としては、主プロセッサと、副プロセッサの動作速度を個別に設定できるなど、自由度が高い点がある。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「FPU」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Floating-point unit 」があります。 スポンサード リンク
|