DMA-BASED ACCELERATION OF COMMAND PUSH BUFFER BETWEEN HOST AND TARGET DEVICES
First Claim
1. A circuit arrangement, comprising:
- a push buffer configured to store pending commands to be processed by a target device;
a host interface processor disposed in the target device and configured to retrieve pending commands from the push buffer and initiate processing of the commands by the target device; and
control logic configured to accumulate a plurality of commands from the host device and perform a collective operation to store the accumulated plurality of commands in the push buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
Direct Memory Access (DMA) is used in connection with passing commands between a host device and a target device coupled via a push buffer. Commands passed to a push buffer by a host device may be accumulated by the host device prior to forwarding the commands to the push buffer, such that DMA may be used to collectively pass a block of commands to the push buffer. In addition, a host device may utilize DMA to pass command parameters for commands to a command buffer that is accessible by the target device but is separate from the push buffer, with the commands that are passed to the push buffer including pointers to the associated command parameters in the command buffer.
97 Citations
25 Claims
-
1. A circuit arrangement, comprising:
-
a push buffer configured to store pending commands to be processed by a target device; a host interface processor disposed in the target device and configured to retrieve pending commands from the push buffer and initiate processing of the commands by the target device; and control logic configured to accumulate a plurality of commands from the host device and perform a collective operation to store the accumulated plurality of commands in the push buffer. - View Dependent Claims (2, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
3. The circuit arrangement 1, further comprising a plurality of processing cores coupled to one another via a network on chip architecture, wherein the target device comprises a graphics processing unit (GPU) implemented using a first portion of the plurality of processing cores and the host device comprises a central processing unit (CPU) implemented using a second portion of the plurality of processing cores, and wherein the GPU comprises a multithreaded software pipeline controlled by the host interface processor in response to commands from the host device.
-
13. A circuit arrangement, comprising:
-
a push buffer configured to store pending commands to be processed by a target device; a host interface processor disposed in the target device and configured to retrieve pending commands from the push buffer and initiate processing of the commands by the target device; a command buffer configured to store parameter data associated with a first command; Direct Memory Access (DMA) logic configured to write the parameter data for the first command in the command buffer; and control logic configured to store the first command in the push buffer by storing in the push buffer along with the first command a pointer to the parameter data in the command buffer. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method of passing commands from a host device to a target device via a push buffer interposed therebetween, the method comprising:
-
accumulating a plurality of commands from the host device; after accumulating the plurality of commands, performing a collective operation to store the accumulated plurality of commands in the push buffer; and with a host interface processor disposed in the target device, retrieving commands from the push buffer and initiating processing of the commands by the target device. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method of passing commands from a host device to a target device via a push buffer interposed therebetween, the method comprising:
-
with Direct Memory Access (DMA) logic, writing parameter data for a first command in a command buffer; storing the first command in the push buffer, including storing in the push buffer along with the first command a pointer to the parameter data in the command buffer; and with a host interface processor disposed in the target device, retrieving the first command from the push buffer and initiating processing of the first command by the target device.
-
Specification