IA-32
読み:アイエイさんじゅうに
外語:IA-32: Intel Architecture 32
Intel x86シリーズマイクロプロセッサーのうち、i386以降で使用される機械語命令セットを用いるアーキテクチャー。
概要
32ビットであり、ゆえに32ビット長での演算が可能、最大で4Gバイトまでのメモリー空間を利用できる。
この語は、Hewlett-Packardと共同で開発されたマイクロプロセッサー「Itanium」(Merced)で採用されるネイティヴな64ビット命令セット「IA-64」との対語として作られた。
このように、IA-64に対して従来の32ビットをIA-32と呼んだことが初出であるため、更に以前の16ビット時代のアーキテクチャーには特に名前がない。俗にIA-16などとも呼ばれるが、これは非公式である。
特徴
仕様
i386以降の全てのx86系プロセッサーで採用されている。
- 32ビット長の汎用レジスター8本
- 仮想アドレス空間は32ビット
- 物理アドレス空間は初期には32ビット、PAE対応以降は36ビット
- オペコードの仕様は16ビット時代のものをほぼそのまま踏襲
- アドレッシングが16ビットから改良され、ほぼ全ての汎用レジスターを使ったレジスター間接のアドレッシングに対応
- 倍率付きのインデックス付きアドレッシングに対応
オペコード
プロテクトモードでも、オペコードの仕様は、従来のリアルモード(16ビットモード)とほぼ同じである。
違う点は、次の通り。
- ワード長のディスクリプターは32ビットに拡張
- ワード長のイミディエイトは32ビットに拡張
- 16ビットレジスターは32ビットレジスターとして扱われる
- 従来の16ビット長で動作させるには、追加された命令プリフィックスを使用する
逆にリアルモード(16ビットモード)では、追加された命令プリフィックスを使用することで32ビットの機能の一部を利用できる。
後継にAMD64互換の64ビットアーキテクチャーIntel 64(EM64T)がある。
再検索