2018-08-26 22:31 — asano
8086, MC68000, Z8000といった16ビットプロセッサになると加減乗除の命令を持っているのが一般的になります。もちろん1命令で16ビット幅の演算が可能で、MC68000などは32ビットまで可能でした。
まだ浮動小数点演算命令は持っていないのが一般的でしたが、NEC V60やPanafacom MN1613のように浮動小数点の加減乗除の命令を持っているものもありました。
また内蔵していないまでも外部に浮動小数点演算プロセッサを接続できるようになっているものもありました。前回取り上げた MM57109, Am9511, Am9512 はI/Oデバイスとして接続するものでしたが、プロセッサの命令を拡張する(浮動小数点演算命令が追加される)タイプが登場します。
Intelの8087は 8086, 8088 に追加することで浮動小数点演算命令が使えるようになります。
当時は画期的な性能だったようで、大学の研究室等では待ち時間の長い計算機センターの大型機より自由に(必要とあらば24時間でも)使える8087搭載パソコンの方が良いと考えるところも出てきました。ただ非常に高価なデバイスだったので大抵はオプション装備となっていました。
加減乗除の他、超越関数の一部にも対応しています。
MC68000系のものは32ビットのMC68020のためのMC68881を待たなくてはなりません。
Z8000にはZ8070という浮動小数点演算プロセッサがありましたが、Z8000自体あまり使われなかったこともあって知名度は低いですね。私も現物を見た記憶がありませんし、データシート類を探したのですが発見できませんでした。
NS32016にはNS32081がありました。登場が比較的早かったのと、他のファミリへ接続しやすかったらしくMC68000などに使われた例もあります。演算は加減乗除のみです。
ハードウェアでサポートしていない演算についてはソフトウェアで処理することになります。さすがに浮動小数点演算を駆使するようなソフトウェアをアセンブリ言語で書く時代ではなくなっていますからそのあたりはライブラリ等に任せることになります。
ほとんどのユーザにとってはパフォーマンスが足りないならオプションを検討する程度ですむようになっています。一つ問題だったのはこの浮動小数点演算オプションの普及率が低かったので、ソフトウェアによってはせっかくオプションを搭載しても使ってくれないものがあったという点ですね。
コメントを追加