. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  寻址2G或者更大的内存条是怎么实现的?  [待解决] 回复[ 8次 ]   点击[ 682次 ]  
baiyccy
[帖 主]   [ 发表时间:2011-03-18 04:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-18 04:39
CPU地址总线宽度是20,那么寻址能力是1M。假如内存条是2G,那么CPU怎么能那对它进行寻址呢?将2G分成2048M吗?如果是,那么又是怎么实现的?实在想不通了,大家帮解决下,谢谢了。
liuconggang
[第1楼]   [ 回复时间:2011-03-19 00:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-03 22:40
16位处理器地址线是20位,而32位处理器是32位,可以寻址4gb内存空间
baiyccy
[第2楼]   [ 回复时间:2011-03-19 13:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-18 04:39
回楼上,那32位处理器是不是就用不了8G的内存条呢?
shane
[第3楼]   [ 回复时间:2011-03-22 23:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-22 23:34
32位处理器的寻址方式可能和16位的又不一样了吧
jiyanchang
[第4楼]   [ 回复时间:2011-04-11 14:58 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2011-04-02 14:52
32位操作系统最大寻址是4G,实际上一般只能支持3.25G,如果要支持4G必须对系统进行修改
daniel_c
[第5楼]   [ 回复时间:2011-05-03 01:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-02 12:38
现在的地址总线一般都是32位…直接是保护模式直接寻址…应该没有段的概念…具体不了解…我们现在学的是实模式…
pascal.s
[第6楼]   [ 回复时间:2011-05-06 23:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-06 06:09
在8086时代寄存器是16位的,地址总线是20位。为了寻到1M的内存空间引进了段地址+偏移地址的概念。现在的CPU一般都是32位,部分是64位。如果CPU内部总线和地址总线都是32位的话,应该就用不着段地址+偏移地址的方式寻址,可以直接寻址了吧。这时我猜测的。
84531956
[第7楼]   [ 回复时间:2011-05-08 21:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-09-02 18:58
处理器寻址的大小和内存条没直接的关系。就像及时32位的处理器可以寻更大的硬盘地址一样。只要主板支持就可以支持更大的内存条。可以像寻硬盘那样用地址加法器吗!像6楼说的!我也是猜测的!
zonda
[第8楼]   [ 回复时间:2011-05-12 13:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-12 13:09
大家好 我新来的.请多多指教。
8086CPU地址总线宽度是20,那么寻址能力是1M=1024KByte=1048576Byte,2的20次方=1048576。也就是说CPU能访问到1048576个内存单元,因为内存单元的最小存储单位为Byte,所以他的寻址能力为1048576个Byte.
对于一个需要寻址到2GByte内存单元的CPU,需要多宽的地址总线?2GByte=2147483648Byte,只要是2的n次方大于或等于2147483648,理论上都可以寻址到2GByte的内存地址,但是实际应用中可能没有那么随意的地址总线宽带。比如上面的2的31次方等于2147483648,对于大多数CPU地址总线直接被设计为32为,所以一个地址总线宽带为32位的CPU可以寻址到你的2GB内存。
对于32/64位的CPU寻址能力,以前看到过一篇文章,讲的是32、64位的CPU地址总线宽带不一定是32/64位,可能是其他数。实际中好像是这样的。。
http://hi.baidu.com/wkevin/blog/item/25e15b43991b7c169213c6ae.html
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved