《汇编语言》 习题1 理解出问题啦

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值