为什么好多软件都区分32位和64位,到底有什么区别?
在回答这个问题前,有必要对中央处理器CPU的相关知识普及一下,很多人嘴上常讲16位,32位,64位速度如何如何,但概念上很模糊。在此厘清一下。
1,常说的计算机是多少位的,到底指的什么?
一般讲计算机是8/16/32/64位,是指的数据位,而不是地址位。大多数人理解为地址位,如32位,马上就会说寻址空间为4GB。这是不严肃的。照此理论,16位机只有2^16=64K寻址空间吗?事实上,即使最早的16位机,也有20根地址线,寻址1MB。
2,处理器CPU与数据位有什么关系?
一般处理器多少位是指通用寄存器的长度,与数据线位数相同。
再次强调,地址线则不需要与之相等。
好比 intel 64 位处理器则是 40 位地址总线,最大支持 1TB 的内存寻址。
32位宏汇编, 32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。所以,32和64表示CPU一次性可以读/写的最大位数,在主频率等外部条件一样的情况下,理论上64位的执行速度是32位的两倍。
3,寻址能力决定可支持的最大内存。32位的CPU只能寻址最大4GB的内存,这是因为其地址线也正好是32位。有的厂家做成40位地址线,可支持1TB内存。
4,操作系统向下兼容。即64的CPU可安装32位的操作系统win10 for32。当然,对CPU来说,是一种浪费,有一半的性能未发挥出来。
5,在win10 for 64系统上开发的app,都是64位的吗?非也。它还与集成开发及编绎环境IDE有直接关系。现在大部分app都是32位的,64位app很少。原因是软件开发滞后。
你可能想看: