x64、x86_64、x64、AMD64

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 参数编译器生成计算机体系结构生成输出体系结构
x86x86 32 位本机x86, x64x86
x86_amd64x86 跨平台上的 x64x86, x64x64
x86_armx86 跨平台上的 ARMx86, x64ARM
amd64x64 64 位本机x64x64
amd64_x86x64 跨平台上的 x86x64x86
amd64_armx64 跨平台上的 ARMx64ARM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值