

注:这里有个难以理解的地方,首先要记住现在计算机的基础单位是byte而不bit,不然总会想着是不是要去除以8,因为1byte=8bit。
所以N位的寻址能力应该理解为N位所能表示的地址个数,每个地址表示1个字节(Byte),而每个地址表示1个bit太小没有意义,现在计算机最小单位是以字节byte算的,最终用N位表示的地址个数乘以byte,再根据需要转化需要KB/MB/GB等
1Byte=8bit, 1KB=1024Byte, 1MB=1024K,1GB=1024MB,1TB=1024GB,Byte就是字节
16位的寻址能力
16位的地址表示2^16=65536个地址,现在内存,硬盘最小的单位是字节Byte,也就是16位地址能表示65536个字节
由于1KB=1024Byte,所以16位地址能表示65536/1024=64KB的大小
同理:
20位的寻址能力:2^20/1024Byte=1024KB=1MB
32位的寻址能力:2^32/1024Byte/1024KB/1024MB=4G
64位的寻址能力:2^64/1024Byte/1024KB/1024MB/1024GB=16777216TB/1024/1024=16EB
注2:最初8086CPU是16位的并不能寻址到1MB的内存,解决方法是用16位段地址SS*10h+16位偏移地址组成20位实际物理地址来索引1M的内存