Die folgende Abbildung zeigt den (vereinfachten) Aufbau eines DMA-Controllers.
Bevor die Datenübertragung starten kann, muss der DMA-Controller von der CPU initialisiert werden, d.h. die notwendigen Informationen rund um die zu tätigende Übertragung erhalten. Dies sind:
Sobald der DMA-Controller initialisiert ist, kann die Übertragung starten. Dabei wird immerfort eine Schleife durchlaufen, bis alle Byte übertragen sind.
Warum werden beim Datentransfer sowohl die Startadresse als auch die Zieladresse nach jedem übertragenen Byte verändert?
Quelle und Ziel der Datenübertragung per DMA könnten beispielsweise Festplatte und RAM sein.
Aber ist auch denkbar, dass RAM und nochmal RAM die Quelle und das Ziel der Übertragung bilden?
Brinkschulte et al. 2010 zeigen in Kapitel 4.6 mit Abb. 4.53 den grundsätzlichen Aufbau eines DMA-Controllers.
Erläutere in deiner Lerngruppe anhand der Abb. 4.53 die aufgelisteten Schritte des Datentransfers mit DMA.
Der Intel 8257 ist ein bekannter Vertreter aus der Reihe der DMA-Controller. Sein Datenblatt ist noch heute im Internet abrufbar.
Eine Weiterentwicklung ist der Intel 8237 (Datenblatt), der bereits im Jahre 1981 im ursprünglichen IBM PC verbaut war.