Forum: PC Hard- und Software Zusammenspiel von DMA und MMU


von daniel (Gast)


Lesenswert?

1) DMA erlaubt einer Peripheriekomponente direkt
aus dem RAM zu lesen oder in den Ram zu schreibe.
Allerdings muss während dessen dir CPU vom Bus
zu RAM abgetrennt werden.
Dann liegt doch die CPU brach?!
Ergibt sich der Geschwindigkeitsvorteil nur daraus,
dass DMA mehre Bytes auf einmal bewegt?

2) Wird die MMU vom DMA umgangen? Es wird an
keiner Stelle explizit davon gesprochen auf
welcher Abstraktionsebene das geschieht.
Ich würd naiverweise vermuten, dass DMA
mit physikalischen Adressen arbeitet. Korrekt?

Grüsse, Daniel

von Uhu U. (uhu)


Lesenswert?

daniel wrote:
> 1) DMA erlaubt einer Peripheriekomponente direkt
> aus dem RAM zu lesen oder in den Ram zu schreibe.
> Allerdings muss während dessen dir CPU vom Bus
> zu RAM abgetrennt werden.

Ja. Die Trennung ist aber nur für einzelne Takte. Cycle Stealing nennt 
man das.

> Dann liegt doch die CPU brach?!

Nein, die kann derweil weiterarbeiten, Speicherzugriffe laufen sowieso 
über die Cache-Hierarchie, Ram-Zugriffe sind also nicht immer nötig, um 
eine Speichervariable zuzugreifen.

> Ergibt sich der Geschwindigkeitsvorteil nur daraus,
> dass DMA mehre Bytes auf einmal bewegt?

Nein. Der Prozessor muß keine Kontextwechsel in eine ISR machen.

> 2) Wird die MMU vom DMA umgangen?

Weiß ich leider nicht. Sieh dir doch mal die Beschreibung des 
DMA-Controllers an.

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
Noch kein Account? Hier anmelden.