12.1 Rechner-Architektur nach von Neumann

Weiterentwicklungen


Bus | Cache | DMA | Pipline


DMA direkter Speicherzugriff

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.

Beispiel Datenverkehr zur Festplatte

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
das DMA Prinzip beim Datenverkehr zur Festplatte

Beispiel Datenverkehr zur Soundkarte

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.

Übersicht der DMA-Kanäle:

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
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.