真想用也不是不可以,甚至都不用改现在的硬件,改改os kernel和显卡驱动就行。
显卡是一个挂在pcie总线上的设备,也会占用一段虚拟地址空间来做dma,当你设定好映射之后事实上就把一块显存映射到cpu能访问的区域里了,只要os kernel和驱动不给你下绊子,这块区域就可以当作内存用,放数据放代码都随你。
那么为什么现在大家都不这么做呢?主要原因就是慢,显存一般是带宽大延迟高的内存比如GDDR5,主要适用于批量向显卡传递数据,但内存的延迟一般都要很低,否则CPU的运行效率会大打折扣,而且显卡使用PCI总线传递数据,速度相比于内存和CPU之间的专用通道慢很多。
另外还有一个小问题就是DMA映射的地址空间一般都不大且基本固定,也就是说你没办法直接映射全部的显存,只能用类似古老的DOS下overlay的方式,用哪块映射哪块,很不方便。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有