. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
主题 : :  何为CPU的寻址能力,表示这个能力的单位是什么?  [待解决] 回复[ 142次 ]   点击[ 9483次 ]  
tianshanaoxue
[帖 主] [ 发表时间:2008-11-23 03:06 ] 
荣誉值:0
信誉值:0
注册日期:2008-11-22 23:22
CPU的寻址能力不就是CPU能够寻址的个数么? 
它的地址总线的宽度决定了它的寻址能力。 
总线宽度为N,则寻址能力位2^N  
 可是2^N=?KB 似乎不能表达吧……所以想到此,我觉着此题没有表达准确。 

 我知道8b = 1B (八个二进制位等于一个字节)  
 2^(3+10)b=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. 

请高手指点一下……我糊涂了。
sunbird333
[第3楼] [ 回复时间:2008-11-24 10:30 ] 
荣誉值:0
信誉值:6
注册日期:2008-11-24 09:56
我也刚开始学汇编。
因为LZ的这个问题也困惑了好久。
在网上找了很多答案
还是感觉这个答案是最好的,就是在这里找到的,呵呵
不是自己说的。借用别人
地址总线宽度即地址总线的条数,本题要求CPU有多少根地址总线。 

1位10进制有10个数字表示方式:0、1、2 ... 9,共10个数,即10^1。2位10进制可以有10^2种表示方式:0、1、2 ... 99。N位10进制有10^N种表示方式。 

N位二进制可以有2^N种表示方式。 

一根地址总线对应一位二进制数字。每根总线和二进制数字一样有两种状态,0和1。 

N根地址线可以有2^N种表示方式。 

地址总线的一种组合状态对应一个存储单元,即寻址1Byte的能力。 

在2^N中,N是地址总线的条数。所以当2为底数时,指数是几即地址总线条数是几。 

8KB=(2^3 * 2^10)B=2^13 B 

指数为13,所以地址总线宽度为13
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved