コンテンツにスキップ

MC68881

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。61.193.2.216 (会話) による 2012年3月2日 (金) 07:00個人設定で未設定ならUTC)時点の版 (→‎外部リンク: {{Motorola processors}})であり、現在の版とは大きく異なる場合があります。

モトローラ 68881 FPU

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

概要

68020と68030は単独の68881チップを使うという前提で設計された。この命令セットは予約済みの"F-line"命令を使った。16進数のFで始まっているすべての命令コードは、割り込みを投げる「トラップ命令」であって、この命令はオペレーティングシステム (OS) を制御するのに用いられている。もし、68881がシステム上に存在したならば、CPUはこの命令を実行できる。もしなければ、OSは例外処理において68020の整数演算命令で作られた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進数実数形式が演算可能である。

外部リンク