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一直致力于以最低的成本和功耗追求更高的性能。这一努力已经通过连续一代又一代处理器内核的发布得到了实现,每一代新的处理器内核都会引入新的流水线设计、新的指令集以及新的高速缓存结构。这促成了众多创新移动产品的诞生,并且推动了ARM架构向性能、功耗以及成本之间的完美平衡发展。
AXI总线是一种多通道传输总线,将地址、读数据、写数据、握手信号在不同的通道中发送,不同的访问之间顺序可以打乱,用BUSID来表示各个访问的归属。主设备在没有得到返回数据的情况下可发出多个读写操作。读回的数据顺序可以被打乱,同时还支持非对齐数据访问。
AXI总线还定义了在进出低功耗节电模式前后的握手协议。规定如何通知进入低功耗模式,何时关断时钟,何时开启时钟,如何退出低功耗模式。这使得所有IP在进行功耗控制的设计时,有据可依,容易集成在统一的系统中。AXI与上一代总线AHB的主要性能比较见表1。[!--empirenews.page--]
新的高性能AXI协议技术性能新的特点主要包括:
单向通道体系结构。信息流只以单方向传输,简化时钟域间的桥接,减少门数量。当信号经过复杂的片上系统时,减少延时。
支持多项数据交换。通过并行执行猝发操作,极大地提高了数据吞吐能力,可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗。
独立的地址和数据通道。地址和数据通道分开,能对每一个通道进行单独优化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。
增强的灵活性。AXI技术拥有对称的主从接口,无论在点对点或在多层系统中,都能十分方便地使用AXI技术。
4 AXI 的应用
SoC系统中总线的选择不仅要看其性能,还要看其应用范围,更加重要的是,是否有足够的IP核资源可供利用。为了加速基于AXI总线的应用设计,ARM最新发布了面向片内总线AXI的3种IP内核。分别为:二级缓存控制电路L220、输出AXI标准总线的工具PL300以及同步DRAM控制电路PL340。3种产品的供货将加快AXI的普及步伐。3种产品均为可逻辑合成的软核,支持ARM1156T2F-S、ARM1176JZF-S与 MPCore三种CPU内核。
这些预先检验的AXI系统元件将协助研发者迅速针对内建ARM11系列处理器的SoC开发出高集成度的产品。AXI系统元件提供一条具备高效率的传输管道,从处理器连接快速缓存、存储控制器及外部存储器。上述优势使ARM11系列处理器即使搭配速度较慢的内存,也可以发挥出相当高的性能。由于 CPU与芯片外部存储器之间的通信已成为主要的性能瓶颈,因此设计人员将会视该项技术为极具价值的方案。
二级缓存控制电路L220是面向ARM内核中首款支持二级缓存的电路。二级缓存除可用于个人电脑微处理器等一般用途外,还支持MIPS微处理器等。使用此次二级缓存控制电路、同时配备256kB的二级缓存时,MPEG-4的解码处理所需的时间只相当于没有配备二级缓存时的一半。另外,256kB 二级缓存的面积采用台湾TSMC的130nm设计规格、为6mm2,成本大约为0.41美元(约合人民币3.4元)。L220支持ARM的电源电压与工作频率控制技术“IEM”,可有效控制二级缓存的电源电压等。
PL300是一种可以生成具有任意数量主从设备的总线的工具。传送速度在平均每层166MHz工作频率下为1.3GB/秒。使用XML记述主从设备等的设定,就会生成相应总线的设计数据。同步DRAM控制电路PL340配备16位×64位宽的DDR接口。今后将支持DDR2与奇偶校验。 L220、PL300与PL340均已开始提供使用授权。只需在签合同时支付授权费用,之后的生产中不必每枚芯片交纳授权费用。
5 结束语
笔者在参与一个基于 ARM9 的SoC 研发的基础上,从应用需求的角度上研究和比较了AMBA 总线的优异性能和新特性。本文的创新点,是详细比较了AXI 和老一代总线AHB的性能,并再此基础上给出了他们的工程应用实例结构,为SoC 设计中总线选择以及使用AMBA 总线进行应用产品开发提供了参考。从上面的比较和总结可以看出,AXI 总线技术上可以提供内核速度的吞吐量,经济上ARM 有丰富而且免费的IP 核资源可供利用。
目前市场上的应用产品基本都是基于 AMBA 2 AHB,基于AXI 和ARM11 的应用产品还比较少,但是AXI 的广泛应用只是一个时间的问题。AXI 片上总线的推出,把SoC 的设计推向了一个新的台阶,设计者可以更加方便快速的设计出高性能SoC。