鱼C论坛

 找回密码
 立即注册
查看: 2381|回复: 1

[技术交流] 〔新手请进〕寻址能力以及其单位解答

[复制链接]
发表于 2013-7-12 20:42:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  相信很多新手刚入门汇编便对“寻址能力以及其单位”感到模糊不解,便各种提问。很好,如果你对这个存在疑问,对答案质疑,那么说明你比别人聪明,懂得思考问题。
  曾经的我也对这个存在各种不解,各种纠结。现在我走过来了,分享一下我对这个的理解,帮助新手们解惑。


    这里引用一下某鱼油的疑问:

“CPU的寻址能力不就是CPU能够寻址的个数么?  
它的地址总线的宽度决定了它的寻址能力。  
总线宽度为N,则寻址能力位2^N   
可是2^N=?KB 似乎不能表达吧……所以想到此,我觉着此题没有表达准确。  

我知道8b = 1B (八个二进制位等于一个字节)   
2^10B=1KB  
在检测题一中:  
1个CPU的寻址能力为8KB,那么它的地址总线的宽度为___. 答案是13   
8KB=2^13B=2^13*8b=2^16b 也就是2^16个二进制位,也就是总线有2^16根组成,  
想到此,我觉着答案为2^16

首先,我觉着这个题本身出的就有问题,因为寻址能力指的是能够寻址的个数,是一个整数,没有单位,或者单位是“个” 可是这个题中,如果答案为13,则把B看成了寻址能力的单位,也就是说寻址能力是**个字节。如果答案为2^16,则把b看成了寻址能力的单位,这样也不对,而要把“个”看成寻址能力的单位,只能是:  
8KB能表达的数的个数为:  
1B=8b 8个二进制数能表示的数为:2^8  
8KB=2^13B=2^13*B=2^13*2^8=2^21 个数,也就是说由21个二进制位(也就是说需要总线由21根组成)才能表达8KB描述的数。所以总线宽度为21.  

请高手指点一下……我不淡定了。





解答引用一下百度百科:“
寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据在那里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位 ,如32位寻址的CPU可以寻址2的32次方大小的地址也就是4G,这也是为什么32位的CPU最大能搭配4G内存的原因 ,再多的话CPU就找不到了。”

实例:

公式是2^n, 假设n=2,就是两条地址总线。

变化有:
  00

  01

  10

  11
就是2^2=4种变化。
简单来说就是把n看成有多少个空格,然后用从0开始的二进制填充,然后自加1后重新填充,当填到全部空位都是1的时候,算算自己一共填了多少次,这就是寻址能力。自己可以动手在纸上练习。

也许现在你对什么是寻址能力已经有个模糊了解了,但是你又纠结于单位问题了,寻址能力的基础单位是B(字节)。我曾经也是无法理解的,但是聪明的人不会纠结一些问题钻牛角尖而停下前进的脚步。不懂就不懂,反正将来也会懂得,因为这些知识只是片面的,当我们达到一定高度就会懂这些简单的小问题了,呵呵,扯远了。一个人可以不聪明,但是一定要灵活。

现在说下我的见解:“寻址”,我们要突出“寻找”这个词语,它怎么找?地址就好比门牌号码,cpu就是通过地址这个门牌号码访问到我们的每一个内存单元(一个8bit的空间),“寻址能力”就是cpu能通过地址门牌找到多少个单元。这样单位问题就很明了,一个单元是8bit=1B,我们寻址能力就是能够找到多少个单元,就是能力有多少个B,然后根据换算等等什么kb啊,mb啊,gb啊,都出来了。我们中国人都是聪明的,要善于灵活比喻,形象思考。






点评

感谢分享  发表于 2013-7-12 20:46

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +1 收起 理由
Dardy + 5 + 5 + 1 感谢分享

查看全部评分

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

使用道具 举报

发表于 2013-7-12 21:06:26 | 显示全部楼层
发贴就对了,这里学汇编的人,基本上不用汇编解决实际的编程问题,提问都是书上的甚础问题。顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 09:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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