direct memory access

DMA (DMA-Protokoll)

Direct Memory Access (DMA) ist ein Protokoll für den direkten Speicherzugriff. Beim DMA-Protokoll (Direct Memory Access) erfolgt der Informationsaustausch zwischen Arbeitsspeicher und Massenspeicher ohne die Zentraleinehit (CPU) in Anspruch zu nehmen. DMA hat eine eigene Steuerlogik, den DMA-Controller, für die Steuerung des Systembusses, und eignet sich besonders für den schnellen Datentransfer von großen Datenmengen.

Beim DMA-Transfer wird die DMA-Schnittstelle von der CPU initialisiert, mit einem DMA-Request an die CPU erfolgt die Bus-Freigabe. Danach nutzt die DMA-Schnittstelle die Busse in gleicher Art und Weise wie die Zentraleinheit. DMA kennt vier Betriebsarten: den Byte Mode mit der byteweisen Übertragung, den Burst Mode, den Halt Mode, bei dem die CPU bis zur Beendigung des DMA-Transfers angehalten wird, und den Transparent Mode, bei dem die DMA-Schnittstelle und die Zentraleinheit zeitmultiplex arbeiten.

Beim ISA-Bus können bis zu 16 MB des Arbeitsspeichers für das DMA adressiert werden. Beim EISA-Bus und bei der Micro-Channel-Architektur ist der gesamte Speicherbereich adressierbar.

Eine Weiterentwicklung von DMA für ATA/IDE ist das Ultra-DMA, das Datentransferraten von 33 MB/s und 66 MB/s unterstützt, ebenso wie die PIO-Modi 1, 3 und 4.

Eine Alternative zu DMA ist das Programmed Input/Output-Interface (PIO) bei dem allerdings alle übertragenen Daten über den Prozessor laufen.

Querverweise von direct memory access nach:

Querverweise nach direct memory access von: