AXI协议个人的一些理解

1.协议简介

AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线(即芯片内部总线)。
在这里插入图片描述
总线一般都是支持对master、多slave之间进行数据交互;没特别说明,以下文章都是基于单master和单slave进行的描述;

2.协议接口

  • 待补充,这在哪应该都看的到

3.通道间握手信号联系

AXI协议将数据的交互分为了5个通道,读地址通道,读数据通道,写地址通道,写数据通道,写resp通道;五个通道之间的关系其实也比较好理解,就是你要读数据的话,那肯定是master先发起读地址,这样slave才可以返回相应地址上的读数据,也就有了先读地址通道握手后读数据通道握手的概念;

1.读数据

正如前面说的,master先发起读地址,slave接收读地址,slave返回读数据,master接收读数据;完成一次读取;
在这里插入图片描述
需要注意的是master给出一个有效地址后,协议规定在slave没有接收到该地址前,这个地址的值不能发生改变,对于其它vld值也有该限制;

2.写数据

写数据类似,master需要先给出一个有效的写地址,slave接收写地址,master给出有效写数据,slave接收有效写数据,待master将相应的写数据给完后,并且slave将数据都接收到了之后,slave返回写完了的响应;
在这里插入图片描述

4.burst传输的概念理解解

burst传输的概念是,一次完整的传输我的master测地址通道只需要发送起始地址,后续的地址由slave自己去算,如果此时为读操作,则slave继续返回相应的读数据,直到该burst结束(该次burst的长度由axi接口len信号可知);若是写操作,则master写数据通道会接着进行写数据的传输,也是知道burst结束;

  • FIXED传输为地址固定传输,所有传输都会写在同一个地址中。主要应用在FIFO的传输中,因为FIFO为先入先出,只需要往同一个地址写数据即可。

  • INCR传输为地址递增传输,可根据具体的配置有固定长度递增和非定长递增。大部分的数据传输都是使用这种方式,尤其是在内存访问中,可以大大提高效率。

  • WRAP传输为地址回环传输,在一定长度后会回环到起始地址。主要应用在Cache操作中,因为cache是按照cache line进行操作,采用wrap传输可以方便的实现从内存中取回整个cache line。

Burst概念可以减少地址通道的交互,当进行连续地址的访问时,大大减少地址通道握手的耗时,提升了单笔传输的效率;

5.outstanding概念理解

outstanding概念就是我这个axi的可以容忍多少个burst操作在路上;如我的写outstanding为16;那就是说我可以容忍写操作可以有16个没有完成,如果路上已经有16个写操作没有完成,则新的写操作需要等待;若路上没有16个写操作,如只有7个写操作,则你这次写操作的写地址可以直接发送成功;
== outstanding概念可以减少多笔传输之间的等待,提升多笔传输的效率==

6.out_of_order概念

out_of_order的概念是针对有带id的版本总线;
由于总线存在outstanding的概念,所以命令可能一下子就下发了十几个下去或者可能更多;如通信下发了10个读命令;则此时读通道返回的读数据如何和读命令对应上就是个问题;一种方法是读通道数据保持读命令发送的顺序进行返回,这样读数据就能够和你的读命令进行匹配,但这样损失了很大一部分性能;在后面的读命令假设本来可以很快就返回了,但是现在非得等到前面命令结束了才到它;(也就是不能插队);
但是加上id就不一样了,不同id间的master发起的读操作,slave返回时只要带上id,则不同id之间就不在有上诉的问题,可以不按发命令顺序进行返回了;(但id内其实也存在该问题,不过已经提高很大的性能了);

7.注意事项

  1. AXI单次的burst不可跨4k,如果跨4k需要进行拆分成两次的访问;原因可能4K是个内存空间范围,下一个4K就在另外一个地方(物理上);虽然地址连续;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汶.z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值