棋子 · 2020年01月27日

why there is no split or retry responce in AXI ?

In AHB, we have split and retry responce, but it doesn't exist in AXI, why ?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2020年01月27日

In traditional AHB systems (not AHB-Lite), at a given point in time one master can be talking to one slave (with some pipelining). Once a master has started a transaction it has to complete before it can do anything else. If the slave is unable to respond immediately, this can hold up the bus, preventing other masters from using it. Split/retry provides a mechanism for the bus to be released while the slave is busy, letting other masters talk to other slaves.

AXI is different. Masters can set up multiple concurrent transactions, and these transactions can complete out-of-order (subject to some rules). If one slave is taking a long time to respond, there is nothing to stop the memory system dealing with one of the other outstanding transactions. It also allows that it a slave can not respond to this read, but could respond to a different read, for it to do that. Again with some restrictions.

(In AHB-Lite, like AXI does not have split/retry. See Multi-layer AHB Technical Overview)

你的回答