AXI规范的8.6节说,读写之间没有顺序限制。然后说,如果存在RAW依赖项,则主机必须在发出读取之前等待写入完全完成。如果写入是可缓冲的,则响应来自AXI目标。如果该目标是到另一个I / O或主机协议的桥梁,那么主服务器应该期望什么?我可以想到两个答案:
a)主服务器必须用不可缓冲的写入(相同的AWID)对一系列可缓冲的写入进行标点,以确保所有写入数据均已到达最终目的地。不可缓冲的写入响应接收指示可以随后发出读取。
-要么-
b)主机假定目标设备将保持RAW顺序超出AXI。主机发出一系列可缓冲写入(相同的AWID),并在收到最后一个可缓冲写入响应后发出读取。写操作在目标桥中进行缓冲,然后读取操作使目标桥在另一端发出读取操作之前刷新可缓冲的写操作。
RAW依赖关系可能是与先前写入的地址冲突,也可能是先前写入具有可能影响读取的副作用,例如为读取访问打开存储空间窗口。RAW依赖项的类型是否会改变主机对可缓冲写与不可缓冲写的选择?
任何意见?AXI在这里需要什么?