0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

进一步了解AMBA总线架构和协议

jf_78858299 来源:数字芯片实验室 作者:XinXinHu 2023-05-04 14:30 次阅读

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

AMBA总线协议是一套由ARM提供的互连规范,该规范标准化了各种IP之间的芯片通信机制。这些设计通常有一个或多个微处理器以及集成其他一些组件——内部存储器或外部存储器桥、DSPDMA、加速器和各种其他外围设备,如USBUART、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相对复杂,需要详细阅读,以及了解缓存一致性和一般通信协议的基本知识。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7987

    浏览量

    348782
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9088

    浏览量

    367406
  • dma
    dma
    +关注

    关注

    3

    文章

    561

    浏览量

    100553
  • AMBA
    +关注

    关注

    0

    文章

    68

    浏览量

    14983
  • 总线协议
    +关注

    关注

    0

    文章

    115

    浏览量

    14850
收藏 人收藏

    评论

    相关推荐

    C语言深度剖析 让你进一步了解C语言

    适合对C语言有定基础积累的童鞋 想进一步学习C语言的 可以看哈
    发表于 09-10 22:26

    如何进一步封装已有的通讯协议

    时间为9:00到11:00),也可以刷卡打开闸机。闸机配有发卡器和读卡器。请问附件中的通讯协议是属于TCP/IP协议吗?如果方便远端的计算机控制闸机,是不是要进一步封装附件中的通讯协议
    发表于 12-08 00:26

    手机射频元件如何进一步集成?

    、电视手机。这些采用多种RF技 术的手机在提供便利的同时也使得手机的设计变得复杂,如何进一步集成射频元件也变得至关重要。
    发表于 08-27 08:33

    进一步理解量子力学经典 多方面丰富相关图表

    进一步理解量子力学经典理论与应用 多方面丰富相关图表为了进一步深入理解量子力学理论经典及其应用,从多个方面丰富内容,附图页码致,符合国际标准。声学,声波自然现象,以及经典原子理论的应用等对理解量子力学经典之波的概念有益。大湾区
    发表于 08-02 07:05

    如何进一步加强对RFID的安全隐私保护?

    如何进一步加强对RFID的安全隐私保护?
    发表于 05-26 06:09

    如何让计算机视觉更进一步接近人类视觉?

    如何让计算机视觉更进一步接近人类视觉?
    发表于 06-01 06:27

    怎样去进一步提高NTP的授时精度呢

    网络时间协议NTP是什么意思?NTP授时的原理是什么?怎样去进一步提高NTP的授时精度呢?
    发表于 11-01 07:12

    如何进一步提高1302精度?

    GN1302 晶振引脚连接 2 个 30pf 电容,每天大约慢 4 秒,如何进一步提高精度?时钟每天慢 4 秒是因为晶振的外部负载电容过大,即 30pf 电容过大。如果使用的晶振的负载电容参数为
    发表于 12-29 17:36

    STM8在待机模式如何进一步降低功耗?

    有什么方法可以进一步降低待机模式的功耗
    发表于 10-12 07:23

    请问如何进一步减小DTC控制系统的转矩脉动?

    如何进一步减小DTC控制系统的转矩脉动?
    发表于 10-18 06:53

    LSI推出新型MegaRAID控制卡和主机总线适配器,进一步

    LSI推出新型MegaRAID控制卡和主机总线适配器,进一步扩展6Gb/s SAS产品系列 LSI 公司日前宣布推出新型 MegaRAID 控制卡和主机总线适配器 (HBA),进一步
    发表于 01-22 09:05 1300次阅读

    飞兆半导体和英飞凌进一步扩展功率MOSFET兼容协议

    飞兆半导体公司和英飞凌科技宣布进一步扩展封装兼容合作伙伴关系,扩展协议将包括5x6mm非对称结构功率级双MOSFET封装。
    发表于 02-09 09:18 927次阅读

    关于GCC的分析,想进一步了解GCC的朋友可以看看

    关于GCC的分析,想进一步了解GCC的朋友可以看看
    发表于 10-25 08:40 5次下载
    关于GCC的分析,想<b class='flag-5'>进一步</b><b class='flag-5'>了解</b>GCC的朋友可以看看

    基于AMBA总线介绍​

    3.0:增加了AXI协议了解);AMBA4.0:ACE协议了解) 本文主要介绍AMBA2.0
    的头像 发表于 05-19 14:22 2117次阅读
    基于<b class='flag-5'>AMBA</b><b class='flag-5'>总线</b>介绍​

    【转载】更进一步了解Keil Flash的下载算法

    【转载】更进一步了解Keil Flash的下载算法
    发表于 11-26 16:36 1次下载
    【转载】更<b class='flag-5'>进一步</b>的<b class='flag-5'>了解</b>Keil Flash的下载算法