当前位置: 代码迷 >> 汇编语言 >> 一个CPU的寻址能力为8KB,那么它的地址总线的宽度为多少
  详细解决方案

一个CPU的寻址能力为8KB,那么它的地址总线的宽度为多少

热度:10550   发布时间:2013-02-26 00:00:00.0
1个CPU的寻址能力为8KB,那么它的地址总线的宽度为多少?
1个CPU的寻址能力为8KB,那么它的地址总线的宽度为多少?这是在王爽的汇编里的第一题,答案是13根。我就有点弄不明白了。以我的算法8KB = 8 * 1024 * 8 bit = 2^16 是16根。
既然1根地址总线是对应一个二进制位,那它的寻址能力应该也是2^1,为什么是2^3呢。
我又看了书上面讲的,一根地址总线的寻址能力是一个内存单元,一个内在单元应该是1Byte,为什么一根位地址总线的寻址能力是8位了呢。实在想不明白。
  大牛们指点一下。谢谢了。

------解决方案--------------------------------------------------------
一根地址总线寻址为2^1=2
10根地址总线就是2^10=1024byte=1KB
13根就是2^13=8KB
N根就是2^N
你的解法错了...
------解决方案--------------------------------------------------------
补充一下,你的理解是要*8
其实不用乘8的,我假设有4根地址线,那么就有16种组合,分别是0000,0001,0010·····
每一种组合都是一个byte,而不是楼主想的二进制位,所以不用*8
不知道我说的清楚不,功力不够啊- -
------解决方案--------------------------------------------------------
给楼上再补充一下:寻址就是用一个数字表示一个字节存储单元的地址,而不是表示这个存储单元中的内容,所以不用乘以8.
------解决方案--------------------------------------------------------
楼主你的想法那不叫寻址。。
所谓的寻址。是找内存单元的地址。也就是说用一个数来描述是哪一个内存单元。
//一个内存单元是8bit也就是一个字节。你不要把这个搞到寻址上去了。
1位的地址总线可以描述2个数据 就是0 和 1。
也就是1位的地址总线可能确定的地址有2种。
8K = 2 ^13 。 
要在这么多个数里面确定一个位置。就需要一个13位2进制数。
所以地址总线的宽度应该是13。
------解决方案--------------------------------------------------------
引用:
楼主你的想法那不叫寻址。。
所谓的寻址。是找内存单元的地址。也就是说用一个数来描述是哪一个内存单元。
//一个内存单元是8bit也就是一个字节。你不要把这个搞到寻址上去了。
1位的地址总线可以描述2个数据 就是0 和 1。
也就是1位的地址总线可能确定的地址有2种。
8K = 2 ^13 。 
要在这么多个数里面确定一个位置。就需要一个13位2进制数。
所以地址总线的宽度应该是13。……

对。楼主关键就是把一个字节能表示多少种不同的数据和地址总线的位数能确定多少内存单元这两个问题弄混了。