关于系统的位数与寻址能力,他们之间的关系

之前在C++技术网发的一篇文章,复制过来,记录一下。  

    我们经常说32位的操作系统最大能用4G的内存(实际会更小),再大了系统识别不出来,因为超过了寻址范围。

    实际这里我们只考虑了软件层面,64位的系统要搭配64位的CPU才行,而实际最终决定寻址范围的是CPU的地址总线。32位的CPU其地址总线是32根,每一根都可以看做二进制数中的一个位,故其寻址范围为2^32个内存单元,而计算机内部一个内存单元一般为1Byte(也就是8个bit,注意这个位(bit)和之前所说的位(二进制数中的一个位)区分),所以最终寻址范围就是

     2* 210 * 210 * 210 Byte = 2* 210 * 210 KB =  2* 210 MB = 4 GB ;

    当然64位的CPU可以安装32位的系统(现在绝大多数是64位的),所有才会有系统的位数会影响寻址能力这一说法。

你可能感兴趣的:(关于系统的位数与寻址能力,他们之间的关系)