| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1004 人关注过本帖
标题:理解能力较差,求大神帮忙解决下!感激不尽啦
只看楼主 加入收藏
az71566
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-8-22
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:6 
理解能力较差,求大神帮忙解决下!感激不尽啦
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。    为什么不是00010H到CPU最大的寻址范围1FFFFH,而是1000FH呢?
(2)有一数据存放在内存 20000H单元中,现在定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是;最小为0001H,最大为2000H。  0001H是不是CPU寻址范围内最小的值? 最大的为什么不是20000H而是2000H?
图片附件: 游客没有浏览图片的权限,请 登录注册

段地址加偏移地址怎么会等于20?  
搜索更多相关主题的帖子: 能力 最大的 
2013-09-13 21:04
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
不要以为段地址16位加偏移地址16位之后就会有32位。因为当初INTEL是这样设计的,段地址向左移4位之后再加上偏移地址,组成实际寻找的物理地址。
即:
设段地址为10101010 10101010
偏移地址为01010101 01010101

将段地址左移4位加偏移地址
  1010101010101010
+     0101010101010101
————————————
  10101111111111110101
组成了20位的地址。

[ 本帖最后由 hu9jj 于 2013-9-13 21:41 编辑 ]

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-09-13 21:37
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
可能是当初的设计师们认为计算机有20位的寻址能力就足够了吧。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-09-13 21:39
az71566
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-8-22
收藏
得分:0 
那前面的俩个问题呢?是怎么算的额
2013-09-13 22:09
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:10 
这个问题理解了,稍加思考,前面两个问题应该容易解决的。
1、可以通过运算获得寻址范围。段地址是0001H不变,偏移地址可以从0000H到FFFFH之间变化
寻址的最低地址是:
 0001H
+0000H
————
 00010H
寻址的最高地址是:
 0001H
+FFFFH
————
 1000FH

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-09-14 07:52
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分:10 
16位数据总线,20位地址总线决定了如果给定一个段地址(基址),加上偏移地址最多只能寻址64Kb,即2^16!
段基址乘以16加上偏移地址才是实际地址!(16=10H,十进制与十六进制转换)
(1)段地址0001H*10H+偏移地址(0H到FFFFH),所以寻址范围是00010H到1000H
(2)已知物理地址是20000H,由上面公式
设段地址为X,
则X*10H+0H<=20000H,
且X*10H+FFFFH>=20000H
因此1000H<=X<=2000H
2013-09-14 21:21
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分:0 
昨天写错了,应该是1001H<=X<=2000H
2013-09-15 18:02
快速回复:理解能力较差,求大神帮忙解决下!感激不尽啦
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020190 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved