【总线】AMBA总线架构的发展历程

目录

引言

发展历程

第一代AMBA(AMBA 1)

第二代AMBA(AMBA 2)

第三代AMBA(AMBA 3)

第四代AMBA(AMBA 4)

第五代AMBA(AMBA 5)

AMBA协议简介

ASB(Advanced System Bus)

APB(Advanced Peripheral Bus)

AHB(AMBA High-performance Bus)

AXI(Advanced eXtensible Interface)

AHB-Lite

AXI4

AXI4-Lite

AXI4-Stream

ACE(AXI Coherency Extensions)

ACE-Lite

CHI(Coherent Hub Interface)

结语


系列文章

【总线】AMBA总线架构的发展历程-CSDN博客

【总线】设计fpga系统时,为什么要使用总线?-CSDN博客

【总线】AMBA总线家族的明星成员:AXI协议简介-CSDN博客 


引言

        高级微控制器总线架构(AMBA)是一种免费提供、开放的标准,用于在系统级芯片(SoC)中连接和管理功能模块。它促进了多处理器设计的一次性正确开发,支持大量控制器和外围设备。

        AMBA规范免费且平台独立,可以与任何处理器架构一起使用。由于其广泛的采用,AMBA拥有一个强大的合作伙伴生态系统,确保了来自不同设计团队和供应商的IP组件之间的兼容性和可扩展性。

        近三十年来,AMBA一直是一个基础性的开放标准,并已在数十亿设备中出货。

发展历程

第一代AMBA(AMBA 1)

  • 发布时间:1997年
  • 特点:包括ASB(Advanced System Bus)和APB(Advanced Peripheral Bus)两种总线协议。ASB作为高性能总线,支持流水线操作和多主设备操作。APB作为低速总线,满足外设与微处理器的通信需求。
  • 应用:主要应用于低带宽的外设,如UART、I2C等。

第二代AMBA(AMBA 2)

  • 发布时间:1999年
  • 特点:引入了AHB(AMBA High-performance Bus)协议,用于高性能数据传输。AHB支持burst传输和split事务处理,逐渐取代了ASB总线。
  • 应用:广泛应用于ARM7、ARM9设计中,并持续应用于Cortex-M系列设计。

第三代AMBA(AMBA 3)

  • 发布时间:2003年
  • 特点:引入了AXI(Advanced eXtensible Interface)协议,支持点对点连接,克服了共享总线协议在可连接的agent数量方面的限制。同时,AHB协议缩减为AHB-lite,APB协议增加了PREADY和PSLVERR信号。
  • 应用:AXI协议的引入是高性能系统设计的转折点,为系统性能的提升奠定了基础。

第四代AMBA(AMBA 4)

  • 发布时间:2010年
  • 特点:AXI协议得到增强,引入了QOS(Quality of Service)和long burst支持。根据应用不同,可选AXI4、AXI4-lite、AXI4-stream。同时,为满足复杂SoC的操作一致性,引入了ACE(AXI Coherency Extensions)和ACE-lite协议。
  • 应用:适应了多核处理器和一致性缓存集成的需求,推动了SoC设计的进一步发展。

第五代AMBA(AMBA 5)

  • 发布时间:2013年
  • 特点:引入了CHI(Coherent Hub Interface)协议,作为对AXI/ACE协议的重新设计。CHI是基于数据包的通信协议,支持分层通信,包括协议层、链路层和物理层的实现,并支持基于QoS的流控制和重试机制。
  • 应用:适应了HPC和数据中心市场异构计算的需求,为集成更多处理器核心、GPU、DSP、FPGAs、内存控制器和IO子系统提供了有效支持。

AMBA协议简介

ASB(Advanced System Bus)

  • 第一代AMBA协议的一部分,主要作为高性能总线,支持多主设备操作和流水线操作。

APB(Advanced Peripheral Bus)

  • 低速总线协议,设计用于连接低带宽外设,如I2C、UART等,不支持burst传输。

AHB(AMBA High-performance Bus)

  • 高性能总线协议,支持burst传输和split事务处理,适用于连接高性能处理器、RAM、NAND FLASH等。

AXI(Advanced eXtensible Interface)

  • 点对点连接协议,支持高带宽和低延迟的数据传输,适用于构建复杂的SoC设计。

AHB-Lite

  • AHB的简化版本,适用于连接不需要burst传输和split事务处理的组件。

AXI4

  • 第四代AMBA协议的一部分,增强了AXI协议,支持QOS和long burst,适用于更高性能的SoC设计。

AXI4-Lite

  • AXI4的简化版本,适用于连接不需要burst传输和乱序传输的组件。

AXI4-Stream

  • 针对以数据流为主导的传输,如视频流等应用,只支持数据从master流向slave。

ACE(AXI Coherency Extensions)

  • 针对多核处理器和一致性缓存集成的SoC设计,提供了缓存一致性管理。

ACE-Lite

  • ACE的简化版本,适用于那些没有自己的缓存但需要参与一致性域的组件。

CHI(Coherent Hub Interface)

  • 针对异构计算和高性能计算环境中的SoC设计,提供了基于数据包的通信协议,支持分层通信和QoS。

结语

        AMBA总线架构的发展历程体现了SoC设计对高性能、高带宽和低延迟通信需求的不断追求。随着技术的进步,AMBA总线将继续演进,以满足未来电子系统设计的新挑战。

参考资料:https://www.arm.com/en/architecture/system-architectures/amba

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript快速入门系列-3(函数基础)

第三章:函数基础 3.1 函数定义与调用3.1.1 函数声明3.1.2 函数表达式3.2 参数与返回值3.3 匿名函数与立即执行函数表达式(IIFE)3.3.1 匿名函数3.3.2 立即执行函数表达式3.4 箭头函数3.4.1 箭头函数与this3.5 函数的高级话题3.5.1 闭包3.5.2 函数柯里化3.5.3 高阶函数小结在Jav…

【C++课程学习】:Data类的实现

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🍩1.头文件 🍩2.实现文件: 🍩3.分析: &…

【硬件模块】SSD1306 OLED屏幕(含GD32ESP32驱动代码)

OLED屏幕 最近在写GD32的文章,之前STM32有OLED屏幕来展示数据,ESP32可以直接打印到电脑屏幕上,GD32的话手上就没有办法了。 虽然是可以直接把STM32的OLED屏幕的驱动代码改改移植到GD32上面,不过想了想干脆写一个文章来说说如何驱…

2024牛客网高频精选Java面试八股文整理(附答案)

Java 面试 Java 作为编程语言中的 NO.1,选择入行做 IT 做编程开发的人,基本都把它作为首选语言,进大厂拿高薪也是大多数小伙伴们的梦想。以前 Java 岗位人才的空缺,而需求量又大,所以这种人才供不应求的现状,就是 Java 工程师的薪…

公用nacos,实现只调用本机相应服务,不出现负载均衡到别人机器上

当我们有两个研发同时在调试一个微服务模块时,你和对方本地都会启动服务,这就导致在nacos会同时注册两个实例。默认情况下请求这个服务,具体处理请求的程序会在你和对方之间来回轮询,即一下你的服务一下对方的服务。 其结果就导…

栈(Stack)汇总

栈简介 栈(Stack)是只允许在一端进行插入或者删除操作的线性表。它的操作特性可以概括为——后进先出(Last In First Out,LIFO)。栈顶(Top)——线性表允许进行插入删除的一端; 栈底…

【Linux】基础IO——文件描述符,重定向

话接上篇: 1.文件描述符fd 磁盘文件 VS 内存文件? 当文件存储在磁盘当中时,我们将其称之为磁盘文件,而当磁盘文件被加载到内存当中后,我们将加载到内存当中的文件称之为内存文件。磁盘文件和内存文件之间的关系就像程…

红队内网攻防渗透:内网渗透之Linux内网权限提升技术:udf提权Capability权限LD_PRELOAD环境变量

红队内网攻防渗透 1. 内网权限提升技术1.1 Linux系统提权-Web&用户-数据库udf提权1.1.1 信息收集1.1.2 Web权限获取1.1.3 MYSQL-UDF提权1.1.4 下载到目标上1.1.5 连接确认是否有条件进行导出调用1.1.6 开始进行写入导出调用1.2 Linux系统提权-Web&用户-Capability能力1…

ThinkBook 16 2024 Ubuntu 触控板问题解决

sudo insmod goodix-gt7868q.ko sudo cp local-overrides.quirks /etc/libinput/local-overrides.quirks sudo systemctl restart gdm 有偿解决,无效退款 联系前,请写明笔记本型号和ubuntu版本

生命在于学习——Python人工智能原理(3.3)

三、深度学习 4、激活函数 激活函数的主要作用是对神经元获得的输入进行非线性变换,以此反映神经元的非线性特性。常见的激活函数有线性激活函数、符号激活函数、Sigmod激活函数、双曲正切激活函数、高斯激活函数、ReLU激活函数。 (1)线性…

【elementui源码解析】如何实现自动渲染md文档-第二篇

目录 1.概要 2.引用文件 1)components.json 2)json-template/string 3)os.EOL 3.变量定义 4.模版填充 5.MAIN_TEMPLATE填充 6.src下的index.js文件 1)install 2)export 7.总结 1.概要 今天看第二个命令no…

videoJS 视频 + 独一无二皮肤 + mp4/m3u8

推荐和参考文章: video.js调用-腾讯云开发者社区-腾讯云> 一、总结(点击显示或隐藏总结内容)一句话总结:网上有各种细致的现成的代码可以拿来用,没必要自己死专1、video.js有两种初始化方式?一种是在v…

C++并发之条件变量(std::condition_variable)

目录 1 概述2 使用实例3 接口使用3.1 wait3.2 wait_for3.3 wait_until3.4 notify_one3.5 notiry_all3.5 notify_all_at_thread_exit1 概述 条件变量是一个能够阻塞调用线程直到被通知恢复的对象。   当调用其中一个等待函数时,它使用unique_lock(通过互斥锁)来锁定线程。线程…

hadoop和hbase对应版本关系

https://hbase.apache.org/book.html#configuration

DuDuTalk语音工牌:如何帮助房企打造数字化的案场接待体验

房地产案场接待作为客户体验的第一站,其服务质量直接影响客户的购房决策。然而,传统的案场接待方式存在诸多挑战,如信息记录不准确、服务流程难以标准化、客户反馈收集困难等。语音工牌作为一种创新的智能设备,凭借其独特的功能和…

Office 2021 mac/win版:智慧升级,办公新风尚

Office 2021是微软公司推出的一款高效、智能且功能丰富的办公软件套件。它集成了Word、Excel、PowerPoint等多个经典应用程序,旨在为用户提供更出色的办公体验。 Office 2021 mac/win版获取 Office 2021在继承了前代版本优点的基础上,进行了大量的优化…

接口测试之用Fiddler对手机app进行抓包

Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持…

JVC摄像机SD卡变成RAW的恢复方法

JVC小日本胜利公司,公司名字绕口且产品线极广,涉及汽车、影音、娱乐……,而JVC在摄像机产品方面也有涉及,不过市场上极为少见。下边我们来看下这个JVC摄像机MP4恢复案例。 故障存储: 32G存储卡 RAW文件系统 故障现象: 客户无…

万字长文讲解如何快速搭建一个Spring Cloud项目

文章目录 概念基本概念微服务七大组件 初始化Maven父工程整合注册中心组件整合远程调用与负载均衡组件组件整合网关组件整合配置中心组件以gateway模块为例 整合分布式事务组件操作数据库模拟创建订单和扣减库存整合Seata 整合熔断降级组件整合链路追踪组件源码地址参考来源 概…

springcloud gateway转发websocket请求的404问题定位

一、问题 前端小程序通过springcloud gateway接入并访问后端的诸多微服务,几十个微服务相关功能均正常,只有小程序到后端推送服务的websocket连接建立不起来,使用whireshark抓包,发现在小程序通过 GET ws://192.168.6.100:8888/w…