. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
基础知识
主题 : :
关于寻址能力的一些胡思乱想。。。。
[待解决]
回复[
37
次 ] 点击[
1361
次 ]
jaguaer
[帖 主]
[ 发表时间:2010-08-22 11:42 ]
荣誉值:0
信誉值:0
注册日期:2010-08-20 12:42
本人初学汇编,所以免不了有个毛病,就是做完检测题之后,想找正确答案对一对。
所以,当我看到检测点1.1的第一道题,全世界的答案都是13的时候,本人习惯性的妥协了。
但是,心里还是多少有点不甘心。。。。
于是拿到这里说说,就当是在胡言乱语好了。。。。
先说说8KB的含义,大家都认为是指8K个内存单元,因为一个内存单元正好是一个Byte。我认为这正好是个巧合而已。
请大家想想,如果现在规定,一个内存单元不再是八位了,而是四位,那么大家怎么来表示寻址能力呢?按照前面的思维,应该是8K个0.5B?也就是4KB。又如果一个内存单元是十六位呢,8K个2B吗?也就是16KB。
你们看,同样的地址总线,在单个内存单元容量标准不同的时候,看上去寻址能力(个数)却跟着也发生变化了,这显然是不合理的一种表示方法。
因为,我们要表示的是能够寻找到的内存单元的个数,所以我们不需要知道具体的内存单元的容量。无论内存单元的容量是多少位,同样的总线都能找到一样多的内存单元。
再者,8K个Byte,即8k个字节,是表示一个容量,而这个时候我们并不需要知道具体容量,只需要知道能够寻到的个数。
好比,一个房产中介告诉你他有100套二手房,这是完全可以让人理解的;但是如果他告诉你他有100000平米的房子,你可能就要犯晕了,到底是多少套啊?即便是你事先知道一套房子的面积等于100平米,你也会认为用面积来表示房子的个数是多此一举的行为吧。
因此,把8KB的B用来解释是一个内存单元的单位是不合理的。在我看来,这个8KB应该是8KB个内存单元,而不是8k个内存单元B,8K个内存单元B是毫无意义的一种表示方法。
即是8k*8bit=65536bit的简化写法。而65536=2^16,也就是说,8KB寻址能力的CPU,它的地址总线应该为16根。
按照这种无论一个内存单元的容量具体是多少,这样的表示方法都不会发生变化。
huameng
[第
28
楼]
[ 回复时间:2011-08-03 08:53 ]
荣誉值:0
信誉值:0
注册日期:2009-12-04 14:44
看看存贮器是怎么做的,存贮器就是以字节为单位的,没有以字为单位的;以字节、字或者双字方式读写存贮器是CPU的能力,说明一次最大能读少字节,CPU的地址线是直接寻址字节地址的,CPU的数据宽度是表示一次能读写1、2或者4个字节数据的能力;别忘了存贮器去讨论CPU了,存贮器就是这么做的。
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved