鱼C论坛

 找回密码
 立即注册
查看: 1900|回复: 5

寻址和数据处理的纠结处,请大虾指导吓。谢谢

[复制链接]
发表于 2012-10-16 09:26:43 | 显示全部楼层 |阅读模式
5鱼币
    最近在看小甲鱼的汇编基础教程,教程中说的CPU寻址能力,寻址单位最小是字节吗?8086CPU地址总线的宽度是24,2^24/1024^2=16MB.不明白的是,这个地址总线宽度24的寻址为什么不是位。而数据总线宽度16也是以字节为单位,2^16/1024=64KB.不明白为什么不是以位为单位呢,每根控制线或数据线最多传送的数据不是0/1吗,不是应该先除以8后才能得字节撒。小弟初次接触这门语言,求大虾解我心中疑惑?谢谢!

最佳答案

查看完整内容

我觉得是这样的: 如果是数据总线,要“八根数据总线”才能传递“八位二进制数”,也就是一字节,数据总线宽度16,一次只能传送2b,也就是二字节数据 但是,如果是地址总线,它的目的是寻址,而不是传递数据,所以将一字节看出整体,宽度为24的地址总线可以寻址2^24字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-10-16 09:26:44 | 显示全部楼层
我觉得是这样的:
如果是数据总线,要“八根数据总线”才能传递“八位二进制数”,也就是一字节,数据总线宽度16,一次只能传送2b,也就是二字节数据

但是,如果是地址总线,它的目的是寻址,而不是传递数据,所以将一字节看出整体,宽度为24的地址总线可以寻址2^24字节

评分

参与人数 1鱼币 +3 收起 理由
lyoal + 3 谢谢你!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-16 11:25:55 | 显示全部楼层
它是按位算的啊,16位的地址线,能访问的地址是0到2^16-1,访问能力就是2^16.
因为2^10bit 等于1 K。2^16bit就等于64k了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-16 23:25:46 | 显示全部楼层
我也是看到这里看糊涂了,不过后来想想应该是这样的。
因为地址总线的那个值跟内存的数据是没关系的,他只不过是表示了内存的一个下标。
内存的最小单位是字节,你地址总线如果有两根那么你就可以表示内存的地址为
1, 2, 3这三个下标。那么就是三个字节。所以地址的一位就代表了内存的一个字节。

评分

参与人数 1鱼币 +2 收起 理由
lyoal + 2 谢谢你!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-10-17 09:56:31 | 显示全部楼层
两根地址总线的话,寻址范围应该是2^2次方吧,应该是四个字节才对啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-10-19 09:41:53 | 显示全部楼层

这么一解释,好似有点明白了。内存是字节进行存储的,CPU通过地址总线的每一次的寻址对应内存就是一个字节。CPU的地址总线或数据总线与内存的存储方式没有关联的话就说的通了。谢谢

补充内容 (2012-10-19 09:43):
现在我想把县赏发下去,悬赏怎么分配?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 14:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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