于峰 发表于 2014-7-21 17:21:01

关于CPU内存单元与地址总线的问题

视频上说..有N根地址总线,就相当于N位CPU,这样的CPU可以寻找2^N个内存单元一个地址总线可以索引一个内存单元,即一个字节..
那比如说32位CPU,就是32根地址总线,那不就是可以寻找2^32个内存单元,即处理2^32个字节..
这明显不对劲啊..不是应该只处理4个字节吗..
菜鸟刚学..


我算了一下,64位CPU,即8个字节,即8个内存单元,那岂不是三根地址总线..
怎么回事..完全乱掉了..
求指点...

oggplay 发表于 2014-7-21 17:21:02

本帖最后由 oggplay 于 2014-7-21 22:02 编辑

   概念一定要搞清楚,16位CPU意思就是说CPU寄存器一次可以处理16/8=2个字节,32位就是一次可以处理4个字节,64位就是8个字节的数据。
       至于你说的寻址能力就得看地址总线,地址总线设计成多少那么就可以达到多少寻址能力。16位CPU寻址范围(厂商给了20位地址总线)=段地址+偏移地址,最大就是0xfffff,那么寻址能力最大就是2^20=1M。

以下32位有点复杂可以先略过不看:
      32位cpu 地址线扩展成了32位,这和数据线的宽度是一致的。因此,在32位机里其实并不需要采用“物理地址=段:偏移”这种地址表达方式。原来在16位机里规定的每一个段不大于64kb在32位机里也不是必要的。所以,对于32位机来讲,最简单的方法就是用一个32位数来标识一个字节的存储地址,寻址时只要给出一个32位数就可以直接找到地址。这种地址储存模型就叫“平坦模式”。
   但是,新产品一般都希望遵循“向下兼容”这个原则。所以,32位机里完整的保留了16位寻址模式。即:寻址能力为1M;分段机制;每段不超过64kb。这就是通常所说的“实地址模式”。
      64位就不讲了,不再支持“实地址模式”了。

牡丹花下死做鬼 发表于 2014-7-21 17:34:45

地址总线为32的CPU就是32位CPU
寻址能力是0~2^32-1 所以最多能支持4G的内存
然后我不知道为什么你说只处理4个字节
我劝你把三根总线再回去好好看看
64位CPU怎么就是8字节完全不知道你在说什么啊???

duelex 发表于 2014-7-21 18:31:52

楼主关系搞错了,64就是cpu总线的条数,而不是2^3=8字节,编址目的你没有搞清楚

青玄 发表于 2014-7-21 19:36:18

嗯....,。这个! 我想应该是这样的。你说的2^32, 说的只是它的寻址能力而已,而4个字节说的是,CPU一次性所能处理的数据是4个字节,也就是32位,64位的也一样;一次性传输的数据是8个字节,而寻址能力是0~2^64!总线的话,我记得小甲鱼说过每根总线只传输一位数据吧!{:2_27:}

sd53852728 发表于 2014-7-21 19:36:25

地址总线 地址总线是寻址能力 还有数据总线 才是处理数据的 还用控制总线..........不知道对你有没有帮助:loveliness:

于峰 发表于 2014-7-21 22:37:15

牡丹花下死做鬼 发表于 2014-7-21 17:34
地址总线为32的CPU就是32位CPU
寻址能力是0~2^32-1 所以最多能支持4G的内存
然后我不知道为什么你说只处 ...

小甲鱼说的啊..
64位CPU一次走八个字节..
原话的...

牡丹花下死做鬼 发表于 2014-7-21 22:40:11

于峰 发表于 2014-7-21 22:37
小甲鱼说的啊..
64位CPU一次走八个字节..
原话的...

←_← 这个和地址总线有毛关系?????
这个是数据总线的吧
话说 你不会
地址总线 数据总线 和控制总线到底是干嘛的都还不知道吧

于峰 发表于 2014-7-21 22:41:32

duelex 发表于 2014-7-21 18:31
楼主关系搞错了,64就是cpu总线的条数,而不是2^3=8字节,编址目的你没有搞清楚

8是用64/8得出来的啊得出来的啊....
把64位换成八字节啊..

于峰 发表于 2014-7-21 22:49:32

青玄 发表于 2014-7-21 19:36
嗯....,。这个! 我想应该是这样的。你说的2^32, 说的只是它的寻址能力而已,而4个字节说的是,CPU一次性 ...

好像是这么个理{:2_27:}

于峰 发表于 2014-7-21 22:58:56

oggplay 发表于 2014-7-21 20:48
概念一定要搞清楚,16位CPU意思就是说CPU寄存器一次可以处理16/8=2个字节,32位就是一次可以处理4个 ...

谢谢你,明白了{:2_31:}

于峰 发表于 2014-7-21 23:08:43

牡丹花下死做鬼 发表于 2014-7-21 22:40
←_← 这个和地址总线有毛关系?????
这个是数据总线的吧
话说 你不会


我大致明白了...那个8字节是数据总线的传输能力..是这样吗..
昨天刚开始看的汇编视频..刚看到这啊..所以有点不是很明白...
在数据总线这,是一根线对应一位;
在地址总线这,一根线对应一个字节
是这样吗..

于峰 发表于 2014-7-21 23:20:29

牡丹花下死做鬼 发表于 2014-7-21 22:40
←_← 这个和地址总线有毛关系?????
这个是数据总线的吧
话说 你不会


哎..还不对..是不是根据地址总线的根数n能够得出寻址范围2^n字节;
而根据数据总线数目n,就知道对应n位,然后n除以8就是对应的字节..
是不是这样..求告知...

hope121212 发表于 2014-7-25 16:05:44

于峰 发表于 2014-7-21 23:20
哎..还不对..是不是根据地址总线的根数n能够得出寻址范围2^n字节;
而根据数据总线数目n,就知道对应n位 ...

这把理解对啦!

wangerwanger 发表于 2014-7-26 11:09:35

oggplay 发表于 2014-7-21 17:21
概念一定要搞清楚,16位CPU意思就是说CPU寄存器一次可以处理16/8=2个字节,32位就是一次可以处理4个 ...

学习了,谢谢

shehdok 发表于 2014-7-26 22:43:41

我也不知道唉

945402287 发表于 2014-7-29 07:04:45

你把数据总线和地址总线搞混了寻址是cpu能识别多少内存而不是处理多少数据
页: [1]
查看完整版本: 关于CPU内存单元与地址总线的问题