コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
Wikippe
検索
検索
表示
ログイン
個人用ツール
ログイン
X86のソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
X86
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
要求した操作を行うことは許可されていません。
このページのソースの閲覧やコピーができます。
{{小文字}} {{Infobox CPU architecture | name = x86 (80x86) | designer = [[インテル]]/[[AMD]] | bits = [[16ビット]]/[[32ビット]]/[[64ビット]] | introduced = [[1978年]] | version = | design = CISC | type = Register-Memory | encoding = Variable (1 to 16 bytes) | branching = Condition code | endianness = Little | page size = 4 KiB | extensions = [[Intel 8087|x87]], [[IA-32]], [[P6マイクロアーキテクチャ|P6]], [[MMX]], [[Streaming SIMD Extensions|SSE]], [[SSE2]], [[64]], [[SSE3]], [[SSSE3]], [[SSE4]], [[SSE5]], [[Advanced Vector Extensions|AVX]] | open = No | gpr = <strong>16 bit</strong>: 6<small> semi-dedicated registers</small> + bp and sp;<br/> <strong>32 bit</strong>: 6<small> GPRs</small> + bp and sp;<br/><strong>64 bit</strong>: 14<small> GPRs</small> + bp and sp. }} '''x86'''または'''80x86'''は、[[インテル]][[Intel 8086|8086]]、およびその後継(32ビットでは[[IA-32]]、64ビットでは[[x64]])[[マイクロプロセッサ]]の[[命令セット]][[コンピュータ・アーキテクチャ|アーキテクチャ]]である。転じて、インテル社自身の製品に加え[[アドバンスト・マイクロ・デバイセズ|AMD]]などの互換プロセッサメーカーを含む各社の互換マイクロプロセッサや、それを利用した製品を指す総称としても使われる。 [[16ビット]]の[[Intel 8086|8086]]で登場し、[[32ビット]]拡張の[[Intel 80386|80386]](後に[[IA-32]]と命名された)を経て、[[64ビット]]拡張である[[x64]]の[[Xeon]]や[[Intel Core i7]]などに至るが、基本的な[[命令セット]]は[[互換性|後方互換]]を保っている。名称がまぎらわしいが[[IA-64]]は全く異なる。 == 名称 == 初期のプロセッサの型番が「[[Intel 8086|8086]]」「[[Intel 80186|80186]]」「[[Intel 80286|80286]]」「[[Intel 80386|80386]]」「[[Intel 486|80486]]」と続いたため、総称して「80x86」、更に短縮して「'''x86'''」(エックスはちろく、ペケはちろく)や「86系」などと呼ばれるようになった。これらは初期の8086から80286までの[[16ビット]]のプロセッサの俗称として始まって主にユーザーや互換チップメーカーによって使用され、[[Intel 80386|80386]]以後の[[32ビット]]のアーキテクチャ拡張を経て、[[64ビット]]に拡張された「[[x64]]」まで、[[命令セット]]の[[上位互換|上位互換性]]のあるアーキテクチャや製品のシリーズを広範に含んだ呼称として使用されている。またオリジナルのインテルの製品以外にも、[[アドバンスト・マイクロ・デバイセズ|AMD]]や[[VIA Technologies|VIA]]などの互換プロセッサも含まれる。 [[パーソナルコンピュータ]] (PC) から、[[スーパーコンピュータ]]、[[サーバ]]、[[組み込みシステム]]まで広く使われていることから、従来「[[PCサーバ]]」や「IAサーバ」と呼んでいたカテゴリーを、「x86サーバ」「x86システム」と呼ぶベンダーが増えている。 32ビットプロセッサの範囲では、x86と[[IA-32]]はほぼ同義語だが、「IA-32」は独自の64ビットアーキテクチャである[[IA-64]]との対比でインテルが使用した語のため、インテル社製の32ビットプロセッサのみを指す場合が多い。 == 歴史 == x86の歴史は、世界最初のマイクロプロセッサ[[Intel 4004|4004]]から、8ビットの[[Intel 8080|8080]]を経て、1978年に発売された16ビットマイクロプロセッサ[[Intel 8086|8086]]から始まる。8086は、8080とのバイナリ互換は無く、大幅に拡張されたものの、[[アセンブリ言語]]による[[ソースコード]]は大幅な書き換えなしで移植できるよう配慮されていた(そのためx86には、さらに過去からの影響が残った)。「セグメント」と称された(本物の[[セグメント方式]]とは異なる。[[セグメント方式#x86]]を参照)変則的なアドレッシングによってプログラミング上は不便ではあるものの、1[[メビバイト|MiB]]と当時としては広大な[[アドレス空間|メインメモリ空間]]をサポートし、それとは別に[[入出力|I/O]]空間も設けられた。1979年には、外部データバスを8ビットとし、当時普及していた8ビット用の周辺ICを使いやすくした[[Intel 8088|8088]]を発表した。 1982年、[[IBM]]から[[IBM PC]]が発売されたが、これに8088が採用されたことが、以後のx86の運命を決定した。IBM PCの後継となった[[PC/AT|IBM PC/AT]]の互換機([[PC/AT互換機]])は後年には単にPCと呼ばれるようになり、x86はPCの為のプロセッサと認知されているが、IBM PCの設計の時点では、1年間で開発を完了するために、安定して入手可能で周辺回路も既存品の使用が可能であること、などから選定されたに過ぎない。 [[Intel 80186|80186]]と[[Intel 80286|80286]]が1982年に発表された。80286は1984年から出荷され、[[プロテクトモード]]や24ビット(16MiB)のアドレス空間を持つなどしていたが、パーソナルコンピュータでは専ら[[リアルモード]]で、ほとんど「単に高速な8086」としてしか活用されなかった。 1985年には32ビットに拡張された[[Intel 80386|80386]]が発表された。後に[[IA-32]]と呼ばれることになるアーキテクチャの誕生である。 32ビット化にあたって、16ビット時代の[[マイクロコントローラ]]的な部分(特にその傾向が強かったのは80186)を見直し、[[メインフレーム]]と渡り合えるような、という意味で[[コンピュータ]]として再設計された。 80386は、8086ほぼそのままの[[リアルモード]]と、32ビットの[[プロテクトモード]]を持つ。さらにプロテクトモード中の[[仮想86モード]]により、従来の8086のプログラムを[[仮想化]]して実行できる。階層化された特権レベル(特権リング、4つの階層で構成される)は80286ではスケールダウンした[[エミュレーター]]には使えたが、80386ではこれに加えて割り込みサポートを強化した結果、従来[[メインフレーム]]クラスのコンピュータでしか利用できなかった仮想マシンモニタの実装を可能とし、後年になって[[VMware]]を筆頭に仮想マシン環境をパソコンレベルで実現に至らしめた。 後に[[IA-64]]の誕生に際し、32ビットx86アーキテクチャには[[IA-32]]の名称が与えられた。なお、16ビットアーキテクチャに対しては現在でも公式の名称は与えられていない。 80386を搭載したPCを最初にリリースしたのは、本家IBMではなく、互換機メーカーの[[コンパック]]であった。 その後、[[Intel486|486]]、[[Pentium]]と続き、64ビット化では最終的に[[x64]]アーキテクチャを採用し今日に至る。 インテル自身は、80386より古くから計画された「マイクロメインフレーム」[[Intel iAPX 432|iAPX 432]]、90年代にはRISCの[[Intel i860|i860]]と[[Intel i960|i960]]、2000年代には[[VLIW]](を改良した[[EPICアーキテクチャ|EPIC]]と称された)の[[IA-64]]といった、革新的アーキテクチャによりx86を置き換えようとしたが、ことごとく不成功に終わっている。結果としてx86は後付けの拡張を続け、64ビット化では互換CPUメーカーのAMDが定義した拡張を逆輸入までして、今日までインテルの主力アーキテクチャとして延命している。 == 製品群と世代 == x86が採用されたマイクロプロセッサは多岐にわたり、世代も多く存在している。インテル自体の製造が需要に応え切れない可能性から、インテルは普及を目的に[[セカンドソース]]を推奨していたため、各社よりクローン製品が発売された。 一方で独自に互換機能を実装した[[日本電気|NEC]] [[NEC Vシリーズ#V30|V30]]などの製品に対し、著作権を侵害しているとして訴訟を起こしたこともあったが、デッドコピーではないことから、著作権を盾にV30を阻止することは不可能であった。 *第一世代 - [[Intel 8086|8086]]およびその派生。後に複数の互換製品が登場した。 *改訂第一世代 - [[Intel 80186|80186]]およびその派生。後に複数の互換製品が登場した。 *第二世代 - [[Intel 80286|80286]]。 後に複数の互換製品が登場した。この頃より、製造を拡充したインテルは、セカンドソースも認めない方針に転換した。しかし既得権として各社は引き続き製造を続行し、それに留まらず独自改良を行うメーカーも現われた。 *第三世代 - [[Intel 80386|80386]]およびその派生。後に複数の互換製品が登場した。 *第四世代 - [[Intel486|486]]およびその派生。後に複数の互換製品が登場した。 *第五世代 ("P5") - [[Intel Pentium (1993年)|Pentium]]および[[MMX]] Pentium。後に複数の互換製品が登場した。互換製品メーカーに対してインテルが訴訟を起こしており、以後、各社はそれ以前のインテル製品に改良を行った製品か、逆に独自に開発を行うようになった。インテルとの[[クロスライセンス]]を利用して合法的に互換のある製品も存在する。AMDは訴訟の和解条件として、独自なものを開発するようになった。 *インテル **第六世代 ("P6") - [[P6マイクロアーキテクチャ]]系。80x86固有の命令をRISC風命令 (μOPS) に分解して実行する。[[Pentium Pro]]およびその派生である[[Pentium II]]、[[Pentium III]]と、それらをベースとした[[Celeron]]や[[Xeon]]。[[Pentium M]]および[[Intel Core]]もP6に含まれると主張する人もいる。 **第六世代のP6マイクロアーキテクチャを拡張した、[[Intel Core 2|Coreマイクロアーキテクチャ]]。 **Nehalemを再設計した新マイクロアーキテクチャ。[[Intel Core i7]]シリーズなど。 **Nehalemの後継である[[Sandy Bridgeマイクロアーキテクチャ]]。[[Streaming SIMD Extensions#Intel AVX|Advanced Vector Extensions]] (AVX) という新しいSIMD命令フォーマットが導入され、今後はこの命令フォーマットによりx86命令セットを置き換えていく予定。 **第七世代 ("P7") - [[Itanium]]開発のため、P7マイクロアーキテクチャ開発はキャンセルされた。 **第八世代 [[Pentium 4]]などの[[NetBurstマイクロアーキテクチャ]]系。 **第九世代 Nehalemと仮称されている製品が予定されていたが、マイクロアーキテクチャの方向性が変わったため中止。 **上述の「世代」に属さない製品 *** [[Intel Atom]] - [[インテル#LPIA|LPIA]]専用設計の最初の[[マイクロアーキテクチャ]]、[[アウト・オブ・オーダー実行|インオーダ実行]]、[[同時マルチスレッディング]]実装。2008年発表。 *** [[Larrabee]] - x86から派生した命令セットをシェーダーコアに採用した[[Graphics Processing Unit|GPU]]、インオーダー実行。<ref>{{Cite web |title=Intel Corporation's Multicore Architecture Briefing |url=http://www.intel.com/pressroom/archive/releases/20080317fact.htm |author=[[インテル]] |date=2008-03-17 |accessdate=2008年4月16日 }}</ref> *AMD **第四世代 - [[Am4x86]]の他に[[Am5x86]]が発売された。 **第五世代 ("K5") - [[AMD K5]] **第六世代 ("K6") - [[AMD K6]]、[[AMD K6-2]]、[[AMD K6-III]]。 **第七世代 ("K7") - [[Athlon]]、[[Duron]]。 **第八世代 ("K8") - [[Opteron]]および[[Athlon 64]]系。 **第九世代 ("K9") - K9と発音が同じ犬 (canine) から、Houndと呼ばれていた系統だと推定される。インテルと同様に方向性の失敗によりキャンセル。 **第十世代 ("K10") - [[AMD_Phenom|Phenom]]や[[AMD_Athlon_II|Athlon II]]、K10に基づく[[Opteron]]、[[Sempron]]など。 *[[NexGen]] **第五世代 - [[Nx586]]。バスやチップセットなどインテルと互換性がなく普及しなかった。 **第六世代 - [[Nx686]]。開発途中でAMDに買収される。AMDは開発中のK6を中止し、Nx686を改良した製品をK6として発売した。 *[[Rise Technology]] **第五世代 - [[mP6]]。インテルの第五世代の[[マザーボード]]が使用できる。数字が6なのは、インテルなど他社が第六世代に突入していたためと思われる。 **第六世代 - RiSE Tiger370。mP6に競争力が無く、今世代は製品化されていない。[[SiS]]にライセンス供与してRiSEは撤退した。 *[[サイリックス]] **第四世代 - [[Cyrix Cx486SLC|Cx486SLC]]、[[Cyrix Cx486DLC|Cx486DLC]]。386用のI/Oバスを持った第四世代のCPU。 **第五世代 - M1およびそれの派生コア、M2コアを採用した[[Cyrix Cx5x86|5x86]]、[[Cyrix 6x86|6x86]]、6x86MX、MII。 *[[IDT|Integrated Device Technology (IDT)]] **第六世代 - IDT-C6を開発。商品名は[[WinChip]]。技術的にはIntelのP5の世代。 *[[VIA Technologies|VIA]] **第六世代 - 買収した[[Centaur Technology]]のWinChip4を[[VIA_C3#Cyrix_III|Cyrix III]]と改称・設計変更して商品化。その後、[[VIA C3]]に名称変更。その後、インテルとのライセンス切れによりC3を置き換える[[VIA C7|C7]]を発売。 **第七世代 - インテルとのライセンス切れにより、そのライセンスに拠らないV4バスを採用したC7を発売。基本的にはC3と特段の違いはない。 **第八世代 - VIA製CPUとして初めてアウト・オブ・オーダー実行およびスーパースケーラ命令パイプラインを搭載した[[VIA Nano]]を発売。 *[[トランスメタ]] **第六世代 - 命令セットのみx86を採用した[[VLIW]]型CPUを開発。世代は全く関係なくここでの表記上の便宜的なもの。最初の製品として[[Crusoe]]を発売。低消費電力の先鞭を付けた。 **第七世代 - 後継の[[Crusoe#Efficeon|Efficeon]]を発売。しかし財務的に思わしくなく、チップ開発販売ではなくライセンス販売するように方針を転換した。 == 主な拡張 == [[ソフトウェア]]的な環境は、80386から下位互換性を保ちながら拡張されて来た。これらはユーザが使用可能な拡張については486以降のCPUでは[[CPUID]]命令を発行することにより、どの拡張が有効であるかを知ることが出来る。 === プロセッサ全体 === * [[システムマネジメントモード]] 386SL以降 * プロセッサ内[[APIC]] Pentium以降 * メモリタイプ範囲レジスタ (MTRR) Pentium Pro以降 * [[ハイパースレッディング・テクノロジー]] Pentium 4の一部と、Nahalemの一部 * 高速システムコール命令 * CMOV命令 Pentium Pro以降 * デバッグレジスタ * [[x64|64ビット拡張]] Pentium4 PrescottコアE0バージョン以降 * マルチダイ・マルチコア [[Pentium D]] * シングルダイ・マルチコア [[Intel Core]]・[[Intel Core 2]] * プロセッサ内[[キャッシュメモリ]] i486以降 * [[スーパースケーラ]] Pentium以降 * [[対称型マルチプロセッシング]] Pentium以降 * [[コントロールストア|ライタブルコントロールストア]] Pentium Pro以降 * [[フロントサイドバス|デュアルインディペンデントバス]] Pentium Pro以降 === プロテクトモードに関する拡張 === * [[物理アドレス拡張]] (PAE) Pentium Pro以降 * ページサイズ拡張 (PSE) Pentium以降 * 36ビットPSE (PSE36) DeschutesコアのPentium II/Pentium II Xeon以降 * 40ビット物理アドレス拡張 XeonMP === 仮想86モードに関する拡張 === * 仮想モード拡張 (VME) Pentium以降 === 仮想マシンに関する拡張 === * 仮想マシン支援 ([[x86仮想化]]) [[Intel VT]] - Pentium D以降 === 数値演算に関する拡張 === * [[浮動小数点数|浮動小数点]]演算機能の統合:486以降 * 高速な浮動小数点演算コンテクストのセーブ * [[MMX]]:MMXペンティアム以降 * [[Streaming SIMD Extensions|SSE]]:Pentium III以降 * [[3DNow!]]:AMD独自のSIMD拡張命令 * SSE2:Pentium 4以降 * SSE3:Pentium 4、[[Pentium 4#Prescott(プレスコット)|Prescottコア]]以降 * SSSE3:Xeon 5100, Core 2 以降 * SSE4.1:Xeon 5400, Core 2 Penrynコア 以降 * SSE4.2:Core i7 以降 * SSE5:AMD Bulldozerコア 以降。SSEで初のAMD独自命令。 === 省電力に関する拡張 === * [[Intel SpeedStep テクノロジ]]:Pentium IIIから搭載 * [[Cool'n'Quiet]]:AMDによる省電力機能実装 * [[PowerNow!]]:AMDによるモバイル向け省電力機能実装 === その他 === * [[インテル ターボ・ブースト・テクノロジー]]:[[Intel Core i5|Core i5]]、[[Intel Core i7|Core i7]]の一部。熱容量、電力容量の許容範囲内で、CPUクロックを規定より上げる。 * [[AES-NI]] (AES instruction set):[[Advanced Encryption Standard|AES]]の高速化。Nahalemの一部以降で対応 * [[Trusted Execution Technology]]:[[Trusted Platform Module]]対応 * [[Pentium FDIV バグ]] == 脚注 == <references /> == 関連項目 == *[[IA-32]] *[[x64]] == 外部リンク == *[http://www.computerworld.jp/topics/mcore/121329.html x86プロセッサの 「これまで」と「これから」]{{リンク切れ|date=2012年10月}} *[http://ascii.jp/elem/000/000/466/466739/ x86 CPUの進化を拡張命令のロードマップでひもとく] *[http://japan.cnet.com/special/ent/story/0,2000056934,20346995,00.htm CNET - 30周年を控えるx86アーキテクチャ--「愛され続ける」その理由] {{Processor architectures}} [[Category:X86アーキテクチャ|*]] [[Category:マイクロプロセッサ]] [[Category:インテルのマイクロプロセッサ]]
このページで使用されているテンプレート:
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Infobox CPU architecture
(
ソースを閲覧
)
テンプレート:Processor architectures
(
ソースを閲覧
)
テンプレート:リンク切れ
(
ソースを閲覧
)
テンプレート:小文字
(
ソースを閲覧
)
X86
に戻る。
検索
検索
X86のソースを表示
話題を追加