x86 vs x64
x86和x64最重要的区别在于前者是32位的体系结构,而后者是64位的指令集体系结构。指令集体系结构(ISA)是一个非常重要的术语,适用于任何CPU.指令、内存寻址、寄存器和CPU的许多其他架构部分都由ISA指定。x86是Intel在1978年与8086一起推出的世界著名的ISA处理器.随后发生了各种各样的扩展,在2000年,AMD创建了一个规范,将x86指令集扩展为64位,命名为AMD64。后来,其他公司(如Intel)也实现了该规范,这个AMD64被命名为x64。
x86是什么?
x86是一种由Intel引入的指令集架构采用著名的8086处理器。1978年,英特尔推出了16位处理器8086。随后,他们又引入了80186、80286、80386和80486等各种处理器,这些处理器都与8086处理器中使用的原始指令集向后兼容。由于所有这些处理器都以数字86结尾,因此指令集体系结构被命名为x86。随着80386的引入,x86指令被扩展到32位系统。在这里,32位意味着所有寄存器、内存总线和数据总线是32位的。然后奔腾奔腾I、奔腾II、奔腾III、奔腾IV等都采用了32位架构。但是在x86架构上发生了其他各种扩展,比如添加了MMX、SSE和SSE2等指令。除此之外,还做了许多其他改进。然后,x86指令集被扩展为64位指令集,从那时起被称为x64,我们将在下一节讨论。总之,一般来说,x86指的是由8086处理器的16位架构发展而来的32位架构。
x64是什么?
32位系统只能表示232不同的值,因此,内存寻址被限制为地址的数量。232字节等于4gb,因此,x86的最大可寻址内存限制为4gb。为了克服这个问题,对x86架构做了进一步的扩展。AMD在2000年左右推出了这样的规范,将x86架构扩展到64位。这是在名字下介绍的AMD64.x64是AMD64体系结构的另一个名称。这个AMD64或x64架构也被命名为x86_64.在64位架构中,所有寄存器都变成了64位,内存总线和数据总线也变成了64位。现在264可以处理不同的值,这为可能的最大内存提供了巨大的上限。AMD K8是第一个实现这种64位架构的处理器。后来Intel也采用了这种架构。从英特尔酷睿2开始的英特尔酷睿处理器,英特尔开始在他们的处理器中使用这种架构。目前,所有的英特尔处理器如Core i3,Core i5和Core i7使用这种x64架构。需要强调的重要一点是,这种x64架构仍然向后兼容旧的x86指令集。
x86和x64有什么区别?
x86是在1978年左右引入的,而x64是在2000年才出现的。
x86起源于著名的Intel 8086处理器,因此,x86被Intel引入。但是x64是x86的扩展,是由AMD引入的。
•x86架构32bit。(最初的x86处理器是16位的,但在后来的处理器中,已经完成了对32位的扩展)。X64架构是64位的。
•x86指令集架构的处理器,因此有32位寄存器、32位内存总线和32位数据总线。但是x64有64位寄存器、64位内存总线和64位数据总线。
x86对最大可寻址内存有一个限制,即上限为4gb (232字节)。但是对于x64系统,这个极限很大,是264字节。
•x64是x86的扩展;因此,它比旧的x86有了很大的改进和强大。
•在x64系统中,可以存储在寄存器中的值比可以存储在基于x86的寄存器中的值要大。因此,x64可以更快地处理较大整数的计算,因为在这种情况下不需要像x86那样使用多个寄存器来分割值和存储。
•x64可以在数据总线上并行传输更大的数据。即64位的数据总线可以并行传输64位,而拥有32位总线的x86架构只能并行传输32位。
简介:
x86 vs x64
X86指令集架构为32位,x64指令集架构为64位。X64是现有x86体系结构的扩展。x86架构上的寄存器、内存总线和数据总线是32位,而x64上是64位。因此,x64系统中可寻址的最大内存量要比x86系统中高得多。x86是由Intel引入的,带有8086处理器,这是一个16位处理器,随着时间的推移,这个x86被扩展到32位。后来,AMD在现有x86架构的基础上又引入了x64架构,这个x64完全向后兼容x86指令集。
图片由:
留下一个回复