AMBA总线总览

系统芯片各个模块之间需要接口连接,就像不可能每个城市两两之间都建设公路,总线就像高速公路,是公共资源。AMBA(Advanced Microcontroller Bus Architecture)总线是由ARM公司提出的一种开发性的片上总线标准,它独立于处理器和工艺技术,作为子系统模块之间共享的通信链路。


他们分别是ASB:先进系统总线,现在已经被抛弃了;

APB,先进外设总线,主要是连接外设,如spi,i2c,timer等外设;

AHB,先进高性能总线,用于多核心架构的互联;

AXI,先进扩展接口,用于高速多核架构的互联;

ATB,先进跟踪探测总线,用于探测芯片内部数据,如coresigt应用;

ACE,先进扩展接口的一致性扩展,用于多核处理器cache一致性应用;CHI,一致性数据中心接口,用于高性能网络服务器。

ABMA总结的名称及应用场景如下表所示:

AMBA总线总览_第1张图片

到目前,AMBA已经进入到了AMBA.5,它的发展历程如下图所示:

AMBA总线总览_第2张图片

可以看出,在AMBA.2,AMBA定义了APB2和AHB,分别应用于外设和多处理器核心互联。

在AMBA.3中,AMBA升级了APB3,并把AHB做了裁剪推出了AHB-lite,并开发定义了AXI3。

     大家知道,AHB也是高性能互联总线,为什么有了AHB,还要做裁剪定了AHB-lite,并推出AXI呢?

这是因为AMB刚为处理器互联推出总线架构的时候,定义了多个处理器互联总线,虽然叫高性能总线,其实AHB的性能并没有那么的高,或者说是随着技术的发展AHB不能满足多处理器互联的更高应用需求,在实际应用中,AHB大多数时候被用于单核心的场景,而在多处理器的高速场景推出了AXI。

     如果大家看总线的定义,就会发现,AHB总线虽然写数据和读数据是独立的数据线,但是地址线却是公用的一根地址线,通过使能信号的高低区分一个地址是读请求还是写请求,虽然数据了都地址发出后还没返回读数据的一拍可以流水的发出下一次的读地址请求,但是读写通道没有独立,不能同时进行读写请求。而AXI总线叫做高性能扩展接口,它定义了读地址通道,读数据通道,写地址通道,写数据通道,写返回通道,这个五个通道是独立的,这样可以进行独立的读写请求,并且可以突发请求,这样提供的工作效率,性能有很大的提升。

在AMBA.4,AMBA推出了升级了的APB4,AXI4,并开发了ACE,ACE(AXI Coherency Eetensions),从名字可以看出是AXI的扩展,它保留了所有AXI的接口,为了保证多核系统的cache一致性,增加了snoop接口,snoop用来侦测监控cache的状态,满足cache一致性的需求。

在AMBA.5推出了升级的AHB5-lite,AXI5,ACE5,并新定义了CHI。可以说AHI是ACE协议的进化版,将所有的信息传输采用包(packet)的形式来完成。从接口的角度看,CHI和ACE,AXI这些协议完全不一样了,CHI协议进行了协议分层。

这里只是宏观的介绍一下AMBA总线的发展历程和宏观特点,如果想深入了解各种总线的具体定义,请参照官方的数据手册。

 

 

 

你可能感兴趣的:(arm开发,fpga开发,硬件架构)