32位和64位有什么区别


32位和64位有什么区别


正文

32位和64位一般有三种情况,一种是指CPU,一种是指操作系统,一种是指应用软件。

CPU

在CPU中,32位的CPU代表在CPU的单位时间内,一次可以处理32位数据,而64位则一次可以处理64位数据。 所以64位CPU就会比32位CPU更快处理完数据。

32位和64位对内存的影响:内存中的一个地址占用8位,即1个字节。 32位CPU有32根地址线,寻址能力为2的32次方,那理论控制内存为 4294967296(byte)= 4(GB) 左右。 而64位则是2的64次方,那理论控制内存为 2147483648(GB) 左右,

计算机存储单位一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示。

位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。

它们之间的关系是:

1 B (byte 字节)=8bit,
1 KB (kilobyte千字节)=1024B,
1 MB (Megabyte 兆字节 简称“兆”)=1024KB,
1 GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1 TB(Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
1 PB(PetaByte 千万亿字节 拍字节)=1024TB,
1 EB(Exabyte 百亿亿字节 艾字节)=1024PB,
1 ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1 YB (yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,
1 BB (Brontobyte 一千亿亿亿字节)= 1024 YB. 

那么根据控制内存来判断,32位的CPU最大也就支持4G内存,这个是理论值,一般情况也就能调用3.X个G。 如果超出就无法调用,64位理论可以调用2^64字节的理论内存值,不过现在人为规定为128G,也因为主板限制。

在计算机架构中,64位整数、内存地址或其他数据单元,是指它们最高达到64位(8字节)宽。 此外,64位CPU和算术逻辑单元架构是以寄存器、内存总线或者数据总线的大小为基准。 64 位CPU在1960年代,便已存在于超级计算机,且早在1990年代,就有以 RISC 为基础的工作站和服务器。 2003年才以 x86-64 和 64 位 PowerPC 处理器架构的形式引入到(在此之前是 32 位)个人计算机领域的主流。

操作系统

而我们使用的操作系统,也分32位系统和64位系统,这个系统也是根据CPU量身定制。 32位CPU只能安装32位的系统,而64位的CPU就都能安装。64位CPU兼容32位系统。

X86也被称为32位是为什么呢?x86是一种CPU 型号,因为英特尔的8086,286,386~586等CPU 而得名, 这些CPU都是32位的,由于知名度高,所以X32常常也被称为X86。

32位操作系统针对的32位的CPU设计。CPU内部寄存器和寻址总线是32位,指令集可以运行32位数据指令, 根据寻址空间的介绍,CPU的寻址能力以字节为单位 ,则32位寻址的CPU可以寻址2的32次方大小的地址也就是4GB, 而不是4Gb,此处32位不可以理解为32bit(4个字节,32bit=4Byte)。32位CPU有4G的内存寻址空间。

应用软件

X32的系统是无法运行基于X64开发的软件的,而X64则能兼容运行基于X32开发的软件。 其实现在的软件除了大型软件专门区分X32和X64版本外,大多数的常用软件都是基于X32的。 如果你的电脑是64位系统,你在点开软件的安装程序时,在选择安装路径处,默认的路径大多都是C:\Program Files (x86)。 而32位系统则是C:\Program Files。

X32的软件多也是出于成本考量,毕竟32位软件可以让更多的人使用。

32位系统与64位系统的区别

第一,设计初衷不同。64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作, 以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。 换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。

第二,要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的)。 同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。 当然,32位操作系统安装在64位电脑上,其硬件恰似“大牛拉小车”:64位效能就会大打折扣。

第三,运算速度不同。64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位, 64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据), 比32位(需要四个指令,一次提取4个字节的数据)提高了一倍,理论上性能会相应提升1倍。

第四,寻址能力不同。64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数, 因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。32位CPU和操作系统最大只可支持4GB内存, 而64位CPU和操作系统理论上最高可支持16EB内存(16777216TB)。

总而言之,64位操作系统,必须“上”靠64位主机硬件的支撑,“下”靠64位常用软件的协助,才能将64位的优势发挥到极致, “三位一体”缺一不可(道理很简单:操作系统只是承上启下的运行平台)。至于64位电脑可以安装32位操作系统, 64位操作系统可以安装32位软件,那是设计上的“向下兼容”,不是64位设计初衷的本来含义。






参考资料

常说的32位和64位有什么区别? https://cloud.tencent.com/developer/article/1507356

32位 (32位操作系统) https://baike.baidu.com/item/32%E4%BD%8D/5812218

64位操作系统 https://baike.baidu.com/item/64位操作系统

电脑32位和64位有什么区别 https://zhuanlan.zhihu.com/p/73978699


返回