Intel 80386(またはi386)はインテルの32ビットマイクロプロセッサ(CPU)である。1985年10月に発表され、x86アーキテクチャを32ビットに拡張し、レジスタを強化した。インテルが現在使用している名称はIntel386プロセッサ (Intel386 Processor) である。互換CPUにも386の型番が付くものがある。アーキテクチャとしてのi386については、x86およびIA-32の項目も参照のこと。1985年の発表当初の名称はIntel 80386であった。80386専用の数値演算コプロセッサには80387がある。仕様上は80287も使用できるようになっている(単純な差し替えはできず、そのように設計されている必要がある)。1988年に80386SX(SXはSingle-word eXternal、つまり16ビット外部バスを意味する) が80386シリーズに加わった際に、従来の32ビット外部バスのプロセッサには区別するためにDXをつけてIntel 80386DX(DXはDouble-word eXternal、つまり32ビット外部バスを意味する)と改名した。また、インテルが80386からセカンドソースを廃止したため、Am386などの互換プロセッサが出現し、その対策もありi386DXと呼ばれるようになった(数字だけでは商標として保護できないため)。ごく初期の製品では32ビット演算が正しく行われない、仮想86モードが動作しないという不具合も知られている。PC-9800シリーズ初の32ビット機「PC-98XL」に採用された例では、32ビット機能がオプション扱いになっており、別途「機能拡張プロセッサ」(実態は修正された80386そのもの)を買って置き換えることで32ビット機能を提供するという仕様だった。そのようなことができたのも当初は80286と同様に主として高速な8086/V30として使われていたからだが、80386で採用された32ビット命令セットや仮想86モードはやがて多くのオペレーティングシステムで徐々に使われるようになっていった。その後のインテルの32ビットCPUのベースとなる命令セットアーキテクチャ(後にIA-64登場時にIA-32と呼ばれる)が、このCPUで確定した。プロテクトモードとリアルモードの二つの異なる動作モードを備える。80286ではいったんプロテクトモードに入るとリアルモードに戻すにはリセットが必要であったのに対し、80386ではリアルモードとプロテクトモードを行き来することができる。また、プロテクトモード上で複数の8086を仮想的に動作させる仮想86モードが追加された。汎用レジスタは32ビットに拡張された。32ビットレジスタはEAX、ESIのように従来の16ビットレジスタ名に「E」をつけて呼ばれる。従来の16ビットレジスタに上位16ビットを拡張した形で用意されており、下位16ビットは従来通りの16ビット/8ビットレジスタとしてもアクセス出来る。上位16ビットを16ビットレジスタとして命令に使用することは出来ない。セグメントレジスタは従来のCS、DS、ES、SSの4個にFS、GSが追加された。プロテクトモード上ではセグメントレジスタは単にセグメントアドレスを格納するのではなく、メモリ上のセグメントディスクプリタを指すためのセレクタとなっており、セグメントレジスタは16ビットのままである。既存の命令が32ビット演算に対応したほか、多くの新命令が追加された。レジスタの直交性が増し、従来「AX は演算用」「SI、DIはメモリ操作用」など用途別に対応命令が細かく分化していたEAX、EBX、ECX、EDX、EBP、ESP、ESI、EDI合計8個の「汎用レジスタ」がほぼ均等に扱えるようになり、コンパイラ言語への対応が容易になった。レジスタ及び命令の拡張はCPUのモードとは独立したもので、プロテクトモード・リアルモードの別なく使用可能である。従って、リアルモードでも32ビットプロセッサとして動作し、32ビットアドレッシングによりリニアにメモリアクセスが可能である。また、ハードウエアによるデバッグ支援機能が追加され、DR0からDR7のデバッグレジスタを備える。32ビット化に併せて論理・物理アドレス空間も4GB(32ビット)に拡張され、セグメントサイズも最大4GBに拡張された。従って、セグメント機構の無いプロセッサ同様のフラットメモリモデル(リニアメモリモデル)で全メモリ空間が使用可能である。また可変長のセグメントに加えて固定長のページ単位によるメモリ管理も追加され、近代的なOSの実装が容易になった。x86アーキテクチャCPUとしては、複数の並列ステージ(Intel386 では6 ステージ)を持つ最初のインテル・アーキテクチャ・プロセッサとなった(初めての「パイプライン」ではないことに注意。80286は80386と同じ4段パイプライン構成)。80386のパイプラインは4段で構成されている。命令の実行は全てマイクロコードで実現されており、複数サイクルの時間を要する。また、複雑な命令の場合はデコードで所要サイクルが増加した。開発コード名P9。命令セットは80386と互換性があるが、外部アドレス幅を24ビット (16MB)、外部データバスを16ビット幅に縮小し、システム(システム基板、メモリを含む)のトータル的なコストダウンと、既存の80286搭載パーソナルコンピュータ (PC) をほとんど仕様変更せずにCPU換装を可能として、当時急速にシェアを拡大しつつあったAMDなどのセカンドソース版80286、特にIntelが提供していなかった16MHz版Am80286などの高クロック周波数動作対応モデルを市場から駆逐することを念頭に置いて設計されたCPUである。特にメモリのバス幅が狭いことからプロテクトモードの利用は性能の低下が激しかったが、それでもこのCPUを採用することで、PCメーカーは従来の80286マシンをわずかな手直しを施すだけで「32ビットマシン」として販売することが可能となり、またユーザー側にもMicrosoft Windows 3.1(日本語版)の動作が可能になる、あるいは後述するようにDOS環境でも1MB以上のメモリ空間にマッピングされるプロテクトモード対応増設メモリ(XMSメモリ)を仮想86モードの下でEMSメモリとして割り当てて使用可能となるなど、80286使用時と比較してメモリ利用の自由度が上がるというメリットがあったため、一時は広く普及した。80386SXをベースに、システムマネジメントモードを追加し、サスペンドやレジューム機能などに対応させたCPU。現在のモバイル用CPUの先駆けといえる。また、日本電気がインテルに発注して製造された、PC-9800シリーズアーキテクチャ専用のCPU、80386SL(98)もある。80386SL(98)にはi386SLロゴの下にPC-98ロゴも入っており、PC9800 NECと打刻されている。通常版にはPC9800 NECの代わりにISAと打刻されている。80376は、組込機器用のマイクロコントローラである。80386SXに基づいているものの、リアルモードを実装しておらず、ブート時からプロテクトモードで動作する。80386EXは、フルスタティック設計の80386SXコアとした組込機器用のマイクロコントローラ。クロック、システムマネージメント、タイマーカウンター、ウォッチドッグタイマー、同期/非同期シリアル入出力、パラレル入出力、DMAコントローラ、DRAMリフレッシュ、JTAG検査ロジックなどの周辺回路を混載し、フットプリントと消費電力とコストの低減を図っている。386SL(386SX)ベースのIBM改良版。内部32ビット、外部データバス16ビットのまま、内蔵キャッシュ8Kを搭載。IBM PS/2 などに搭載。インテルは80386からセカンドソースを廃止したが、IBMはインテルとの提携により、80486までは製造ライセンスを持っていた。名称の「C」はCacheの略とも言われる。IBM 386SLCのダブルクロック版。例えば386SLC2-50/25は、ベースクロック25MHz、内部クロック50MHzで稼働する。PS/Vなどに搭載。IBM 386SLCの改良版。内蔵キャッシュ16Kを搭載。内部32ビット、外部データバス16ビットのまま、内蔵キャッシュ16Kにより486SXと同レベルの性能を実現。ThinkPadなどに搭載。名称より「486SXのIBM改良版」との誤解が多いが、コアは386SL(386SX)ベースである。IBM 486SLCのダブルクロック版。内部32ビット、外部データバス16ビット、ダブルクロックのまま、内蔵キャッシュ16Kを搭載。PS/V、ThinkPadなどに搭載。32ビットCPUとして登場したものの、当初のPC市場にはその機能を活用できるOSは存在しておらず、単に高速なx86CPUとして、主にMS-DOS環境で使われる場合が多かった。その後、80386のアーキテクチャを前提として新たに開発された32ビットOSとして、OS/2 2.0やMicrosoft Windows NTが市場に登場するが、その頃には既に80486が登場しており、80386は下位機種向けで外部16ビットバスの386SXが主流となりつつあった。外部16ビットのシステムで32ビットOSを動かすには力不足が明白であり、結果的により高速なIntel 486やPentiumプロセッサがその後を受け継ぐこととなった。MS-DOS環境における利点は、メモリマネージャとよばれるソフト(EMM386.EXE等)によって仮想86モードへと移行し、高速・広帯域のプロテクトメモリを転用してEMSメモリをハードウェアEMSと同等、またはそれ以上の性能で実現できたことである。しかしこれも本来の80386の機能・スペックからすると中途半端な使い方であり、80386本来の機能を活かし切るには程遠いものであった。また仮想86モードの使用はI/Oアクセスなどの際にトラップを発生させ、その処理と復帰に数十サイクル程度の時間を要するため、25MHzや33MHzの80386であっても、処理によっては12MHzの80286と大差ない状況や、場合によってはむしろ劣るといった状況をも招いてしまうこともあった。ただし、通常の演算処理やメモリ操作に関しては、CPUおよびメモリの駆動クロックの差が実効性能に反映されるため、これは都合の悪い処理をピンポイント的に繰り返した際の話にすぎない。80386用に改良されたOSとして以下が登場した。80386搭載PCは「高額」とは言っても、当時隆盛していたRISCワークステーション等よりは大幅に安価であったため、より大規模なシステムで利用されていたUNIXなどの32ビットオペレーティングシステム環境をこれら安価なパーソナルコンピュータに移植する試みが、80386の登場によって始められた。1988年には当時既にSPARCプロセッサを搭載するSUN-4を製造販売していたサンマイクロシステムズがSUN386iと称する、SUN OS 4.0の386対応版を搭載するワークステーションを発表し、低価格であるだけでなく、当時のSPARC搭載機では困難であった、MS-DOS環境とSUN OS環境の共存を制限付きながら可能とするなど、当時のRISCプロセッサ搭載機にはない新しい機能についての提案を行った。その後、386BSD(後のFreeBSDおよびNetBSD)やLinuxなど、今日の代表的なPC-UNIX系環境の移植やビルドが始められたが、その理由や動機は、80386の登場によってパーソナルコンピュータがこれらの近代的な32ビットオペレーティングシステム環境を実現するだけの機能や性能を持ちえるに至ったからに他ならない。下記の説があるが、IBM PS/2は初期モデルより80386も搭載しており、正しくない("IBM PS/2#モデルを参照")。PS/2とOS/2の混同と思われる(Windowsを持つマイクロソフトはOS/2 1.x を最初から80386専用に希望し、IBMは広く80286以上に希望した。PS/2で80386を搭載しなかったのではない)。80386で実装された32ビット命令(のちのIA-32命令)は、登場から20年以上が経過したが、現在のCore 2を始め、AMD,VIAが発売しているx86系のさまざまな互換CPUにおいても継承され続けており、ほとんどのパーソナルコンピュータと多くのサーバで採用され続けている。80386の命令アーキテクチャは、組み込みシステムで圧倒的なシェアを誇るARMアーキテクチャと並び、これまでに最も普及した命令アーキテクチャと言える。近年のIA-32プロセッサは命令アーキテクチャが大幅に拡張されており、SSEなどのSIMD命令も付加されているが、386由来の命令も依然として使われている。2006年現在においても80386は少量ながら製造されている。主な用途は軍事向けで、有名な物としてパトリオットミサイルに搭載されている(正確にはミサイル本体(MIM-104)ではなく、地上装置であるECS及びICCの兵器管制コンピュータEWCC(Enhanced Weapon Control Computer)に搭載されている)。日立のキャリア向けルーターGRシリーズにも採用された。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。