在SoC设计中,高级微控制器总线结构(Advanced Microcontroller Bus Architecture,AMBA)用于片上总线。自从AMBA出现后,其应用领域早已超出了微控制器设备,现在被广泛地应用于各种范围的ASIC和SoC器件,包括用于便携设备的应用处理器。
AMBA规范是一个开放标准的片上互连规范(除AMBA5以外),用于SoC内功能模块的连接和管理。它便于第一时间开发带有大量控制器和外设的多处理器设计。其发展过程如下。
(1)1996年,Arm公司推出了AMBA的第一个版本,包括:
①高级系统总线(Advanced System Bus,ASB);
②高级外设总线(Advanced Peripheral Bus,APB)。
(2)第二个版本——AMBA2,Arm增加了AMBA高性能总线(AMBA High-performance Bus,AHB),它是一个单个时钟沿的规范。AMBA2用于Arm公司的Arm7和Arm9处理器。
(3)2003年,Arm推出了第三个版本——AMBA3,增加了如下规范。
①高级可扩展接口(Advanced Extensible Interface,AXI)v1.0/AXI3,它用于实现更高性能的互连。
②高级跟踪总线(Advanced Trace Bus,ATB)v1.0,它用于CoreSight片上调试和跟踪解决方案。
此外,AMBA3还包含如下规范。
①高级高性能总线简化(Advanced High-performance Bus Lite,AHB-Lite)v1.0。
②高级外设总线(Advanced Peripheral Bus,APB)v1.0。
其中:
①AHB-Lite和APB规范用于Arm的Cortex-M0、M3和M4。
②AXI规范用于Arm的Cortex-A9、A8、R4和R5的处理器。
(4)2009年,Xilinx同Arm公司密切合作,共同为基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的高性能系统和设计定义了高级可扩展接口(Advanced eXtensible Interface,AXI)规范AXI4,并且在其新一代可编程门阵列芯片上采用了高级可扩展接口AXI4规范。其主要内容如下。
①AXI一致性扩展(AXI Coherency Extensions,ACE)。
②AXI一致性扩展简化(AXI Coherency Extensions Lite,ACE-Lite)。
③高级可扩展接口4(Advanced eXtensible Interface 4,AXI4)。
④高级可扩展接口4简化(Advanced eXtensible Interface 4 Lite,AXI4-Lite)。
⑤高级可扩展接口4流(Advanced eXtensible Interface 4 Stream,AXI4-Stream)v1.0。
⑥高级跟踪总线(Advanced Trace Bus,ATB)v1.1。
⑦高级外设总线(Advanced Peripheral Bus,APB)v2.0。
其中的ACE规范用于Arm的Cortex-A7和A15处理器。
(5)2013年,Arm推出了AMBA5。该规范增加了一致集线器接口(Coherent Hub Interface,CHI)规划,用于Arm Cortex-A50系列处理器,以高性能、一致性处理“集线器”方式协同工作,这样就能在企业级市场中实现高速可靠数据传输。
思考与练习3.1:请说明Arm AMBA的含义,以及所实现的目的。
思考与练习3.2:请说明在STM32G071 MCU中,所采用的总线规范。
思考与练习3.3:在Arm AMBA中,对APB、AHB和AXI来说,性能最高的是________,性能最低的是_______________。