下载软件时x86,x64,amd64,i386等都是什么?


CPU、架构、指令集与系统

TL;DR

x86-32 = 32位

x86-64 = 64位

x64 = x86-64 = amd64 = em64t = ia32e(i家改名部也是挺厉害的)

x86 = x86-32 + x86-64 (依语境)

x86 = x86-32 (依语境)

CPU

我们的CPU从原来的8位,16位,到现在的32位和64位。

CPU处理计算的时候“数据”和“指令”是不同对待的。

8位的CPU,一次只能处理一个8位的“数据”或者一个8位的"指令"。比如00001101. 又比如:“+1”这个运算,你要先指示CPU做“+”,完成后再输入“1”数据给CPU。 8位的CPU优点是设计简单,处理速度比较快。 缺点就是:软件设计复杂,繁琐。不利于计算机的发展。

后来推出了16位的CPU,我们就可以一次处理两个字节(16位)的数据了,比如“加1”这个命令。“加”是一个指令,占用8个位,余下的8位我们可以存放数据“1”了。

32位的CPU就更加方便了,我们就可以一次处理一个a=a+b这样的命令了。

优点:简化了软件设计的复杂度 缺点:硬件设计更加复杂,计算速度下降。

一般来讲32位的CPU对于我们来讲是最理性的CPU,对于软件开发来讲足够了。

但是2的32次方 = 4294967296bit = 4G左右 很显然32位CPU只有4G左右的内存寻址空间,对于一些服务器来讲4G的内存的远远不够的了。我们需要更加大的内存寻址空间的话就需要对CPU进升级。64位CPU就这样诞生了。64位CPU的内存寻址空间是多少你算算看!呵呵。 2的64次方(理论上)。

但是现在的AMD和Inter的64位CPU并不是真正意义上的64CPU,只是进行了部分64位的改进,比如64位的内存寻址等。 要是真的全部都是64位的了,那么现在市场上的软件将全部被淘汰不能使用了~呵呵,想像一下会是什么样子。

目前主流CPU使用的64位技术主要有AMD公司的AMD64位技术、Intel公司的EM64T技术、和Intel公司的IA-64技术。其中IA-64是Intel独立开发,不兼容32位计算机,仅用于Itanium(安腾)以及后续产品Itanium 2,人们习惯性地称它为“纯64位技术”。

架构

  • 狭义的x86架构,指只支持32位的Intel/AMD/NVDIA的CPU,并向下兼容16位(实模式);

  • 狭义的x64架构,指的是支持32位和64位的Intel/AMD CPU,指令集与x86兼容,并向下兼容16位(实模式),目前绝大多数民用CPU和服务器CPU都是这样的;

  • 狭义的ia64架构,指的是安腾系列的CPU,虽然指令集也是64位的,但不兼容32位,intel独有的,这种CPU比较少见,基本不生产了,近似于淘汰的状态;

  • 广义的x86架构,泛指支持x86和x64架构Intel、AMD的CPU,但不包含ia64(安腾)。

x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人电脑的标准平台,成为了历来最成功的CPU架构。

其他公司也有制造x86架构的处理器,计有Cyrix(现为威盛电子所收购)、NEC集团、IBM、IDT以及Transmeta。Intel以外最成功的制造商为AMD,其早先产品Athlon系列处理器的市场份额仅次于Intel Pentium。

8086是16位处理器;直到1985年32位的80386的开发,这个架构都维持是16位。接着一系列的处理器表示了32位架构的细微改进,推出了数种的扩展,直到2003年AMD对于这个架构发展了64位的扩展,并命名为AMD64。后来英特尔也推出了与之兼容的处理器,并命名为Intel 64。两者一般被统称为x86-64或x64,开创了x86的64位时代。

值得注意的是英特尔早在1990年代就与惠普合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64。IA-64是一种崭新的系统,和x86架构完全没有相似性;不应该把它与x86-64或x64弄混。

系统

64位系统和32位系统的区别

操作系统只是硬件和应用软件中间的一个平台。

32位操作系统针对的32位的CPU设计。
64位操作系统针对的64位的CPU设计。

64位的操作系统针对64位CPU设计的,增加了一些64位的指令,但还是和32兼容的。对于普通用户来讲,64位系统意义不大。


文章作者: sfc9982
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 sfc9982 !
  目录