Directx11教程(14) D3D11管线(2)
下面我们来了解一些GPU memory的知识,主要参考资料:http://fgiesen.wordpress.com/0211/07/02/a-trip-through-the-graphics-pipeline-2011-part-2
【注:请参考另一篇日志:2012-11-13:http://www.cnblogs.com/mikewolf2002/archive/2012/11/13/2768804.html】
下面我们看下memory 如何与GPU和 host连接,了解video memory的工作flow:
GPU中一些快速的client,比如Depth block,color block,texture block等都是直接和MC连接,而一些数据量不是很大的block,比如command processor(CP)要经过hub,然后再到传到相应的MC(Memory controller)。
在hub中,也许有VM L2, 会进行一些page table的查找,之后请求被路由到相应的MC,MC中主要包括client interface, VM L1, arb等模块。Client infterface会和不同的client打交道,然后把它们传递到VM L1,进行page table的查找,最后进过ARB仲裁,进入到相应的GDDR中。GPU的MC通常都是32bit的,而DDR3的MC通常是64位,我们可以通过下面公式计算得到gpu的memory带宽:mclk * datarate* channelwidth*channel number/8/1000, 简化即为:mclk*4*32*channel number/8/1000, 假设显卡有12 个mc channel,则memory带宽为:1375*4*12*32/8/1000=264GB/s
其它的一些PCIE设备和主机,都是通过PCIE总线,然后进入MMU(内存管理单元),再进入hub,这儿MMU是一个总称,在不同实现中,可能MMU包括很多block。
GPU和主机以及其它设备的交互都是通过PCIE总线进行的,GPU和主机之间通常使用PCIE2.0 16 lane(最新的显卡使用PCIE3.0), 上行、下行都达到了8GB/s,其它慢速设备,比如display可能只需要4lane就够了。
PCIE的详细介绍见:http://www.cnblogs.com/mikewolf2002/archive/2012/03/20/2408389.html
最新文章
- 在执行xp_cmdshell的过程中出错,调用'LogonUserW'失败,错误代码:'1909'
- ES6 笔记
- 北大poj- 1045
- Spark入门实战系列--6.SparkSQL(下)--Spark实战应用
- UltraISO向U盘写入镜像特别慢
- co css规范
- UITextView 点return 隐藏键盘
- [WebGL入门]十四,绘制多边形
- 格而知之7:我所理解的Runtime(2)
- 控制执行流程——(Java学习笔记三)
- input 密码框调出手机的数字键盘
- 架构之微服务(zookeeper)
- MVC htmlAttributes and additionalViewData
- 迷宫-BFS
- @vue/cli 3 运行支持报错 socket
- RPC框架小结
- linux设置静态ip地址
- 2018.10.14 loj#6003. 「网络流 24 题」魔术球(最大流)
- mysql 系统用户最大文件打开数限制
- JavaScript浏览器检测之navigator 对象