跳转到内容

IA-32

本页使用了标题或全文手工转换
维基百科,自由的百科全书

英特爾32位元架構(英語:Intel Architecture, 32-bit,縮寫為IA-32),常被稱為i386、或x86,由英特爾公司於1985年推出的指令集架構。它是8086架構的延伸版本,可支援32位元運算,首次應用在Intel 80386晶片中。

歷史

[编辑]

IA-32架構屬於複雜指令集,由英特爾公司開發,1985年,隨著Intel 80386微處理器的上市,被公之於世。接下來20年的時間,雖然後繼的新型晶片運算速度不斷增加,但IA-32架構大體上都沒有改變。對許多程式語言來說,IA-32與i386是同義詞。

英特爾也是世界上最大的IA-32晶片供應商,AMD則是第二大的供應商。2011年,英特爾與AMD同時採用了新的x86-64架構,但是x86架構仍然被應用在如Intel Atom(N2xx與Z5xx系列)、AMD Geode等晶片上。威盛電子生產的VIA C3/C7,也仍然採用IA-32架構。

架构特征

[编辑]

IA-32在保留早期16位x86软件兼容性的基础上,引入了32位通用寄存器、32位整数运算以及扩展的内存寻址能力。

寄存器与运算

[编辑]

IA-32将原有的16位通用寄存器扩展为32位。例如,AX、BX、CX和DX分别是EAX、EBX、ECX和EDX的低16位。处理器可以执行32位整数运算,并通过指令前缀指定部分操作数大小和地址大小。

寻址方式

[编辑]

IA-32支持使用基址寄存器、变址寄存器、比例因子和位移量组合计算有效地址。比例因子可以是1、2、4或8。该架构还增加了FS和GS两个段寄存器。

内存管理

[编辑]

IA-32支持分段和分页。分段机制将逻辑地址转换为线性地址;启用分页后,线性地址再通过页表转换为物理地址。

IA-32的线性地址宽度为32位,因此其线性地址空间最大为4 GiB。支持物理地址扩展(PAE)的处理器可以访问超过4 GiB的物理内存,但不会因此扩大32位线性地址空间本身。

运行模式

[编辑]

IA-32相关的x86处理器支持多种运行模式:

  • 实模式:提供与早期Intel 8086软件兼容的运行环境。
  • 保护模式:提供特权级、分段保护和分页等机制,是传统32位操作系统的主要运行环境。
  • 虚拟8086模式:允许处理器在保护模式下执行部分8086程序,由操作系统管理其运行环境。

实际可用的功能取决于处理器型号及其运行状态。

与x86-64和IA-64的区别

[编辑]

x86-64是x86指令集架构的64位扩展,最初由AMD实现,英特尔随后以Intel 64的名称实现兼容架构。x86-64扩展了通用寄存器、地址空间及相关指令功能,同时保留了运行IA-32兼容代码的机制。

IA-64则是英特尔为Itanium处理器开发的另一种指令集架构,并不是IA-32的64位扩展。

相關條目

[编辑]