找回密码
 注册
搜索
楼主: wangbo7019

[讨论] CPU地址线问题

[复制链接]
发表于 2009-6-4 18:01:36 | 显示全部楼层
举个例子给大家:
期末考试了,现在发试卷,如果老师一个一个人的发,就要走到每个人的位置上,也就是一位一位的读写
有的老师比较懒,假如你们班有8列8排,老师一次发8张,只要递给每一列第一排的那个人就好了,然后依次往后发,收卷的时候正好相反.这样老师就只要找到每列第一个学生的位置就好了.
而对于32位的CPU也一样,它8位8位的读写,就是把你们班32排8列的人分成32组,8人一组,老师吧试卷只需要交给8人中的第一个就好了,CPU地址又是从高位到低位依次读写,当他读到倒数第3位时,他就不往下读了(懒),然后直接往后3位读写数据,那么后三位地址线你认为还有用吗?已经聋子的耳朵,摆不摆一样...[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2009-7-16 13:19:14 | 显示全部楼层

图片

1.对于32位或64位的CPU来说,二进制数据都是以字节为最小存储单元形式保存.
2.对于32位或64位的CPU来说,每次要寻址的数据都是由上面提到的若干个最小存储单元(也就是若干个8bit位字节)组成.
3.对于32位或64位的CPU来说,若干个最小存储单元分别是4个和8个.
4......................................................................................


说到这里,想真正弄清楚这个问题,自己再动动自己的脑袋,我相信就可以明白是怎么回事???

本文来自:我爱研发网(52RD.com) 详细出处:http://www.52rd.com/bbs/Detail_RD.BBS_143451_77_1_2.html
点评回复

使用道具 举报

发表于 2009-7-25 12:51:39 | 显示全部楼层
看不懂啊,我也见过Flash的地址线也是这么接的.
点评回复

使用道具 举报

发表于 2009-8-27 11:46:15 | 显示全部楼层
讲得越多漏洞越多,就依据位宽而已,FLASH,DRAM都一样
点评回复

使用道具 举报

发表于 2009-8-27 20:36:49 | 显示全部楼层
[em02][em02]
点评回复

使用道具 举报

发表于 2009-8-31 21:15:20 | 显示全部楼层
谢谢楼主提问,受教了
点评回复

使用道具 举报

发表于 2009-9-8 17:32:28 | 显示全部楼层
学习勒~
点评回复

使用道具 举报

发表于 2009-9-9 11:27:23 | 显示全部楼层
字节0        字节1        字节2        字节3        字节4        字节5        字节6        字节7
↑               ↑              ↑              ↑               ↑              ↑              ↑              ↑
0x0000        0x0001        0x0002     0x0003       0x0004     0x0005     0x0006     0x0007

如上图,我们给出8个字节以及8个字节对应的地址,从0x0000~0x0007
ARM32位寻址时,一次对32bit=4字节进行操作。那么第一次访问的4个字节的地址=0x0000。那么下一次访问的地址是0x0001吗?
错啦,是0x0004,因为第一次寻址的时候已经对0x0000--0x0003地址进行了操作。
那么,我们来归纳一下每次访问的地址:
1st :0x0000
2nd:0x0004
3st :0x0008
4th :0x000C
如果换算成二进制,可以发现最低的两位总是00

同样的道理,如果MCU和Memory之间采用16bit接口,那么最低位总是0
点评回复

使用道具 举报

发表于 2009-9-9 14:01:07 | 显示全部楼层
以下是引用e28_tom在2008-12-29 13:17:15的发言:
可能是cpu是8位寻址,而memory是64位的,所以0~2的地址线就不用了.
<p align=right><font color=red>+1 RD币</font></p>

这个说法其实还是地址对齐
点评回复

使用道具 举报

发表于 2009-9-10 08:44:24 | 显示全部楼层
[em01]
点评回复

使用道具 举报

发表于 2009-9-13 15:33:19 | 显示全部楼层
去看另一篇讨论存储器与与emi的帖子吧,那里面我解释的很清楚了!提问建议具体点,比如具体的处理器是多少位的?flash是多少位的!?否则说什么都是错的!
点评回复

使用道具 举报

发表于 2009-11-11 12:10:25 | 显示全部楼层
情况是这样的:A0,A1,A2用于Byte enable--BE[0:7],使之组成8个储存体,另外,与其他A[3:35]组成36跟地址线,所以我们总是看地址线从3开始的。
点评回复

使用道具 举报

发表于 2009-12-1 15:53:06 | 显示全部楼层
奇怪。哪款内存是64BIT接口的?有点困惑。另外,BYTE寻址怎么办?难道你做的64BIT的服务器?
点评回复

使用道具 举报

发表于 2009-12-1 23:31:00 | 显示全部楼层
难道有这么精彩的讨论,受益匪浅啊
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-1-15 20:43 , Processed in 0.058529 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表