2015年(12)
分类: 嵌入式
2015-06-09 19:58:15
存储器里以字节为单位存储信息,每个字节单元存放的是一个8位二进制数(例如,11001100这个8位二进制数存放在一个字节单元里),每个字节单元都给一个唯一的编号(专业称呼是:存储器地址),每个编号都代表一个字节单元,而且这些编号是从零开始的,最大的编号就是最后一个字节单元。如果给定一个1G的内存,他有多少个字节单元呢?好了我们先来做一个六年级学生做的计算:1G = 1024M = 1024*1024KB = 1024*1024*1024Byte = 1073741824Byte 说明1G的内存有这么多个字节单元,说明这个1G内存里的字节单元编号是从0到1073741824,我们要想用一个32位的cpu访问最后一个字节单元里的数据,则它寻址的二进制码是00111 11111 11111 11111 11111 11111,我们将该二进制数转换成十进制数刚好是1073741824。我们换成4G的内存再做一次计算:4G = 4*1G = 4*1073741824 = 4294967296Byte。说明最后一个字节单元的编号是4294967296。这么大的数用二进制表示看看。11111 11111 11111 11111 11111这32个1刚好是4294967296。这就是32位处理器最大寻址空间是4G的由来。