. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  钻牛角尖了,如此理解寻址能力有没有差池?  [待解决] 回复[ 14次 ]   点击[ 517次 ]  
yipianyipian
[帖 主]   [ 发表时间:2011-09-07 20:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-21 21:07
8086CPU 有20位地址总线,所以,他可以认识2^20个不同的存储单元,就是可以找到2M个不同的存储单元,每个不同的存储单元容量是8Bit,1Byte,所以8086CPU可以认识的所有存储单元加在一起的容量是2MB,也可以说他的寻址能力是2MB。

请各位高人指点一二,虽然说我死钻牛角尖不对,但是不如此就不能彻底的懂这些基础概念啊!
yipianyipian
[第1楼]   [ 回复时间:2011-09-07 21:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-21 21:07
随后的内存单元地址小结中有:偏移地址为十六位,变化范围为0-FFFFH,仅用偏移地址最多可寻64KB个内存单元。

我晕了……
chinatree
[第2楼]   [ 回复时间:2011-09-07 23:15 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
楼主说错了,只能寻址1兆字节,楼上的也对,但是注意是仅用偏移地址能寻64kb,但是你可以动段地址呀
yipianyipian
[第3楼]   [ 回复时间:2011-09-08 20:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-21 21:07
也就是说内存单元不是一个一个的,而是一“字节”个一“字节”个的
chinatree
[第4楼]   [ 回复时间:2011-09-08 22:46 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
楼上那句有问题吧,内存单元的单位是字节,什么1字节个1字节个的?
yipianyipian
[第5楼]   [ 回复时间:2011-09-11 21:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-21 21:07
哦,是一字节一字节的,不是一个一个的,终于有点明白的味道了!
twozs
[第6楼]   [ 回复时间:2011-10-25 16:43 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-10-10 23:00
2^20是1M
sharexsps
[第7楼]   [ 回复时间:2011-12-03 01:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-11-16 22:56
2^20=1024^2=1M...而非2M。。。。
e56004474
[第8楼]   [ 回复时间:2011-12-08 22:42 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:1
注册日期:2008-09-04 16:35
8086CPU 有20位地址总线,所以,他可以认识2^20个不同的存储单元,就是可以找到1M个不同的存储单元
1m=1024kb=1024个字节.

理解为这样:
8086CPU 有20位地址总线,所以,他可以认识2^20个不同的存储单元,就是可以找到1024个不同的存储单元
1个存储单元 存储 1个字节。
liuhui
[第9楼]   [ 回复时间:2011-12-10 14:36 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:4
注册日期:2011-12-09 19:38
我的疑问是,20位地址总线,寻址能力为1MB ,但是我们电脑的内存一般2G或4G,这个又是怎么读取数据呢?还是我们电脑的内存,跟书上提到的内存不是同一个概念?
liuhui
[第10楼]   [ 回复时间:2011-12-10 14:38 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:4
注册日期:2011-12-09 19:38
额,是不是我搞错了,当时的8086
liuhui
[第11楼]   [ 回复时间:2011-12-10 14:39 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:4
注册日期:2011-12-09 19:38
当时的8086电脑的内存就只有1MB
wqx12343
[第12楼]   [ 回复时间:2011-12-24 06:16 ]   [引用]   [回复]   [ top ] 
荣誉值:10
信誉值:0
注册日期:2011-12-18 09:25
我的理解,8086cpu的地址总线是20位,所以寻址能力是2的20次方,但是cpu是16位的,所以就要用段地址+偏移地址合成20位的,以和20位的地址总线匹配,偏移地址是16位的(因为cpu是16位的),2的16次方就是64k,所以教材上说变化范围为0-FFFFH,仅用偏移地址最多可寻64KB个内存单元。
hrx207
[第13楼]   [ 回复时间:2011-12-27 19:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-12-27 19:27
回复:[第9楼]
------------------
8086是早以前的CPU,现在的已经是32或64位地址总线了,所以内存就是2或4G了
jiych
[第14楼]   [ 回复时间:2011-12-27 21:09 ]   [引用]   [回复]   [ top ] 
荣誉值:15
信誉值:0
注册日期:2010-06-02 22:04
是4或8G
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved