hi there,
while thinking about a 2D graphic pipeline, and reading https://psx-spx.consoledev.net/dmachann ... during-dma, i wondered about cpu and gpu possible or impossible parallelism.
if i understood weel, i can create a linked list of objects/gpu commands, in main RAM, that i can pass to the GPU for execution.
as the gpu has only a 64 bytes fifo, and as dma stops cpu access to RAM, is there any real parallelism while the gpu is executing a list of commands sent using dma ?
CPU and GPU parallelism
The linked list DMA is broken down into small DMA-snippets for writing to the FIFO, and the CPU is running between those DMA-snippets.
So yes, CPU and GPU can work in parallel. A very large linked-list, with many tiny 1x1pixel Rects will more time away from the CPU.
The official specs are here https://problemkaputt.de/psxspx-dma-channels.htm
I have no idea how has made that hacked version at https://psx-spx.consoledev.net/dmachann ... during-dma
I am torn apart how much I should like or dislike it. At first glance it seems to be just a ripoff of my own document, with different formatting to make it incompible with my web-browser.
But there are also subtle changes with improved or vandalized information: In this case, the "CPU Operation during DMA" section is significantly different (if the CPU could really keep running in cache would be fine, although I don't know if that's actually true).
So yes, CPU and GPU can work in parallel. A very large linked-list, with many tiny 1x1pixel Rects will more time away from the CPU.
The official specs are here https://problemkaputt.de/psxspx-dma-channels.htm
I have no idea how has made that hacked version at https://psx-spx.consoledev.net/dmachann ... during-dma
I am torn apart how much I should like or dislike it. At first glance it seems to be just a ripoff of my own document, with different formatting to make it incompible with my web-browser.
But there are also subtle changes with improved or vandalized information: In this case, the "CPU Operation during DMA" section is significantly different (if the CPU could really keep running in cache would be fine, although I don't know if that's actually true).
thanks a lot for this clear anwser !
Who is online
Users browsing this forum: No registered users and 1 guest