了解AMBA总线架构和协议

如果你是一个IC工程师,并且当前的芯片设计是基于各种复用IP的SOC芯片,你肯定听说过AMBA、AHB、APB、AXI、AXI-lite、ACE、CHI等。

AMBA总线协议是一套由ARM提供的互连规范,该规范标准化了各种IP之间的芯片通信机制。这些设计通常有一个或多个微处理器以及集成其他一些组件——内部存储器或外部存储器桥、DSP、DMA、加速器和各种其他外围设备,如USB、UART、PCIE、I2C等。AMBA协议的主要动机是用一种标准和高效的方法来重用这些跨多个设计的IP。

学习AMBA协议的第一步是了解这些不同的协议在哪里使用,是如何演进的,以及它们适合什么样SOC设计。下图展示了传统基于AMBA的SOC设计,它使用AHB(高级高性能)协议进行高带宽互连,以及针对低带宽外围互连的APB(高级外围总线)协议。

随随着越来越多的IP集成到SOC设计中,读写共享的AHB、APB总线已经无法满足互联需求了。2003年,AMBA3.0引入了点对点连接协议——AXI(高级可扩展接口)。此外在2010年,又推出了一个增强版——AXI4。下图说明了协议的演变以及行业中的SOC设计趋势。

下图说明了如何使用AXI互连来构建各种IP通信的的SOC。与以前的AHB/ASB总线相比,AXI互连有助于提高连接数量。

在移动和智能手机时代发生了进一步的演进,SOC集成了2/4/8核处理器和共享cache,并且需要跨内存子系统的硬件管理一致性。这导致了在AMBA修订版4中引入了ACE(AXI一致性协议扩展)

在当前HPC和数据中心市场的异构计算时代,单个芯片上集成越来越多的处理器核心以及GPU、DSP、FPGA、内存控制器和IO子系统。2013年,AMBA5引入了CHI协议,作为AXI/ACE协议的重新设计。基于信号的AXI/ACE协议被新的基于包的CHI协议所取代。

ARM已经开源了所有的协议,所有的规范都可以从ARM的网站上免费下载。

1、APB:高级外围设备总线(APB)用于连接低带宽的外围设备。它是一个简单的非流水线协议。读写操作共享同一组信号,不支持burst数据传输。最新的规范(APB2.0)可以在ARM网站上找到,是最容易学习的AMBA 协议

2、AHB:高级高性能总线(AHB)用于连接共享总线上需要更高带宽的组件。这些slave组件可以是内部内存或外部内存接口、DMA、DSP等。AHB可以通过burst数据传输来获得更高的带宽。

3、AHB-lite协议是AHB的一个简化版本。简化后只支持一个主设计,这消除了对任何仲裁、重试、分割事务等的需求。

4、高级可扩展接口(AXI)适合于高带宽和低延迟互连。这是一个点对点的互连,并克服了AHB、APB等共享总线协议在可连接的代理数量方面的限制性。该协议支持多个outstanding的数据传输、burst数据传输、单独的读写通道和支持不同的总线宽度。

5、AXI-lite协议是AXI的简化版本,简化后不支持突发数据传输。

6、AXI-stream协议是AXI协议的另一种风格,它只支持数据流从master 流到slave。与完整的AXI或AXI-lite不同,AXI-stream 协议中没有单独的读/写通道,因为其目的是只在一个方向上流。

7、ACE-AXI协议是AXI4协议的扩展,应用于在一个芯片上集成多个CPU核心与一致性cache的场景。ACE协议扩展了AXI读写数据通道,同时引入了单独的snoop 地址、snoop 数据和snoop 响应通道。这些额外的通道提供了实现基于snoop 的一致性协议的机制。

8、ACE-Lite—对于没有自己cache的agents ,但仍属于可共享一致性域的一部分,如DMA或网络接口agent,使用ACE-lite协议实现这种“单向”一致性。

9、CHI—ACE协议作为AXI的扩展而开发,以支持一致性互连。ACE协议使用了master/slave之间的信号电平通信,因此互连需要大量的线和增加的通道来进行snoops 和响应。这对于具有2/4核移动SOC 的小一致性clusters非常有效。随着SOC上集成越来越多的一致性clusters ——AMBA5修订版引入了CHI协议。CHI协议使用基于分层分组的通信协议,具有协议、链路层和物理层实现,还支持基于QoS的流控制和重试机制。

概述是我们深入地了解这些协议的开始,进一步了解的最好方法是阅读规范,以了解每个协议的细节。APB和AHB相对简单,而且很容易学习。AXI和ACE/CHI相对复杂,需要详细阅读,以及了解缓存一致性和一般通信协议的基本知识。

(0)

相关推荐

  • 【精品博文】coresight(七)coresight的两大功能

    coresight具有两大功能,一个是debug,一个是trace. 1.debug debugger通过DAP,来实现debug功能. 1.1.单core的debug系统: 一个DAP,加上一个AP ...

  • 只言片语 —— eFPGA

    科学就是那些我们能对计算机说明白的东西,余下的都叫艺术. --高德纳 从读书开始时的EPLD到大学毕业时的FPGA,一晃多年,仿若回到原点,只是很多的技能都似随风而逝,现在从IoT领域试图找回一些原来 ...

  • 【博文连载】奔跑吧,SOC(三)——互联总线协议

    之前,说了片上互联总线,但是光有总线可是不行的,还需要片上总线协议支持才行,因为有了协议,才能对寄存器准确无误的进行操作. 说到片上总线协议,那可就多了,如ARM公司所用的AMBA总线,Silicor ...

  • 【原创】DMA

    什么是DMA     DMA,Direct Memory Access,直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式.在DMA模式下,CPU只需要向DMA控制器下达指令,传输数据 ...

  • 【精品博文】coresight(八)soc-400套件

    因为coresight属于ARM制定的标准,因此ARM针对coresight,设计出来soc-400套件.设计人员可以利用这个套件,快速的生成coresight系统,并且生成相应的case,对core ...

  • rs485总线接口通讯协议定义标准以及管脚引脚介绍

    RS485总线标准是工业中(考勤,监控,数据采集系统)使用非常广泛的双向.平衡传输标准接口,支持多点连接,允许创建多达32个节点的网络:最大传输距离1200m,支持1200 m时为100kb/s的高速 ...

  • stm32f4xx系统总线架构

    最近有人在STMCU社区网站咨询如下问题: 由于实验需要,要用到STM32F407的两个DMA并用定时器触发,在使用过程中发现DMA1无法把GPIO的IDR上的数据传输到内存,调试过程中出现DMA1的 ...

  • 【博文连载】AMBA总线介绍

    先进的微控制器总线体系结构AMBA规范定义了三种总线: (1)AHB(Advanced High-performance Bus):用于连接高性能系统模块.它支持突发数据传输方式及单个数据传输方式,所 ...

  • 长文图解工业HART总线协议

    [导读] 在AIOT蓬勃发展的今天,也掀起传统工业设备IOT革新的浪潮.那么需要对工业设备进行IOT改造,除了直接开发具有IOT互联协议的新型设备,对原有总线设备的接入改造其实也是一块很大的蛋糕.因此 ...

  • PCIe和XAUI协议时钟架构应用实例

    引言:本文我们介绍GTX/GTH收发器时钟架构应用,该文内容对进行PCIe和XAUI开发的FPGA逻辑设计人员具有实际参考价值,具体介绍: PCIe参考时钟设计 XAUI参考时钟设计 1.PCIe参考 ...

  • 2.网络体系架构与网络协议

    2.网络体系架构与网络协议

  • 最全整理工业通讯上的领域各种总线 协议 规范 接口—数据采集与控制

    "智能制造之家" 本号相关PPT与资料,未在文末留下下载关键字的,需进入智能制造之家知识星球自行下载~写在面前大家好,我是李孟宦,号主小智前同事~作为一个工业领域的技术工程师,我们 ...

  • CAN总线学习笔记(2)- CAN协议数据帧、遥控帧、错误帧

    本专辑是依照瑞萨公司<CAN入门书>的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成的笔记.希望对初学者有所帮助. 01 CAN 协议中的帧 在了解CAN ...

  • 总线56讲,UDS协议测试,全套详解

    老规矩,我们要从入门到精通,做系统性的介绍,帮助大家对这项技能一网打尽.UDS是一种高层应用协议.所谓"应用协议",指的就是在CAN报文传输的基础上,进一步封装的特殊含义的传输命令 ...