|
主题 : : 1个CPU的寻址能力为8KB,那么它的地址总线宽度为多少? [待解决] |
回复[ 83次 ]
点击[ 4145次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-10-26 09:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-25 23:36 |
我不理解,CPU寻址的最小单位到底是bit还是Byte?
如果是Byte的话,那8K的寻址能力,宽度应该为13(8*1024)(这里的8指什么1024又是什么,为什么要相乘,是不是以后都可以照这个方法来算?)
书上举了一个例子,说10根导线可以传送10位2进制数据,所以可以转送10^2的数据,那他说的10位2进制数据不就是在说有10bit吗?1bit不是等于1位2进制数据吗? | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-10-26 15:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19 |
|
|
|
|
|
[第2楼]
[ 回复时间:2010-10-26 20:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-26 18:05 |
上面的不知道有没有看书或者看懂没有记住没有 如果有10根地址总线那么地址总线的宽度即为10 而他的寻址能力即为2^10个 相对的 题目是 CPU的寻址能力为8KB,那么它的地址总线宽度为:13 因为8*1024=2^13 这个13即为地址总线宽度,为什么要乘1024因为一个KB有1024个byte,而8KB则有8*1024=8192个byte这个是它的寻址能力!用8192除以2的余数一直除以2知道除以13个2之后的到商1才算完 所以这个13就位地址总线宽度! 呵呵 表达能力比较差劲 敬请谅解! | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-10-26 21:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19 |
上面的不知道有没有看书或者看懂没有记住没有 如果有10根地址总线那么地址总线的宽度即为10 而他的寻址能力即为2^10个 相对的 题目是 CPU的寻址能力为8KB,那么它的地址总线宽度为:13 因为8*1024=2^13 这个13即为地址总线宽度,为什么要乘1024因为一个KB有1024个byte,而8KB则有8*1024=8192个byte这个是它的寻址能力!用8192除以2的余数一直除以2知道除以13个2之后的到商1才算完 所以这个13就位地址总线宽度! 呵呵 表达能力比较差劲 敬请谅解!
------------------
回复:呵呵, 但愿你是对的。但愿, 仅此而已。 | | |
|
|
|
|
[第4楼]
[ 回复时间:2010-10-27 01:12 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-21 13:38 |
1B(Byte)=8b(bit) 1KB=1024bit 8KB=8*1024bit 2^3=8 2^10=1024 2^13=8*1024 10根导线可以传送10位2进制数据,10位2进制数据可以表示 2^10=1024个自然数。 自然数概念小学的,幂次方概念是中学吧 | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-10-27 20:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-25 15:05 |
|
|
|
|
|
[第6楼]
[ 回复时间:2010-10-28 14:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-28 09:03 |
寻址能力=2^n(n是指地址总线的宽度),8KB的寻址能力的地址总线的宽度应该就是13. | | |
|
|
|
|
[第7楼]
[ 回复时间:2010-10-29 19:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-26 18:05 |
|
|
|
|
|
[第8楼]
[ 回复时间:2010-11-07 15:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-13 21:25 |
|
|
|
|
|
[第9楼]
[ 回复时间:2010-11-08 06:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-08 05:57 |
这个其实不难的,就是求2的N次方得8KB,KB是kilo byte,千字节,是字节来的。那求出来就是2的13次方是8096,所以地址总线宽度为13. | | |
|
|
|
|
[第10楼]
[ 回复时间:2010-11-08 06:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-08 05:57 |
另外,补充一下,这个地址总线应该是说他一次可以读几位宽度的地址,不是说地址里面的数据哦,是指地址的标记,这个值算出来得13位,说明它一次可以说13位二进制组成的地址,13位二进制可以组成8096个不一样的组合,就是8096个不同的地址。 | | |
|
|
|
|
[第11楼]
[ 回复时间:2010-11-08 16:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-07 22:19 |
16位,8*1024*8=65536,
65536是2的16次方。 | | |
|
|
|
|
[第12楼]
[ 回复时间:2010-11-08 20:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-07 22:19 |
算错了,多乘以了个8。
8*1024=8192
8192是2的13次方,所有宽度为13位 | | |
|
|
|
|
[第13楼]
[ 回复时间:2010-11-09 16:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-09 16:36 |
|
|
|
|
|
[第14楼]
[ 回复时间:2010-11-09 16:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-09 16:36 |
|
|
|
|
|
[第15楼]
[ 回复时间:2010-11-21 23:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-21 23:12 |
00
01
10
11
以上4个分别存入4个不同的存储单元, 一个存储单元1byte 可以存储8个2进制数据.. 那这么算 内存浪费的好严重啊. | | |
|
|
|
|
[第16楼]
[ 回复时间:2010-11-22 17:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2010-11-16 21:58 |
在书本的第6页有这样的一段话:一个cpu的n根地址线,则可以说这个cpu的地址总线的宽度为n。这样的cpu最多可以寻找2的n次方个内存单元。 请楼主关注末尾是2的n次方个内存单元。你的问题中cpu的寻址能力是8kb中b是byte的意思,是该cpu最多可以寻找8k个byte,而8k=2^13,所以有13跟地址线。 | | |
|
|
|
|
[第17楼]
[ 回复时间:2010-11-23 14:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-31 11:03 |
|
|
|
|
|
[第18楼]
[ 回复时间:2010-11-25 11:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-03-26 16:07 |
10根地址线,最大寻址能力为:2的10次方=1024B=1KB,没问题撒?
那么8KB有多少根地址线?这题做不来莫?
8*1024 = 2的3次方 * 2的10次方 = 2的13次方
则,地址总线宽度是13撒。
那么可以考虑,最大寻址能力为7KB的CPU,有多少根地址线呢?
按此题意,命题是错误滴,因为2的X次方等于7,则7肯定不是正整数,所以,地址线位数不合法。 | | |
|
|
|
|
[第19楼]
[ 回复时间:2010-11-25 21:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2010-11-16 21:58 |
回复:[第18楼]
------------------
看第16的解释 | | |
|
|
|
|
[第20楼]
[ 回复时间:2010-11-26 14:18 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-14 22:01 |
宽度当然是十三位的啊,8K=2的十三次方。所以是啊 | | |
|
|
|
|
[第21楼]
[ 回复时间:2010-11-26 17:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-26 17:16 |
|
|
|
|
|
[第22楼]
[ 回复时间:2010-12-06 13:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-12-04 14:43 |
兄弟啊 我也才开始学第一章。王爽老师弄的那个活动。。答案当然是13。。这个什么磁盘,内存啊那些最基本的单位是字节byte 就像长度单位的米一样。。你看1KB=1024B.所以地址宽度为10 那8KB不就等于2的三次方乘以2的十次方。。等于2的13次方 所以答案就是13了 | | |
|
|
|
|
[第23楼]
[ 回复时间:2010-12-08 17:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-12-08 16:55 |
寻址能力其中还隐含了一个转换:例如地址总线是10,通常都说是2的10次方个寻址能力;这是相对于存储空间来说的,每个存储空间存储1B的数据,所以总线10的寻址能力是1024B 即1kb的寻址能力 | | |
|
|
|
|
[第24楼]
[ 回复时间:2010-12-13 10:44 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-12-12 20:21 |
|
|
|
|
|
[第25楼]
[ 回复时间:2010-12-13 18:31 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-12-06 08:46 |
cpu是通过地址总线来指定存储单元的,而cpu的寻址能力就代表了cpu指定存储单元的能力。如果地址总线的宽度是n,而每根地址总线都有两种可能0或者是1,这样每根线有两种可能(用到高中学到的排列组合),因此cpu可以通过地址总线可以指定2的n次方个存储单元。这里要注意每个存储单元是1Byte,因此cpu可以对有2的n次方B的存储器进行寻址,也就是2的n次方乘以8bit的存储器寻址,所以是2的n+3次方的寻址能力。这里的寻址能力是8kB,也就是2的13次方Byte,这里的n就是13了 | | |
|
|
|
|
[第26楼]
[ 回复时间:2010-12-15 20:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:8
信誉值:0
注册日期:2010-12-15 20:35 |
应该是13吧、
8KB = 2^3 * 2^10 B | | |
|
|
|
|
[第27楼]
[ 回复时间:2011-01-13 16:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-26 16:20 |
|
|
|
|
|
[第28楼]
[ 回复时间:2011-01-16 13:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-01-15 22:31 |
8bit=1Byte 1024Byte=1KB
8K=8*1024Byte=8192Byte
我是 用 最笨的方法来算它的寻址能力
2^n
2^13=8192
所以 8KB的 寻址就是13
本人新手 有不对的地方谅解 | | |
|
|
|
|
[第29楼]
[ 回复时间:2011-01-28 02:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-01-26 06:43 |
|
|
|
|
|
[第30楼]
[ 回复时间:2011-03-23 15:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-11-19 15:45 |
|
|
|
|
|
[第31楼]
[ 回复时间:2011-03-24 02:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-20 02:23 |
|
|
|
|
|
[第32楼]
[ 回复时间:2011-04-12 15:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-02 15:53 |
①2^16=64k
②2^n=8k
①/②=2^(16-n)=8=2^3
由此可得:16-n=3
所以n=13 | | |
|
|
|
|
[第33楼]
[ 回复时间:2011-04-15 10:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2011-04-09 19:34 |
|
|
|
|
|
[第34楼]
[ 回复时间:2011-04-18 13:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-04-18 12:45 |
个人认为,这个问题之所以有13,16之争,其根本原因在于对“CPU寻址能力”概念的理解不一致。
CPU寻址,“寻”的是存储单元的“址”。
对于13根地址线,能寻2^13个存储单元,存储单元地址从0到(2^13-1),这一点我想大家都是认同的。
那么存储单元是什么呢?书上说的很清楚,一个存储单元能放8个bit,即1个Byte。
2^13个存储单元的容量是多少呢?2^13个Byte,即8K个Byte,即8KB。
至此,结论已经很显然了,13根地址线的寻址能力为8KB。 | | |
|
|
|
|
[第35楼]
[ 回复时间:2011-04-26 15:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-14 00:00 |
答案是16,8kb=8*1024=8192Byte=8192*8=65536bit 注意bit是位
一条线一次最多传1bit,也就是0或者1
65536bit的寻址能力,也就是0-65535 ,注意是从0开始不是从1开始
65536 就是 2^16 次方,所以答案是16 | | |
|
|
|
|
[第36楼]
[ 回复时间:2011-07-07 18:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-07-07 16:21 |
我觉得之所以会出错是因为概念没弄清。
“寻址能力”是指:CPU能寻找地址的最大范围。你可以把他想象成“门牌号”的总数量。
“总线宽度”是指:CPU能支持的最大位数。你可以把他想象成“门牌号”的位数。多少线就多少位数。
由于CPU只能识别高低电位(也就是0和1),所以“门牌号”每个位只能有两种选择。
假设现在我们的“门牌号”位数是三位,那么我们的用0和1组合的数字就有以下几个。
000 001 010 011 100 101 110 111
我们数一下总共有8种组合,也就是2^3。
同理,我们8KB的寻址能力就是8192个“门牌号”
反推过来“门牌号”位数则是8192=2^13,总共13位,也就是13条线。 | | |
|
|
|
|
[第37楼]
[ 回复时间:2011-07-07 20:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-27 23:04 |
对的,这要用到高中数字的排列组合,一根地址线能表达两个数:0和1.(也就是能找到2个BYTE的地址)两根地址线能找到01,00,10,11.四个BYTE的地址。以此类推:2^n=寻址能力。n:地址总线数。 | | |
|
|
|
|
[第38楼]
[ 回复时间:2011-07-08 07:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59 |
绝对为16位,因为1KB等于1024字节,一字节是八位,即8byte,每位可以表示两个数,即0和1,所以地址总线为16,单位换算时注意一些就好 | | |
|
|
|
|
[第39楼]
[ 回复时间:2011-07-08 09:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-17 12:29 |
地址总线是13位没有错的,而楼上说16位,那寻址能力就不止8KB了。
书上说这个CPU寻址空间能力是 8KB 内存。而地址总线寻址是以内存单位(一个字节)做为单位的。所以8KB=8X1024=8192字节。13位地址总线可以表示出是2^13=8192个数字,对应了内存中8192个字节。所以说这个CPU地址总线是13位。 | | |
|
|
|
|
[第40楼]
[ 回复时间:2011-07-08 10:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-17 12:29 |
2|8192--------------1
-----
2|4096-------------2
-----
2|2048------------3
-----
2|1024-----------4
-----
2|512-----------5
-----
2|256----------6
-----
2|128---------7
-----
2|64---------8
-----
2|32--------9
-----
2|16-------10
-----
2|8-------11
-----
2|4------12
-----
2|2-----13
-----
1 | | |
|
|
|
|
[第41楼]
[ 回复时间:2011-07-09 15:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-07-07 16:21 |
我觉得之所以会出错是因为概念没弄清。
“寻址能力”是指:CPU能寻找地址的最大范围。你可以把他想象成“门牌号”的总数量。
“总线宽度”是指:CPU能支持的最大位数。你可以把他想象成“门牌号”的位数。多少线就多少位数。
由于CPU只能识别高低电位(也就是0和1),所以“门牌号”每个位只能有两种选择。
假设现在我们的“门牌号”位数是三位,那么我们的用0和1组合的数字就有以下几个。
000 001 010 011 100 101 110 111
我们数一下总共有8种组合,也就是2^3。
同理,我们8KB的寻址能力就是8192个“门牌号”
反推过来“门牌号”位数则是8192=2^13,总共13位,也就是13条线。
------------------
回复:
有些朋友说是16。
这里就需要先弄清一个问题。
在CPU每条线能传输1bit,也就是0或1的二进制数,即是一位数据。
个人猜测,可能是历史原因,1bit数据并不是一条完整的信息,而计算机传输一条完整的信息,最小位数必须为8位,也就是1Byte大小。
你可以看看,我们现在的CPU位数都能被8整除。(Intel 4004 4040 除外,这是四位的CPU)
至于为什么是8位,这应该与8086那个年代有关。
回到正题,现在我们一个完整的“门牌号”必须是八位或以上的组合,也就是“门牌号”不会出现00;0111这样的号数(00000000不等于00,前面的0不能被省略,因为只有高低电位,没有“无电位”),那么地址组合总数,当然不能是以Bit为基本单位了,正确的基本单位应该是Byte。
所以13才是正解。 | | |
|
|
|
|
[第42楼]
[ 回复时间:2011-07-09 17:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59 |
地址总线AB是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与 数据总线 不同。地址总线的 位数 决定了CPU可直接寻址的 内存 空间大小,比如8位微机的地址总线为16位,则其最大可 寻址空间 为2^16=64KB,16位微型机的地址总线为20位,其可寻址空间为2^20=1MB。一般来说,若地址总线为n位,则可寻址空间为2^n 字节
注意是字节哦! | | |
|
|
|
|
[第43楼]
[ 回复时间:2011-08-26 19:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2008-03-14 15:08 |
8K=8*1024=2^3*2^10=2^13,所以其地址总线最少要13根 | | |
|
|
|
|
[第44楼]
[ 回复时间:2011-08-27 12:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-08-27 11:44 |
|
|
|
|
|
[第45楼]
[ 回复时间:2011-09-22 21:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-08-05 13:28 |
所谓cpu寻址寻找的就是存储单元,而微型计算机的存储单元就是一个字节,你记
住能传送十位二进制数的话它所代表的是地址,而不是存储单元,懂?
8K=8*1024就是等于2的13次方 | | |
|
|
|
|
[第46楼]
[ 回复时间:2011-09-25 10:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-09-24 17:31 |
|
|
|
|
|
[第47楼]
[ 回复时间:2011-09-29 11:12 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-09-29 10:53 |
回复:[第16楼]
------------------
不能这样想的! 1b是8位的这个没错! 但是你看看光00,01这些能做什么! 如果组合都是两位的话,那些指令了什么的压根都不够用的! 所以它是这样来存储的:00000001,不过,你要是想刻意去存储的话也是可以的! 也不能说是浪费吧! 是为了以后扩展考虑的! | | |
|
|
|
|
[第48楼]
[ 回复时间:2012-02-06 04:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-01-21 20:47 |
|
|
|
|
|
[第49楼]
[ 回复时间:2012-03-20 22:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-03-17 18:17 |
2|8192--------------1
-----
2|4096-------------2
-----
2|2048------------3
-----
2|1024-----------4
-----
2|512-----------5
-----
2|256----------6
-----
2|128---------7
-----
2|64---------8
-----
2|32--------9
-----
2|16-------10
-----
2|8-------11
-----
2|4------12
-----
2|2-----13
-----
1
------------------
回复:
简单明了 | | |
|
|
|
|
[第50楼]
[ 回复时间:2012-03-25 21:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-03-25 21:44 |
8KB=2^13 Byte 即地址总线宽度为13
书上第6页:一个CPU的N根地址线,则可以说这个CPU的地址总线的宽度为N.这样的CPU最多可以寻找2的N次方个(内存单元)。注意这里的内存单元。
书上第4页有这样两句话:1.微型机存储器的存储单元可以存储一个Byte.
2.微机存储器的容量是以字节为最小单位来计算的。 | | |
|
|
|
|
[第51楼]
[ 回复时间:2012-03-28 09:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2008-04-11 12:20 |
2的13次方=8KB
根据:CPU有多少根地址总线,就代表这个CPU地址总线的宽度为多少
就是说cpu寻址范围是2的N次方个存储单元(微型机存储器的存储单元可以存储一个Byte)
所以,地址总线宽度为13 | | |
|
|
|
|
[第52楼]
[ 回复时间:2012-04-25 12:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-04-24 16:08 |
|
|
|
|
|
[第53楼]
[ 回复时间:2012-05-02 15:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2012-04-10 07:08 |
|
|
|
|
|
[第54楼]
[ 回复时间:2012-05-04 20:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-05-04 20:25 |
其实很多问题,主要认真看几遍都能解决,我觉得王老师的书,把一些新手容易误区的东西都讲得很清楚,关键每一章要多看几遍。 | | |
|
|
|
|
[第55楼]
[ 回复时间:2012-05-18 13:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-04-21 11:14 |
回顾课本原来的内容看下!
8个bit组成一个byte(8bit=1B) bit叫做“位”
每根导线可以传一个位!10根一次就传送10位!也就是10个0或1
关键在于,这些数据中的组合,你看到没有!书中的原话是:用二进制表示就是1或0,10根导线可以传送10位二进制数据。而10位二进制数可以表示多少个不同的数据呢?2的10次方个!也就是说10根能寻找的最小数是0,最大数是1023.这里的数指的的存储单元!
一个存储单元能存8个bit,也就是8个位。1024个存储单元就是8*1024个位
会过头算一下,就知道了!
13就是这么来的!
我也是刚学,很多地方不会表达,不知道会不会把你看迷糊!
不足之处请指出! | | |
|
|
|
|
[第56楼]
[ 回复时间:2012-07-08 13:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-07-05 11:20 |
书中有讲到:一个CPU有N根地址线,则CPU的地址总线的宽度为N,这个CPU最多可以寻址2的N次方个内存单元
其实你可以这样理解:地址总线寻址访问的是存储单元(内存单元),存储单元的单位是字节(Byte)
1KB=2的10次方(1024Byte)
8MB->8*2的10次方->2的3次方*2的10次方=2的13次方
得出结论:地址总线的宽度为13 | | |
|
|
|
|
[第57楼]
[ 回复时间:2012-07-18 23:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-07-18 22:23 |
首先需要确认,楼主的是不是想问:在进行对数计算式,为什么计算的时候不是求以2为底的65536(8*1024*8)的对数,而是求以2为底的8192(8*1024)的对数。如果是,请往下看,如果不是,下面就不用看了。
存储空间都是以字节(B)为基本单位的,印象中没有以位(b)为基本单位的。要对存储空间寻址,不需要对每个位设定一个编号(寻址地址),而是对每个字节设定编号。每一个地址编号都代表着1B(也就是8b)的存储空间。
8KB的存储空间,会需要8K(8192=8*1024)个地址编号,地址编号范围是0000H-1FFFH,转换为二进制为0000000000000-1111111111111,也就是13位宽度。
综上所述,在求底数的时候,不能再8192的基础上再乘以8。
我也是看了大家的讨论,才有点明白的。逻辑混乱见谅,希望对你有用。
(另外,好像在计算机里面说到“×宽”的时候是b为单位,比方说上网带宽)
《真理越辩越明》 | | |
|
|
|
|
[第58楼]
[ 回复时间:2012-07-18 23:18 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-07-18 22:23 |
回复:[第34楼]
------------------
同意34楼的说法,通俗点讲,8192个房间,每个房间8平方米,最终需要确认地址的是房间,不是每平方米的空间。 | | |
|
|
|
|
[第59楼]
[ 回复时间:2012-07-21 21:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-07-21 21:21 |
|
|
|
|
|
[第60楼]
[ 回复时间:2012-08-15 09:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-08-14 17:57 |
|
|
|
|
|
[第61楼]
[ 回复时间:2012-08-22 09:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-08-21 09:46 |
在1.8节地址总线里面写到这么几个概念:
1、一个存储器有128个存储单元
2、一个存储单元可存储1个字节
3、一个CPU有N根地址导线,则这个CPU的地址总线宽度为N,这样的CPU最多可以寻找2的N次方个内存单元。
这里的N就是地址总线的宽度
8KB=8*1024byte=8192=2^13
所以它的地址总线宽度为13 | | |
|
|
|
|
[第62楼]
[ 回复时间:2012-09-29 11:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:1
信誉值:0
注册日期:2011-11-18 12:33 |
答案必定是13,答16的人在于没有区分对CPU到底寻找的是什么?一个存储单元是8个二进制位,遗憾的是这个部分是CPU无法找到的,CPU只能找到存储但愿。 | | |
|
|
|
|
[第63楼]
[ 回复时间:2012-11-09 20:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-11-09 19:22 |
|
|
|
|
|
[第64楼]
[ 回复时间:2012-11-24 16:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-04-29 12:01 |
概念理解错误啊
寻址是的基本单位是byte
而传数据的每根数据总线是传1个bit
所以请不要把寻址总线和数据总线的宽度弄混淆了 | | |
|
|
|
|
[第65楼]
[ 回复时间:2012-12-30 15:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-11-17 19:40 |
(1)1个CPU的寻址能力为8KB,就是说这个CPU可以寻找到8k=8*1024=2^3*2^10=2^13个内存单元,因为每个内存单元的信息容量是1个字节,即1B。
(2)1个CPU的地址总线的宽度为N,则它的寻址能力为2^N。
现在这个CPU的寻址能力为8KB=2^13B,所以它的总线的宽度为13,即13根地址总线。 | | |
|
|
|
|
[第66楼]
[ 回复时间:2013-02-12 21:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-12-17 10:42 |
1.首先了解存储单元的概念,一个存储单元为1B,即8bit.
2.寻址能力是指能找到的存储单元的个数*1B。
3.8kB/1B=8K,即可以寻找到8K个存储单元。
4.2的N次方=存储单元个数(8K),N即为宽度。
5.经计算,N=13 | | |
|
|
|
|
[第67楼]
[ 回复时间:2013-02-28 15:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-02-28 14:56 |
你好,我也是新手。个人是这样理解的:先不说10位二进制数这个概念。二进制数可以把它比拟成算盘的一个个的柱子,一个柱子是一位数。算盘上的一根柱子上根据算盘珠的不同可以表示0-9十个数字,而二进制数的一位可以表示0和1两个数。一位二进制数可以表示两个数字,2位二进制数就可以表示4个二进制数,3位是8个,。。。那么10位二进制数就可以表示2^10个数字。
另外从物理上讲,一根地址线其实就是一根导线,传输的只有高电平和低电平两种情况(其实就是0和1)。 | | |
|
|
|
|
[第68楼]
[ 回复时间:2013-02-28 23:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-02-28 22:39 |
答案是13。
cpu寻址所找到的内存地址是字节,并不是bit,1byte里有8个bit.
8kb=8*1024byte
2^13=8*1024
所以地址总线是13 | | |
|
|
|
|
[第69楼]
[ 回复时间:2013-03-04 15:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-08-15 14:46 |
在我看来,一个字节等于俩个字,分别是01,常用的一个单位都是字节,例如1MB B指的就是字节Byte | | |
|
|
|
|
[第70楼]
[ 回复时间:2013-03-18 08:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-01-28 17:26 |
CPU总线宽度为13,一根总线为一个二进制为,但是一个内存单元最小单位为1Byte,所有地址总线就是为13次方 | | |
|
|
|
|
[第71楼]
[ 回复时间:2013-04-17 11:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-04-17 11:57 |
8K=2的13次方,一个单元一字节,所以总线宽度是13 | | |
|
|
|
|
[第72楼]
[ 回复时间:2013-05-08 03:01 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-05-06 20:41 |
回复:[第3楼]
------------------
十分之赞同,看到前言说,没有通透现章节内容就不要往下学,我觉得一定有其中的道理,遇到此题,我甚是迷惑,所以来此欲求一解。看到二楼我就受益匪浅,有种茅厕顿开的感觉。lS心生大爱,小弟着实佩服。 | | |
|
|
|
|
[第73楼]
[ 回复时间:2013-05-22 11:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-11-15 20:57 |
概念理解错误啊
寻址是的基本单位是byte
而传数据的每根数据总线是传1个bit
所以请不要把寻址总线和数据总线的宽度弄混淆了
------------------
回复:看到这里我才明白了。。。 | | |
|
|
|
|
[第74楼]
[ 回复时间:2013-06-15 11:56 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-06-15 10:10 |
楼主应该是8bit 和8KB 两个8 有点混了。
寻址是byte,
传数据是bit,(数据总线至少得是8位才行,要不然一个byte都填不满!)
现在,数据总线宽度大了,32位,64位,
寻址,是为了读写数据,一次读到一个完整数据是一,尽量不浪费寻址能力和内存空间是二,
所以,微机都有缓存(保护硬盘?减少读写次数),
所以,高级编程语言,一般都有数据类型,(减少寻址能力和存储空间浪费)
那么CPU的处理能力,取决于什么?
地址总线(寻址能力),
数据总线(读写能力,数据传输能力),
控制总线(指令集的大小,指令数的多少), | | |
|
|
|
|
[第75楼]
[ 回复时间:2013-10-12 10:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-09-10 22:44 |
以前我就知道答案是2^13,但lz又一次问道这个问题的时候,我也突然迷茫了一下,为什么2^13是8kb?
ls已经有了很多解释,但都没有说到重点。。。所以弄的自己非常迷糊,越想越迷糊
迷糊点:13跟地址总线是8192,但跟8kb有什么关系
之后又仔细的看了书上的解释(概念):
1.cpu寻址是什么意思,寻的是什么址?答:cpu寻址寻的就是内存地址(有很多种地址,我这里就只说内存好理解)
2.内存地址最小单位是一个内存单元(一个字节)
3.寻址能力就是直接能访问最大内存的物理空间(可以百度一下“地址总线宽度”的名词解释)
4.通过上面的各种概念最终就可以得出 8192个内存单元 = 8192b = 8kb的寻址能力 | | |
|
|
|
|
[第76楼]
[ 回复时间:2014-01-15 21:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-01-13 23:18 |
错解:
已知:
1. 1 B = 1 Byte
2. 1 KB = 2^10 B
3. 1 B = 8 bit
解:
设该CPU的地址总线的宽度为N.
8 KB = 2^10 B * 8 = 8 bit * 2^10 * 8 = 2^16 bit
2^N 个编号 = 2^16 bit
解得 N = 16
答:
该CPU的地址总线的宽度为16.
正解:
已知:
1. 1 B = 1 Byte
2. 1 KB = 2^10 B
3. 1 B = 8 bit
解:
设该CPU的地址总线的宽度为N.
8 KB = 2^10 B * 8 = 2^13 B
2^N 个编号 = 2^13 B
解得 N = 13
答:
该CPU的地址总线的宽度为13.
该题部分理论依据:
1. 存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号。——《汇编语言第2版》
第4页|1.6存储单元
2. 微机存储器的容量是以字节为最小单位来计算的。——《汇编语言第2版》第4页|1.6存储单
元
3. CPU是通过地址总线来指定存储器单元的。地址总线上能传送多少个不同的信息,CPU就可以
对多少个存储单元进行寻址。——《汇编语言第2版》第6页|1.8地址总线
个人见解:
正解和错解的唯一区别在于【编号对象】
1.正解的编号对象是每个存储单元(8 bit)
2.错解的编号对象是每个二进制位(1 bit)
——傅斯年为青年学者定下“三年内不许发表文章”的规矩,不才在此三分学问,七分吆喝,请各位见谅
。 | | |
|
|
|
|
[第77楼]
[ 回复时间:2014-01-20 14:11 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-01-20 14:06 |
这个应该是13啊,地址总线长度需要用寻址能力换算
8kb=8*1024byte=2的3次方*2的10次方=2的13次方
所以是13啊 | | |
|
|
|
|
[第78楼]
[ 回复时间:2014-01-21 22:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-01-21 22:13 |
回复:[贴 主]
------------------
寻址能力也可以看作是寻找门牌号的能力,一条线可以传输两种电位(高电位或者地电位),如果是十条的话,那么传输的不同的电位组合共计2的10次方个,可以看作一共有2的十次方个门牌,那么如果告诉你一个cpu有8k的门牌号呢,反过来算,8k=8*1024=2的3次方*2的十次方=2的十三次方,那么一条线有两个不同的组合,2的十三次方不就说明有十三条线吗?
寻址能力最小的单元是Byte,
补充知识点:
数据的最小单位是字节
信息的最小单位是bit,8bit=1Byte
1.8末尾提到,总线宽度为N的,可以找到2的N次方个内存单元。 | | |
|
|
|
|
[第79楼]
[ 回复时间:2014-04-04 21:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-04-04 21:12 |
|
|
|
|
|
[第80楼]
[ 回复时间:2014-09-17 16:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-09-16 21:14 |
你应该认真看书了,寻的是内存单元,1内存单元可以存放1字节(Byte)
《王爽 汇编语言2》 中第6页下方有这样一句话:
一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找 2 的N次说这个内存单元。
8×1024=2^13,所以它的地址总线宽度为13。 | | |
|
|
|
|
[第81楼]
[ 回复时间:2014-09-25 22:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-09-02 15:22 |
地址总线的宽度为13,2的13次方等于8192b,也就是8kb | | |
|
|
|
|
[第82楼]
[ 回复时间:2014-09-28 18:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-08-02 20:20 |
数据传送的最小单位为Byte(字节),一个byte由8位(bit)二进制数据组成,即1Byte=8bit.
1KB=1024B,1MB=1024KB,则有8KB=8*1024B=2的13次方。
寻址能力是指cpu能寻找到多少个内存单元,与地址总线相关,如cpu有10根地址总线,则它的寻址能力是2的10次方。
8088cpu一次性传送8bit,即一个Byte的数据;8086cpu一次性传送16bit,即两个Byte的数据。 | | |
|
|
|
|
[第83楼]
[ 回复时间:2014-11-27 16:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-09-02 22:20 |
我的理解是:
每根地址总线能寻找到一个内存单元(8位,内存单元不要和8位弄混了)。
1个内存单元的大小是1Byte。
1个CPU的寻址能力为8KB(8K*B = 8 * 1024 B = 2^13 B)
Page 6:一个CPU有N根地址总线,......这样的CPU最多可以寻找2的N次方个内存单元。
所以
N = 13 | | |