天天看點

64位版本為什麼叫amd64,而不是intel64

64位版本為什麼叫amd64,而不是intel64?

首先了解下常見的幾個架構:

X86是一個指令集,是剛有個人電腦時候的什麼8086,286,386的那個相容的指令集。

“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位程式的表現也顯得綽綽有餘。

目前市場上Intel相容處理器可以實作64位計算的主要有3種:

1) Intel IA64,基于安騰2處理器,不相容32位應用,軟體相對本模式的版本叫 xxx for Itanium 。

2) Intel EM64T,基于Xeon DP “Nocona”和MP處理器,相容32位應用,軟體相對本模式的版本叫 xxx for x86-64或者amd64。

3) AMD AMD64,基于Opteron處理器,相容32位應用,軟體相對本模式的版本叫 xxx for x86-64或者amd64。

版本的含義:

Win32 -> 指的就是Windows系統;

64 bit- > 指的是Windows是64位的;

AMD64 -> 指的就是 CPU是x64的

  • 32/64 位系統編譯在32位系統上運作 => x86
  • 32 系統上編譯64位系統上運作 => x86_amd64
  • 64 系統上編譯在64位系統上運作 => amd64

繼續閱讀