The Command Processor (CP) is a processing unit used by the GPU to acquire and interpret commands generated from the CPU.
There are two ways to pass commands to the CP. One is directly written by the CPU through the PCI bus, and the other is obtained by the GPU from the command stream through the PCI bus. The command stream includes a ring buffer and two indirect buffers. The CP puts the data obtained after interpreting the command into a GPU-specific module. The DMA module is also included in the CP so that data can be transferred via DMA.
The two ways of command and data transfer are push and pull.
In push mode, the CPU writes commands and data to the GPU over the PCI bus. For example, during initialization, the CPU sets the state of a series of registers in the GPU and then starts it.
The pull mode is that the GPU actively takes commands somewhere in the memory. At this time, the CPU and the GPU are required to negotiate to jointly manage the shared storage area. In the pull mode, the GPU and the CPU work independently, the CPU is responsible for generating commands, and the GPU is responsible for obtaining command execution, which is highly efficient.
Twinkle System Technology Co Ltd , https://www.pickingbylight.com