百科问答小站 logo
百科问答小站 font logo



是否可以将显存提供给CPU使用? 第1页

  

user avatar   windoze 网友的相关建议: 
      

真想用也不是不可以,甚至都不用改现在的硬件,改改os kernel和显卡驱动就行。

显卡是一个挂在pcie总线上的设备,也会占用一段虚拟地址空间来做dma,当你设定好映射之后事实上就把一块显存映射到cpu能访问的区域里了,只要os kernel和驱动不给你下绊子,这块区域就可以当作内存用,放数据放代码都随你。

那么为什么现在大家都不这么做呢?主要原因就是慢,显存一般是带宽大延迟高的内存比如GDDR5,主要适用于批量向显卡传递数据,但内存的延迟一般都要很低,否则CPU的运行效率会大打折扣,而且显卡使用PCI总线传递数据,速度相比于内存和CPU之间的专用通道慢很多。

另外还有一个小问题就是DMA映射的地址空间一般都不大且基本固定,也就是说你没办法直接映射全部的显存,只能用类似古老的DOS下overlay的方式,用哪块映射哪块,很不方便。


user avatar   be5invis 网友的相关建议: 
      

早期游戏机这么干的太多了,我好像曾经回答过,你在超任里面可以 JMP 到显存里然后再 JMP 到手柄寄存器上,然后现场把游戏改成任意的样子




  

相关话题

  为什么不将 USB 接口做成双面可插的? 
  有哪些巨好看的机箱? 
  在16G内存能够满足使用的情况下,插四条8G普通颗粒内存条会比插两条8G三星B-die内存条更好吗? 
  电脑硬件发烧友们为什么很在乎功耗频率温度等参数? 
  为什么2T的nvme固态比2个1T的贵? 
  为什么电脑更新换代慢,手机却快? 
  是什么原因让我们用的计算机是二进制而不是三进制或者十进制? 
  想问大家,台式电脑可不可以用无线键盘? 
  gtx和rtx有什么区别? 
  机械硬盘转速接近光速的话读取速度能超过固态硬盘吗? 

前一个讨论
国家啥时候给我发对象鸭?
下一个讨论
索尼公司有哪些值得关注的耳机?





© 2025-05-05 - tinynew.org. All Rights Reserved.
© 2025-05-05 - tinynew.org. 保留所有权利