Live data from Hacker News

Direct Memory Access computing machine RP2040

people.ece.cornell.edu

11–19 of 19 posts

Re: Direct Memory Access computing machine RP2040

#13
post #3

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

You can push the DMA access into the PIO for some real fun. Just wish the PIO had a bit more logic/registers. https://gregchadwick.co.uk/blog/playing-with-the-pico-pt4/

> Just wish the PIO had a bit more logic/registers.

Seriously. I'd kill for PIOv2 to be some RV32E subset. Hell, I'd take stripped of normal LD/ST instructions if that made it easier for them.

Re: Direct Memory Access computing machine RP2040

#15

Earlier quoted context omitted.

You can push the DMA access into the PIO for some real fun. Just wish the PIO had a bit more logic/registers. https://gregchadwick.co.uk/blog/playing-with-the-pico-pt4/

> Just wish the PIO had a bit more logic/registers. Seriously. I'd kill for PIOv2 to be some RV32E subset. Hell, I'd take stripped of normal LD/ST instructions if that made it easier for them.

Ah, you want a Propeller [1]. Basically 64 really smart digital + A/D I/O pins driven by eight 32-bit I/O processors. Enough oomph to build an entire system out of. Quirky, loads of fun if you're into cycle-counting. Not cheap, though--$18 [edit: $13 Digikey] qty 1. :(

[1] https://www.parallax.com/propeller-2

Re: Direct Memory Access computing machine RP2040

#16
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...

Re: Direct Memory Access computing machine RP2040

#17

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...

The article has a clear paragraph explaining how they do conditional jumps?

Re: Direct Memory Access computing machine RP2040

#18
post #17

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...

The article has a clear paragraph explaining how they do conditional jumps?

Ah. Gotcha. Sorry, my brain cleared between reading the article and the arm documentation.

Re: Direct Memory Access computing machine RP2040

#19
post #15

Earlier quoted context omitted.

> Just wish the PIO had a bit more logic/registers. Seriously. I'd kill for PIOv2 to be some RV32E subset. Hell, I'd take stripped of normal LD/ST instructions if that made it easier for them.

Ah, you want a Propeller [1]. Basically 64 really smart digital + A/D I/O pins driven by eight 32-bit I/O processors. Enough oomph to build an entire system out of. Quirky, loads of fun if you're into cycle-counting. Not cheap, though--$18 [edit: $13 Digikey] qty 1. :( [1] https://www.parallax.com/propeller-2

That's one good example. The TI Sitara and OMAP PRUs in the Beagle(Board|Bone|etc.) boards are another example.
Post reply on HN