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