地址总线与AC

marcus2006 2014-11-27 10:32:05
不知道是不是该在这里问,其他地方貌似不合适
我在【总线 与 数据的字节对齐 http://blog.chinaunix.net/uid-22283027-id-3985411.html】与【现代微机结构_80486.ppt 在百度文档里】里看到”某些CPU只能在能够被4整除的地址进行内存访问, 这是因为: 32位CPU不使用地址总线的A1和A2. (比如ARM, 它的A[0:1]用于字节选择, 用于逻辑控制, 而不和存储器相连, 存储器连接到A[2:31].)
访问内存的最小单位是字节(byte), A0和A1不使用, 那么对于地址来说, 最低两位是无效的, 所以它只能识别能被4整除的地址了“
” AC对齐标志
对齐的含义:
16位的字, 从偶地址开始存放(起始地址最低位为0, 能被2整除);
对32位的字, 存放的起始地址能被4整除, 且最低2位为0

我就想,如果最低几位被用去字节选择了,那岂不是不满足N位地址总线能搜索2^N BYTE数据的理论了??
...全文
151 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
marcus2006 2014-11-29
  • 打赏
  • 举报
回复
COOL!!!
引用 4 楼 zhujinqiang 的回复:
地址总线,这只是用来寻址的。 选到的单元有多少bit 看数据总线的宽度
zhujinqiang 2014-11-28
  • 打赏
  • 举报
回复
楼主的意思是寻址只有2^(N-2)是吧? 但是4字节对齐之后 貌似按字访问 2^(N-2)个 字 字长32位 =4BYTE(4x 8bit) 2^(N-2) x 4 =2^(N-2) x 2^2 还是2^N BYTE吧
zhujinqiang 2014-11-28
  • 打赏
  • 举报
回复
地址总线,这只是用来寻址的。 选到的单元有多少bit 看数据总线的宽度
zhujinqiang 2014-11-28
  • 打赏
  • 举报
回复
一个存储单元是不是双字节,这个要看数据总线的宽度哎
marcus2006 2014-11-28
  • 打赏
  • 举报
回复
谢谢你的回答 我参考了 :http://blog.chinaunix.net/uid-11572501-id-2868719.html 他说” 假设有这么一台计算机,它只有1根地址线,那么请问它最多能对几个存储单元寻址?答案显然是2个.因为在任何2进制计算机中,所有物理元件只有 0,1两种状态,对应这个例子,我们假设已经把这唯一的一根地址线与两个存储单元a和b连上了,那么究竟怎么确定何时读a何时读b?有一个办法,当地址线上的电压是高电压时我们读a,相反是低电压时,我们读b.如此一来,你应该明白-----一根地址线的情况下,只能对2个存储单元进行寻址 “ 那么按你的说法,一个存储单元是一个字吗?? 如果是16位地址总线,有1位被用作字节选取,一个存储单元是双字节吗??
引用 1 楼 zhujinqiang 的回复:
楼主的意思是寻址只有2^(N-2)是吧? 但是4字节对齐之后 貌似按字访问 2^(N-2)个 字 字长32位 =4BYTE(4x 8bit) 2^(N-2) x 4 =2^(N-2) x 2^2 还是2^N BYTE吧

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧