Von PIO bis UltraDMA

Multiwort-DMA

Im Gegensatz zum Einzelwort-DMA bringt erst der Multiwort-DMA die Vorteile der niedrigeren CPU-Belastung durch den direkten Speicherzugriff. Bei Einzelwort-DMA muss der Prozessor den Transfer jedes Datenwortes einzeln initialisieren. Das kostet Systemleistung. Der Datentransfer über Multiwort-DMA benötigt nur eine Initialisierungsroutine der CPU für die Übertragung mehrerer Datenworte. Der Kontroller übernimmt dann den Datenaustausch in den Systemspeicher. Bild 2 zeigt einen Lesezugriff im Multiwort-DMA Mode 2 mit einer Zykluszeit von 120 ns.

Der Host setzt die DMARQ-Leitung und signalisiert damit dem Laufwerk, dass es einen DMA-Zugriff durchführen will. Das Gerät beantwortet diese Anfrage, indem es die #DMACK-Leitung und die Chip-Select-Leitungen (CSx) auf Low legt. Darauf antwortet der Host mit dem Setzen des Lesesignals #DIOR. Nach 70 ns können die gültigen Daten mit der negativen Flanke der Leseleitung übernommen werden. Ein weiterer Lesezugriff kann nach 25 ns durch erneutes Setzen der #DIOR Leitung erfolgen. Beim letzten DMA-Transfer nimmt der Host, während #DIOR High ist, das DMARQ-Signal weg und signalisiert dem Laufwerk, dass es den DMA-Lesezugriff beenden will. Dies quittiert das Gerät mit einem High auf der #DMACK-Leitung, nachdem es zirka 5 ns zuvor den letzen Lesetransfer durchgeführt hat.