. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  1个CPU的寻址能力为8KB,那么它的地址总线宽度为多少?  [待解决] 回复[ 83次 ]   点击[ 4145次 ]  
puwen
[帖 主]   [ 发表时间: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进制数据吗?
masmaster
[第1楼]   [ 回复时间:2010-10-26 15:51 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
当然是8k bytes啦
fishermanman
[第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就位地址总线宽度!    呵呵 表达能力比较差劲 敬请谅解!
masmaster
[第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就位地址总线宽度!    呵呵 表达能力比较差劲 敬请谅解!
------------------
回复:呵呵, 但愿你是对的。但愿, 仅此而已。
godok220
[第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个自然数。  自然数概念小学的,幂次方概念是中学吧
huyafeng2010
[第5楼]   [ 回复时间:2010-10-27 20:37 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-25 15:05
13位的,因为2^13=8*1024B=8K
maomingkun
[第6楼]   [ 回复时间:2010-10-28 14:27 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-28 09:03
寻址能力=2^n(n是指地址总线的宽度),8KB的寻址能力的地址总线的宽度应该就是13.
fishermanman
[第7楼]   [ 回复时间:2010-10-29 19:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-26 18:05
不对吗、?  请指点…… 谢谢
lijiajia19870327
[第8楼]   [ 回复时间:2010-11-07 15:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-13 21:25
13位
chanson
[第9楼]   [ 回复时间:2010-11-08 06:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-08 05:57
这个其实不难的,就是求2的N次方得8KB,KB是kilo byte,千字节,是字节来的。那求出来就是2的13次方是8096,所以地址总线宽度为13.
chanson
[第10楼]   [ 回复时间:2010-11-08 06:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-08 05:57
另外,补充一下,这个地址总线应该是说他一次可以读几位宽度的地址,不是说地址里面的数据哦,是指地址的标记,这个值算出来得13位,说明它一次可以说13位二进制组成的地址,13位二进制可以组成8096个不一样的组合,就是8096个不同的地址。
yonbin
[第11楼]   [ 回复时间:2010-11-08 16:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-07 22:19
16位,8*1024*8=65536,
65536是2的16次方。
yonbin
[第12楼]   [ 回复时间:2010-11-08 20:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-07 22:19
算错了,多乘以了个8。
8*1024=8192
8192是2的13次方,所有宽度为13位
likelike
[第13楼]   [ 回复时间:2010-11-09 16:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-09 16:36
楼主,补充的问题太模糊,不知想说什么
likelike
[第14楼]   [ 回复时间:2010-11-09 16:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-09 16:36
楼主,补充的问题太模糊,不知想说什么
englishnametk
[第15楼]   [ 回复时间:2010-11-21 23:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-21 23:12
00 
01 
10 
11   

以上4个分别存入4个不同的存储单元, 一个存储单元1byte 可以存储8个2进制数据.. 那这么算 内存浪费的好严重啊.
haojunyu
[第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跟地址线。
597063014
[第17楼]   [ 回复时间:2010-11-23 14:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-31 11:03
当然是13了!
lendo.du
[第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肯定不是正整数,所以,地址线位数不合法。
haojunyu
[第19楼]   [ 回复时间:2010-11-25 21:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-11-16 21:58
回复:[第18楼]
------------------
看第16的解释
caoyonglu
[第20楼]   [ 回复时间:2010-11-26 14:18 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-14 22:01
宽度当然是十三位的啊,8K=2的十三次方。所以是啊
cleanmysoul
[第21楼]   [ 回复时间:2010-11-26 17:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-26 17:16
毫无疑问答案是13位
jiuling90
[第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了
chengshi520aaa
[第23楼]   [ 回复时间:2010-12-08 17:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-08 16:55
寻址能力其中还隐含了一个转换:例如地址总线是10,通常都说是2的10次方个寻址能力;这是相对于存储空间来说的,每个存储空间存储1B的数据,所以总线10的寻址能力是1024B 即1kb的寻址能力
8782711
[第24楼]   [ 回复时间:2010-12-13 10:44 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-12-12 20:21
13
kind-sophia
[第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了
liber
[第26楼]   [ 回复时间:2010-12-15 20:40 ]   [引用]   [回复]   [ top ] 
荣誉值:8
信誉值:0
注册日期:2010-12-15 20:35
应该是13吧、
8KB = 2^3 * 2^10 B
caizlha
[第27楼]   [ 回复时间:2011-01-13 16:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-26 16:20
以字节为单位,
wlzaini1314
[第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
本人新手  有不对的地方谅解
tmxx
[第29楼]   [ 回复时间:2011-01-28 02:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-26 06:43
坚持16
bigeq1
[第30楼]   [ 回复时间:2011-03-23 15:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-11-19 15:45
回答正确,加10分!
leosacer
[第31楼]   [ 回复时间:2011-03-24 02:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-20 02:23
学习了两天,还没遇到问题,希望了坚持下去。
xietao1233
[第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
shicong
[第33楼]   [ 回复时间:2011-04-15 10:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2011-04-09 19:34
学拜
wuliyun
[第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。
jian
[第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
editcue
[第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条线。
qqhb0802
[第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:地址总线数。
chinatree
[第38楼]   [ 回复时间:2011-07-08 07:30 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
绝对为16位,因为1KB等于1024字节,一字节是八位,即8byte,每位可以表示两个数,即0和1,所以地址总线为16,单位换算时注意一些就好
vs9841
[第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位。
vs9841
[第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
editcue
[第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才是正解。
chinatree
[第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 字节
注意是字节哦!
askyouily
[第43楼]   [ 回复时间:2011-08-26 19:42 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2008-03-14 15:08
8K=8*1024=2^3*2^10=2^13,所以其地址总线最少要13根
henkuaile105
[第44楼]   [ 回复时间:2011-08-27 12:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-27 11:44
我可以肯定的说 它的地址总线宽度为13
a513247209
[第45楼]   [ 回复时间:2011-09-22 21:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-05 13:28
所谓cpu寻址寻找的就是存储单元,而微型计算机的存储单元就是一个字节,你记

住能传送十位二进制数的话它所代表的是地址,而不是存储单元,懂?
8K=8*1024就是等于2的13次方
tiangcin
[第46楼]   [ 回复时间:2011-09-25 10:23 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-09-24 17:31
- -!  很简单清楚答案就是13根的嘛。
virusyang
[第47楼]   [ 回复时间:2011-09-29 11:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-09-29 10:53
回复:[第16楼]
------------------
不能这样想的!    1b是8位的这个没错!   但是你看看光00,01这些能做什么!   如果组合都是两位的话,那些指令了什么的压根都不够用的!  所以它是这样来存储的:00000001,不过,你要是想刻意去存储的话也是可以的!    也不能说是浪费吧!   是为了以后扩展考虑的!
zhangcrazy
[第48楼]   [ 回复时间:2012-02-06 04:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-01-21 20:47
来看下13根地址总线,加深理解!!
jimson_long
[第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
------------------
回复:

简单明了
my_prayer
[第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.微机存储器的容量是以字节为最小单位来计算的。
dxiaolin
[第51楼]   [ 回复时间:2012-03-28 09:19 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2008-04-11 12:20
2的13次方=8KB
根据:CPU有多少根地址总线,就代表这个CPU地址总线的宽度为多少
就是说cpu寻址范围是2的N次方个存储单元(微型机存储器的存储单元可以存储一个Byte)
所以,地址总线宽度为13
copywamg
[第52楼]   [ 回复时间:2012-04-25 12:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-04-24 16:08
根据所有回复。。。。得出结论。地址总线宽13
haijiaoyuxiang
[第53楼]   [ 回复时间:2012-05-02 15:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2012-04-10 07:08
楼主高中数学没学好
netthug
[第54楼]   [ 回复时间:2012-05-04 20:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-05-04 20:25
其实很多问题,主要认真看几遍都能解决,我觉得王老师的书,把一些新手容易误区的东西都讲得很清楚,关键每一章要多看几遍。
banxianer
[第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就是这么来的!
我也是刚学,很多地方不会表达,不知道会不会把你看迷糊!
不足之处请指出!
evilswell
[第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
110011001110
[第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为单位,比方说上网带宽)

《真理越辩越明》
110011001110
[第58楼]   [ 回复时间:2012-07-18 23:18 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-07-18 22:23
回复:[第34楼]
------------------
同意34楼的说法,通俗点讲,8192个房间,每个房间8平方米,最终需要确认地址的是房间,不是每平方米的空间。
sz_hgc
[第59楼]   [ 回复时间:2012-07-21 21:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-07-21 21:21
13
xueyugaoyuan
[第60楼]   [ 回复时间:2012-08-15 09:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-08-14 17:57
13
doing1984
[第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
foraolita
[第62楼]   [ 回复时间:2012-09-29 11:21 ]   [引用]   [回复]   [ top ] 
荣誉值:1
信誉值:0
注册日期:2011-11-18 12:33
答案必定是13,答16的人在于没有区分对CPU到底寻找的是什么?一个存储单元是8个二进制位,遗憾的是这个部分是CPU无法找到的,CPU只能找到存储但愿。
flxixild
[第63楼]   [ 回复时间:2012-11-09 20:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-09 19:22
单位换算
lilac17
[第64楼]   [ 回复时间:2012-11-24 16:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-04-29 12:01
概念理解错误啊
寻址是的基本单位是byte
而传数据的每根数据总线是传1个bit
所以请不要把寻址总线和数据总线的宽度弄混淆了
gucunyifan
[第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根地址总线。
driftsand
[第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
zhangjp304
[第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)。
2287743739
[第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
freexos
[第69楼]   [ 回复时间:2013-03-04 15:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-08-15 14:46
在我看来,一个字节等于俩个字,分别是01,常用的一个单位都是字节,例如1MB  B指的就是字节Byte
jeset
[第70楼]   [ 回复时间:2013-03-18 08:37 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-01-28 17:26
CPU总线宽度为13,一根总线为一个二进制为,但是一个内存单元最小单位为1Byte,所有地址总线就是为13次方
mnglee
[第71楼]   [ 回复时间:2013-04-17 11:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-04-17 11:57
8K=2的13次方,一个单元一字节,所以总线宽度是13
anhaishini
[第72楼]   [ 回复时间:2013-05-08 03:01 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-05-06 20:41
回复:[第3楼]
------------------
十分之赞同,看到前言说,没有通透现章节内容就不要往下学,我觉得一定有其中的道理,遇到此题,我甚是迷惑,所以来此欲求一解。看到二楼我就受益匪浅,有种茅厕顿开的感觉。lS心生大爱,小弟着实佩服。
gwiily
[第73楼]   [ 回复时间:2013-05-22 11:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-11-15 20:57
概念理解错误啊
寻址是的基本单位是byte
而传数据的每根数据总线是传1个bit
所以请不要把寻址总线和数据总线的宽度弄混淆了
------------------
回复:看到这里我才明白了。。。
29960758
[第74楼]   [ 回复时间:2013-06-15 11:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-06-15 10:10
楼主应该是8bit 和8KB 两个8 有点混了。
寻址是byte,
传数据是bit,(数据总线至少得是8位才行,要不然一个byte都填不满!)

现在,数据总线宽度大了,32位,64位,
寻址,是为了读写数据,一次读到一个完整数据是一,尽量不浪费寻址能力和内存空间是二,
所以,微机都有缓存(保护硬盘?减少读写次数),
所以,高级编程语言,一般都有数据类型,(减少寻址能力和存储空间浪费)
那么CPU的处理能力,取决于什么?
地址总线(寻址能力),
数据总线(读写能力,数据传输能力),
控制总线(指令集的大小,指令数的多少),
dwx256
[第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的寻址能力
chenguoearth
[第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)

——傅斯年为青年学者定下“三年内不许发表文章”的规矩,不才在此三分学问,七分吆喝,请各位见谅

weigulie
[第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啊
boon
[第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次方个内存单元。
gzl506
[第79楼]   [ 回复时间:2014-04-04 21:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-04-04 21:12
思考下1KB地址总线和1KB数据总线
gcoo
[第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。
xumin
[第81楼]   [ 回复时间:2014-09-25 22:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-09-02 15:22
地址总线的宽度为13,2的13次方等于8192b,也就是8kb
dyg104
[第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的数据。
wspylong
[第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
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved