Sdílet prostřednictvím


Použití přímých vstupně-výstupních operací

Ovladače zařízení, která můžou přenášet velké objemy dat najednou, by pro tyto přenosy měly používat přímé vstupně-výstupní operace. Použití přímých vstupně-výstupních operací pro velké přenosy zlepšuje výkon ovladače tím, že snižuje režii přerušení a eliminuje přidělování paměti a kopírování spojené s operacemi vstupně-výstupními ve vyrovnávací paměti.

Obecně platí, že ovladače velkokapacitního zařízení požadují přímé vstupně-výstupní operace pro žádosti o přenos, včetně ovladačů nejnižší úrovně, které používají přímý přístup k paměti (DMA) nebo programované vstupně-výstupní operace (PIO), a také všechny zprostředkující ovladače zřetězení nad nimi.

Správce vstupně-výstupních operací určuje, zda operace používá přímé I/O následujícím způsobem:

Ovladače, které používají přímý vstup/výstup, někdy také používají vstup/výstup s vyrovnáváním pro zpracování některých I/O požadavků (IRP). Zejména ovladače obvykle používají vyrovnané I/O pro některé kontrolní kódy vstupně-výstupních operací pro IRP_MJ_DEVICE_CONTROL požadavky, které vyžadují přenos dat, a to bez ohledu na to, zda ovladač používá přímé I/O pro operace čtení a zápisu.

Nastavení přímého vstupně-výstupního přenosu se mírně liší v závislosti na tom, jestli se používá DMA nebo PIO. Další informace najdete tady:

Použití přímých vstupně-výstupních operací s DMA

použití přímých vstupně-výstupních operací s PIO

Ovladače musí podniknout kroky pro zachování aktuálnosti mezipaměti během přenosů DMA a PIO. Další informace najdete v tématu Zajištění koherence mezipaměti.