Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

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

Intel 8087

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/22 13:43 UTC 版)

Intel 8087は、インテル16ビットCPUi8086およびi8088のために用意されていた数値演算コプロセッサ。インテル製としては初の数値演算コプロセッサである。8087を装着することによって、プログラムの処理内容にもよるが、20% - 500%の性能改善が期待できた。

Intel 8087

8086は数値演算に関して、整数演算命令しか備えていないため、8086だけで浮動小数点演算を行うには別途ライブラリを用意する必要があった。8087を8086の搭載されたコンピュータに装着すると、IEEE 754形式の浮動小数点計算の命令をあたかもひとつのCPUで実行しているかのように使うことができるようになる。8087は8086と共通のバスに接続され、8086の実行する命令を常時監視する。8086では無効命令 (ESC) となる浮動小数点計算の命令を検出すると、8086側で発生する適切なアドレスモードにより追加OPコードおよびオペランドを自身内部にロードし、浮動小数点命令を処理する。8087によって新たに利用できる命令はFADD(加算命令)やFMUL(乗算命令)など68個。8087は8086が命令実行中でも独立して動作することができるが、8087の命令実行が完了してから次の命令を実行させないと誤動作する。それを回避するため8086には、8087の命令実行完了を待つWAIT命令がある。既出のFADDやFMULなどの前にはWAIT命令が必要となる[1]

8087などのインテル製の数値演算コプロセッサ (x87) は、AX - DXのようにプログラマが随時指定できる汎用レジスタではなく、8レベルの80ビット浮動小数点レジスタスタックを持ち、演算命令はスタックトップの1つまたは複数の値を対象として、結果もスタックトップに残し、ロード・ストアも原則的にスタックトップに対して行うスタックマシンである。

同社が8087を設計した当時、将来の浮動小数点形式の標準となることを目指していた。実際、IEEE 754のx86向け実装の標準となることができた(厳密にはIEEE 754と8087/80287の実装の間には非互換部分が存在する)。8087を使うと、7種類のデータ型、つまり、32もしくは64ビットの浮動小数点データ型を利用でき、内部演算には長大で複雑な演算の誤差を少なくするために80ビットのデータ型を使っていた。その他、80ビットのうちの72ビットを使った18桁のBCDデータ型と16、32、64ビットの整数型を利用できた[2]

1980年に発表された8087は、8028780387DX (80387SX)、80487SXへと発展していった(ただし80487は実質的に80486DXと等価であり、実装されると80486を停止させすべての処理を80487が行うため、コプロセッサと呼ぶのは正しくない)。1980年代に「x87」といえばこの拡張コプロセッサシリーズを差し、さらに「x87命令」といえばこのコプロセッサに搭載された浮動小数点演算などの命令を指した。しかし80486DXやそれ以降のPentiumなどではCPUコア内にコプロセッサが内蔵されるようになったため(命令は外部プロセッサ時代と共通)、現在ではそれら内蔵の演算ユニットを指して「x87」と言うことがある。Pentium以降のCPUでも内蔵されてはいるが、AMD64アーキテクチャでは浮動小数点演算にx87ではなくSSE/SSE2が基本命令として使われるようになった。x87の存在を前提に書かれたプログラムの互換性維持のため、CPUメーカーによるx87命令のサポートは続いている。

日本電気 (NEC) のPC-9801PC-100京セラOEM)やIBM PCなど、8086を搭載したコンピュータの多く(アイ電子機器ai-M16、日立MB-16001、キヤノンAS-100、三菱電機Multi-16N5200モデル05、精工舎 SEIKO 9500、三洋電機 MBC-5030、東京芝浦電気PA 7020、日本ユニバック UP10Eモデル40など)[3]には、8087を挿すことができるソケットが用意されていた。

関連項目

脚注

  1. ^ 浅野泰之、壁谷正洋、金磯善博、桑野雅彦「第5章 8087(数値演算プロセッサ)」『PC-9801システム解析(下)』アスキー、1983年12月1日、156頁。ISBN 4-87148-715-6 
  2. ^ 16-bit_ucom 1983, p. 87.
  3. ^ 16-bit_ucom 1983, p. 281-284.

参考文献

  • Intel, 1989 Intel Microprocessor and Peripheral Handbook_Vol_1, 1989, ISBN 1-55512-041-5
  • Intel, 80387 Programmers Reference Manual 1987, 1987, ISBN 1-55512-057-1 (Appendix C に IEEE 754 仕様と 8087/287 の非互換部の説明がある)
  • 田辺皓正編著『マイクロコンピュータシリーズ15 8086マイクロコンピュータ』丸善株式会社、1983年4月30日。 

Intel 8087

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/20 20:33 UTC 版)

x87」の記事における「Intel 8087」の解説

詳細は「Intel 8087」を参照 8087インテルによって設計され最初16ビットプロセッサ数値演算コプロセッサインテルでの呼称NDP; Numeric Data Processor)。これはIntel 8088または8086セット組まれていた。以下のような演算が可能である。 算術演算 加算減算乗算除算平方根絶対値など 超越関数 tan, arctan, 2x-1, y*log2x, y*log2(x+1) 定数ロード 0, 1, π, log102, loge2, log210, log2e

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

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



固有名詞の分類


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

辞書ショートカット

すべての辞書の索引

「Intel_8087」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS