Direct Memory Access computing machine RP2040

  • Also check out the weird machine for an ARM PL080 DMA engine.

    https://github.com/jowinter/dmacu

  • Funnily enough, Amiga and ST blitters did a similar thing a few years back. Notably they were not much faster than the CPU (the 68030 was faster) but the main advantage was the bit shifting as well as the byte transfer functions in parallel with the CPU, that gave them an edge

  • This is a rather nice route for malicious code to hide itself... A full trace of what the CPU is up to could never find this.

  • So this seems to only use 3 DMA channels... So by using all 12, you could have 4 additional "cores".

  • Huh, so DMA controllers do a lot more than I thought they did. A question though: don't we need a "jump if zero" or similar in order to be Turing complete? I see a loop instruction but nothing that could be considered an "if"... https://developer.arm.com/documentation/ddi0424/d/instructio...

  • Does this have any practical application or is it more intended to show that it is possible?

  • Is this the same as the PIO or are those separate?

  • Is this a class project? I’m very impressed!

  • Yeah! I/O Channel Processors are back, baby! Now, if only I could find my IBM 370/168 POP manual around somewhere…