关于地址的问题
时间:10-02
整理:3721RD
点击:
最近脑子比较乱,刚才怎么也想不通,32位系统中,为什么一个地址对应着一个字节。比如0x11111111对应着1个byte,0x00000000—0x00000007对应着8个字节。还是说这是在8位机中的情况?
怎么解释呀?
谢谢!
一个地址对应着一个字节,是cpu的设计者设计成这样的。
x86体系的cpu为了兼容,8位、16位、32位和64位指令并存,所以存储系统必须设计成一个地址对应着一个字节。另外这样设计便于处理以字节为单位的信息,例如英文字符串。
所以你的意思是,并没有特殊的原因,而是因为一种规约、协议?
不必深究,记住某种架构CPU能访问的最小内存位宽是多少就OK。
可能跟cpu是字节寻址有关吧
从0 到7 不就是8嘛 自己琢磨吧
因为对于外设一般都是按照字节进行编排地址的,32位系统只是内核的总线宽度和寄存器都是用的32位的,访问外部存储器或者外设的时候可能也是按字节访问的。
