garyv 发表于 2010-08-09 14:58

CPU寻址问题

一个32bit的x86 CPU,配4G内存,512M显存显卡。

请问:
因为总的寻址空间已经超出了4GB范围,这个512M显存映射到CPU寻址空间后,CPU如何寻址? 与现有4GB内存怎么解决冲突?

liying_gg 发表于 2010-08-09 15:20

家驹

prolj 发表于 2010-08-09 16:23

显卡上没啥特殊的,CPU是32位的,主板也没有额外的用来换页的寄存器,你确定这样你的PC可以用么?至于解决方法,SPARC的寄存器窗口思路可以借鉴一下。

smalloc 发表于 2010-08-10 20:54

本帖最后由 smalloc 于 2010-08-10 20:56 编辑

32bit处理器物理地址空间可以超过4G吧.
数据位数并不一定等于物理地址位数.

怪怪虎 发表于 2010-08-10 22:04

回复 4# smalloc


    不可以吧

prolj 发表于 2010-08-11 09:47

要么扩展总线,要么用额外的寄存器。

smalloc 发表于 2010-08-11 09:56

本帖最后由 smalloc 于 2010-08-11 10:01 编辑

回复 5# 怪怪虎


    如果理由是数据位等于地址宽.
那么看看8086吧

当然这个是段模式下的地址扩展.
另一种是3L说的SPARC那样的页模式下的扩展.
增加页目录项,就可以增加物理地址空间了.

smalloc 发表于 2010-08-11 11:01

哦,更正下.可使用的物理地址范围并不一定等于物理地址空间.
在如此多样的物理地址寻址方式下.其实不存在确定的物理地址空间的概念.
奔腾之后有PAE机制支持64G物理地址范围.使用36根地址线.

rawa9999 发表于 2010-08-11 13:44

这个问题N年前就讨论过了,使用386MMU的段页结合方法管理内存,可以管理4G以上的内存,当时的windows不可以,Unix早就实现了,跟前任版主还为此争吵过,分段模式下可以管理4G以上内存,使用段页结合方式,这个在早期的Unix源码就已经实现,就是Unix在386CPU上的实现,其他CPU就是另外一回事,有的CPU甚至没有MMU,使用softMMU。

smalloc 发表于 2010-08-11 14:59

回复 9# rawa9999


    可否把帖子挖出来?发现你这2句并没有说清楚.
页: [1] 2
查看完整版本: CPU寻址问题