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

ARM AMBA总线演进史:从AHB到AXI,再到CHI和ACE,我们经历了什么?

ARM AMBA总线演进史从AHB到AXI再到CHI和ACE的技术脉络解析二十年前当ARM首次提出AMBA总线架构时恐怕很少有人能预见它会在今天的SoC设计中占据如此核心的地位。从最初的AHB到如今的CHIAMBA总线的每一次迭代都精准地踩在了计算架构发展的关键节点上。本文将带您穿越这段技术演进历程揭示每一代总线协议背后的设计哲学与解决的实际问题。1. AMBA总线的起源与早期发展1996年ARM推出第一代AMBA(Advanced Microcontroller Bus Architecture)规范时嵌入式系统正面临一个关键转折点。当时的处理器性能开始显著提升但总线架构却成为了系统性能的瓶颈。AMBA 1.0规范引入了ASB(Advanced System Bus)和APB(Advanced Peripheral Bus)两条总线奠定了高低速设备分层的设计理念。ASB作为系统总线支持多主设备仲裁和流水线操作而APB则用于连接低速外设。这种分层架构在当时颇具前瞻性但随着处理器性能的快速提升ASB很快显露出局限性单一时钟沿操作限制了时钟频率提升固定总线宽度无法适应不同带宽需求仲裁机制简单难以支持复杂多主场景1999年推出的AMBA 2.0用AHB(Advanced High-performance Bus)取代了ASB带来了显著改进// 典型的AHB信号接口示例 module ahb_slave ( input HCLK, // 总线时钟 input HRESETn, // 总线复位 input [31:0] HADDR, // 地址总线 input [1:0] HTRANS, // 传输类型 input HWRITE, // 读写控制 input [2:0] HSIZE, // 传输大小 input [2:0] HBURST, // 突发类型 input [31:0] HWDATA, // 写数据 output [31:0] HRDATA // 读数据 );AHB引入了多项创新特性特性描述优势流水线操作地址相位与数据相位重叠提高总线利用率突发传输支持INCR/WRAP/FIXED模式减少地址周期开销分块传输通过HSIZE支持不同位宽提高带宽利用率多主支持改进的仲裁机制支持复杂系统拓扑然而随着多核处理器开始兴起AHB的局限性也逐渐显现。最突出的问题是其共享总线架构——所有主设备必须通过仲裁才能访问总线这在多核竞争总线时会造成严重的性能瓶颈。2. AXI面向多核时代的革命性变革2003年AMBA 3.0规范的推出标志着总线设计理念的重大转变。AXI(Advanced eXtensible Interface)不再是一个简单的总线协议而是一套完整的片上互连标准。它的出现直接回应了多核处理器对总线架构提出的新要求。AXI最核心的创新在于其通道分离架构。与AHB的单向传输不同AXI将读写操作分解为独立的通道写地址通道(AW)写数据通道(W)写响应通道(B)读地址通道(AR)读数据通道(R)这种分离带来了几个关键优势并行性提升读写操作可以完全并行进行乱序支持通过ID标识实现请求乱序完成带宽优化数据通道与地址通道解耦// AXI接口的关键信号示例 module axi_slave ( // 写地址通道 input [3:0] AWID, input [31:0] AWADDR, input [7:0] AWLEN, input [2:0] AWSIZE, input [1:0] AWBURST, input AWVALID, output AWREADY, // 写数据通道 input [3:0] WID, input [31:0] WDATA, input [3:0] WSTRB, input WLAST, input WVALID, output WREADY, // 写响应通道 output [3:0] BID, output [1:0] BRESP, output BVALID, input BREADY, // 读地址通道 input [3:0] ARID, input [31:0] ARADDR, input [7:0] ARLEN, input [2:0] ARSIZE, input [1:0] ARBURST, input ARVALID, output ARREADY, // 读数据通道 output [3:0] RID, output [31:0] RDATA, output [1:0] RRESP, output RLAST, output RVALID, input RREADY );AXI的另一个重大创新是支持更灵活的突发传输。与AHB最多支持16拍的突发相比AXI4将突发长度扩展到256拍并引入了更精细的控制机制AxLEN[7:0]突发长度(1-256)AxSIZE[2:0]每次传输的字节数(1,2,4,8,...128)AxBURST[1:0]突发类型(FIXED/INCR/WRAP)提示AXI的WRAP突发模式特别适合缓存行填充操作当访问地址到达边界时会自动回绕这大大简化了缓存控制器的设计。2010年发布的AMBA4.0进一步丰富了AXI协议家族推出了三个变种AXI4完整功能版本支持256拍突发AXI4-Lite简化版用于寄存器访问AXI4-Stream无地址的流数据接口下表对比了这三种AXI变种的主要特性特性AXI4AXI4-LiteAXI4-Stream地址通道有有无突发支持1-256固定1无限数据位宽可配置32/64bit可配置典型应用内存控制器寄存器访问数据流处理3. ACE与CHI应对一致性挑战随着多核处理器核心数量的不断增加缓存一致性问题变得日益突出。传统的软件维护一致性方法开销太大而总线监听(Snooping)协议在核心数增多时带宽消耗呈指数级增长。ARM在AMBA4.0中引入了ACE(AXI Coherency Extensions)协议首次在总线层面提供硬件一致性支持。ACE在AXI基础上增加了五个关键通道监听地址通道(AC)用于广播监听请求监听数据通道(CD)传输监听响应数据监听响应通道(CR)携带监听响应状态共享通道(SH)传递共享数据独占通道(EX)处理独占访问这些扩展使得多个处理器核可以共享一个一致的内存视图而无需软件干预。ACE协议支持MOESI(Modified, Owned, Exclusive, Shared, Invalid)缓存状态模型能够高效处理多核间的数据共享。// ACE接口的额外信号示例 module ace_slave ( // 原有AXI信号... // ACE扩展信号 // 监听地址通道 input [3:0] ACID, input [31:0] ACADDR, input [2:0] ACSNOOP, input [1:0] ACPROT, input ACVALID, output ACREADY, // 监听数据通道 output [3:0] CDID, output [127:0] CDDATA, output CDLAST, output CDVALID, input CDREADY, // 监听响应通道 output [3:0] CRID, output [4:0] CRRESP, output CRVALID, input CRREADY, // 共享通道 input [3:0] SHID, input [127:0] SHDATA, input SHLAST, input SHVALID, output SHREADY, // 独占通道 input [3:0] EXID, input [127:0] EXDATA, input EXLAST, input EXVALID, output EXREADY );然而随着核心数量继续增加(如服务器级的64核甚至更多)基于总线的ACE架构也遇到了扩展性问题。2013年ARM推出了AMBA5.0和CHI(Coherent Hub Interface)协议转向了基于包的片上网状网络架构。CHI与AXI/ACE有本质区别包交换取代传统的总线信号采用分层协议栈路由网络支持复杂的拓扑结构(环状、网状等)服务质量(QoS)引入事务优先级和带宽管理扩展性轻松支持数百个一致性代理CHI协议栈分为四层协议层定义事务类型和一致性模型网络层处理路由和寻址链路层确保可靠传输物理层定义电气特性和时序注意CHI虽然复杂但通过分层设计实际实现时可以针对不同应用场景选择适当的子集。例如移动设备可能只需要实现基本的一致性功能而服务器芯片则需要完整的QoS和错误恢复机制。4. AMBA总线的未来趋势当前计算架构正经历着新一轮变革AI/ML工作负载、异构计算和Chiplet技术都对互连架构提出了新要求。ARM在最新的AMBA规范中已经开始应对这些挑战AI/ML优化增强的AXI-Stream功能支持更高效的数据流处理针对矩阵运算的特定传输模式低精度数据(如INT8)的高效传输机制Chiplet互连物理层优化支持跨die通信更灵活的时钟域交叉设计改进的错误检测和恢复机制安全增强端到端的数据加密支持细粒度的访问控制硬件信任链集成在实际的SoC设计中这些协议往往不是非此即彼的选择。一个典型的现代SoC可能同时包含CHI用于处理器集群内部的一致性互连ACE用于连接较大的一致性域AXI用于非一致性设备AXI-Lite用于寄存器配置AXI-Stream用于数据流处理这种混合架构既满足了性能需求又保持了设计灵活性。例如在AI加速器设计中控制通路可能使用AXI-Lite而数据通路则采用高度优化的AXI-Stream接口。

相关文章:

ARM AMBA总线演进史:从AHB到AXI,再到CHI和ACE,我们经历了什么?

ARM AMBA总线演进史:从AHB到AXI,再到CHI和ACE的技术脉络解析 二十年前,当ARM首次提出AMBA总线架构时,恐怕很少有人能预见它会在今天的SoC设计中占据如此核心的地位。从最初的AHB到如今的CHI,AMBA总线的每一次迭代都精准…...

Windows 10/11上安装VisIt 3.1.0踩坑实录:关防火墙、调显卡、解决窗口乱飞

Windows平台VisIt 3.1.0科学可视化工具实战避坑指南 科研可视化工具VisIt在Windows系统上的安装过程就像穿越雷区——杀毒软件误报、显卡驱动冲突、窗口显示异常等问题层出不穷。上周帮实验室三位同事调试环境时,我发现即使按照官方文档操作,仍有80%的概…...

从课堂到代码:三大数学可视化工具实战解析

1. 数学可视化工具的选择困境 第一次接触数学可视化工具时,我被各种选项搞得眼花缭乱。作为数学老师,我需要一个能让学生快速上手的工具;作为编程爱好者,我又希望它能支持更复杂的算法可视化。经过多年实践,我发现Desm…...

SAS协议深度解析:数据中心存储的基石与未来演进

1. 项目概述:SAS协议的现状与未来如果你在数据中心存储领域待过几年,肯定听过一种论调:“SAS(Serial Attached SCSI)快不行了,NVMe over PCIe才是未来。” 这话听起来挺有道理,毕竟NVMe SSD那动…...

用TensorFlow Lite Micro在Arduino上跑个‘Hello World’:从模型部署到LED闪烁的完整流程

在Arduino Nano 33 BLE Sense上部署TinyML模型的实战指南 当微控制器遇上机器学习,TinyML技术正在重新定义边缘计算的边界。本文将带您完成从TensorFlow Lite模型训练到Arduino硬件部署的全流程,通过控制LED亮度直观展示正弦波预测结果,让算…...

【DL】信息注入

在多模态生成(如文生图、3D生成)和视觉语言模型(VLM/VLA)的架构设计中,如何将外部条件(如文本、音频、时间步、控制信号)优雅且高效地“注入”到主干网络(Backbone)中,是决定模型性能的核心。 以下是深度整合了底层张量维度差异的 5 大类主流信息注入方法全景指南:…...

【限时解密】Midjourney Anthotype印相黄金比例:1:1.618构图×植物色素衰减曲线=不可复制的复古质感

更多请点击: https://intelliparadigm.com 第一章:Midjourney Anthotype印相的本质溯源与时代语境 Anthotype(植物感光印相)是一种源于19世纪的古老摄影工艺,利用植物提取物(如甜菜根、黑醋栗或蒲公英花汁…...

二分查找算法:中间值左偏还是右偏?

还记得吗?我们在前面探讨了区间的选择和主循环的停止判断条件,但是没有提到 中间索引位置的计算公式 middle(st, ed)。当区间的长度是奇数时,中间索引只有一个位置 mid (st ed) / 2,而当区间长度是偶数时,中间索引就…...

Efficient-KAN:突破传统神经网络瓶颈的Kolmogorov-Arnold网络实战指南

Efficient-KAN:突破传统神经网络瓶颈的Kolmogorov-Arnold网络实战指南 【免费下载链接】efficient-kan An efficient pure-PyTorch implementation of Kolmogorov-Arnold Network (KAN). 项目地址: https://gitcode.com/GitHub_Trending/ef/efficient-kan 深…...

Intel Stratix 10 SoC:三层异构计算架构与ARM Cortex-A53的工程实践

1. 项目概述:Altera Stratix 10 SoC的“秘密武器”2013年,当Altera(现为Intel PSG)在EE Times上揭开其Stratix 10片上系统(SoC)的神秘面纱时,整个嵌入式与高性能计算领域都为之侧目。核心的爆点…...

为什么顶尖投行/律所/药企已将Perplexity设为默认搜索端口?:拆解其底层Provenance Graph引擎与ChatGPT RAG架构的7层信任差

更多请点击: https://intelliparadigm.com 第一章:Perplexity与ChatGPT搜索范式的根本性分野 Perplexity 和 ChatGPT 代表两种截然不同的信息交互哲学:前者以**可验证的溯源驱动**为核心,后者以**生成连贯性优先**为设计原则。这…...

工程师视角:从生物钟原理到实战,系统化解决跨时区时差问题

1. 时差反应的本质与挑战:为什么我们会被“时差”困扰?作为一名常年需要跨时区协作的硬件工程师,我对“时差”这个词有着切肤之痛。无论是为了一个紧急的客户会议飞往硅谷,还是参加一年一度的慕尼黑电子展,跨越多个时区…...

Windows下MIT Kerberos Ticket Manager从安装到实战:一键Keytab登录与票据管理保姆教程

Windows下MIT Kerberos Ticket Manager从安装到实战:一键Keytab登录与票据管理保姆教程 在企业级IT环境中,Kerberos认证是保障系统安全的重要机制。但对于需要频繁进行认证操作的开发者和运维人员来说,反复输入密码不仅效率低下,还…...

别再折腾官网了!手把手教你从Kaggle快速下载20bn-jester-v1手势数据集(附完整合并教程)

高效获取20bn-jester-v1手势数据集的Kaggle实战指南 在计算机视觉和手势识别领域,20bn-jester-v1数据集因其大规模、高质量的视频标注而备受研究者青睐。然而,许多开发者在第一步——数据获取上就遇到了意想不到的障碍。官方下载渠道不仅速度缓慢&#…...

硬件工程师如何高效阅读技术博客:从EDA工具到IP核的实战学习指南

1. 从“本周最佳”到深度解析:一位硬件工程师的EDA与IP博客阅读笔记每周五下午,当项目代码编译的进度条缓慢爬升时,我总会习惯性地打开几个固定的书签,快速浏览过去一周里全球同行们又分享了哪些新想法、新工具或是踩了哪些新坑。…...

Keil5/MDK美化进阶:除了改颜色,这些隐藏的编辑器效率设置你调了吗?

Keil5/MDK美化进阶:解锁编辑器隐藏效率设置 第一次打开Keil5时,我被它那略显单调的界面震惊了——这真的是21世纪的IDE吗?作为一名长期使用现代编辑器的开发者,我几乎立刻开始寻找美化方案。但很快我发现,仅仅改变颜色…...

5-11测试文章白001

5-11测试文章白0015-11测试文章白0015-11测试文章白001...

边缘计算中的AI优先设计:从芯片选型到模型部署的实战指南

1. 项目概述:为什么“AI优先”是边缘计算的必然选择 最近和几个做硬件和嵌入式开发的老朋友聊天,话题总绕不开一个词:AIoT。大家的感觉很一致,现在的项目要是没沾点“智能”的边,好像都不好意思拿出手。但真做起来&…...

谷歌排名算法有哪些? 解决AI生成内容不收录的3个操作方案

2024年3月5日,谷歌启动了一场持续45天的核心算法更新。这次调整导致互联网上超过40%的低质量内容被清除。许多依靠软件大批量产出文章的站点,网页收录量在短时间内缩减了九成。单纯依靠算法堆砌出来的文字,在目前的搜索环境下很难获得生存空间…...

JScope RTT模式实战:在GD32F303上实现1MB/s高速数据流录制与性能分析

JScope RTT模式实战:在GD32F303上实现1MB/s高速数据流录制与性能分析 在嵌入式系统开发中,实时数据采集与分析往往是调试过程中最具挑战性的环节之一。当工程师需要捕捉高速瞬态信号、分析多变量交互行为或进行故障诊断时,传统调试工具常常显…...

从ABL项目看激光武器发展:技术挑战、工程突破与未来转型

1. 项目背景与核心争议十几年前,当美国国防部(DoD)最终决定为YAL-1机载激光试验台(ABL)项目画上句号时,在军事与航空航天工程圈子里引发的讨论,远比一份简单的项目终止公告要复杂得多。这个项目…...

libiec61850实战:客户端如何动态遍历未知设备的数据模型

1. 理解libiec61850动态模型遍历的核心场景 在工业自动化系统中,经常会遇到需要对接未知型号IED设备的情况。想象一下你作为系统集成商,现场新安装了一台保护装置或智能传感器,但手头没有它的SCL配置文件(.cid或.scd)。…...

嵌入式系统功耗测量实战:从基础原理到精准优化

1. 功耗测量:从概念到实践的核心挑战 在电子设计领域,无论你面对的是指尖大小的可穿戴设备,还是驱动工厂产线的重型电机,功耗都是一个绕不开的核心议题。我们常说的“功耗”,本质上是一个系统在单位时间内消耗的能量。…...

25GbE以太网:数据中心服务器接入的技术革命与演进逻辑

1. 项目概述:25GbE的诞生与数据中心变革如果你在2014年前后关注数据中心网络,可能会觉得以太网速率的发展路径有点“拧巴”。我们刚刚习惯了从1G到10G的十倍跨越,紧接着迎来的却是40G和100G。对于服务器接入来说,40G(4…...

dcm2niix终极指南:免费高效的医学影像格式转换神器

dcm2niix终极指南:免费高效的医学影像格式转换神器 【免费下载链接】dcm2niix dcm2nii DICOM to NIfTI converter: compiled versions available from NITRC 项目地址: https://gitcode.com/gh_mirrors/dc/dcm2niix dcm2niix是一款功能强大的开源医学影像转换…...

GPU架构优化新突破:Lumina框架解决AI硬件设计挑战

1. GPU架构设计空间探索的挑战与机遇现代AI计算基础设施中,GPU已成为支撑大规模模型训练与推理的核心硬件。随着大语言模型(LLM)参数规模突破千亿级别,传统GPU架构设计方法面临三大核心挑战:设计空间爆炸问题&#xff…...

从理论到实践:基于离散时间LQR的车辆运动学路径跟踪算法详解

1. 车辆路径跟踪的核心挑战 想象一下你正在玩遥控赛车游戏,手指在方向盘上微调方向,试图让车辆完美沿着赛道中心线行驶。这个看似简单的操作背后,其实隐藏着控制理论中经典的路径跟踪问题。在实际的自动驾驶或辅助驾驶系统中,工程…...

FanControl完整使用指南:解决风扇控制难题的实用技巧

FanControl完整使用指南:解决风扇控制难题的实用技巧 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/…...

性价比好的深圳除甲醛公司

深圳作为高密度开发城市,常年保持稳定的新房交付、写字楼翻新与商铺装修需求,装修带来的甲醛残留问题,始终是业主和企业管理者关注的室内安全重点。目前深圳本地已有大量除甲醛服务机构,消费者可根据自身需求筛选适配的服务主体。…...

微信好友关系终极检测:WechatRealFriends帮你一键识别单向好友

微信好友关系终极检测:WechatRealFriends帮你一键识别单向好友 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFri…...