Intel 80286
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Intel 80286(いんてる はちまるにいはちろく)はインテルの16ビットCPU。IBMのPC/ATおよびその互換機によって広く普及したDOS時代の代表的なPC用プロセッサであった。
目次 |
[編集] 概要
1982年2月1日に発表、1984年から6MHz版と8MHz版が出荷された。134,000個のトランジスタを集積した1.5μmのNMOSプロセス(インテルの呼称だとHMOS-III)で製造され、クロック周波数は 6,10,12MHz があった。パッケージには68ピンPLCC、LCC、PGAがあった。
8086とソフトウェアの上位互換性を持ち、より高速(同クロック8086比で約2.5倍)に命令実行可能。また、物理メモリ空間が16MBに拡張され、1GBの仮想記憶やマルチタスク処理に対応している。 また、インテルはこのモデルまではセカンドソース推進戦略を採用したため、AMD、富士通、シーメンス、ハリスからもセカンドソース品が供給された。特にAMDとハリスは、ライセンスが受けられない386に対抗するため、16MHz~25MHzといった、より高クロックの286を市場に投入した。後述するようにDOSで動作させる限り、同一クロックの386よりも高い実行速度が得られたからである。
時折「正式名称は iAPX286 である」という解説をなされることもあるが、これは誤解がある。CPU チップ本体である i80286 は単体でシステムを構成することができず、i80284 クロック生成器や i80288 バスコントローラと組み合わせなければメモリや I/O をつなぐこともままならない。iAPX286 とはこれら周辺チップを包括した「Microcomputer System」に対して与えられた名称であり、チップ単体の正式な名称はやはり i80286 である。
[編集] 対応ソフトウェア
80286で、リアルモードとプロテクトモードに分かれる基本的な仕組み、およびマルチタスクオペレーティングシステムを実装する際に必要な命令群が拡張され、その後の32ビットCPUへ繋がる基礎ができあがった。インテル自身が用意した専用のリアルタイムOS iRMX286はプロテクトモードで動作しており、開発用のプログラミング言語 PL/M286もプロテクトモードの実行ファイルを生成できた。また マイクロソフトからは 286上で動作するUNIX互換OSであるXenixが提供されていた。
インテル社自身は x86 ファミリーを工業/制御用として位置づけており、80286はたとえプログラムにバグがあっても暴走しない(バグを検出して動作を停止する)超高信頼性が要求される用途、すなわち航空宇宙や原子力産業への採用を考慮して設計された。インテル純正の 286 ソフトウェアが工業用に偏っているのもその方針に沿ったものである。煩雑なほどのメモリアクセス制御機構もリアルモードに戻れない命令仕様も、すべて信頼性第一という設計方針に基づいたものであり、一般用途向けの高機能プロセッサとしては iAPX432 が x86 ファミリーにとって代わる目論見であった。
しかし432プロジェクトは遅延し、また何よりIBM PC系パソコンに搭載され既に圧倒的なシェアを築きつつあった8086/8088とソフト互換性がないことから、IBMが1984年に後継機種PC/ATを発表したとき、少なくともリアルモード互換性を持つ80286を採用したのは当然のなりゆきだった。しかし当然のことながら本来制御用として設計されたプロテクトモードを生かした一般向けのオペレーティングシステムは普及しておらず、80286はもっぱら高速な8086としてPC-DOS(MS-DOS)上で利用されることが多かった。
なお、MS-DOS上で80286の仮想マシン機能が使用された例としては、シャープのMZ-2861上のPC-9801エミュレーション機能や、一部の仮想メモリ機能を利用したEMSメモリボード等が挙げられる。また(本来はCPU設計上のミスなのだが)リアルモードのままでもアドレス演算の桁あふれを利用して 64K バイト程度の上位メモリを参照することが可能であり、HMA と呼ばれメモリ枯渇に苦しむ DOS ユーザーにわずかな救いとなった。
[編集] OS/2の登場と失速
3年後の1987年にIBMとマイクロソフトが共同で開発した80286用オペレーティングシステムのOS/2が出荷されたが、主としてビジネスPC向けの製品であることと、特にPC-DOSプログラム実行時のフリーメモリの不足と速度低下の著しさから一般にはあまり普及しなかった。
- (注) この点はOS/2 2.xからは大幅に改善されている
80286を高速版8086として用い、さらに仮想記憶機能を生かすためにはリアル/プロテクトモード間を往復することが必要である。しかし80286にはプロテクトモードからリアルモードへの復帰命令が無く、復帰にはCPUのリセット信号線を有効にするしかなかった。
そのため、IBMを初めとする各PCベンダは苦肉の策として、特定のI/Oポートを叩くことによりCPUのリセットパルスを発生させる回路を組込み、ソフトウェアからハードウェアリセットを行えるようにした。BIOSなどの初期化プログラムの中で通常のハードウェアリセット(電源ONまたはリセットスイッチ押下)と前述のソフトウェアリセットを区別し、初期化方法を切り替えるという処理は無駄時間が多い。結果的に(OS/2に限らず)80286を用いたリアル/プロテクトモード間のスイッチングは非効率的なものとなった。次世代のi386以降はこの反省から両モード間を任意に往復できる機能を備えるに至った。この点と仮想8086モードを欠くことにより80286はMicrosoft Windows 3.0以降PC用OSのサポートから外され、PC用プロセッサ市場から退くこととなった。
[編集] 周辺LSI
- 80286と協調して働くように準備された数値演算コプロセッサは80287 NPXで、8086用のコプロセッサである8087と異なりI/Oポート (00f8H ~00fdH) を用いてデータや命令のやり取りを行う方式を取ったため、演算速度は概して遅いものであった。こちらのパッケージは40ピンDIPである。
- i82284 クロック生成器
- i82288 バスコントローラ
- i82289 バス調停器
- μPD71071 DMAコントローラ
[編集] その他
一般には8086と68000がライバルとして比較される事が多いが、OSサポート機能、メモリ空間などのプログラミングモデル、実装されている機能から、80286になってやっと68000と比肩する機能を得たといえる。(但し演算速度については80286が68000のほぼ倍程度の性能を有している)
[編集] 参考文献
- インテルジャパン、CQ出版社 1984 80286プログラマーズ・リファレンス・マニュアル ISBN 4-87185-605-4
[編集] 関連項目
インテルのプロセッサ一覧 |
---|
4004 | 4040 | 8008 | 8080 | 8085 | 8086 | 8088 | iAPX 432 | 80186 | 80188 | 80286 | 80386 | i486 | i860 | i960 | Pentium | Pentium Pro | Pentium II | Celeron | Pentium III | StrongARM | XScale | Pentium 4 | Pentium M | Pentium D | Pentium E | Pentium Extreme Edition | Xeon | Core | Core 2 | Itanium | Itanium 2 (x86プロセッサ以外は斜体です) |