LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 8182|回复: 26

[体系结构]以前好象在哪里看过,说机器启动时cpu只能控制2m的内存,是这样吗?

[复制链接]
发表于 2006-10-18 16:14:37 | 显示全部楼层 |阅读模式
以前好象在哪里看过(好象是joyfire笔记,记不清了),说机器启动时cpu只能控制2m的内存,是这样吗?那么即使是压缩过的内核也塞不进去啊!
发表于 2006-10-19 09:01:11 | 显示全部楼层
是1M吧!内核如果超出的话,一般是先读入一部分,再开启保护模式,再读
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-20 15:50:34 | 显示全部楼层
哦,谢谢楼上兄弟!
回复 支持 反对

使用道具 举报

发表于 2006-10-22 22:51:47 | 显示全部楼层
启动时cpu可以控制的地址范围应该跟其地址总线的根数有关.
如果是20根的话,那就是2的20次方,即1M.
计算机接口方面的书上有.
回复 支持 反对

使用道具 举报

发表于 2006-10-28 18:10:14 | 显示全部楼层
4G范围内的都可以读取。通过shadow mode,在国外很早就有人讨论、实现过了,在DDJ的microprocessor secret栏目中早有详述。国内第一次看到,是那个写超级解霸的作者写的一篇文章。在intel的IA32 manuals的vol.3中,有演示代码,当然不是为了纯粹演示,这是80386之后的CPU初始化的一个必须的步骤,也就是在real mode下进行4G范围内的地址访问。
楼上的说法是在8086时代是正确的,不过直到现在,国内的教科书和大部分人都是这么认为的...

btw:shadow mode并不是一个官方的名词,这是我2000年的时候看过的一篇文章里作者使用的说法,不过非常形象。所以,你google这个词的时候,可能很难找到相关的介绍。
回复 支持 反对

使用道具 举报

发表于 2006-10-30 13:14:58 | 显示全部楼层
受教了.谢谢!!
我会去查看相应的文档资料.
回复 支持 反对

使用道具 举报

发表于 2006-11-9 07:27:30 | 显示全部楼层
不是这么说的,它启动的时候执行的只是一段引导代码,引导完成之后就把事情扔给OS了
所以2M空间对引导代码来说足够了,有兴趣的话可以参考一些书
回复 支持 反对

使用道具 举报

发表于 2006-11-16 15:48:02 | 显示全部楼层
启动时cpu可以控制的地址范围应该跟其地址总线的根数有关.这是对的,不过这启动时是指BIOS加载前。
回复 支持 反对

使用道具 举报

发表于 2006-11-16 17:55:49 | 显示全部楼层
Post by ilrainyday
4G范围内的都可以读取。通过shadow mode,在国外很早就有人讨论、实现过了,在DDJ的microprocessor secret栏目中早有详述。国内第一次看到,是那个写超级解霸的作者写的一篇文章。在intel的IA32 manuals的vol.3中,有演示代码,当然不是为了纯粹演示,这是80386之后的CPU初始化的一个必须的步骤,也就是在real mode下进行4G范围内的地址访问。
楼上的说法是在8086时代是正确的,不过直到现在,国内的教科书和大部分人都是这么认为的...

btw:shadow mode并不是一个官方的名词,这是我2000年的时候看过的一篇文章里作者使用的说法,不过非常形象。所以,你google这个词的时候,可能很难找到相关的介绍。

第一次听说这种说法,着机会验证一下。。。
回复 支持 反对

使用道具 举报

发表于 2006-12-5 13:41:10 | 显示全部楼层
查一下汇编的书就知道了
提示:关键字“寻址”
现在的CPU都是32位寻址,就是在说段间就能达到4G了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表