1个CPU的寻址能力为8KB,那么它的地址总线的宽度为多少?
----------------------------------------------------------------------------------------1L---------
弄不明白了。以我的算法8KB = 8 * 1024 * 8 bit = 2^16 是16根。
既然1根地址总线是对应一个二进制位,那它的寻址能力应该也是2^1,为什么是2^3呢。
我又看了书上面讲的,一根地址总线的寻址能力是一个内存单元,一个内在单元应该是1Byte,为什么一根位地址总线的寻址能力是8位了呢。实在想不明白。
----------------------------------------------------------------------------------------2L---------
其实不用乘8的,我假设有4根地址线,那么就有16种组合,分别是0000,0001,0010·····
每一种组合都是一个byte,而不是楼主想的二进制位,所以不用*8
----------------------------------------------------------------------------------------3L-------
给楼上再补充一下:寻址就是用一个数字表示一个字节存储单元的地址,而不是表示这个存储单元中的内容,所以不用乘以8.
-------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------4L------
楼主你的想法那不叫寻址。。
所谓的寻址。是找内存单元的地址。也就是说用一个数来描述是哪一个内存单元。
//一个内存单元是8bit也就是一个字节。你不要把这个搞到寻址上去了。
1位的地址总线可以描述2个数据 就是0 和 1。
也就是1位的地址总线可能确定的地址有2种。
8K = 2 ^13 。
要在这么多个数里面确定一个位置。就需要一个13位2进制数。
所以地址总线的宽度应该是13。
------------------------------------------------------------------------------------------------
误区:把总线寻址和内存单元存储龙混淆。。。
------------------------------------------------------------------------------------------------
仔细琢磨:还是题目有歧义。寻址能力为8kb,意思也就说地址为 0~8*2^10个字节(Byte)地址,而一个字节代表一个最小存储空间(存储单元)。
即:地址标记为(0、1、2、3。。。。。2^13-1)的存储单元。
最初的简单想法是将8kb转换为最小单元(bit)8*2^10byte=8*2^10*8bit,即其寻址范围为 0~8*2^10*8 ,即16根总线。一下子想歪不。。
伤不起啊,反正现在比较理解地址总线的寻址方式及表示方式。
------------------------------------------------------------------------------------------------
http://topic.youkuaiyun.com/u/20110301/21/52e58411-298b-40b8-abd4-8a4f21eb650d.html