当前位置: 首页 > article >正文

AMBA总线协议

1.AMBA总线协议

        高级微控制器总线架构 (AMBA) 是一种开放标准的片上互连规范,用于连接和管理片上系统 (SoC) 设计中的功能块。 本质上,AMBA 协议定义了功能块如何相互通信。

        下图显示了 SoC 设计的示例,使用了多个AMBA 协议(如 AXI)相互通信的功能块:

什么是AMBA协议

         AMBA(Advanced Microcontroller Bus Architecture)是由ARM公司提出的一种片上系统(SoC)总线架构,旨在为嵌入式系统中的各个模块(如处理器、外设、内存等)提供高效的通信手段。AMBA协议定义了不同类型的总线和接口标准,用于在一个SoC内部的各个组件之间传递数据、控制信号和状态信息。

        AMBA总线协议的主要特点包括高性能、可扩展性和灵活性

AMBA总线协议的应用

        AMBA总线协议被广泛应用于各种嵌入式系统,尤其是基于ARM架构的SoC设计。

AMBA总线的优点
  1. 高性能:AMBA协议支持高带宽和低延迟的数据传输,特别适合要求快速数据交换的应用。
  2. 可扩展性AMBA架构支持多种总线协议,能够根据不同的需求扩展系统功能。
  3. 灵活性:不同的协议适用于不同的硬件组件,如APB用于外设通信,AXI用于高性能数据传输。
  4. 统一标准:AMBA为SoC内部各个组件提供了统一的接口标准,简化了设计和集成工作。

2.AMBA协议名称列表

版本协议名称中文注释
AMBA 1.0ASB (Advanced System Bus)高级系统总线,支持高性能通信。
APB1 (Advanced Peripheral Bus)高级外设总线,面向低带宽、低功耗外围设备。
AMBA 2.0AHB (Advanced High-performance Bus)高性能总线,支持突发传输和分层架构。
ASB (Advanced System Bus)高级系统总线,支持高性能通信(后被取代)。
APB2 (Advanced Peripheral Bus)高级外设总线,面向低带宽、低功耗外围设备(改进版)。
AMBA 3.0AXI3 (Advanced eXtensible Interface)高带宽、低延迟,支持独立读写通道和复杂缓存管理。
AHB-lite (Simplified AHB)简化版AHB,适用于单主控系统。
APB3(Advanced Peripheral Bus)高级外设总线(继续用于低带宽外设设备)。
ATB (Advanced Trace Bus)调试总线,用于追踪和调试数据。
AMBA 4.0AXI4 (Advanced eXtensible Interface 4)高效片上互联,支持更高效的数据传输。
AXI4-Lite (Lite version of AXI4)简化版AXI,面向简单控制的应用。
AXI4-Stream (AXI4 Stream)

高效数据流传输协议,适用于音视频等应用。

APB4(Advanced Peripheral Bus)高级外设总线(继续用于低带宽外设设备)。
ACE (AXI Coherency Extensions)缓存一致性扩展,支持多核系统共享缓存。
ATB (Advanced Trace Bus)调试总线,增强调试功能。
AMBA CHICHI (Cache Coherent Interconnect)基于环形总线的缓存一致性协议,面向片上网络。
名称说明
  1. ASB(Advanced System Bus):这是AMBA协议的早期版本,主要用于提供高性能的系统模块之间的通信。ASB支持多个主控设备和从设备的突发传输,是早期SoC中常用的总线协议,现已被取代。

  2. APB(Advanced Peripheral Bus):APB是AMBA总线架构中的低带宽、低功耗外设总线,专门用于连接速度较慢的外围设备(如定时器、串口通信模块等)。APB不需要高速传输,因此其设计较为简单,适合嵌入式系统中的低功耗模块。

  3. AHB(Advanced High-performance Bus):AHB是AMBA 2.0版本中引入的高性能总线,取代了ASB。AHB支持高带宽和高性能的传输,尤其适用于需要大量数据交换的系统。它支持突发传输、分层架构,适用于大规模、复杂的多核SoC系统。

  4. AXI3(Advanced eXtensible Interface):AXI是AMBA 3.0版本中引入的一种高带宽、低延迟的总线协议。AXI支持独立的读写通道,能够实现数据传输的高效管理,特别适合处理高吞吐量、低延迟要求的复杂多核系统。AXI也提供缓存一致性支持,适用于多核处理器和大规模内存共享系统。

  5. AHB-lite:AHB-lite是AHB的简化版本,通常用于对性能要求较低的单主控系统。它简化了AHB中的某些功能,减少了硬件复杂性,但仍能提供较高的传输性能。

  6. AXI4、AXI4-Lite、AXI4-StreamAXI4:为高带宽、高性能数据传输设计的协议,适用于复杂的应用,能够提供高效的片上互联。AXI4-Lite:是AXI的轻量化版本,适用于简单控制和低复杂度的接口。AXI4-Stream:优化了流数据传输,广泛应用于音视频流、网络传输等场景。

  7. ACE(AXI Coherency Extensions):ACE是AXI协议的扩展,主要用于多核处理器系统中的缓存一致性管理。它确保多个处理器核心共享缓存时的数据一致性,是高效多核系统设计的关键协议。

  8. CHI(Cache Coherent Interconnect):AMBA总线体系中的最新协议,是为大规模多核和片上网络设计的高端解决方案。它提供了缓存一致性和高效的系统互联,确保多核处理器和复杂计算系统中多个核心间的数据一致性。

3.AMBA 总线发展历程:

发展历程了解一下即可(主要使用APB和AXI4)

AMBA 1

        Arm 在 1990 年代末推出了 AMBA。最初的 AMBA 总线包括高级系统总线(ASB)和高级外设总线(APB)。ASB 已被更新的协议所取代,而 APB 至今仍被广泛使用。

        APB 设计用于低带宽控制访问,例如系统外设的寄存器接口。该总线具有简单的地址和数据阶段,以及低复杂度的信号列表。

AMBA 2

        1999 年,AMBA 2 增加了 AMBA 高性能总线(AHB),这是一种单时钟边沿协议。在 AHB 中,一个简单的事务由一个地址阶段和随后的数据阶段组成。对目标设备的访问通过多路复用器(MUX)控制,每次只允许一个管理器访问。AHB 支持流水线操作以提高性能,而 APB 则没有流水线操作,旨在简化设计。

AMBA 3

        2003 年,Arm 推出了第三代AMBA 3,包含 ATB 和 AHB-Lite、AXI、APB。

  • ATB 是 CoreSight 片上调试和跟踪解决方案的一部分。
  • AHB-Lite 是 AHB 的子集,简化了单管理器总线的设计。

        AXI3(高级可扩展接口),是 AMBA 3规范中定义的第三代接口,旨在满足高性能、高时钟频率的系统设计需求。AXI 包含一些特性,使其适用于高速亚微米互连。

AMBA 4

        2010 年,AMBA 4 规范发布,首先是 AMBA 4 AXI4,随后在 2011 年发布了 AMBA 4 AXI 连贯性扩展(ACE)。

  • ACE 扩展了 AXI,增加了额外的信号,从而引入了系统级连贯性。系统级连贯性允许多个处理器共享内存。同时,ACE-Lite 协议启用了单向连贯性,使得网络接口可以从完全连贯的 ACE 处理器的缓存中读取数据。

        AXI4-Stream 协议旨在实现从管理器到从属设备的单向数据传输,并减少信号路由,非常适合在 FPGA 中实现。

AMBA 5

        2014 年,AMBA 5 连贯集线器接口(CHI)规范发布,具有重新设计的高速传输层和旨在减少拥塞的特性。CHI 协议已经有多个版本,每个新版本都增加了新的功能。

        2016 年,AHB-Lite 协议更新为 AHB5,以补充 Armv8-M 架构,并将 TrustZone 安全功能从处理器扩展到整个系统。

        2019 年,AMBA 自适应流量模型(ATP)发布。ATP 补充了现有的 AMBA 协议,用于以简洁、简单和可移植的方式建模高级内存访问行为。

        AXI5、ACE5 和 ACE5-Lite 扩展了前几代协议,加入了一些性能和可扩展性特性,以与 AMBA CHI 相协调并进行补充。新增的功能和选项包括:

  • 支持高频率、非阻塞的连贯数据传输,适用于多个处理器之间的通信。
  • 层次化模型允许通信协议与传输协议的分离,支持灵活的拓扑结构,例如交叉条、环形、网状或自定义拓扑。
  • 缓存存储功能,允许加速器或 I/O 设备在 CPU 缓存中存储关键数据,以便低延迟访问。
  • 远程原子操作,允许互连进行高频率的共享数据更新。
  • 端到端数据保护功能。
版本发布时间总线协议新增协议特性描述应用场景
AMBA 1.01996年

ASB

APB1

-

ASB:高级系统总线,支持高性能通信。

APB:高级外设总线,面向低带宽、低功耗外围设备。

单核系统,低带宽外围设备
AMBA 2.01999年

AHB

APB2(改进版)

-

AHB:高性能总线,取代ASB,支持突发传输和分层架构。

APB:改进版,继续支持外设连接。

高性能系统,分层总线架构
AMBA 3.02004年

AXI3

AHB-lite

APB3(升级版)

ATB

AXI:高带宽、低延迟,支持独立读写通道和复杂缓存管理。

AHB-lite:简化版AHB,适用于单主控设备。

APB(升级版):更灵活的低功耗控制。 

ATB:用于调试和追踪数据。

强化高性能数据传输,支持多核嵌入式系统。

提供高效的调试追踪能力。

多核系统,嵌入式系统,调试与追踪
AMBA 4.02010年

AXI4

AXI4-Lite

AXI4-Stream

ACE

ATB4(改进版)

AXI4:支持更高效的片上互联。 

AXI4-Lite:简化版AXI,面向简单控制。

AXI4-Stream:支持高效的数据流传输。

ACE:缓存一致性扩展,支持多核系统的共享缓存。

ATB(改进版):增强调试功能。

引入缓存一致性支持,面向复杂多核系统。

支持更高效的数据流和控制接口。

多核系统,高效计算,数据流处理
AMBA CHI2014年CHI(Cache Coherent Interconnect)-

CHI:基于环形总线的缓存一致性协议,面向片上网络(NoC),提供高性能一致性通信,适用于大规模多核系统。

大规模多核系统、高性能计算(HPC)
  • AMBA 1.0 是基础设计,以 ASB 和 APB 为核心,面向早期嵌入式系统(ASB已被取代)。
  • AMBA 2.0 引入了更高性能的 AHB,总线性能得到提升。
  • AMBA 3.0 推出了 AXI,开始支持复杂的多核和高效数据传输。
  • AMBA 4.0 强化了缓存一致性,扩展了数据流传输能力。
  • AMBA CHI 是为大规模多核和片上网络设计的高端解决方案。

总结说明

  1. 从单核到多核:AMBA协议逐步加入缓存一致性、共享缓存支持,以及专门面向多核系统的优化(如ACE和CHI协议)。
  2. 从总线到片上网络:AMBA CHI协议代表了从传统总线结构向片上网络(NoC)的转变,满足大规模多核系统的需求。
  3. 灵活性提升:AXI4、AXI4-Lite和APB等协议的升级和轻量化版本为不同应用场景提供了更多灵活的选择,特别是在高性能计算和低功耗设计中。


http://www.kler.cn/a/459032.html

相关文章:

  • 【Python学习(六)——While、for、循环控制、指数爆炸】
  • java实验4 反射机制
  • 2025加密风云:行业变革与未来趋势全景透视
  • 解决 ffmpeg “Unknown encoder ‘hevc_nvenc‘“
  • 弧形导轨如何避免生锈?
  • Formality:官方Tutorial(一)
  • 鸿蒙1.2:第一个应用
  • 深入理解MemCache
  • 【STM32项目】基于STM32单片机温湿度PM2.5粉尘甲醛环境质量监测系统wifi【完整工程资料源码】
  • 海外招聘丨 苏黎世联邦理工学院—机器学习在社会和政治科学中的应用博士后
  • SpringCloudAlibaba实战入门之路由网关Gateway过滤器(十三)
  • 【ArcGIS Pro】完整的nc文件整理表格模型构建流程及工具练习数据分享
  • Java [后端] 开发日常记录(1)
  • go-xorm连接
  • 智能充电桩物联网方案,ESP32-C3芯片应用,设备智能互联通信
  • 快排与归并排序
  • Java-将一个大列表均分成多个小列表,每个小列表包含10个元素
  • Day60 图论part10
  • 【OTA】论文笔记--《智能网联汽车整车OTA功能设计研究》智能网联汽车OTA系统设计分析报告
  • nuscenes数据集pkl文件转txt
  • 网络安全概念详解
  • 最新版Edge浏览器加载ActiveX控件技术——alWebPlugin中间件V2.0.28-迎春版发布
  • Kafka 性能提升秘籍:涵盖配置、迁移与深度巡检的综合方案
  • MIPI相关
  • 家政预约小程序数据库设计
  • 【Mysql】Mysql/Mariadb开启binlog日志