显示的命令处理器CP

1. 概述

GPU上的可编程处理器,作为一种获取和解析PROMO4命令流的专用计算引擎,主要有以下作用:

  1. 从主机端GPU驱动程序接收命令流。命令流可以存放在系统主存或GPU显存中。R5xx系列有三个流:一个环缓冲和两个间接缓冲。
  2. 分析和解析命令流。将解析后的数据写入GPU内部其他模块,例如3D图形处理器,2D图形处理器,视频处理器或视频解码器。
  3. 提供两个通用DMA引擎,一个用于GUI相关任务,一个用于视频任务。DMA引擎要求源和目的地址满足字节对齐。

2. GPU和CPU之间的通信

        PIO方式:CPU通过PCIe总线主动往GPU芯片上写。也就是说,CPU把命令信息推送给GPU。还有一种是拉的方式,GPU主动从系统主存种读取命令流。拉的方式比推的方式更平滑,但是推的方式减少了对系统主存的压力,根据有性能上的优势。CP支持推和拉两种方式;但是在这两种方式之间的切换要做些处理,一般建议在复位时就做好一种选择。拉方式使用比较多,这样GPU和CPU可以并行起来。

        命令信息有两种:

        连续写寄存器,建立GPU处理引擎的状态,然后启动引擎,即写一个“trigger”或“initiator”寄存器。(这一般用于调试)

        命令包序列方式,这需要GPU内部模块(智能引擎)将命令包转换成对其他处理引擎的寄存器写。

3. 环缓冲

        在拉方式下,在系统主存中申请一段用于命令包序列的,GPU和CPU共享的环缓冲(CPU写,GPU读)。

猜你喜欢

转载自blog.csdn.net/lsshao/article/details/121262471