Re: DMA is obsolete

Liste des GroupesRevenir à c arch 
Sujet : Re: DMA is obsolete
De : theom+news (at) *nospam* chiark.greenend.org.uk (Theo)
Groupes : comp.arch
Date : 27. Apr 2025, 19:35:08
Autres entêtes
Organisation : University of Cambridge, England
Message-ID : <Crc*345aA@news.chiark.greenend.org.uk>
References : 1 2
User-Agent : tin/1.8.3-20070201 ("Scotasay") (UNIX) (Linux/5.10.0-28-amd64 (x86_64))
Lars Poulsen <lars@cleo.beagle-ears.com> wrote:
What is the difference between DMA and message-passing to another core
doing CMOV loop at the ISA level?
 
DMA means doing that it the micro-engine instead of at the ISA level.
Same difference.
 
What am I missing?

Width and specialisation.

You can absolutely write a DMA engine in software.  One thing that is
troublesome is that the CPU datapath might be a lot narrower than the number
of bits you can move in a single cycle.  eg on FPGA we can't clock logic
anywhere near the DRAM clock so we end up making a very wide memory bus that
runs at a lower clock - 512/1024/2048/...  bits wide.  You can do that in a
regular ISA using vector registers/instructions but it adds complexity you
don't need.

The other is that there's often some degree of marshalling that needs to
happen - reading scatter/gather lists, formatting packets the right way for
PCIe, filling in the right header fields, etc.  It's more efficient to do
that in hardware than it is to spend multiple instructions per packet doing
it.  Meanwhile the DRAM bandwidth is being wasted.

Of course you can customise your ISA with extra instructions for doing the
heavy lifting, but then arguably it's not really a CPU any more, it's a
'programmable DMA engine'.  The line between the two becomes very blurred.

What you might also have is a hard datapath that's orchestrated by a
tightly-coupled microcontroller.  Then you get the ability to have an engine
with good performance while being able to more flexibly program it, without
having to make a strange vector CPU.

It's easy to make 'a' DMA, but you want to push the maximum bandwidth that
the memory/interconnect can achieve and all the tricks are about getting
there.

Theo

Date Sujet#  Auteur
26 Apr 25 * DMA is obsolete33John Levine
26 Apr 25 +* Re: DMA is obsolete5Lars Poulsen
26 Apr 25 i+- Re: DMA is obsolete1Terje Mathisen
27 Apr 25 i`* Re: DMA is obsolete3Theo
27 Apr 25 i +- Re: DMA is obsolete1MitchAlsup1
28 Apr 25 i `- Re: DMA is obsolete1Lawrence D'Oliveiro
26 Apr 25 `* Re: DMA is obsolete27MitchAlsup1
27 Apr 25  +* Re: DMA is obsolete2Theo
27 Apr 25  i`- Re: DMA is obsolete1MitchAlsup1
1 May 25  `* Re: DMA is obsolete24Dan Cross
1 May 25   `* Re: DMA is obsolete23MitchAlsup1
2 May 25    `* Re: DMA is obsolete22Dan Cross
2 May 25     +* Re: DMA is obsolete17Anton Ertl
2 May 25     i`* Re: DMA is obsolete16Dan Cross
3 May 25     i +* Re: DMA is obsolete13Anton Ertl
3 May 25     i i+- Re: DMA is obsolete1Robert Finch
3 May 25     i i+* Re: DMA is obsolete10Dan Cross
3 May 25     i ii`* IP (was: DMA is obsolete)9Stefan Monnier
3 May 25     i ii `* Re: IP (was: DMA is obsolete)8Thomas Koenig
3 May 25     i ii  `* Re: IP (was: DMA is obsolete)7John Levine
3 May 25     i ii   `* Re: IP (was: DMA is obsolete)6Dan Cross
4 May 25     i ii    `* Re: IP5Stefan Monnier
4 May 25     i ii     `* Re: IP4Dan Cross
4 May 25     i ii      `* Re: IP3Thomas Koenig
4 May 25     i ii       +- Re: IP1Bill Findlay
4 May 25     i ii       `- Re: IP1Lawrence D'Oliveiro
4 May 25     i i`- Re: DMA is obsolete1Lawrence D'Oliveiro
4 May 25     i +- Re: DMA is obsolete1MitchAlsup1
21 May13:36     i `- Re: DMA is obsolete1Dan Cross
2 May 25     `* Re: DMA is obsolete4MitchAlsup1
3 May 25      `* Re: DMA is obsolete3Terje Mathisen
4 May 25       `* ND-10 (was Re: DMA is obsolete)2Lars Poulsen
4 May 25        `- Re: ND-10 (was Re: DMA is obsolete)1Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal