. : : 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