理解基本概念
首先内存是cpu处理数据的临时存储站,cpu每次解析的数据(指令)都是内存传来的,数据流向:硬盘->内存->L3->L2->L1->L0(用作计算的CPU内核),L1-L3是一般操作系统都支持的多级缓存,目的是解决CPU和内存的速度不匹配问题。
在微机的内存中,每个基本单位都被赋予一个惟一的序号,这个序号称为地址,而内存的基本单位是Byte(这一点对后面计算4GB这个值很关键)。
CPU里有三根线:控制线,地址线,数据线,地址线传递数据的地址,再根据地址通过数据线去取数据。
换算过程
32位cpu的意思就是cpu每次解析数据是32bits,也就是4B,那么支持的地址就是4B长度的,也就是支持的最大内存是2^32 (个地址)*1Byte(内存基本数据单位)=4GB,地址空间范围为0~2^32-1 (-1是因为全部位数都为1时归0)=2^32个地址
因此32位cpu最高寻址空间支持4GB的数据(不考虑使用PAE——物理地址扩展技术)。
但是地址长度不代表真正能支持这么大的寻址空间,决定寻址空间的还在于地址线,地址线是用来传输地址信息用的,因此地址线能传多长的数据(考虑CPU,这个长度小于等于CPU处理数据位数),才决定寻址空间也就是支持的内存大小。