Транзакционная модель PCI – Прямой доступ к памяти

Передача данных между PCIустройством и системной памятью происходит двумя способами:

Первый, метод маленькой эффективности, использует запрограммированные IOпередатчики, как обсуждалось выше. PCIустройство генерирует сигнал прерывания, чтобы информировать ЦПУ, который нуждается в передаваемых данных. Устройство прерывания связи (ISR) мотивирует ЦПУ считывать из PCIустройства в один из его собственных регистров. ISRзатем сообщает ЦПУ записывать из его регистра в память. Таким же образом, если данные должны быть перемещены из памяти в устройство PCI, ISRсообщает ЦПУ считывать из памяти в собственный регистр. ISRзатем сообщает ЦПУ записывать из его регистра в устройство PCI. Видно, что процесс очень невыгодный по двум причинам. Первая, существует два цикла шины порождаемые ЦПУ для каждой передачи данных, одна в память и другая в устройство PCI. Вторая, ЦПУ занят передачей данных больше, чем выполнением его прямой функции.

Второй более эффективный метод передачи данных –  это DMA (прямой доступ к памяти) метод, показанный на рисунке 1-5 (Транзакция 2), когда PCIустройство становится мастером шины. По команде от локальных приложений (программного обеспечения), которое также включает PCIпериферию и PCIпериферийное аппаратное обеспечение, PCIустройство может инициировать цикл шины. PCIмастер шины организует доступ к PCIшине и инициирует цикл памяти шины. Северный мост, который дешифрирует адрес, действует как исполнитель транзакции. В этой фазе цикла шины, данные передаются между SCSIмастером и Северным мостом. Мост, в свою очередь, генерирует цикл DRAM шины, чтобы связаться с системной памятью. PCIпериферия генерирует сигнал прерывания, чтобы информировать систему, что передача данных завершена. Этот метод мастера шины или DMAметод передачи данных наиболее эффективен, потому что ЦПУ не вовлечен в процесс перемещения данных и поддерживает только один пакетный цикл шины генерируемый, чтобы переместить блок данных.

Ссылка на основную публикацию
Adblock detector