AXI4- объяснение относительно транзакции, передачи данных, серий и ударов

Я немного запутался относительно отношений между вышеупомянутой концепцией.

Является ли пакетная передача только типом транзакции AXI> Может ли она потребовать больше одной тактовой транзакции?

Какой именно ритм? он содержит адрес и данные?

1 ответ

Это немного отличается для чтения и записи.

Для операций чтения (более простой случай) одна "транзакция" состоит из ведущего, запрашивающего некоторый адрес (на канале RA), и ведомого устройства, отвечающего данными по этому адресу (на канале R), или ошибки. Ответ раба может принимать форму "взрыва", охватывающего несколько ударов. Запрос и ответ могут быть (и в общем случае будут) разделены многими тактами. Одна из причин этого заключается в том, что ведомому устройству часто требуется выполнить некоторую работу для поиска данных по запрошенному адресу, и эта работа может занять несколько тактов.

Например, скажем, мастер хочет прочитать 64 байта данных от ведомого устройства. Вся транзакция состоит из запроса и получения этих 64 байтов данных. Но предположим, что шина данных для передачи данных составляет всего 16 байтов (потому что чем она шире, тем больше места она занимает и т. Д.) В этом случае ведомое устройство может отправлять только основные 16 байтов данных одновременно. Таким образом, чтобы получить все 64 байта, мастер (как правило) будет запрашивать 16 байтов данных за раз, четыре раза, всего 64 байта. Весь этот процесс требует одного запроса (на канале RA) и четырех ответов (на канале R), каждый из которых предоставляет 16 байтов ответа.

Обычно между запросом RA и первым тактом данных ответа R пройдет много тактов. Часто последующие R ударов поступают в последующих циклах после первого R ударов, но это не требуется. Фактические запросы / ответы происходят только при каждом успешном рукопожатии AXI между главным / подчиненным, что позволяет каждому агенту сообщать другому, когда он готов.

Ситуация для записи аналогична: одна транзакция состоит из главного, отправляющего адрес для записи по каналу WA и данных для записи по каналу W, а затем ожидающих ответа от ведомого по каналу B. Опять же, в случае, если мы хотим записать больше байтов, чем позволяет ширина шины данных, нам может потребоваться разбить данные записи на несколько ударов, которые все еще являются частью одной транзакции.

Другие вопросы по тегам