【总线】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.rhkb.cn/news/349831.html

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

相关文章

【Linux】常见指令的使用

文章目录 which指令stat 指令wc指令echo指令tree 指令whoami指令clear指令alias指令ls指令pwd指令cd 指令touch指令mkdir指令(重要)rmdir指令 && rm 指令(重要)man指令(重要)cp指令(重要…

Redis原理篇——分布式锁

Redis原理篇——分布式锁 分布式锁是什么?分布式锁有哪些特性?分布式锁常用实现方式Redis 实现分布式锁一、简单的 Redis 锁二、带过期时间的 Redis 锁三、加上 Owner 的 Redis 锁四、Lua 脚本确保原子性 分布式锁是什么? 分布式锁是在分布式…

数据中台:生产制造产业链的“智慧大脑”!

在当今激烈竞争的生产制造领域,数据中台正扮演着至关重要的角色,它就像是产业链的“智慧大脑”,引领着产业的发展方向!数据中台在生产制造产业链、生态链中起到以下关键作用: 1. 数据整合与共享:将产业链各…

R可视化:R语言基础图形合集

R语言基础图形合集 欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 基础图形可视化 数据分析的图形可视化是了解数据分布、波动和相关性等属性必…

物业客服“逆袭”记:从被质疑到被点赞,只因用了这款小程序

作为物业服务企业来说,物业客服人员是物业公司的核心部门。客服人员不仅仅要进行各部门之间的工作协调沟通,而且也是物业与业主沟通的主要桥梁。但是,往往客服人员经常被传统的报修方式所困扰,导致业主对物业客服人员存在质疑与谩…

Linux:多线程的操作

多线程操作 进程与线程线程的创建 create_pthread创建线程池给线程传入对象的指针 线程等待 pthread_join退出线程 pthread_exit线程等待参数 retval 与 线程退出参数 retval 线程中断 pthread_cancel获取线程编号 pthread_self线程分离 pthread_detach 进程与线程 进程是资源…

OpenCV读取和显示和保存图像

# 导入 OpenCV import cv2 as cv # 读取图像 image cv.imread(F:\\mytupian\\xihuduanqiao.jpg) # 创建窗口 #显示图像后,允许用户随意调整窗口大小 cv.namedWindow(image, cv.WINDOW_NORMAL) # 显示图像 cv.imshow(image, image)# 将图像保存到文件 success cv…

Linux之网络编程

Linux之网络编程 TCP协议 TCP(Transmission ControlProtocol) : 传输控制协议,是一个 面向连接的、可靠的、基于字节流的传输层的协议。TCP 协议建立的是一种点到点的,一对一的可靠连接协议 特点: 数据无丢失数据无失序数据无错误数据无重…

Zynq7000 系列FPGA模块化仪器

• 基于 XilinxXC7Z020 / 010 / 007S • 灵活的模块组合 • 易于嵌入的紧凑型外观结构 • 高性能的 ARM Cortex 处理器 • 成熟的 FPGA 可编程逻辑 ,基于 IP 核的软件库 FPGA 控制器 Zynq7000 系列模块是基于 Xilinx XC7Z020/010/007S 全可编程片上系统 (SoC) 的…

Opengauss开源4年了,都谁在向其贡献代码?

2020 年 6 月 30 日,华为将Opengauss正式开源,截止目前已经过去4年时间,社区力量对这款数据库产品都起到了哪些作用,谁的代码贡献更大一些? 根据社区官网信息统计,截止目前(2024年6月12日&…

【Java基础】OkHttp 超时设置详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

光纤跳线(又称光纤连接器)的种类

光纤跳线(又称光纤连接器),也就是接入光模块的光纤接头,也有好多种,且相互之间不可以互用。SFP模块接LC光纤连接器,而GBIC接的是SC光纤连接器。下面对网络工程中几种常用的光纤连接器进行详细的说明&#x…

数字化制造案例分享以及数字化制造能力评估(34页PPT)

资料介绍: 通过全面的数字化企业平台和智能制造技术的应用,制造型企业不仅提升了自身的竞争力,也为整个制造业的数字化转型提供了借鉴。同时,数字化制造能力的评估是企业实现数字化转型的关键环节,需要从技术变革、组…

【C++】STL中list的使用

前言:在前面学习的 过程中我们学习了STL中的string,vector,今天我们来进一步的学习STL中的list的使用方法。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 👈 💯代…

Flowable-决策表设计器

✨✨✨ 最好用的Flowable决策表设计器 ✨✨✨ 最好用的Flowable流程设计器 本文中内容和案例出自贺波老师的书《深入Activiti流程引擎:核心原理与高阶实战》,书中的介绍更全面、详细,推荐给大家。 深入Activiti流程引擎

今年的就业环境不容乐观,你想好怎么应对了吗

今年的就业环境不容乐观,你想好怎么应对了吗 毕业生进入职场的历程往往充满挑战和未知,尤其是在当前经济环境下,失业问题愈发凸显。本文通过分享几位年轻人的真实经历,剖析大学生及职场人士面临的困境,并提供应对策略…

QT信号与槽/窗口组件优化

使用手动连接,将登录框中的取消按钮使用第二中连接方式,右击转到槽,在该槽函数中,调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断u界面上输入的账号是否为"admin",…

简单聊一下Oracle,MySQL,postgresql三种锁表的机制,行锁和表锁

MySQL: MySQL使用行级锁定和表级锁定。行级锁定允许多个会话同时写入表,适用于多用户、高并发和OLTP应用。表级锁定只允许一个会话一次更新表,适用于只读、主要读取或单用户应用。 比如mysql开启一个窗口执行 begin; update xc_county_a…

渗透测试和红蓝对抗是什么?二者之间有何区别?

在网络安全这个庞大的体系中,渗透测试、红蓝对抗是比较常见的专业名词,承担着非常重要的作用,那么什么是渗透测试、红蓝对抗?红蓝对抗和渗透测试有什么区别?小编通过这篇文章为大家介绍一下。 渗透测试 渗透测试,是通过模拟黑…

32T存储删除视频的恢复方法

由于存储技术的发展和普及目前很多行业都开始使用小型存储,NAS可以通过网络进行数据上传和读取,使用极为方便。但是由于NAS设备容量较大且碎片较多,所以此类设备删除或者格式后恢复难度是比较大的,下边我们来分享下32T存储的恢复方…