本篇主要讲解图形渲染中涉及到的主要组件:
1、显存。
比起我们熟悉主存,有两个明显的特征:
(1)带宽速度很快,达到每秒上百GB。
(2)处理事务速度很慢。(相比CPU来讲)
这就是以高延时来换取高带宽的典型例子,GPU意味着高吞吐量胜过处理单个事务速度。显存访问的基本流程(CPU端)如下:
CPU - PCIe主机控制器 - MMU内存管理单元 - 内存hub - 控制器 - GDDR。
2、PCIe总线
CPU和GPU通信的桥梁,例如CPU读写显存、CPU读写GPU寄存器、GPU读写部分主存;令人头大的是它速度很慢,甚至比GPU处理单个事务还慢;但是带宽还算足够,理论上达到8G每秒,甚至更高。
3、命令处理器
GPU处理命令的中心单元,它是按照顺序处理命令缓冲,通过预加载足够的命令缓冲来加快处理速度, 流程如下所示:
命令缓冲预加载 - FIFO 缓冲 - 命令解码 - 执行(2D、3D管线或者计算管线) - 完成事件(3D管线或者计算管线处理完发送)- 同步等待(通过公共的寄存器来同步状态)- 跳转/调用(获取新的命令缓冲)。
待续。。。