AMBA总线新一代标准AXI分析和应用
1 引言
ARM 作为业界顶尖的32 位RISC 嵌入式处理器,占有嵌入式处理器75%以上的市场。它不生产和销售芯片,只是出售芯片技术授权。ARM 技术几乎无所不在,ARM 嵌入式微处理器是一种高性能、低功耗的RISC 芯片,大量应用于电子设备、无线系统、汽车、工业控制等各类产品中。
ARM 公司提出用于SoC 设计中的AMBA 总线结构,由于它的高性能,以及ARM 微处理器的广泛应用,已经成为了SoC 设计中使用相当广泛的总线标准。AXI 是AMBA 中一个新的高性能协议。AXI 技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。
2 AMBA 片上总线及应用实例
在一个 SoC 中,有处理器(有时不止一个)、存储器和众多的各种各样的设备,要使它们高速度并且高效率地工作,我们需要一个高性能的片上总线。同时,高性能的片上总线可以使得SoC 具有更小的面积、更低的功耗和更高的性能。从而使我们的产品能以更低的成本获得更优异的性能。现有技术上比较成熟的片上总线标准其实数量不少,如OCP、CoreConnect、Wishbone等,由于ARM微处理器在嵌入式领域占据绝对市场优势,其片上总线协议AMBA也成为了事实上的SoC总线标准。AMBA协议的目的是为了要推出片上总线的规范,一开始AMBA 1.0只有ASB与APB,为了节省面积,所以这时候的总线协议都是三态总线,由于三态总线要设计者花更多的精力去注意时钟,所以到了后来AMBA 2.0的AHB,为了更加方便设计者,总线改用多路复用器(multiplexor)的架构,并增加了新的特性。
图 1 DWT(数字对讲机)SoC系统结构图
AMBA 总线除了基本的数据访问功能外,还具有许多其他不可或缺的特性如下:
AMBA有优秀的握手协议,由专门的仲裁模块(Arbiter)来决定各主设备(Master)的访问请求。这种优先级的设定是灵活而又随时可变的,这使系统总线的调度非常有效率。
AMBA2.0以上版本都是基于单沿时钟、单向信号线的协议。这使它非常适合于现代大规模集成电路设计自动化的要求,与EDA工具的耦合非常自然,容易达到更高的时钟频率。
AMBA的地址和数据相位间有流水线的关系,使存储器访问可以提前准备,使主设备间的切换不浪费额外的时钟周期,尤其特别适合与内置流水线的处理器接口。
AMBA2.0支持许多先进的访问方式,如连续型访问(burST)可以加快某些快速存储器的访问速度;离线型访问(split)可以让某些慢速设备在不占用总线的情况下,先将数据准备好,再发起相应的总线访问行为。在AMBA3.0中,对各种突发访问、乱序访问将有更好的支持。这些技术特点使AMBA可以运行在更高的时钟频率,在相同的频率下可以提供更高的数据吞吐量。
一个以AMBA架构的SoC,一般来说包含了高性能(high-performance)系统总线(AMBA ASB或 AMBA AHB 或 AMBA AXI)与低功耗(low-power)的外围总线(AMBA APB)。现在市场上大部分的基于AMBA架构的SoC产品,系统总线采用AHB,外部总线采用APB。系统总线负责连接例如ARM嵌入式处理器、DMA控制器、片上存储器或其他需要高带宽的元件。而外围总线则是用以连接系统的外围元件,其协议相对来说较为简单,而两种总线通过总线桥相连。通过这种机制来减轻系统总线的负担。
笔者参与了清华大学与意法半导体合作开发民用数字对讲机(Digital Walkie-Talkie,简称DWT)SoC芯片的项目研发工作,这是一款基于ARM9处理器、AMBA总线的典型数模混合SoC,其系统框图如图2所示,方框内为SoC集成的模块。
图 2 基于AXI应用结构框图
3 AXI
随着SoC 设计复杂性的增加和CPU 处理能力的提升,总线结构会成为系统性能的瓶颈。在多处理器SoC 设计中,这种瓶颈现象更加明显。综合考虑成本、功耗和面积,SoC 设计中选用何种高效的总线结构是比较困难的,同时总线结构对系统所要求达到的性能又是非常重要的。
随着下一代高性能 SoC 设计的需要,比如多处理器核、多重存储器结构、DMA 控制器等,AMBA 需要新一代灵活性更强的总线结构,这就是AMBA 3.0 AXI 总线。AXI 是1999年发布的AMBA 2.0 的继承和提升,是ARM 公司与其他的芯片制造商包括高通、东芝和爱立信等公司共同研发的。新协议的发布,为新一代高性能SoC 的设计铺平了道路。
AXI 能够使SoC 以更小的面积、更低的功耗,获得更加优异的性能。AXI 获得如此优异性能的一个主要原因,就是它的单向通道体系结构。单向通道体系结构使得片上的信息流只以单方向传输,减少了延时。
选择采用何种总线,我们要*估到底怎样的总线频率才能满足我们的需求,而同时不会消耗过多的功耗和片上面积。ARM一直致力于以最低的
- AMBA总线介绍(12-14)
- ARM AMBA总线介绍(11-25)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)