AXI 突发传输机制( burst )

传输类型

具体来说,AXI 协议定义了三种突发传输类型:

  1. 固定突发(Fixed Burst):每次传输的地址保持不变,适用于重复访问同一位置的数据传输。
  2. 增量突发(Incremental Burst):每次传输的地址都是前一个传输地址的增量,适用于连续数据块的传输。
  3. 回环突发(Wrapping Burst):类似于增量突发,但在达到一定地址后回绕到起始地址继续传输。

除上以上的三种传输类型外,实际使用时还有一种叫混合突发(Mixed Burst):结合了固定突发(Fixed Burst)和增量突发(Incremental Burst)的特点。

突发长度

AXI 最大突发长度映射(AXI Maximum Burst Length Mapping)是指在 AXI 总线协议中,定义一次突发传输中可以进行的最大数据传输次数。突发传输是一种高效的数据传输方式,通过一次地址传输后进行多次数据传输,从而减少总线的开销。

在 AXI 协议中,突发传输长度(Burst Length)由 AWLEN 或 ARLEN 信号指定,表示在一次突发传输中进行的传输次数。不同类型的突发传输有不同的最大长度限制:
● 增量突发(INCR):最大支持长度为 256。
● 固定突发(FIXED)和回环突发(WRAP):最大支持长度为 16。

突发传输长度有一些限制,包括:
● 对于 WRAP 模式,突发传输长度仅能为2,4,8,16
● 在一次突发传输中,地址不能跨越一个 4KB 分区
● 一次突发传输不能在未达到传输长度的情况下提前结束。

在Synopsys DWMAC中,突发传输长度的映射通常在设备树中通过属性 snps,blen 来定义,并在驱动程序中读取,以配置硬件的突发传输能力。这有助于优化数据传输的效率,特别是在需要传输大块连续数据的场景中。

在 AXI 突发传输中,突发长度的单位通常是“传输次数”或“数据块”。每次传输的大小取决于数据总线的宽度(例如 32 位或 64 位)。因此,突发长度表示在一次突发传输中进行的传输次数,而不是具体的数据大小。

例如,如果数据总线宽度为 32 位(4 字节),突发长度为 8,那么一次突发传输可以传输 8 个 32 位的数据块,总共 32 字节的数据。

写/读最大未完成请求数

在 AXI 协议中,写/读最大未完成请求数(Outstanding Requests)指的是主设备(如处理器)在等待从设备(如存储器)响应之前,可以发起的最大读或写请求数。这意味着主设备可以在不等待每个请求完成的情况下,连续发起多个请求,从而提高总线的利用率和系统的整体性能。

具体来说:
● 写最大未完成请求数:主设备可以在等待写操作完成之前,发起的最大写请求数。
● 读最大未完成请求数:主设备可以在等待读操作完成之前,发起的最大读请求数。
通过设置这些参数,可以优化数据传输的吞吐量和延迟,特别是在高性能系统中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值