- Dual Queue System: Each DMA channel manages two logical queues
- Free Queue (FQ): Contains pointers to descriptors ready for work
- Completion Queue (CQ): Contains pointers to completed descriptors with
results
- Automatic Management: Hardware handles queue pointer updates - no CPU
intervention needed for basic operations
- Memory Efficient: Queue elements are simply 64-bit pointers to descriptor
memory
- Cache Optimized: All ring memory
must be 128-byte cache line aligned for best performance
The typical ring interaction for a Block
Copy transfer is shown in Figure 3-2:
Note: Ring memory must be allocated in DDR and must be 128-byte
cache-line aligned. Misalignment causes silent data corruption. Each ring element is eight
bytes (a 64-bit descriptor pointer).