AMBA(Advanced Microcontroller Bus Architecture,高级微控制器总线)是用于ARM架构下SoC芯片设计中的一种总线架构。第一代总线是1997年发布的AMBA标准。主要包括两种总线协议,ASB(Advanced System Bus)和APB(Advanced Peripheral Bus)。此时的定位是ASB作为高性能总线,满足高性能处理器的需求,支持Pipeline与多Master操作。APB作为低速总线,属于二级总线满足外设与微处理器的通信需求。
图1.1 AMBA协议发展
第二代总线是1999年发布的AMBA2标准,增加了AHB(Advanced High-performance Bus)协议。在AMBA2中,AHB是ASB的一个升级,同样作为高性能总线除了支持Pipeline与多Master,还支持Burst传输和Split事务处理。逐渐用AHB替代了ASB总线,ASB总线被淘汰,AHB和APB这对组合得到了广泛的应用。
第三代总线是2003年发布的AMBA3标准。在第三代总线中,除了增加AHB-Lite精简协议,升级了APB总线外,为了满足更高的互联性能需求,增加了AXI(Advanced eXtensible Interface),这是一个重要的标志,至此开启了高性能系统设计的通道。在AXI3总线的加持下,系统性能得到了质的提升。在AMBA3中,同时增加了ATB(Advanced Trace Bus)总线作为片上调试的总线接口,为Debug和Trance提供一种解决方案。
第四代总线是2010年发布的AMBA4标准。AMBA4中对APB做了进一步的升级成为APB4协议,另外AMBA4中主要增加了AXI4,AXI4-lite,AXI4 Stream协议,算是针对AMBA3的升级,总线的性能得到了进一步的提升,同时针对微处理器的需求进一步优化了相关协议。在2011年又增加了ACE(AXI Coherency Extensions),ACE-Lite一致性总线,是在AXI的基础上为了满足多处理器簇的一致性需求而制订的系统总线。ACE可以让不同的处理器簇共享系统内存,比如ARM的big.LITTLE处理器。它被广泛应用在ARM的Cortex-A9和ARM Cortex-A15处理器中。
第五代总线是从2013年开始,一直持续到现在。最重要的是增加了CHI(Coherent Hub Interface)协议标准,CHI是一种重新定义与设计的告诉传输层总线,可以有效的较少通路阻塞。它的架构针对多设备大流量接入时如何保持高性能做了可伸缩的设计。通过构建更有效的一致性协议传输保证了复杂系统传输的性能。另外AMBA5也陆续升级了其他的协议版本,如AXI5,ACE5,AHB5,APB5,ATP,DTI以满足系统的最新需求。