DMA Controller



  • Ich experimentiere gerade ein wenig mit dem DMA des Cortex M0 herum. Macht es Sin einen DMA Kanal für ein schnelles memcpy zu reservieren? Bzw. ist das Kopieren von großen Daten mit dem DMA generell schneller als ohne?

    Grüße



  • ich kann mir vorstellen dass es sehr auf den individuellen chip ankommt. Als ich mit einem ARM rumgespielt habe war DMA langsammer als ein memcpy mit CPU. arm hat ein paar nette tricks um kopieren sehr schnell zu implementieren, wobei vermutlich jede standard implementierung schon alle tricks ausnutzt. Die CPU implementierung wird also am limit vom speicher laufen, schneller sollte es schlicht nicht gehen.

    DMA hat eine niedrigerere prioritaet als cpu, weswegen es auch sein kann, dass du mit vielen memory operationen auf cpuseite, dann DMA sehr verlangsamst. DMA macht dennoch sinn in faellen, wo du andere sinnvolle aufgaben machen kannst, waehrend der DMA controller parallel dazu kopiert.


Log in to reply