棋子 · 2019年12月18日

AXI写选通

AXI规范指出:

10.1关于对齐传输
[...]
对于由数据传送大于一个字节宽的的任何突发,可能的是,具有被访问不与自然数据对准第一字节宽度的边界。例如,从0x1002字节地址开始的32位(四字节)数据包未与32位边界对齐。

然后显示了一些未对齐的第一个字节的突发示例。

我还看到了有关在突发写入的任何节拍上禁用所有选通信号的参考。

但是,未对齐的结束字节呢?例如,从地址0x1开始的1kB突发将具有未对齐的开始和结束字节。可以吗?

突发的字节必须连续吗?写选通脉冲中是否可能有孔,例如0x5、0xa,0x9等?

另外,我想知道ARM的AXI大师利用了该功能吗?ARM处理器是否曾经为指令或数据访问生成未对齐的突发,还是仅DMA控制器发出未对齐的突发?在什么情况下,主机将在开始突发写入后禁用所有选通信号(类似于中断脏线清除?)?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2019年12月18日

但是未对齐的结尾字节怎么办?

不会被允许的。只是突发中的第一个传输是未对齐的,所有其余传输都是对齐的。

但是,对于写事务,您可以使用WSTRB位来指示哪个最终字节有效,这种方式与突发中未对齐的最终传输具有相同的效果。但是您不能这样做以进行读取。

例如,从地址0x1开始的1kB突发
将具有未对齐的开始和结束字节。可以吗?

不会。最终的转帐将会统一。

突发字节必须连续吗?可以写
频闪灯中有孔,例如0x5、0xa,0x9等?

每次脉冲传输时,写选通脉冲都可以改变,因此您可以看到上面的序列。

另外,我想知道ARM的AXI大师
使用了什么功能?

我不知道当前有任何使用WSTRB来指示稀疏传输的ARM主设备,但是也许其他人会更了解特定的ARM主设备设计。

你的回答