APB, AHB, AXI 3, AXI 4 的区别是什么?
APB是双cycle设计,只有一半的cycle在传数据,设计简单,一般用来连接吞吐量需求较低配置端口,不过在ARM总线内部都会转成AXI来传输。AHB算是三通道协议,分别是读写数据和地址通道,读写共用一个地址通道,所以吞吐量也不是很理想,但是设计简单,cortex m0就是ahb的,还有很多legacy device采用ahb,ahb在ARM总线内部也是转成AXI传输和仲裁。AXI的是5通道设计的,读写地址分开,吞吐量大,第一个版本叫AXI3,后来更新到AXI4,支持最多256beat的long burst和QoS。AMBA 4之后ARM还发布了AMBA CHI,以便更多处理器通过环形总线互联,实现环形总线上的数据传输。
APB一般用来连接配置接口,AHB和AXI多用来接数据传输接口,从性能和设计复杂度来看 APB < AHB < AXI。