MC68881

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
モトローラ 68881 FPU

MC68881(68881)は68020ないし68030FPUである。コンピュータにこの石を加えることはコンピュータのコストを実質的に押し上げることになるが、これにより浮動小数点数値演算を高速に処理できる。当時、このチップは科学演算、数学演算に対して大きな役割を果たした。

概要[編集]

68020と68030は単独の68881チップを使うという前提で設計された。この命令セットは予約済みの"F-line"命令を使った。16進数のFで始まっているすべての命令コードは、形式上は内部割込みを発生する「トラップ命令」である。通常トラップ命令はオペレーティングシステム (OS) を制御するのに用いられている。もし、FPUである68881がシステム上に存在したならば、MPUは内部割込みを発生するのではなく、FPUにより命令を実行する。FPUが無ければMPUは内部割込みを発生し、OSはそれをとらえて、例外処理で整数演算命令で作られたFPUエミュレータを呼び出すか、プログラムをエラーで中断する。

アーキテクチャ[編集]

68881には、8つの96ビット長データレジスタ[注 1]があり、80ビット拡張精度形式など7種類の数値表現、すなわちIEEE浮動小数点標準「ANSI-IEEE 754-1985」として定義される単精度倍精度、そして拡張倍精度などの浮動小数点数を扱う。68881は特に浮動小数点演算に特化しており、汎用CPUとして設計されていない。例えば、命令がアドレス計算を行うときは、68881の制御を行う前にメインCPUが計算する。

CPU/FPUのペアはこのように同時に実行できるように設計されている。CPUが68881の命令を受けると、CPUはFPUにその命令に必要なオペランドをすべて引き渡す。次にFPUはCPUをリリースし、CPUは次の命令を実行する。

MC68882[編集]

モトローラ 68882 FPU

MC68882 (68882) は68881の改良バージョンで、パイプラインの改善や高クロック化が行われている。命令セットは68881と同一であり、なおかつピン・コンパチブルとなっている。モトローラは、同じクロック速度で同じ命令を実行すると68881より40%以上速くなるとうたっていたが、[誰によって?] 通常のパフォーマンスにはまったく反映されなかった[要出典]

実装例[編集]

68881ないし68882FPUが搭載されたコンピュータとしては、サン・マイクロシステムズSun-3アップルコンピュータMacintosh IIコモドールAmiga 3000などがある。Amigaのサードパーティの中には、68000にメモリマップされた周辺機器として、68881および68882を使ったものもある。

なお後続ファミリのMC68040プロセッサは、FPUを内蔵したものとして開発された。68881のほとんどの命令と数値表現モードはハードウェアでサポートされていたが、一部サポートされないものもあった。これらはソフトウェアパッケージでエミュレーションを行うことでサポートした。

機能表[編集]

68881[編集]

  • 155,000 トランジスタ
  • 16MHz バージョン 160 KFLOPS
  • 20MHz バージョン 192 KFLOPS
  • 25MHz バージョン 240 KFLOPS

68882[編集]

  • 176,000 トランジスタ
  • 25MHz バージョン 264 KFLOPS
  • 33MHz バージョン 352 KFLOPS
  • 40MHz バージョン 422 KFLOPS
  • 50MHz バージョン 528 KFLOPS

68040[編集]

  • 25MHz FPU 3.500 MFLOPS
  • 33MHz FPU 4.662 MFLOPS
  • 40MHz FPU 5.600 MFLOPS

これらの表はcomp.sys.m68k FAQから引用したものである。68882の16MHzと20MHzについては製造はされたが、リストにはない。

脚注[編集]

[ヘルプ]

注釈[編集]

  1. ^ William Ford, William R. Topp (1997-11-07). “15.5 Floating-Point Coprocessor” (英語). Assembly language and systems programming for the M68000 family (2nd. ed.). Jones and Bartlett Publishers. pp. 830. ISBN 9780763703578. http://books.google.com/books?id=JPi9zrjFzMEC&lpg=PA830&ots=K-PZPYUcdL&dq=Packed%20decimal%2096bit&hl=ja&pg=PA830#v=onepage&q&f=false 2011年4月12日閲覧。. 96ビットパック10進数実数形式が演算可能である。

外部リンク[編集]