12. SPU Communication, Part 1: Direct Memory Access (DMA)

Communication is a crucial aspect of programming any multicore processor. If you can’t transfer data quickly between processing elements, you can’t take full advantage of the device. For this reason, the Cell provides direct memory access (DMA) for high-speed communication. DMA operates asynchronously to the SPU, which means you can transfer data while the SPU continues its regular processing.

The DMA commands presented in this chapter are simple to use and understand; the main concern is timing. With multiple SPUs transferring data simultaneously, coordination and synchronization become crucial concerns. DMA transfers can be ordered with fences and barriers. Resource access can be controlled ...

Get Programming the Cell Processor: For Games, Graphics, and Computation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.