系统架构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位后,也能支持更多的内存等多好处。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM