一个32bit的x86 CPU,配4G内存,512M显存显卡。
请问:因为总的寻址空间已经超出了4GB范围,这个512M显存映射到CPU寻址空间后,CPU如何寻址? 与现有4GB内存怎么解决冲突?
回复 9# rawa9999
可否把帖子挖出来?发现你这2句并没有说清楚.
这个问题N年前就讨论过了,使用386MMU的段页结合方法管理内存,可以管理4G以上的内存,当时的windows不可以,Unix早就实现了,跟前任版主还为此争吵过,分段模式下可以管理4G以上内存,使用段页结合方式,这个在早期的Unix源码就已经实现,就是Unix在386CPU上的实现,其他CPU就是另外一回事,有的CPU甚至没有MMU,使用softMMU。
哦,更正下.可使用的物理地址范围并不一定等于物理地址空间.在如此多样的物理地址寻址方式下.其实不存在确定的物理地址空间的概念.奔腾之后有PAE机制支持64G物理地址范围.使用36根地址线.
本帖最后由 smalloc 于 2010-08-11 10:01 编辑
回复 5# 怪怪虎
如果理由是数据位等于地址宽.那么看看8086吧
当然这个是段模式下的地址扩展.另一种是3L说的SPARC那样的页模式下的扩展.增加页目录项,就可以增加物理地址空间了.
要么扩展总线,要么用额外的寄存器。
回复 4# smalloc
不可以吧
本帖最后由 smalloc 于 2010-08-10 20:56 编辑
32bit处理器物理地址空间可以超过4G吧.数据位数并不一定等于物理地址位数.
显卡上没啥特殊的,CPU是32位的,主板也没有额外的用来换页的寄存器,你确定这样你的PC可以用么?至于解决方法,SPARC的寄存器窗口思路可以借鉴一下。
家驹
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(9)
回复 9# rawa9999
可否把帖子挖出来?发现你这2句并没有说清楚.
这个问题N年前就讨论过了,使用386MMU的段页结合方法管理内存,可以管理4G以上的内存,当时的windows不可以,Unix早就实现了,跟前任版主还为此争吵过,分段模式下可以管理4G以上内存,使用段页结合方式,这个在早期的Unix源码就已经实现,就是Unix在386CPU上的实现,其他CPU就是另外一回事,有的CPU甚至没有MMU,使用softMMU。
哦,更正下.可使用的物理地址范围并不一定等于物理地址空间.
在如此多样的物理地址寻址方式下.其实不存在确定的物理地址空间的概念.
奔腾之后有PAE机制支持64G物理地址范围.使用36根地址线.
本帖最后由 smalloc 于 2010-08-11 10:01 编辑
回复 5# 怪怪虎
如果理由是数据位等于地址宽.
那么看看8086吧
当然这个是段模式下的地址扩展.
另一种是3L说的SPARC那样的页模式下的扩展.
增加页目录项,就可以增加物理地址空间了.
要么扩展总线,要么用额外的寄存器。
回复 4# smalloc
不可以吧
本帖最后由 smalloc 于 2010-08-10 20:56 编辑
32bit处理器物理地址空间可以超过4G吧.
数据位数并不一定等于物理地址位数.
显卡上没啥特殊的,CPU是32位的,主板也没有额外的用来换页的寄存器,你确定这样你的PC可以用么?至于解决方法,SPARC的寄存器窗口思路可以借鉴一下。
家驹