Bus-Master DMA в видеодрайверах минипорта
Начиная с Windows XP графический интерфейс операционной системы поддерживает DMA на устройствах master шины PCI. Драйверы видео минипорта для устройств pci bus-master могут реализовать следующие типы поддержки DMA с помощью вспомогательных функций, предоставляемых драйвером видеопорта:
DMA на основе пакетов
В DMA на основе пакетов данные передаются непосредственно между пространством инициатора запроса и устройством. Так как пространство инициатора запроса может не быть непрерывным, DMA на основе пакетов более эффективно работает на этих устройствах с поддержкой аппаратной точечной и сборной. DMA на основе пакетов — это идеальный вариант для перемещения больших объемов произвольных данных между пространством пользователя и устройством.
DMA с общим буфером
В DMA с общим буфером буфер является общим (следовательно, общим для) и используется как узлом, так и устройством для повторяющихся операций DMA. Некоторые драйверы используют DMA с общим буфером для передачи данных, управляемых драйвером, таких как ряд команд, в графический обработчик. Общий буфер является непрерывным и всегда доступен как для устройства, так и для ЦП узла.
Общий буфер является ценным системным ресурсом. Для повышения общей производительности драйвера и системы драйверы должны использовать DMA с общим буфером как можно экономично.
В зависимости от характера адаптера master шины некоторые драйверы мини-порта используют исключительно DMA на основе пакетов, другие используют только общий буфер DMA, а некоторые используют и то, и другое.
Независимо от того, какой тип DMA используется, драйвер минипорта должен вызвать VideoPortGetDmaAdapter , чтобы получить указатель на структуру VP_DMA_ADAPTER и использовать его для последующих вызовов функций DMA. Если больше нет необходимости в продолжении операций DMA, драйвер мини-порта должен вызвать VideoPortPutDmaAdapter , чтобы удалить объект адаптера.
В следующих подразделах описывается использование поддержки DMA на основе пакетов и общего буфера, предоставляемой драйвером видеопорта.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по