AMBA AXI & AHB & APB


1. AXI为什么比AHB快?

1.1 AHB 单工传输 & AXI 双工传输

  • 对于AHB,只有一条通道,读写不能同时传输。
  • 对于AXI,有五条通道,通道之间相互独立,可以同时进行读写传输
    • 对于不同主机访问同一个slave,可以设置成独占访问,更为安全。独占访问见这篇博客
    • 对于只存在一个master和一个slave,且该slave无法在一个周期同时处理读写请求的系统;AXI和AHB性能没有什么差异,且AXI更占面积。
    • AXI的优势在于以下几种情况:
      • slave为一个双端口SRAM,它可以同时处理一个读事务和一个写事务。
      • 对于多个slave,master可以读一个slave,同时写另一个slave。

1.2 AXI outstanding ≥ 1 & AHB outstanding = 1

  • AHB必须等待一次访问结束后才可以进行下一次的访问。
    • 通过HREADYOUT信号和HRESP信号判断传输是否完成。
  • AXI可以在第一个传输回复信号没有返回给主机前,发起第二个传输,在途中的传输可以是多个,主要看缓存的大小。
    • AXI通过写回复信号和读回复信号判断传输是否完成。

1.3 AXI 支持 out of order

  • AXI支持乱序发送,对于数据A准备时间长,数据B准备时间短,虽然A本应该在B前面发出去,但是乱序可以让B数据在A数据前面发出。
    • 但是乱序只针对主机ID不同的传输,而主机相同的传输,不支持乱序,需要缓冲空间进行重排序处理。
    • 具体内容见这篇博客

1.4 AXI 支持 interleaving

  • 具体内容可见这篇博客
  • 与out of order类似的提升系统效率的方法,只是两者粒度不同。

2. AXI & AHB & APB

  • AXI:Advanced eXtensible Interface,高级可拓展接口。
  • AHB:Advanced High-performance Bus,高级高性能总线。
  • APB:Advanced Peripheral Bus,高级外设总线。
posted @ 2023-06-10 22:35  可达达鸭  阅读(174)  评论(0编辑  收藏  举报