跳至內容

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位元擴充。

相關條目

[編輯]