标题
系统架构X86、X86_64、X64的区别
X86是指intel公司开发的一种32位指令集;从386时代开始,一直沿用至今。所以早期的intel与amd都支持X86架构,intel官方称这种指令集为“IA-32”
X86_64是X86 架构迈向X64架构的时候;它有两种指令选择:1、向下兼容X86。2、完全重新设置指令集,不兼容X86。AMD抢跑了,比intel率先制造出了商用的兼容X86的CPU,AMD称之为AMD64,抢了intel 64位PC的第一桶金,得到了用户的认可。而intel选择了设计一种不兼容X86的全新64位指令集,称之为IA-64(也就是所谓的安腾),但是比AMD晚了一步,而IA-64也挺惨的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel忽悠了,承诺了会出安腾版的windows server版,但是一直没拿出来),后来不得不在时机落后的情况下,开始支持AMD64指令集,但是换了个名字,叫X86_64,表示X86指令集的64位扩展,大概是不愿意承认这个东西是AMD设计出来的。
X86_64与X64都是讲的同一个东西,我们现在用的intel/amd的桌面级CPU基本都是X86_64,与之相对的arm、ppc等都不是X86_64.
X64其实就是X32的指令集的扩展,X86中只有8个32位通用寄存器,eax、ebx、ecx、edx、ebp、esp、edi。X86_64将八个寄存器扩展成了64位的,并且将寄存器数目扩大,变成了16个寄存器。同样的寄存器的位数和数目都进行了扩展,此外CPU扩展到64位后,也能支持更多的内存等多好处。
心若向阳,无谓悲伤!