MC68882とは? わかりやすく解説

MC68881

(MC68882 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 01:40 UTC 版)

ナビゲーションに移動 検索に移動
モトローラ 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と同一であり、なおかつピン・コンパチブルとなっている[1]。一方、FSAVE命令による退避情報が32バイト増加し(アイドル・フレーム、ビジー・フレーム共)、演算例外処理時のタイミング制約条件が厳しくなっている[2]。アイドル・フレームは、68881の28バイトに対し68882が60バイト、ビジー・フレームは、68881の184バイトに対し68882が216バイトと増加している[3]ため、FSAVE命令で退避されたスタック上の情報を参照する例外処理ハンドラ作成時、オフセット・アドレスに注意が必要となる[1]。MC68882使用時は、同一例外によって例外処理ハンドラが繰り返し実行されてしまう事態を回避するため、例外処理ハンドラでFSAVE命令を実行するタイミング、FRESTORE命令を実行するタイミング、BIUフラグ(ビット31~0)のビット27 EXC_PENDビットを1にセットするタイミングなどが細かく指定されている[4][5]。モトローラは、同じクロック速度で同じ命令を実行すると68881より40%以上速くなるとうたっていたが、[誰によって?] 通常のパフォーマンスにはまったく反映されなかった[要出典]

実装例

68881ないし68882FPUが搭載されたコンピュータとしては、サン・マイクロシステムズSun-3Apple ComputerMacintosh II[6]コモドール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. ^ a b インターフェース 1989, p. 285.
  2. ^ インターフェース 1989, p. 285-286.
  3. ^ MC68882 1989, p. 5-11.
  4. ^ MC68882 1989, p. 5-11,5-12.
  5. ^ MC68882 1989, p. 6-33,6-34.
  6. ^ L.Hennessy, John; A.Patterson, David (1994). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann Publishers. p. 255-256. ISBN 1-55860-281-X 

注釈

  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. https://books.google.co.jp/books?id=JPi9zrjFzMEC&lpg=PA830&ots=K-PZPYUcdL&dq=Packed+decimal+96bit&hl=ja&pg=PA830&redir_esc=y#v=onepage&q&f=false 2011年4月12日閲覧。 96ビットパック10進数実数形式が演算可能である。

参考文献

  • Motorola Inc.『MC68881浮動小数点演算コプロセッサユーザーズ・マニュアル』電波新聞社、1988年6月。 ISBN 4885541506
  • Motorola Inc. (1989) (英語). MC68881/MC68882 floating-point coprocessor user's manual (2nd ed.). Prentice Hall. ISBN 0135670098 
  • 『インターフェース』CQ出版社、1989年3月1日。
  • MC68881/MC68882 USER'S MANUAL”. 2021年2月19日閲覧。

外部リンク


MC68882

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 01:40 UTC 版)

MC68881」の記事における「MC68882」の解説

MC68882 (68882) は68881改良バージョンで、パイプライン改善や高クロックが行われている。命令セット68881同一であり、なおかつピン・コンパチブルとなっている。一方、FSAVE命令による退避情報32バイト増加し(アイドル・フレーム、ビジー・フレーム共)、演算例外処理時のタイミング制約条件厳しくなっている。アイドル・フレームは、6888128バイト対し68882が60バイト、ビジー・フレームは、68881184バイト対し68882が216バイト増加しているため、FSAVE命令退避されたスタック上の情報参照する例外処理ハンドラ作成時、オフセット・アドレスに注意が必要となる。MC68882使用時は、同一例外によって例外処理ハンドラ繰り返し実行されてしまう事態回避するため、例外処理ハンドラでFSAVE命令実行するタイミング、FRESTORE命令実行するタイミングBIUフラグ(ビット31~0)のビット27 EXC_PENDビットを1にセットするタイミングなどが細かく指定されている。モトローラは、同じクロック速度で同じ命令実行する68881より40%以上速くなるうたっていたが、[誰によって?]通常のパフォーマンスはまった反映されなかった[要出典]。

※この「MC68882」の解説は、「MC68881」の解説の一部です。
「MC68882」を含む「MC68881」の記事については、「MC68881」の概要を参照ください。

ウィキペディア小見出し辞書の「MC68882」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MC68882」の関連用語

MC68882のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MC68882のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMC68881 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのMC68881 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS