2 ms·
Having thought about it a bit, despite my admitted lack of expertise, I guess I left the OP article wondering what DMA actually does, rather than how it histori
by hootbootscoot 7y ago
Having thought about it a bit, despite my admitted lack of expertise, I guess I left the OP article wondering what DMA actually does, rather than how it historically worked on a given architecture and dismissing it as passe. Some explanation of the actual workings of it would go a long way towards explaining DMA, vs this article on bus mastering.
1) a description of the dma state machine and what it does over and over again. "so look, you configure xyz and then it copies from A to B over and over again in x sized chunks" etc... maybe a mention of the general moving parts you may find in some kind of dma system... channels, multiplexing, etc. (i got something about an interrupt out of the op article, which is definitely true but not the main story)
2) the concerns this naturally raises, when discussing memory management, virtual memory, etc. (thus, the discussion of paging would then make sense after #1)
3) the particular implementations and their locational/positional implications. devices, busses, host, addressing schemes, etc. (here is where the bus mastering could be best contextualized)
I basically think that it wasn't about DMA, as such, and by ignoring the "how DMA works and is used" part, it basically then didn't provide any means for technical analysis of bus mastering, etc.