|
主题 : : 一个关于CPU寻址能力单位的讨论! [待解决] |
回复[ 14次 ]
点击[ 576次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-03-01 13:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-01 12:07 |
问:
一个CPU的寻址能力为8KB,那么它的地址总线的宽度是多少?
如果是13的话,那么就是说 2的13次方=8192B(注意:这个B为BYTE(字节))=8KB,但是书上却又句话说:10根导线可以传送10位二进制数据。就是说 2的13次方=8192BIT(单位为Bit(比特)) 那这样的话地址总线宽度就是 8KB*1024=8192BYTE=65536BIT-->2的N次方=65536BIT-->N=15 地址总线宽度为:15
请问各位大哥大姐 究竟这个单位是BIT(比特)还是BYTE(字节)
请解答的时候给出有力的条件! 谢谢! | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-03-03 17:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-12-05 22:29 |
问题很好,我刚学时也有这个问题,不过仔细看看书想想就明白了。
首先地址总线的宽度决定了它的寻址能力,这点是确定的,但是它是如何决定的呢?
地址总线的宽度是13,那么它能确定2的13次个地址,而在存储器中的基本单位是什么?是byte!这点书上说的很清楚,在第四页有句话:微机存储器的容量是以字节为最小单位来计算的,那么内存中的一个单位就是一个字节,那确定的就是2的13次个字节!寻址能力就是8kb,明白了吗? | | |
|
|
|
|
[第2楼]
[ 回复时间:2011-03-04 14:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-03 22:45 |
|
|
|
|
|
[第3楼]
[ 回复时间:2011-03-04 17:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-01 12:07 |
谢谢 明白了 我还以为 是比特 然后在按照 单位换算 换算到了 8KB 谢谢 明白了 | | |
|
|
|
|
[第4楼]
[ 回复时间:2011-03-12 14:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-02-14 17:12 |
这个问题问得好,我第一次学习的时候,也犯迷糊……
后来,突然自己不知怎么就想通了。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2011-03-12 16:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-12 15:25 |
字节用Byte,例:1Byte或简写1B(大写)
而位用bit,例:1bit或简写1b(小写)
1Byte=8bit
比如说:两根地址总线能表示4个数值,既00,01,10,11;所以可以指向4个地方,既cpu可以找到4个内存单元,寻址能力为4Byte。一个内存单元为1Byte。不要把最后一句话和寻址能力联系在一起 | | |
|
|
|
|
[第6楼]
[ 回复时间:2011-03-17 14:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-15 12:22 |
看来,这个问题困惑了好多同学啊。 我也搞好好久才明白。
顺便纠正下第一位同学:2^16=65536,所以一个CPU的寻址能力为8KB,那么它的地址总线的宽度是16 | | |
|
|
|
|
[第7楼]
[ 回复时间:2011-03-17 15:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-15 12:22 |
|
|
|
|
|
[第8楼]
[ 回复时间:2011-03-17 16:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-17 16:32 |
个人认为:
先弄清楚计微机的最小存储单位或者说内存单元是Byte,我想寻址应该是寻最小内存单元。
书上原话 “一个CPU有N根地址线,则可以说这个CPU的地址总线宽度为N,这样的CPU最多可以寻找2的N次方个单元”,也就是说它的寻址能力 = 2^N
你知道这些以后,无论是你正常算,还是反过来推导,结果是肯定的:
2^N = 8KB
2^N = 8*1024
N = 13 | | |
|
|
|
|
[第9楼]
[ 回复时间:2011-03-17 22:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-17 22:36 |
谢谢大家的答复,我是LZYSRY 现在已经弄清楚了 也就是说CPU寻址能力的单位就是内存单元的单位了也就是 8192个内存单元 寻址能力也就是:8KB 了 地址宽度:13 谢谢 真的谢谢大家 这样学习 汇编 真的很有信心了!呵呵…… | | |
|
|
|
|
[第10楼]
[ 回复时间:2011-04-01 12:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-12-06 13:11 |
你算错的原因是你多换算了一步,2^N的单位应该是Byte,而不是bit | | |
|
|
|
|
[第11楼]
[ 回复时间:2011-04-26 15:55 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-14 00:00 |
我觉得是16,一开始他不是说了一个例子么
10根线,2^10=1024
难道你说10根线,是1024byte寻址能力,显然不对
他明显地说是"位",也就是1024bit | | |
|
|
|
|
[第12楼]
[ 回复时间:2011-04-26 15:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-14 00:00 |
1byte = 8bit ,最小单位是bit,也就是一个二进制位
比特不是字节,为什么这么多人还是认为是13 | | |
|
|
|
|
[第13楼]
[ 回复时间:2011-04-26 17:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-04-26 16:37 |
1个内存单元=1byte
2^13=8*1024可以寻找8*1024个内存单元
故寻址能力为8*1024byte=8kb
个人理解,欢迎纠正 | | |
|
|
|
|
[第14楼]
[ 回复时间:2011-05-06 16:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-05-05 14:45 |
寻址能力代表的的是能寻找的内存单元的个数,一个内存单元就是一个字节。寻址能力为8KB,就是说能寻2^3*2^10 =2^13 个Byte(内存单元)。而13根导线可以寻找2^13个地址数。 | | |