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

请高手指点一下……我糊涂了。
kingwrcy
[第35楼] [ 回复时间:2009-04-10 10:34 ] 
荣誉值:0
信誉值:2
注册日期:2007-12-10 17:12
我的看法是:
10根地址总线能够寻到2^10个范围内的地址,即0 000 000 000 - 1 111 111 111这个范围段的地址.一共是

2^10=1024个地址.1个地址就是1个存储单元.1个存储单元里面又有8个2进制位,也就是8个bit.那么题目中所说的

寻址范围为8k,也就是8k=8^1024=8192个地址可以被cpu寻到.而一根地址总线只能寻到2个地址,那么多少根地址总

线能够寻到8192个地址呢?应该是2^13=8192,所以要用到13根地址总线才能完成题目的要求.

楼主的误区在于:没弄懂寻址能力是什么意思.我觉得寻址能力就是这个cpu能够寻到的地址范围.也就是个数.1根地

址总线可以寻到2个地址.即0和1.  2根可以寻到4个即00.01.10.11,那么要寻到8k个.我们知道1k也就是1024个存

储单元,也就是1024个地址,那么8k也就是8192个地址.那么需要多少根总线也就不难求出了,即2^(x)=8192.x=13

初学者个人意见.难免会有错误.请指正哈.
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved