什么是AMBA? ARM官方给出的应用定义如下:
ARM AMBA (Advanced Microcontroller Bus Architecture)协议是一种公开标准,主要用于片上系统(SoC)中功能模块连接和管理的互联规范。它有助于一次性正确开发具有大量控制器和外设的多处理器设计。AMBA通过定义SoC模块的通用接口标准来促进设计的重用性。
01
AMBA的历史脉络
AMBA的故事可以追溯到1995年,当时ARM的规模要小得多,在欧盟的资助,ARM内部做了高级微控制器总线结构的研发。在1996年,ARM将内部研究的高级微控制器总线体系结构(不是ARM总线体系结构)公开作为一个开放体系,从而促进了具有大量控制器和外设的多处理器设计的发展。
自从ARM架构开放之后,AMBA的应用已经远远超出了微控制器的领域。今天AMBA已经被广泛的应用在ASIC和SoC设计中,而这些设计通常是应用在移动设备,如智能手机等领域。
第一代总线是1997年发布的AMAB标准。主要包括两种总线协议,Advanced System Bus (ASB) 和 Advanced Peripheral Bus (APB). 此时的定位是ASB作为高性能总线,满足高性能处理器的需求,支持pipeline与多master操作。APB作为低速总线,属于二级总线满足外设与微处理器的通信需求。
第二代总线是1999年发布的AMBA2标准。ARM增加了AMBA High-performance Bus (AHB)协议。AMBA2被广泛应用在ARM7,ARM9的设计中,并且现在还一直应用在Cortex-M系列的设计中。在AMBA2中,AHB是ASB的一个升级,同样作为高性能总线除了支持pipeline与多master,还支持burst传输和split事务处理。逐渐用AHB替代了ASB总线,ASB总线被淘汰,AHB和APB这对组合得到了广泛的应用。
第三代总线是2003年发布的AMBA3标准。在第三代总线中,除了增加AHB-Lite精简协议,升级了APB总线外,为了满足更高的互联性能需求,增加了Advanced eXtensible Interface (AXI),这是一个重要的标志,至此开启了高性能系统设计的通道,在AXI总线的加持下,系统性能得到了质的提升。在AMBA3中,同时增加了Advanced Trace Bus (ATB)总线作为片上调试的总线接口,为debug和trance提供一种解决方案。
第四代总线是2010年发布的AMBA4标准。AMBA4中对APB做了进一步的升级成为APB4协议,另外AMBA4中主要增加了AXI4,AXI4-lite,AXI 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 以满足系统的最新需求。
02
—
不同AMBA协议介绍
AMBA CHI :定义了支持处理器全一致性接口协议。例如在Cortex-A76和Cortex-A65,动态memory控制器例如CoreLink DMC-620,以及高性能无阻塞互联矩阵如CoreLink CMN600。它适合广泛应用在需要一致性应用的系统中,包括移动设备,互联网设备,汽车电子以及数据中心等。CHI规范对协议层与传输层做了分离,以满足针对PPA的不同设计需求。这种拆分可以允许设计者选择实现小的高效cross-bar结构,或者实现一个高性能大规模的mesh网络结构。
AMBA AXI and ACE:定义了高性能,高带宽的互联设计协议。被广泛应用在电信设备,消费电子,互联网,汽车电子以及嵌入式中。
AMBA AHB:定义了高性能总线接口协议,AHB协议被广泛应用在Cortex-M系列的处理器中,如一些嵌入式设备或者低延时的SoC外设中。
AMBA APB:是一种低功耗,低带宽配置总线,主要应用在在一些低带宽数据传输以及一些寄存器的配置中。
AMBA AXI-Stream:定义了一种单向数据传输协议,大大减少信号路由时间,实现数据高速传输。
AMBA CXS:定义了一个可信的,非阻塞流接口协议,用于实现点对点的包传输。针对片上互联和PCIe控制器之间的CCIX和CXL包传输协议进行了优化。CXS针对宽接口进行了优化,使得数据包可以高速率的传输到外部接口,并且可以将多个报文合并为一次传输。
AMBA ATP(Adaptive Traffic Profiles):自适应流量配置,是一个综合流量控制架构,可以方便的实现模型系统master,slave在高层次级别简单、有效的访问内存。这种流量控制架构可以被方便的应用在多种工具以及设计验证环境中,以满足设计与验证复杂SoC系统的需求。实现一种简单高效、方便调节的系统仿真机制。
AMBA DTI(Distributed Translation Interface):AMBA分布式传输接口,主要是应用在系统MMU (SMMU) 架构中,定义了一种可伸缩的分布式消息传输协议。主要实现SMMU中TCU与TBU,以及TCU与PCIe ATS的通信。
-
ARM
+关注
关注
134文章
9021浏览量
366368 -
soc
+关注
关注
38文章
4078浏览量
217711 -
AMBA
+关注
关注
0文章
68浏览量
14935
发布评论请先 登录
相关推荐
评论