天天看點

x64、x86_64、x64、AMD64X86系列及相容CPU IA-32 ArchitectureIntel® 64 Architecture IA-64 Architecture其他Visual Studio 指令行工具Vcvarsall.bat 參數

x64、x86_64、x64、AMD64

  • X86系列及相容CPU
  • IA-32 Architecture
  • Intel® 64 Architecture
  • IA-64 Architecture
  • 其他
  • Visual Studio 指令行工具Vcvarsall.bat 參數

X86系列及相容CPU

x86架構于1978年推出的Intel 8086中央處理器中首度出現,它是從Intel 8008處理器中發展而來的,而8008則是發展自Intel 4004的。8086在三年後為IBM PC所選用,之後x86便成為了個人計算機的标準平台,成為了曆來最成功的CPU架構。

x86是指intel的開發的一種32位指令集,從386開始時代開始的,一直沿用至今,是一種cisc指令集,所有intel早期的cpu,amd早期的cpu都支援這種指令集,intel 官方文檔裡面稱為IA-32 。

IAMD,Cyrix(現為VIA所收購)等廠家也生産X86指令集的CPU,其中32位(x86-32)的CPU有i80386,i80486,i80586,i80686,統稱i80X86,簡稱x86 。

Intel從16位微處理器8086開始的整個CPU晶片系列,系列中的每種型号都保持與以前的各種型号相容,主要有8086,8088(前面兩個是16位CPU),80186,80286(這兩個是過渡産品), 80386,80486以及以後各種型号的Pentium晶片都是32位CPU。直到2003年AMD對于這個架構發展了64位的擴充,并命名為AMD64。後來Intel也推出了與之相容的處理器,并命名為Intel 64。兩者一般被統稱為x86-64或x64,開創了x86的64位時代。

IA-32 Architecture

所謂IA-32即Intel Architecture-32,是指從intel 386到奔騰的系列處理器。

AMD64的位技術是在原始32位X86指令集的基礎上加入了X86-64擴充64位X86指令集,使這款晶片在硬體上相容原來的32位X86軟體,并同時支援X86-64的擴充64位計算,使得這款晶片成為真正的64位X86晶片。這是一個真正的64位的标準,X86-64具有64位的尋址能力。

Intel® 64 Architecture

包括 INTEL的 EM64T 和 AMD的是X86-64,都是64位,仍然向下相容32位系統 因為CPU的架構還是基于IA-32體系。 x86-64有時會簡稱為“x64”,是64位微處理器架構及其相應指令集的一種,也是Intel x86架構的延伸産品。“x86-64”1999由AMD設計,AMD 首次公開 64 位集以擴充給 IA-32,稱為 x86-64(後來改名為 AMD64)。 其後也為Intel所采用,現時英特爾稱之為“Intel 64”.

當年64位X86處理器争奪戰中Intel被AMD打個措手不及,後者聯合微軟搶先推出了X86_64指令集,Intel最終也接納了AMD的64位指令集。不過在伺服器市場上,Intel當時跟HP合作推出了安騰(Itanium)處理器,使用的是IA-64指令集體系,不過16年來安騰處理器越來越不受歡迎,Intel日前推出了代号Kittson的安騰9700系列處理器,這是最新但也是最後一代安騰處理器了,後續不再更新了。

Intel為支援EM64T技術的處理器設計了兩大模式:傳統IA-32模式(legacy IA-32 mode)和IA-32e擴充模式(IA-32e mode)。在支援EM64T技術的處理器内有一個稱之為擴充功能激活寄存器(extended feature enable register,IA32_EFER)的部件,其中的Bit10控制着EM64T是否激活。Bit10被稱作IA-32e模式有效(IA-32e mode active)或長模式有效(long mode active,LMA)。當LMA=0時,處理器便作為一顆标準的32 bit(IA32)處理器運作在傳統IA-32模式;當LMA=1時,EM64T便被激活,處理器會運作在IA-32e擴充模式下。

當時AMD和Intel都打算開發64位的CPU,但是AMD搶先了一步,開發出一種能向下相容舊32位的64位CPU,并稱之為AMD64。

随後Intel也開發出一種64位CPU叫做IA64,但是不相容32位,并且微軟也沒有過多地為這種新CPU進行專門的系統優化,導緻當時的64位CPU被AMD獨占鳌頭。

最後Intel開發出來一種也能向下相容32位的64位CPU,并把它稱之為X86_64(Intel的這樣命名表現出不服AMD64的地位,認為相容32位的64位CPU并不是AMD想出來的)。

IA-64 Architecture

IA64,又稱英特爾安騰架構(Intel Itanium architecture),使用在Itanium處理器家族上的64位指令集架構,由英特爾公司與惠普公司共同開發,2001年首次推出。

IA-64微處理器最大的缺陷是它們缺乏與x86的相容。

其他

X86:32位(一般i386是32位CPU的統稱)

X86_64:相容32位的64位CPU,是64位(Intel的叫法)

AMD64:相容32位的64位CPU,是64位(AMD的叫法)

Visual Studio 指令行工具Vcvarsall.bat 參數

Vcvarsall.bat 參數 編譯器 生成計算機體系結構 生成輸出體系結構
x86 x86 32 位本機 x86, x64 x86
x86_amd64 x86 跨平台上的 x64 x86, x64 x64
x86_arm x86 跨平台上的 ARM x86, x64 ARM
amd64 x64 64 位本機 x64 x64
amd64_x86 x64 跨平台上的 x86 x64 x86
amd64_arm x64 跨平台上的 ARM x64 ARM

繼續閱讀