AXI为什么比AHB快?
时间:12-12
整理:3721RD
点击:
目前接触到的都是AHB bus作为一个附属的慢的device,通过AXI2AHB bridge挂在AXI下面。
如果data width和frequency都相同的话,再抛开AXI的read和write是分开进行这一特点的话,AXI还会比AHB快吗?
谢谢。
如果data width和frequency都相同的话,再抛开AXI的read和write是分开进行这一特点的话,AXI还会比AHB快吗?
谢谢。
个人理解,在单条通道上,数据传输的效率,对于AXI和AHB的差别并不是很大。WDATA和RDATA都能够实现连续的收发。
主要区别在总线的实现上。
AXI允许多个master同时访问总线,并同时访问不同的slave。而AHB总线只允许一个master进行操作。
在master和slave的个数较多时,同时可传输的数据量就差的比较多了。当然,AXI总线实现的逻辑和复杂度也高不少。
AXI有id这个属性, 传输的包 可以 out of order ?
先感谢解答。
多个master同时访问,应该是要通过interconnect的吧。
AHB没有interconnect吗?
谢谢。
谢谢解答。
不过out of order的话,应该是在效率方面的提高吧,比如某个ID暂时不能响应,别的ID可以先响应,不会被挡道。
感觉楼上apb大哥说的好像有道理,但我不确定是不是这样理解的。
再次感谢。
最理想的情况下,ahb和axi的差异并不大。
可以思考一下这个场景:
对于读请求,当slave这边肚子里面有比较大的buffer,或latency时呢(当地址握手完成后,数据并不会立刻返回)?比如说memory controller。
master用ahb,ahb lite和axi,效率上有没有区别?master和slave的实现复杂度又有没有区别?
谢谢解答。
如果是这种场景的话,我的看法是,AHB会因为slave无法返回而停下来。
不过AXI的话,由于还有ID的存在,可以先返回别的ID。
这样的话,AXI效率会比AHB要高。
现在有很多采用abh lite+interconnect 的设计吧
是的,arm提供interconnect的模块