Программирование драйверов Windows




Возможности DMA


Спецификация PCI не включает понятия slave DMA. Вместо этого, собственные функции PCI (функциональные единицы) являются либо "хозяевами шины" (bus masters), выполняющими свой собственный DMA перенос данных, либо они используют программируемый ввод/вывод. Единственным типом устройств, которые могут использовать DMA перенос данных с использованием системных контроллеров (slave DMA), являются не-PCI платы, подключенные через (E)ISA мост.

В DMA операциях собственно PCI шины, участники называются агентами (agents), и в каждой транзакции всегда участвуют два из них, а именно:

  • Инициатор (Initiator). Это "хозяин шины" (bus master), который выиграл право доступа к шине и хочет определить операцию переноса.
  • Цель (Target). Это PCI функция (функциональная единица PCI устройства), адресуемая в настоящий момент инициатором с целью выполнения передачи данных.
  • Поскольку любой "хозяин шины" PCI может быть инициатором, то возможно передача данных напрямую между двумя PCI устройствами без промежуточной остановки данных в оперативной памяти. Эта мощная возможность просто предназначена для использования в высокоскоростных сетевых и видео приложениях.

    Необходимо также упомянуть, что спецификация PCI не определяет стратегию, которая должна быть использована при арбитрировании доступа к шине. Определены только временные диаграммы арбитрирующих сигналов в шине. Метод по нахождению того, "кто будет следующим" в использовании шины, является определяемым конкретной системой, где реализованы шины PCI.




    Содержание  Назад  Вперед