Когда пакеты TLP создаются в конфигурации PCIe с отображением в памяти? - PullRequest
0 голосов
/ 18 ноября 2018

У меня проблема с пониманием, когда речь идет о соединениях PCIe.В интерфейсе PCIe данные передаются между устройствами с использованием пакетов TLP.В конфигурации с отображением в памяти, если часть программного обеспечения хочет отправить данные на устройство, она должна записать данные в предопределенную область памяти, которая сопоставлена ​​с этим конкретным устройством.

Когда создаются пакеты TLP?Хранятся ли данные в памяти, и устройство должно «извлекать» данные, используя пакеты TLP (например, чтение из памяти), или MMU ЦП автоматически обнаруживает, что это отображенная область памяти, и автоматически «преобразует» данные вПакеты TLP и отправка их через интерфейс?

Заранее спасибо!

1 Ответ

0 голосов
/ 18 ноября 2018

ЦПУ генерирует транзакцию памяти, используя физический адрес MMIO. На основе адреса транзакция памяти направляется на соответствующий корневой порт. До этого момента операция выходит за рамки спецификации PCIe. Корневой порт создает TLP и отправляет его по PCIe. Если операция является чтением (требующим ответа), корневой порт получает ответ TLP от устройства с данными и отправляет данные обратно в соответствующий ЦП.

...