Используется ли наблюдение упорядоченной записи AXI4 для поддержки модели заказа производителя / потребителя PCIE?
Спецификация AXI4 " Наблюдение за упорядоченной записью " гласит, что " может поддерживать модель заказа производителя / потребителя с улучшенной производительностью ". Спецификация AXI4 не упоминает спецификацию PCIE, но мы знаем, что спецификация PCIE использует модель заказа производителя / потребителя.
Например, такая система,
ЦП <-> Контроллер PCIE <-> Мост PCIE AXI <-> AXI4 с ведомыми устройствами DEC и DDR (модуль DEC подключен к ведомому порту данных AXI40 и порту регистра APB, модуль памяти DDR подключен к ведомому порту данных AXI41)
CPU выполняет следующие две операции:
- ЦП записывает данные в DDR
- CPU записывает регистр DEC APB для запуска DEC
Поскольку записи в память PCIE (как с возможностью предварительной загрузки, так и без нее) отправляются, то есть без ответов, мост PCIE AXI Bridge будет выполнять две вышеуказанные операции последовательно с одним и тем же идентификатором, но не дожидаясь BRESP. До того, как данные достигнут DDR, DEC, возможно, увидела запись регистра APB и начала чтение данных, поэтому данные могут быть старыми и недействительными.
Если поддерживается " наблюдение за упорядоченной записью ", такой проблемы не будет, поскольку для этого требуется интерфейс, " если две транзакции записи с одинаковым идентификатором наблюдаются всеми другими агентами в системе в том же порядке, что и транзакции. выдано ", то есть если запись в регистр APB наблюдается со стороны DEC, это гарантирует, что запись данных в DDR была отслежена DEC.
Эту проблему с порядком можно решить, записав данные и прочитав их следующим образом:
- ЦП записывает данные в DDR
- ЦП считывает те же данные обратно
- CPU записывает регистр DEC APB для запуска DEC
Но это неэффективно.
Так используется ли AXI4 "Наблюдение за упорядоченной записью " для решения этой проблемы при подключении PCIE и AXI4? Если это так, что лучше решить эту проблему с порядком на стороне PCIE или на стороне межсоединения AXI?