保护模式访问超大内存问题

jiangxue888 2007-03-13 03:34:41
保护模式可以访问4G的内存空间,如果内存大于4G那对超过的空间是如何访问的,比如现在很多做服务器的机器都配有8G内存,那windows用什么手段和技术对超过 4G的内存进行访问的?
...全文
506 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
biansant 2007-04-18
  • 打赏
  • 举报
回复
保护模式下,段定义有三个参数:段基地址,段界限和段属性.在段界限用20位表示,段属性里有个粒度位G,当g=0时,表示段界限以字节为单位,所以寻址是1M字节,当段界限g=1,表示以4k字节为单位,于是界限表示的范围是4G字节
而奔四以后的cPU支持段界限以4M字节(或2M字节,记不清了)为单位,
所以就可以这么寻址,...
KenYuan2016 2007-03-30
  • 打赏
  • 举报
回复
这跟CPU有关系,32位的CPU 最大的寻址空间就是2的32次方 4G
超过4G的物理内存,32位机器应该不可以吧。

dxcnjupt() 说的很详细了

dxcnjupt 2007-03-28
  • 打赏
  • 举报
回复
我们说的内存空间有3种,线性空间,逻辑空间和物理空间。
线性空间是原始空间,经过段映射后成为逻辑空间,再经过页映射以后成为物理空间。
楼主说的8G内存的问题,可以从两个角度理解,即单个进程可访问空间(逻辑空间),和整个系统可访问空间(物理空间)。

逻辑空间:
在平坦模式下,单进程可访问空间只能是4G,因为地址操作的长度只有32位。而且段的最大界限也是4G。
在非平坦模式下,我们可以使用8G的地址,因为段本身可以有最大4G的偏移地址。
物理空间:
PAE和PSE-36都可以支持64G物理内存,具体设置方法见INTEL开发者文档第三卷第3章

gp341 2007-03-28
  • 打赏
  • 举报
回复
windows里需要大与4g内存一般是用文件来存储
  • 打赏
  • 举报
回复
p6+通过PAE支持36-bit物理地址(64GB),使用4MB的页面大小的两级页表。
x86-64使用2MB页面的三级页表或者4KB页面的4级别页表,物理内存可以达到1TB。

littlegang 2007-03-23
  • 打赏
  • 举报
回复
可能要对物理内存地址做map了吧
具体的大概X86架构可能做了定义
火雲邪神 2007-03-20
  • 打赏
  • 举报
回复
PAE
PSE
biansant 2007-03-19
  • 打赏
  • 举报
回复
那是64位的系统
zoologist 2007-03-14
  • 打赏
  • 举报
回复
好像需要cpu支持,PAE
rularys 2007-03-14
  • 打赏
  • 举报
回复
mark
pig4210 2007-03-13
  • 打赏
  • 举报
回复
mark 2
todototry 2007-03-13
  • 打赏
  • 举报
回复
mark
Red_angelX 2007-03-13
  • 打赏
  • 举报
回复
...........

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧