借由这个问题,今天我们就把 32 位 CPU、64 位 CPU、32 位操作系统、64 位操作系统之间的区别与联系彻底搞清楚。对于这个问题,博主也是一知半解了好长时间啊~
基本概念
32位的CPU与64位CPU
以下内容摘自维基百科:
64 位 CPU 是指 CPU 内部的通用寄存器的宽度为 64 比特,支持整数的 64 比特宽度的算术与逻辑运算。那么 32 位 CPU 同理。
一个 CPU,联系外部的数据总线与地址总线,可能有不同的宽度;术语“64位”也常用于描述这些总线的大小。不过这一术语也可能指电脑指令集的指令长度,或其它的数据项。去掉进一步的条件,“64位”电脑架构一般具有 64 位宽的整数型寄存器,它可支持 64 位“区块”的整数型数据。
64 位架构无疑可应用在需要处理大量数据的应用程序,如数字视频、科学运算、和早期的大型数据库。
那么 32 位 CPU 与 64 位 CPU 到底有什么区别?
数据处理能力增强:64 位 CPU 通用寄存器的位宽增加一倍,这也就意味着 64 位 CPU 可以一次性处理 64bit 的整形数据;
内存寻址能力增强:如果是 32 位 CPU 的话,它的地址总线最多不会超过 32,那么它所能达到的寻址范围也就不会超过 2 的 32 次方字节(存储单元以字节为单位),也就是 4GB,而如果是 64 位处理器的话,它所能达到的寻址范围理论上就会是 2 的 64 次方字节(上亿 GB)。
补充:一般处理器多少位是指通用寄存器的长度,当然数据线需要与之相同;地址线则不需要与之相等,好比 intel 64 位处理器则是 40 位地址总线