x86、amd64、x86-64、x64以及ia64的基本概念
X86
x86是一個(gè)指令集,是剛有個(gè)人電腦時(shí)候的什么8086,286,386的那個(gè)兼容的指令集。
?
x86-64
? x86-64有時(shí)會(huì)簡(jiǎn)稱為“x64”,是64位微處理器架構(gòu)及其相應(yīng)指令集的一種,也是Intel x86架構(gòu)的延伸產(chǎn)品。“x86-64”1999由AMD設(shè)計(jì),AMD 首次公開 64 位集以擴(kuò)充給 IA-32,稱為 x86-64(后來改名為 AMD64)。 其后也為Intel所采用,現(xiàn)時(shí)英特爾稱之為“Intel 64”.
?
AMD64
???? AMD64架構(gòu)在IA-32上新增了64位寄存器,并兼容早期的16位和32位軟件,可使現(xiàn)有以x86為對(duì)象的編譯器容易轉(zhuǎn)為AMD64版本。
由于AMD64和Intel64基本上一致,很多軟硬件產(chǎn)品都使用一種不傾向任何一方的詞匯來表明它們對(duì)兩種架構(gòu)的同時(shí)兼容。出于這個(gè)目的,AMD對(duì)這種CPU架構(gòu)的原始稱呼——
“x86-64”被不時(shí)地使用,還有變體“x86_64”。其他公司如微軟和Sun在營(yíng)銷資料中使用“x64”作為對(duì)“x86-64”的縮寫。
許多操作系統(tǒng)及產(chǎn)品,尤其那些是在Intel進(jìn)入這塊市場(chǎng)之前就引入“x86-64”支持的,使用“AMD64”或“amd64”同時(shí)指代AMD64和Intel64。
?
IA-64
???? Intel在之前已在Itanium處理器上使用了自家的64位IA-64技術(shù),雖然說Intel 64也是64位,但兩者并不兼容,即IA-64的軟件不能直接在Intel 64上運(yùn)行。Intel 64所用的x86-64是IA-32指令集的延伸,而IA-64則是另一款獨(dú)立的架構(gòu),沒有任何IA-32的影子。雖然IA-64可通過模擬來運(yùn)行IA-32的指令,但指令在運(yùn)行前需經(jīng)轉(zhuǎn)換,才能在IA-64上運(yùn)行,導(dǎo)致其速度變慢。由于x86-64是從IA-32派生而來,因此運(yùn)行IA-32與64位程序的表現(xiàn)也顯得綽綽有余。
?
??? 32位操作系統(tǒng),配合32位CPU,尋址空間位2^32次方,計(jì)算出來是4294967296字節(jié),就是4G,32位系統(tǒng)最大支持4G空間,如果想要32位系統(tǒng)支持4G以上空間的話,就要用PAE的特殊內(nèi)核,采用特殊方式訪問,但是系統(tǒng)效率會(huì)比原生的64位系統(tǒng)低。當(dāng)然有時(shí)有的Linux只能識(shí)別到3G多,因?yàn)閾?jù)說是當(dāng)初在設(shè)計(jì)上的缺陷。這里不做詳解。
???? 而64位操作系統(tǒng)配合64位CPU,尋址空間是2^64次方,計(jì)算出來是18446744073709551616字節(jié),換算一下4G個(gè)G,太大了,反正是N多G,一輩子也用不完。當(dāng)然這是64位系統(tǒng)的理論最大內(nèi)存支持,實(shí)際上誰也用不了這么大內(nèi)存.
因此我們要下載64的操作系統(tǒng),而我們看到有64的操作系統(tǒng)最經(jīng)常見到的有ia64/amd64,它們?nèi)绾螀^(qū)分呢,哪些CPU是屬于AMD64,哪些是屬于IA64呢?
其實(shí)很多人從字面上,都以為AMD64就是針對(duì)AMD CPU的,IA64是針對(duì)INTEL CPU,其實(shí)是錯(cuò)的,我最初也是這樣認(rèn)為,其實(shí)不然:
你在市面上買的到的intel 64位 CPU都屬于amd64范疇這個(gè)架構(gòu)應(yīng)該稱為 x86_64,因此不管是AMD的64位CPU,還是INTEL的64位CPU,都是屬于AMD64范疇.
而IA64指的是Intel安騰系列CPU,不是X86架構(gòu)的。ia64主要用在服務(wù)器上面,而不是我們平常使用的桌面,通常這些cpu很貴,相關(guān)的內(nèi)存以及硬盤同樣很貴!
因此你以后你PC的CPU是64位的[有Intel,也有AMD],非安騰的CPU的話,你就下載AMD64的OS進(jìn)行安裝即可.
目前市場(chǎng)上Intel兼容處理器可以實(shí)現(xiàn)64位計(jì)算的主要有3種:
1) Intel IA64,基于安騰2處理器,不兼容32位應(yīng)用,軟件相對(duì)本模式的版本叫 xxx for Itanium 。
2) Intel EM64T,基于Xeon DP “Nocona”和MP處理器,兼容32位應(yīng)用,軟件相對(duì)本模式的版本叫 xxx for? x86-64。
3) AMD AMD64,基于Opteron處理器,兼容32位應(yīng)用,軟件相對(duì)本模式的版本叫 xxx for? x86-64。
總結(jié)
以上是生活随笔為你收集整理的x86、amd64、x86-64、x64以及ia64的基本概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: _cdecl、_stdcall 、_fa
- 下一篇: Unicode字符集下CString/t