DMA ist die Abkürzung für Direct Memory (Memory) Access - und Bezeichnung für den Datenaustausch zwischen Speicher und Peripherie eines Computers unter Umgehung der Zentraleinheit.
Der Datenverkehr zwischen Prozessor und Festplatte läuft über DMA-Controller (nicht mehr über CPU), der von CPU programmiert wird und dann selbstständig den Datentransport zwischen Hauptspeicher und Festplatte übernimmt. Der Prozessor kann inzwischen mit den Daten aus dem Cache weiterarbeiten. Nur wenn geforderte Daten nicht vorhanden sind, erfolgt Zugriff auf Hauptspeicher bzw. Festplatte
das DMA Prinzip beim Datenverkehr zur Festplatte
Beim direkten Speicherzugriff kann die Soundkarte Daten direkt in den Speicher übertragen, ohne daß der Prozessor beteiligt wird. Die benötigte Port-Adressen benötigt der Prozessor, um Ein- und Ausgabeoperationen zur Soundkarte ausführen zu können. Über die zugewiesene DMA-Adresse greift die Soundkarte dann auf den Arbeitsspeicher des Rechners zu, was vor allem beim Sample-Vorgang wichtig ist.
Kanal Breite & Belegung 0 8 Bit Speicherrefresh (frei) 1 8 Bit frei (meistens von Soundkarten belegt) 2 8 Bit Diskettencontroller 3 8 Bit ab AT frei 4 16 Bit Kaskadierung zum B-Bit-Controller 5 16 Bit frei (oft von 16-Bit-Soundkarten belegt) 6 16 Bit frei 7 16 Bit frei
Beispiel einer DMA-Kanal Belegung unter Win9x
Unter MS-DOS ist der Unterschied zwischen DMA und PIO kaum merklich, unter Windows kann der direkte und somit schnellere Zugriff über DMA die Systemleistung jedoch erheblich und spürbar verbessern.