我们查看单片机技术手册或数据手册会看到很多寄存器的地址信息,其实这些寄存器地址跟内存地址是一样的,都是以字节为单位8BIT。
内存是按字节编址的,所以单位是字节哈,1字节可是等于8位的。因为计算的范围一般比较小,所以就记住两个就够了。记住几个常用的2的10次方为1024即1KB
2的20次方=(2的10次方)的平方,即1MB就行了
如果要求更大的,那就再记住2的40次方=(2的10次方)的4次方=1GB,一般就够用了。
DFFFF-A0000 = 3FFFF
一眼看不出来大小滴,或许你要用笔算,不过用这个方法两眼就能看出来:
3FFFF展开为2进制就是2的18次方,是吧,即
2的10次方乘以2的8次方=1K*256即256KB
或者直接2的20次方/2的2次方=2的18次方。一般选就近原则。1MB/4=256KB
32K*8bit=256Kb=(256KB/8bit)
在网上找的另外一道题:
计算机SRAM容量为4K x 8,配置地址首地址为:06800H,则其末地址是多少
a.38800H B.10800H C.077FFH D.07800H分析:
公式:
内存容量=末地址-首地址+1
4K*8bit = 4KB即2的平方乘以2的10次方,2的12次方,12/4=3(转为16进制)即1000H
01000H=末地址-6800H+1H
末地址=01000H+6800H-1H
末地址=077FFH
gaoyang9992006:
1.字节:英文为Byte(= 8 bits)。是CPU处理字长能力的一个单位; 2.内存地址:Memory Address。是指CPU在寻址过程中能够访问到的物理或者是逻辑内存的位置。 而内存地址是以字节作为单位数量化表示的。
之所以发帖讨论这个是因为有朋友看头文件和手册时候有了相关的疑问,可以参考
https://e2echina.ti.com/question_answer/microcontrollers/other_mcu/f/23/t/152149
Susan Yang:
回复 gaoyang9992006:
谢谢分享!
Seven Han:
回复 gaoyang9992006:
学习了,感谢分享!