. : : 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根。
按照这种无论一个内存单元的容量具体是多少,这样的表示方法都不会发生变化。
boble
[第
32
楼]
[ 回复时间:2011-08-15 21:41 ]
荣誉值:0
信誉值:0
注册日期:2011-08-06 18:12
晕了,1B=2BIT 1B=4BIT 1B=16BIT等等,8KB可寻址2的13次方个内存单元,为什么?
自己看书,“8个BIT组成一个BYTE,也就是通常说的一个字节”这是书上的原话,换句话说,8个BIT组成一个字节,用BYTE来表示,即使你1B=1BIT,那么8KB的寻址空间也是2的13次方个内存空间,只不过存储一个8位的二进制数字需要8个内存空间罢了。
说明白点,就是说1个内存单元的大小就是1个BYTE的大小,而不是说一个内存空间可以存储8BIT,1B=8BIT,两者相等,不是这样,应该是根据内存单元的大小为8BIT,人为的规定1B=8BIT,一个是硬件性质决定,一个是人为规定。别搞混了
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved