80x86
出典: フリー百科事典『ウィキペディア(Wikipedia)』
80x86またはx86とは、インテルが開発したマイクロプロセッサの命令セットやアーキテクチャであり、更にはこれをベースとした各社のマイクロプロセッサの総称である。
16ビットの8086で登場して上位互換性を持ち、32ビットの80386でほぼ完成し、現在のXeonやPentium Dual-Coreなどに続いている。
広義にはAMDなど各社の互換プロセッサや、x86をベースに64ビット命令などを追加した、AMD64やIntel 64などのx86-64(またはx64)も含める。ただしインテルでも互換性の無いIA-64系列などは含まない。
目次 |
[編集] 名称
初期のプロセッサ名称が「8086」「80286」「80386」「80486」と続いたため、総称して「80x86」、更には短縮して「x86」(エックスはちろく、ペケはちろく)、「86系」などと呼ばれるようになった。
類似用語の「IA-32」はIAがIntel Architectureの略称であるため、厳密にはAMDなどの互換プロセッサは含まない。また単に「IA」と呼ぶと、互換性の無い「IA-64」も含んでしまう。
x86はパーソナルコンピュータからサーバ、組み込みシステムまで広く使われている。このため従来「PCサーバ」や「IAサーバ」と呼んでいた領域を、「x86サーバ」「x86システム」と呼ぶベンダーが増えている。
[編集] 概要
1978年に発売された、16ビットのマイクロプロセッサである8086で初めて採用された。マイクロコントローラとして設計され、セグメントに制限が設けられていたが、メインメモリ空間は1MiBと当時としては広大な領域が設けられ、それとは別にI/O空間も設けられた。
1982年、IBMから8086の外部データバスを16ビットから8ビットに削減した8088を採用したIBM PCが発売される。IBM PCの後継となったIBM PC/ATの互換機(PC/AT互換機)は後年には単にPCと呼ばれるようになり、x86はPCの為のプロセッサと認知されているが、当時は短期間でIBM PCの開発が出来る既存の製品という点などから選定されたに過ぎない。
1985年には32ビットの対応への拡張が行われ、80386に採用された。
32ビット化の際マイクロプロセッサとして設計が見直された。16ビットで8086互換のリアルモードと、32ビットのプロテクトモード(ネイティブモード)を持つ。プロテクトモード中にも、仮想8086モードを持つため、複数の8086をエミュレートすることができる。また階層化された特権レベル(特権リング、4つの階層で構成される)は80286ではスケールダウンしたエミュレーターには使えたが、80386ではこれに加えて割り込みサポートを強化した結果、従来メインフレームクラスのコンピュータでしか利用できなかった仮想マシンモニタの実装を可能とし、後年になってVMwareを筆頭に仮想マシン環境をパソコンレベルで実現に至らしめた。後にIA-64命令セットが開発されたことで、32ビット拡張のx86アーキテクチャにはIA-32と固有の名称が与えられた。元祖の16ビットに留まる命令セット製品は、ほとんど存在せず改称などは行われていない。
80386をPCで最初に採用したのは、嫡流であるIBMではなく互換機メーカーのコンパックであった。
[編集] 製品群と世代
x86が採用されたマイクロプロセッサは多岐にわたり、世代も多く存在している。インテル自体の製造が需要に応え切れない可能性から、インテルは普及を目的にセカンドソースを推奨していたため、各社よりクローン製品が発売された。逆に8086に独自改良を加えたNEC V30などの製品には著作権法違反の警告が行われた。
- 第一世代 - 8086およびその派生。後に複数の互換製品が登場した。
- 改訂第一世代 - 80186およびその派生。後に複数の互換製品が登場した。
- 第二世代 - 80286。 後に複数の互換製品が登場した。この頃より、製造を拡充したインテルは、セカンドソースも認めない方針に転換した。しかし既得権として各社は引き続き製造を続行し、それに留まらず独自改良を行うメーカーも現われた。
- 第三世代 - 80386およびその派生。後に複数の互換製品が登場した。
- 第四世代 - 486およびその派生。後に複数の互換製品が登場した。
- 第五世代 ("P5") - PentiumおよびMMX Pentium。後に複数の互換製品が登場した。互換製品メーカーに対してインテルが訴訟を起こしており、以後、各社はそれ以前のインテル製品に改良を行った製品か、逆に独自に開発を行うようになった。インテルとのクロスライセンスを利用して合法的に互換のある製品も存在する。AMDは訴訟の和解条件として、独自なものを開発するようになった。
- インテル
- 第六世代 ("P6") - P6マイクロアーキテクチャ系。80x86固有の命令をRISC風命令(μOPS)に分解して実行する。Pentium Proおよびその派生であるPentium II、Pentium IIIと、それらをベースとしたCeleronやXeon。Pentium MおよびIntel CoreもP6に含まれると主張する人もいる。
- 第七世代 ("P7") - Itanium開発のため、P7マイクロアーキテクチャ開発はキャンセルされた。
- 第八世代 ("P8") - Pentium 4などのNetBurstマイクロアーキテクチャ系。
- 第九世代 - Nehalemと仮称されている製品が予定されていたが、NetBurstマイクロアーキテクチャの事実上の失敗により、その改良とされているNehalemは大幅な改良を余儀なくされた。代わりに本来モバイル向けの系統として開発されていたCoreマイクロアーキテクチャを主流とした。
- 第十世代 - Nehalemを再設計した新マイクロアーキテクチャ。Intel Core i7シリーズなど。
- 第十一世代 - Sandy Bridgeと仮称される新マイクロアーキテクチャの2010年発表が予告されている。
- 上述の「世代」に属さない製品
- Intel Atom - LPIA専用設計の最初のマイクロアーキテクチャ、インオーダ実行、同時マルチスレッディング実装。2008年発表。
- Larrabee - x86から派生した命令セットをシェーダーコアに採用したGPU、インオーダー実行。[1]
- AMD
- 第四世代 - Am4x86の他にAm5x86が発売された。
- 第五世代 ("K5") - AMD K5
- 第六世代 ("K6") - K6、K6-2、K6-III。
- 第七世代 ("K7") - Athlon、Duron。
- 第八世代 ("K8") - OpteronおよびAthlon 64系。
- 第九世代 ("K9") - K9と発音が同じ犬 (canine) から、Houndと呼ばれていた系統だと推定される。インテルと同様に方向性の失敗によりキャンセル。
- 第十世代("K10") - K9と同じ方向性で開発されていたK10もキャンセルされ、発売されたものはK8を小改良した製品だとされる。PhenomやK10に基づくOpteron、Sempronなど。
第五、第六世代の頃、Windows 95の発売にってIT関連のインフラ整備意欲が高く、インターネットバブルなど好景気で、インテルやAMD以外にも新規参入やインテルの訴訟対象にならない製品開発への転換も多かった。しかしほとんどが撤退してしまった。
- NexGen
- RiSE
- サイリックス
- Integrated Device Technology (IDT)
- 第六世代 - IDT-C6を開発。商品名はWinChip。技術的にはIntelのP5の世代。WinChipをC1として、C4まで開発が行われていたが、C3をWinChip3として発売した時点でVIAに買収される。
- VIA
- 第六世代 - 買収したCyrixのMIII(エムスリー)をCyrixIII(サイリックス・スリー)と改称して商品化。その後、IDTの技術系統からVIA C3を発売。その後、インテルとのライセンス切れによりC3を置き換えるC7を発売。
- 第七世代 - インテルとのライセンス切れにより、そのライセンスに拠らないC7を発売。基本的にはC3と特段の違いはない。
- 第八世代 - VIA製CPUとして初めてアウト・オブ・オーダー実行およびスーパースケーラ命令パイプラインを搭載したVIA Nanoを発売。
- トランスメタ
[編集] 主な拡張
ソフトウェア的な環境は、80386から下位互換性を保ちながら拡張されて来た。これらはユーザが使用可能な拡張については486以降のCPUではCPUID命令を発行することにより、どの拡張が有効であるかを知ることが出来る。
[編集] プロセッサ全体
- システムマネジメントモード 386SL以降
- プロセッサ内APIC Pentium以降
- メモリタイプ範囲レジスタ (MTRR) Pentium Pro以降
- ハイパースレッディング・テクノロジー Pentium 4の一部
- 高速システムコール命令
- デバッグレジスタ
- 64ビット拡張 Pentium4 PrescottコアE0バージョン以降
- マルチダイ・マルチコア Pentium D
- シングルダイ・マルチコア Intel Core・Intel Core 2
- プロセッサ内キャッシュメモリ i486以降
- スーパースケーラ Pentium以降
- 対称型マルチプロセッシング Pentium以降
- ライタブルコントロールストア Pentium Pro以降
- デュアルインディペンデントバス Pentium Pro以降
[編集] プロテクトモードに関する拡張
- 物理アドレス拡張 (PAE) Pentium以降
- ページサイズ拡張 (PSE) Pentium Pro以降
- 36ビットPSE (PSE36) Pentium Pro以降
- 40ビット物理アドレス拡張 XeonMP
[編集] 仮想86モードに関する拡張
- 仮想モード拡張 (VME) Pentium以降
[編集] 仮想マシンに関する拡張
[編集] 数値演算に関する拡張
- 浮動小数点演算機能の統合:486以降
- 高速な浮動小数点演算コンテクストのセーブ
- MMX:MMXペンティアム以降
- SSE:Pentium III以降
- 3DNow!:AMD独自のSIMD拡張命令
- SSE2:Pentium 4以降
- SSE3:Pentium 4、Prescottコア以降
- SSSE3:Xeon 5100, Core 2 以降
- SSE4:Xeon 5400, Core 2 Penrynコア 以降
- SSE5:AMD Bulldozerコア 以降。SSEで初のAMD独自命令。
[編集] 省電力に関する拡張
- Intel SpeedStep テクノロジ:Pentium IIIから搭載
- Cool'n'Quiet:AMDによる省電力機能実装
- PowerNow!:AMDによるモバイル向け省電力機能実装
[編集] 脚注
- ^ インテル (2008-03-17). "Intel Corporation's Multicore Architecture Briefing". 2008年4月16日 閲覧。

