80386DX と 80387DX

2025-02-12 23:24 — asano

テーマ

カテゴリー

今回のものは一世を風靡したプロセッサです。


Intelの80386DXです。80386には16ビットバスの80386SXと、32ビットバスの80386DXがあり、これは後者です。

これの前の80286は高速な8086として使われることがよくありました。

拡張された16Mバイトのメモリ空間を活用するためにはプロテクトモードを使用(専用のOSも必要)しなくてはならず、このモードではMS-DOS用の過去のソフトウェアを実行することができません。モードは自由に行き来は出来ないので、過去のソフトウェア資産を捨て去ることができない(多くの)人はせっかくのプロテクトモードを活用できませんでした。

一方、80386では仮想86モードというプロテクトモードにいながら8086互換の環境を用意することが可能になりました。これを利用してMS-DOS環境にソフトウェアEMSを提供するEMSマネージャがありました。

80286までのEMSマネージャはMS-DOSの中で動作するデバイスドライバですが、80386以降のそれはプロテクトモードで動作するハイパーバイザのようなものでMS-DOSはその中で動作します。

さらにMS-DOSからプロテクトモード用のユーザプログラムを実行するDOSエクステンダなどもありました。

これらを活用することで4Gバイトまで拡張されたメモリ空間を活用することができました。もっとも当時は数Mバイト程度のメモリしか実装できませんでしたが。

メモリ空間以外でもレジスタ長が32ビットに拡張されたり、セグメントレジスタが6つに増えたり、命令が拡張されたりしています。これらはプロテクトモードでなくても利用できます。


パッケージは132ピンPGA(QFPもあり)です。マルチプレックスされていない32ビットバスなのと、電源ピンが多いためにこんなことになっています。

また80286まではクロックジェネレータやシステムコントローラが別に必要でしたが、80386では内蔵しています。


これはA80387DX 16-33、浮動小数点演算プロセッサです。80486DXからは内蔵されましたが、80386世代ではまだオプションです。

80387は80287と比較していくつか命令が追加されています。またこの80387からIEEE754に完全に準拠したらしいですが、この辺り詳しくないので詳細は不明です。


これは68ピンPGAです。80287までは40ピンDIPでしたが、32ビットのデータバスと電源ピンが多いことで68ピンになりました。この辺りの事情は80386DXと同様です。

ところで386DX/387DXは家では使ったこと無いんですよね。80386SX搭載のPC-386NOTE Aから80486DXへ移行してしまったので。

参考文献・関連図書
Intel386DXデータシート, Intel.
Intel387DXデータシート, Intel.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。