AMBA (Advanced Microcontroller Bus Architecture) 高级微控制器总线架构
AMBA 是一组互连协议,用于在 SoC(片上系统)中的各个块或 IP 之间进行通信。ARM 于 1996 年推出了 AMBA。这些规范可从 ARM 免费获得,为片上通信设定了标准。通信基于主从协议。
用于手机的典型 SoC 包含多个组件,如集成在单个芯片中的 CPU、GPU、内存、电源管理、音频、视频、DSP 和控制器。AMBA 标准可实现这些组件之间的高效通信。它促进了 IP 的一次性设计开发、模块化设计、可重用性、兼容性和可扩展性。这减少了上市时间和成本高昂的重新设计。Synopsys 和 ARM 等各种 IP 供应商提供一整套即用型可综合 AMBA IP 解决方案。灵活且可配置的验证 IP (VIP) 解决方案对于全面的功能验证是有效且高效的。Synopsys VC AutoTestbench 解决方案可轻松快速地集成和配置数百个相干和非相干 AMBA 端口以及相应的 VIP 实例。
AMBA 自 1996 年以来不断发展,目前已发展到第五代。APB(Advanced Peripheral Bus)和ASB(Advanced System Bus)是最早的AMBA总线协议。1999年的AMBA 2版本引入了AHB(Advanced High-Performance Bus)。AMBA 3 于 2003 年推出,其中包括 AXI(高级可扩展接口)。AMBA 4 在 2010 年引入了 ACE(AXI Coherency Extensions)协议,AMBA 5 在 2013 年引入了 CHI(Coherent Hub Interface)。
1 APB
APB 是低带宽协议,针对低功耗和低复杂性进行了优化,以支持外围设备。它用作外围设备的低成本接口,不需要高性能的流水线总线接口。任何传输至少需要 2 个周期。典型的 APB 系统具有与 AHB、AXI 或 ASB 以及作为从设备的外围设备接口的 APB 桥接器。它可用于访问外围设备的可编程寄存器。
2 ASB
ASB 支持高性能系统的功能,如突发传输、流水线传输操作和多总线主控。它支持许多处理器和存储器的连接。ASB 总线由 Master、Slave、Arbiter 和 Decoder 组成。在仲裁器的帮助下,任何时候只有一个主站可以访问总线。主机发起读写操作,从机响应读写请求。使用解码器选择地址和适当的从机。
3 AHB
AHB 是专为高性能设计而设计的。它支持多个总线主控并支持高带宽操作。典型的 AMBA 系统设计包含 AHB 主机、AHB 从机、AHB 仲裁器和 AHB 解码器。它用于在共享总线上连接需要高带宽的组件,如 DMA、DSP 和内存。
AMBA AHB 支持高带宽和高频设计所需的功能:
1)突发传输
2)拆分交易
3)更宽的数据总线配置(64/128 位)
4)单时钟边沿操作
5)单周期总线主切换
4 AXI
AXI 是一种点对点互连协议,克服了共享总线协议的局限性。它针对高性能和高频系统,具有以下主要特点:
1)多笔未完成交易
2)乱序数据补全
3)仅发布起始地址的基于突发的事务
4)支持使用选通的非对齐数据传输
5)同时读取和写入事务
6)用于高速操作的流水线互连
5 ACE
ACE 协议扩展了 AXI4 协议以及硬件一致性缓存。ACE 一致性协议确保所有主站都能看到任何地址位置的正确数据。这避免了对缓存之间主要一致性的软件缓存维护。ACE 还提供屏障事务来保证系统内多个事务的排序,以及分布式虚拟内存 (DVM) 功能来管理虚拟内存。
6 CHI
CHI 协议定义了连接完全一致的处理器的接口。它是一种基于数据包的分层通信协议,具有协议、链路和网络层。它与拓扑无关,并提供基于服务质量 (QoS) 的机制来控制系统中的资源。它支持处理器之间的高频和非阻塞相干数据传输,为数据中心等应用提供性能和规模。
参考文献:
https://developer.arm.com/architectures/system-architectures/amba
https://www.synopsys.com/designware-ip/soc-infrastructure-ip/amba.html