MC68881 MC68881の概要

MC68881

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

ナビゲーションに移動 検索に移動
モトローラ 68881 FPU

概要

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のほとんどの命令と数値表現モードはハードウェアでサポートされていたが、一部サポートされないものもあった。これらはソフトウェアパッケージでエミュレーションを行うことでサポートした。


注釈

  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進数実数形式が演算可能である。


「MC68881」の続きの解説一覧




固有名詞の分類


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

辞書ショートカット

すべての辞書の索引

「MC68881」の関連用語

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

   

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



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

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

©2024 GRAS Group, Inc.RSS