@danderson I mean, most DMA engines are state machines, not CPUs, and the logic for converting from request-response to "request N->push N items whenever" sounds a lot like a DMA state machine to me.
Posts
-
I've lost a word: is there a name for a piece of hardware, that takes an address and amount of bytes to read, and streams those bytes back to you while managing the whole doing of the bus cycles, tracking when to stop and all that? -
I've lost a word: is there a name for a piece of hardware, that takes an address and amount of bytes to read, and streams those bytes back to you while managing the whole doing of the bus cycles, tracking when to stop and all that?@danderson I'd count that as a "DMA channel" if not a full DMA engine? Because what is a DMA engine but a collection of DMA channels?
Having a dedicated channel per peripheral isn't unprecedented either, since the PS1 and PS2 both do exactly that. They just happen to centralize the control logic in a big DMA controller block so it can share some common logic, rather than distributing it throughout the core.