. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(CPU工作原理)
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
8086CPU的寻址范围?
[待解决]
回复[
6
次 ] 点击[
582
次 ]
leeyeye
[帖 主]
[ 发表时间:2008-05-25 18:20 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:4
注册日期:2008-02-23 16:11
根据物理地址=SA*10+EA的方法计算出来的物理地址,当SA与EA都为0时最小,当SA与EA都为FFFF时最大,可知其范围在0—10FFEF(十进制为1114095),也就是说CPU所能访问的最大内存物理地址为10FFEF,这样算有问题吗?
crazyman
[第
1
楼]
[ 回复时间:2008-05-26 14:10 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:152
信誉值:3
注册日期:2008-01-24 21:26
不对。
cpu的寻址范围是有数据总线的宽度决定的,8086cpu的数据总线的宽度为20根,所以,寻址范围为0~FFFFFH。楼主陷入了物理地址的分段设计和物理地址的本质范围的误区了。
lanji83
[第
2
楼]
[ 回复时间:2008-05-27 13:34 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:3
信誉值:4
注册日期:2008-05-23 05:44
那如果有三十根数据总线那CPU就能达到楼主上所说的最大寻址?
cairulong
[第
3
楼]
[ 回复时间:2008-05-28 20:17 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2008-04-27 16:45
三十根总线的话寻址能力为1G对不对?
wjw0769
[第
4
楼]
[ 回复时间:2008-06-06 23:42 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2008-04-20 22:34
物理地址=SA*10H+EA
第一,这种给出物理地址的方法并不适合所有的CPU。
第二,这只是一种给出物理地址的方法,并不决定CPU的寻址能力。这种表示方法在8086CPU中(仅在8086中)最大只能表示FFFF:FFFF。
第三,决定CPU寻址能力的是地址总线(不是数据总线),对所有CPU都一样。
scwhxd
[第
5
楼]
[ 回复时间:2008-06-09 12:24 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2008-06-09 12:20
兄弟,SA最大是fff0吧
scwhxd
[第
6
楼]
[ 回复时间:2008-06-09 12:34 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2008-06-09 12:20
对不起,我整错了。
存储器从0地址开始,每16个字节单元为一个小节 最后一个小节的CS为FFFF,但EA为15(0-15,即16个字节),因此最大寻址地址为FFFFF。
不晓得这样说对不对
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved