Карта PCI может иметь некоторую связанную с ней память (отображаемую в пространство памяти или в пространство ввода-вывода).
Теперь предположим, что у нас есть карта PCI Ethernet (и она использует ввод-вывод с отображением памяти), карта Ethernet будет иметь некоторую память в качестве буфера для размещения данных для отправки по кабелю, и всякий раз, когда драйвер Ethernet хочет отправить данные вниз провод, он может попросить карту Ethernet сделать это.
Теперь я предполагаю, что часть отображаемой памяти для карты Ethernet является «регистром команд», и когда вы записываете, например, строку "send it"
в этот регистр команд, карта Ethernet отправляет буфер по проводам.
Теперь мой вопрос: как карта Ethernet узнает, что память для регистра управления была записана? Опрашивает ли карта Ethernet содержимое памяти для регистра управления, или есть какой-то механизм, который используется для автоматической отправки сигнала на карту Ethernet всякий раз, когда адрес памяти для регистра управления записывается (что-то вроде прерывания, но в обратном направлении)?