百科问答小站 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 到手柄寄存器上,然后现场把游戏改成任意的样子




  

相关话题

  ”返回在函数内malloc的内存是安全的,但是容易造成问题,最好的做法是返回传入的指针。“怎么理解? 
  为什么CPU/GPU的温度会在一瞬间波动十度以上? 
  宝宝上的千兆PCI网卡基本都是几十块钱,如何选择? 
  为什么有的笔记本电脑店卖的比官网便宜很多,还送一大堆东西,但是不建议在实体店买? 
  RAM为什么是随机存储? 
  内存为什么要分页? 
  主板四个内存槽,为什么插第一个和第四个也能组成双通道,不是只能插13或者24吗? 
  大三的我听不懂同学关于电脑和手机型号性能方面的讨论,正常吗? 
  如何降低CPU和显卡温度? 
  为什么中高端显卡会成为大众主流? 

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





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利