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

请高手指点一下……我糊涂了。
abcdwzxy
[第39楼] [ 回复时间:2009-04-12 09:58 ] 
荣誉值:0
信誉值:3
注册日期:2009-03-13 16:19
本人也是个初学者,看了楼主的问题和各位大虾的回答后,我觉得9楼,11楼说的很对!
我本人的理解是: 
1、存储单元的容量是1B(8个二进制位bit),一个存储单元能够存放8个二进制位;
2、CPU的寻址能力是以CPU能够寻找到的存储单元的个数来衡量的;所以,我们说CPU的寻址能力是8KB,指的是这个CPU能找到8K个B,也就8K个存储单元;
3、地址总线的宽度决定的是CPU能对多少个存储单元进行寻址;(书1.8节 第一段第二句话)那么,地址总线是怎样决定的呢:就是以地址总线上所能表达的信息的个数来决定的,地址总线上能表达多少个信息,那么就可以说CPU能够对多少个存储单元进行寻址;
   现在来看书上这题:
     题目叙述1个CPU的寻址能力为8KB——这句话的意思就是说:该CPU能够对8K个存储单元进行寻址,也就是说该CPU能找到8K个存储单元;
     题问地址总线宽度——这也就是在问:CPU地址总线要多少根时才能表达8K个信息(8K=2^3*2^10),所以答案也就显而易见了。
    楼主关键没分清楚存储单元,寻址能力,2进制位,把一些东西弄混淆了!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved