Hallo, ich habe ein kleines Problem mit dem Verständnis des DMA. Wird dieser genutzt, etwa für einen D/A, ist dann der Prozessor während dieser Zeit gar nicht nutzbar oder kann er andere Aufgaben erledigen, wie etwa AD Wandlungen oder Berechnungen?
Die DMA entlastet den Prozessor indem sie den Datentransfer zwischen Peripherie - Peripherie/Speicher übernimmt. Ohne das der Prozessor etwas damit zu tun hat. Er kann also andere Aufgaben übernehmen. Man muss die DMA Einheit natürlich vorher konfigurieren (Von wo nah wo sollen Daten verschoben werden, und vor allen Dingen wie viele?).
Also könnte ich permanent Analogdaten einlesen und gleichzeitig wieder über DMA ausgeben und nebenbei noch bisschen was berechnen bzw. über UBS versenden, ohne dass sich diese Funktionen irgenwie blockieren oder das "Wasser" abgraben?
Jein, das hängt von der Architektur ab. Es kann sein, dass der DMA den Zugriff auf den Speicher blockiert und der Prozessor deshalb nicht auf den Speicher zugreifen kann.
Das wirst du auch so können. DMA spielt seine Vorteile dann aus, wenn es gilt große Datenmenge von A nach B zu schaufeln. Wegen 5 Bytes lohnt sich DMA kaum.
Nicht wirklich, da DMA und CPU NICHT gleichzeitig auf Daten-, Adress- und Steuerbusse zugreifen können. Die DMA "stiehlt" somit der CPU Rechenzeit bzw. es wird "Wasser abgegraben". Du kannst allerdings von der DMA Daten "schieben" und "nebenbei" von der CPU was anderes berechnen lassen. Das berechnen geht dann allerdings langsamer.
@ Frosch (Gast) >Nicht wirklich, da DMA und CPU NICHT gleichzeitig auf Daten-, Adress- >und Steuerbusse zugreifen können. Kann man so allgemein gar nicht sagen. Das kommt sehr auf den jeweiligen Prozessor und dessen Umfeld an. >berechnen lassen. Das berechnen geht dann allerdings langsamer. Stimmt auch nicht, siehe oben. Und es gibt, vor allem heute, auch noch den Cache, dort kann der Prozessor (fast) ungestört arbeiten. MFG Falk
Ok danke für den Link und die Antworten. Scheinbar ist das immer etwas unterschiedlich. Wo steht sowas für gewöhnlich im Datenblatt bzw. vielleicht kennt jeman die Seit beim SMT32F105?
Ich habe doch noch ein paar interessante Artikel gefunden: http://www.elektroniknet.de/bauelemente/technik-know-how/halbleiter/article/27267/0/Der_Cortex-M3_im_Vergleich_zu_ARM7__Performance_und_Speicherbedarf/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.