この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "X86"
x86 (80x86)開発者インテル
AMD
ビット数16ビット, 32ビット, 64ビット
発表1978年
デザインCISC
タイプRegister-Memory
エンコードVariable (1 to 15 bytes)
ブランチCondition code
エンディアンLittle
ページサイズ386:4KB
Pentium:4MB
x64:1GB
拡張x87, IA-32, MMX, SSE, SSE2, x64, SSE3, SSSE3, SSE4, AVX, AES, VT-x, VT-d, SVM
オープン非公開
レジスタ
汎用16 bit: 6 semi-dedicated registers + bp and sp;
32 bit: 6 GPRs + bp and sp;
64 bit: 14 GPRs + bp and sp.
x86(エックスはちろく[1])は、Intel 8086およびその命令セットアーキテクチャ、およびそれと互換性を備えた命令セットを持つマイクロプロセッサ群の総称。広義にはインテル以外のメーカー(AMDなど)の互換プロセッサも含む。広義にはx86と互換性を保ちつつAMDによって64ビットに拡張されそれにインテルが追随し世に普及したx64(x86-64)アーキテクチャも含む。
初期は純粋なスカラープロセッサであったが、1997年にマルチメディア等のデータ処理のためにベクトル計算の機能を取り込んだ以降はハイブリッドなプロセッサとして進化を続けている[注 1]。 この命令セットアーキテクチャをもつプロセッサの型番が、最初の段階で「8086」、「80186」、「80286」、「80386」、「80486」と続いたため、総称して「80x86」、更に型番の下2桁が共通するところから「x86」(エックスはちろく、ペケはちろく)や「86系」などと呼ばれるようになった。これらは初期の8086から80286までの16ビットのプロセッサの通称として始まって主にユーザーや互換チップメーカーによって使用された。同時期のモトローラのライバル的MPU「MC68000」とそのファミリーがやはり型番から「68系」と呼ばれたので、それと対比するためにも使われるようになった。 最初である8086は、1978年にインテルがリリースした16ビットのものであった。その8086、およびそれを多少改良したIntel 8088が、1980年代前半にIBM PCなどに採用された。これにより、パソコンなど小型コンピュータのデファクトスタンダードとして広く普及した[2]。1985年リリースの80386 (i386) は32ビットに拡張した。さらに2000年には、AMDが64ビットへ拡張する計画を発表し、2003年に発売した。インテルもそれに追随し、''x64'' (x86-64) が普及した。「#歴史」も参照 なお、x86-64あるいは単にx64が登場した直後の移行期は、移行の必要性を訴えたり、移行作業を行ったりする都合上、なかんずくx64という用語は、主にx86と対比し、区別するために用いられた。つまり、32ビットのものと64ビットのものを対比し、区別するために使われていた。その後、64ビットのものが普及するにつれて、「x86」でx86-64まで含めた総称として使うような語法も見られる様になった。その結果「x86」という場合、16ビットから64ビットまで、ともかく最初の8086の命令セットアーキテクチャと互換性を備えた命令セットを持つプロセッサ群を広く指す総称として使用されるようになっている。AMDやVIAなどの互換プロセッサも含まれ、さまざまなメーカーによってさまざまなブランド、型番のものが販売されてきた。「#製品群と世代」も参照 パーソナルコンピュータ (PC) からスーパーコンピュータ、サーバ、組み込みシステムまで広く使われていることから、従来は「PCサーバ」や「IAサーバ」と呼んでいたカテゴリーも「x86サーバ」や「x86システム」と呼ぶベンダーが増えている。 32ビットアーキテクチャに範囲を限れば、「x86」と「IA-32」はほぼ同義である。[注 2] なお、インテルのItanium(アイテニアム)プロセッサで使われているIA-64は、x86とは互換性のない、別の設計の64ビットアーキテクチャであるので区別するのが望ましい。Itaniumプロセッサは、「x86エミュレーションモード」を備えてはいるがx64によるLongモードという名称の互換モードでのネイティブ実行と比較すると低速である[3]。 インテルによって1971年に発表された世界最初のマイクロプロセッサ4004や、1974年に発表された8ビットの8080は前史に当たる。 x86自体の歴史は、1978年に発売された16ビットマイクロプロセッサ8086から始まった。8086は、8080とのバイナリ互換は無く、大幅に拡張されたものの、アセンブリ言語によるソースコードは大幅な書き換えなしで移植できるよう配慮されていた。同時にx86には、さらに過去からの影響が残った。「セグメント」と称された変則的なアドレッシング機構を備えてプログラミング上は不便ではあるものの、1MiBと当時としては広大なメインメモリ空間をサポートし、それとは別にI/O空間も設けられた。1979年には、外部データバスを8ビットとし、当時普及していた8ビット用の周辺ICを使いやすくした8088を発表した。 1982年、IBMからIBM PCが発売されたが、これに8088が採用されたことが、以後のx86の運命を決定した。IBM PCの後継となったIBM PC/ATの互換機(PC/AT互換機)は後年には単にPCと呼ばれるようになり、x86はPCの為のプロセッサと認知されているが、IBM PCの設計の時点では、1年間で開発を完了するために、安定して入手可能で周辺回路も既存品を使用できること、OSを含むソフトウェアが調達可能であること、などから選定されたに過ぎない。 80186と80286が1982年に発表された。80286は1984年から出荷され、プロテクトモードや24ビット (16MiB) のアドレス空間を持つなどしていたが、パーソナルコンピュータではリアルモードで稼動するi8086向けのPC-DOS(MS-DOS)とそのアプリケーションを搭載し、「単に高速な8086」としての用法が主だった。 1985年には32ビットに拡張された80386が発表された。後にIA-32と呼ばれることになるアーキテクチャの誕生である。 32ビット化にあたって、16ビット時代のマイクロコントローラ的な部分(特にその傾向が強かったのは80186)を見直し、メインフレームと渡り合えるような、という意味でコンピュータとして再設計された。
概要
歴史Intel 8086
前史
歴史