DMA

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
(Weitergeleitet von Direct Memory Access)
Wechseln zu: Navigation, Suche

DMA

im weitesten Sinn ein Verfahren zur direkten Übertragung von Daten zwischen Computerkomponenten ohne Mitwirkung des Prozessors. Meist schränkt man den Begriff auf Verfahren ein, die es Geräten und Komponenten ermöglichen, direkt auf den Arbeitsspeicher des Computers zuzugreifen. Gegenstück von DMA ist der programmierte Zugriff (PIO). Werden Daten im DMA-Verfahren übertragen, entlastet dies den Prozessor. Zudem ist die Übertragung besonders schnell, was die Arbeitsgeschwindigkeit des gesamten Systems steigert.

DMA-Übertragungen werden durch Geräte, Steckkarten usw. beim Prozessor angefordert, der sie daraufhin einleitet. Danach übernimmt der DMA-Controller die Steuerung und Verwaltung dieser Übertragungen. Man spricht in diesem Zusammenhang von Third-Party-DMA (dt. »DMA mithilfe einer dritten Komponente«).

Ein solcher Controller ist ein Chip auf der Systemplatine, der Speicherstellen im Arbeitsspeicher ansprechen kann. Bei jüngeren Systemplatinen sind die DMA-Controller in den Chipsatz integriert. Bei den ersten PCs (bis zum PC-AT) war nur ein DMA-Controller vorhanden, heutige PCs verfügen über zwei derartige Controller. Jeder dieser DMA-Controller kann vier Kanäle benutzen, sodass heute immer acht DMA-Kanäle vorhanden sind. Während die Kanäle 2 und 4 immer, die Kanäle 0 und 5 häufig fest belegt sind, können die übrigen Kanäle meist frei zugeordnet werden.

DMA-Zugriffe werden von verschiedenen Busstandards (Bus) unterstützt, so vom ISA-, EISA und MCA-Bus. Der heute verbreitete PCI-Bus ermöglicht sie (auf einem Umweg über den Busmaster) ebenfalls. Dabei können die Steckkarten direkt mit dem Arbeitsspeicher und untereinander kommunizieren. Ein Buszyklus ist dann nur noch für den Zugriff auf den Arbeitsspeicher nötig, aber nicht für den Zugriff auf das Gerät, von dem gelesen wird; dieses auch als First-Party-DMA bezeichnete Verfahren ist noch schneller als das gewöhnliche Verfahren Third-Party-DMA.

Datenübertragung mit DMA-Speicherzugriff ist vielen Geräten bzw. Komponenten möglich, etwa Steckkarten (Netzwerk- und Soundkarten), Druckern im Modus ECP oder EPP (parallele Schnittstelle) sowie SCSI-Host-Adaptern (SCSI). Auch Festplatten können diese Art der Übertragung benutzen.