关于64-bit
一、简单概述
64位CPU,内部通用寄存器、指令寄存器、片内总线、ALU等是64位的,能够一次处理64位宽的数据,寻址64位地址空间,但指令长度不一定全是64位。
64位系统总线,与64位CPU配套的北桥、南桥芯片组,拥有64位宽的数据总线、地址总线。
64位OS,专门为64位CPU设计的OS,使用到了64位CPU指令。如ubuntu、win7就区分32位和64位版,其中64位版只能用于在64位CPU上,32位版则可以同时用于32位CPU和64位CPU,这是由于64位CPU兼容32位CPU指令。
64位应用程序,只能在64位OS+64位CPU上运行,因为它用到了64位CPU指令;而32位应用程序,则可以同时运行在32位OS和64位OS上,这得益于64位OS和64位CPU提供的兼容模式。
可见,64位CPU、64位OS都向上兼容。
二、64位CPU
64位CPU很早就由MIPS、DEC等设计出,但都是用于超级计算机。
x84_32也即IA32(Intel Architecture 32)。
IA64不是x86_64,它早于AMD64,是Intel与HP共同开发的Itanium(安腾) 64位CPU,用于HP的服务器,与x86不兼容。
x86_64位CPU技术首先由AMD提出,即AMD64。
其第一款AMD64 CPU Opteron于2003年发布,后来又相继发布Athlon 64,Athlon 64 X2,Bulldozer FX等。AMD64作为x86_32的扩展,相对于传统的x86_32,增加地址总线的位宽,增加通用寄存器的位宽,增加了8个通用寄存器,还增加了SSE指令集等。除了兼容x86_32模式,还增加了该模式可寻址地址空间的范围。
AMD64出现之后,Intel也发布了自己的x86_64技术,即ia32e(ia 32 extend),后来改称EM64T(Intel Extended Memory 64 Technology,64位内存扩展技术),最后定名为Intel 64,与AMD64相呼应。实现了Intel64的CPU有Pentium 4 D,Xeon,Core 2,Core i等。
x64即x86_64,与之对应,x86代指x86_32。