AMBA总线AXI与CHI特性接口比对

AXI(Advanced eXtensible Interface)CHI(Coherent Hub Interface) 协议的接口和特性区别的对比表:

特性/接口AXI 协议CHI 协议
协议类型内存映射接口,专注于数据传输和外设通信缓存一致性接口,专为高性能多核系统设计
缓存一致性不支持缓存一致性,需要外部机制支持原生支持缓存一致性,适合复杂的多核系统
数据传输模式支持突发传输(burst),长度可变解耦的请求-响应模型,支持灵活的数据流控制
地址空间32位或64位的物理地址空间通常为64位地址空间,支持更大的地址范围
数据通道独立的读/写通道,数据和地址分离使用消息传递模型,包含多个虚拟通道
读/写事务独立的读写通道,支持同时处理统一的消息模型,请求与响应事务可以解耦
事务顺序固定的顺序控制灵活的顺序控制,支持无序的请求与响应
流控制提供有限的流控制机制提供复杂的流控制,支持QoS和多种服务等级
应用场景嵌入式系统、移动设备、低功耗设备高性能服务器、多核处理器、数据中心
事务类型简单的读写、锁定和非锁定事务复杂的事务类型,支持缓存一致性、撤销、无效化等操作
事务确认机制提供基本的写响应和错误处理提供强大的请求、响应、确认机制,支持错误恢复
消息传递无消息传递,基于地址的数据访问基于消息传递的模型,所有操作通过消息实现
可扩展性扩展性有限,适合单片SoC高度可扩展,适合多核、多片系统
QoS 支持支持基本的优先级控制提供全面的QoS管理,支持不同数据流的优先级和带宽控制
适配复杂拓扑适合简单的片上总线结构支持复杂的网络拓扑,如环形、网状结构等
数据完整性依赖外部机制维护一致性和完整性原生支持数据完整性保障,适合高可靠性系统
通道数5个独立通道:读地址、读数据、写地址、写数据、写响应使用多个虚拟通道(请求、响应、数据、撤销等)
常见实现移动处理器、嵌入式处理器、物联网设备多核服务器、数据中心、高性能计算设备

总结:

  • AXI 协议 更适合用于内存映射的、相对简单的单片系统,侧重于低延迟和高效的数据传输。
  • CHI 协议 设计用于大规模、多核或多片的高性能计算系统,支持复杂的缓存一致性和灵活的数据控制。

以下是 AXI(Advanced eXtensible Interface)CHI(Coherent Hub Interface) 协议的通用接口信号对比表:

信号名称AXI 协议信号CHI 协议信号
地址通道ARADDR(读地址)REQFLIT (请求片段)
请求中包含地址
AWADDR(写地址)
地址有效信号ARVALID(读地址有效)无明确的地址信号,地址信息在请求消息中传递
AWVALID(写地址有效)
地址握手信号ARREADY(读地址就绪)无明确的握手信号
AWREADY(写地址就绪)
数据通道RDATA(读数据)DATFLIT (数据片段)
包含实际传输的数据
WDATA(写数据)
数据有效信号RVALID(读数据有效)无明确的有效信号,数据包含在消息传递中
WVALID(写数据有效)
数据握手信号RREADY(读数据就绪)无明确的握手信号
WREADY(写数据就绪)
响应通道BRESP(写响应)RSPFLIT (响应片段)
对请求的确认或响应
RRESP(读响应)
响应有效信号BVALID(写响应有效)无明确的有效信号,响应信息在消息中传递
RVALID(读响应有效)
响应握手信号BREADY(写响应就绪)无明确的握手信号
写响应WID(写事务ID)RSPID(响应ID)
用于关联请求和响应
BID(写响应ID)
事务 IDARID(读事务ID)REQID(请求ID)
请求和响应通过ID关联
AWID(写事务ID)
事务大小控制ARSIZE(读传输大小)无明确的传输大小控制信号
AWSIZE(写传输大小)
突发传输控制ARBURST(读突发类型)REQBURST(请求突发类型)
支持多种突发类型
AWBURST(写突发类型)
突发长度控制ARLEN(读突发长度)REQLEN(请求长度)
支持可变突发长度
AWLEN(写突发长度)
锁定控制ARLOCK(读锁定)REQLOCK(请求锁定)
用于原子操作
AWLOCK(写锁定)
保护控制ARPROT(读保护类型)无直接的保护类型信号
AWPROT(写保护类型)
质量控制(QoS)ARQOS(读QoS)REQQOS(请求QoS)
支持数据流的优先级和带宽控制
AWQOS(写QoS)
缓存控制ARCACHE(读缓存类型)REQCACHE(请求缓存类型)
用于缓存一致性管理
AWCACHE(写缓存类型)
用户定义信号ARUSER(读用户信号)REQUSER(请求用户信号)
可自定义的附加信号
AWUSER(写用户信号)
系统信号ACLK(时钟)HCLK(时钟)
ARESETn(复位)HRESETn(复位)

主要区别:

  • AXI 协议 使用独立的地址、数据和响应通道,信号较为明确,主要用于数据传输而不涉及缓存一致性管理。
  • CHI 协议 则是基于消息的系统,很多操作通过消息封装进行传递,因此没有传统的地址、数据、响应信号。CHI 适用于高性能多核系统的缓存一致性操作。

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

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

相关文章

IE11删除hao360主页

欲删 hao.360.com,hao360.mainshe.com 主页,必先删除注册表键: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\EUPP HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main "Start Page" "Default_Pag…

87. 多边形轮廓Shape(圆弧)

先掌握上节课关于Shape内容,再继续学习本节课关于Shape圆弧的介绍。 圆弧方法.arc() 圆弧方法.arc()使用方式和原来学习过的圆弧曲线ArcCurve整体相似,区别在于圆心定位方式有差异。 圆弧.arc()参数的圆心坐标是相对当前.currentPoint而言,而不是坐标原…

斜视角,视角和入射角

注意分辨率中的2 在;雷达的径向,分辨率(时间)就是脉冲宽度/2

SAP 控制生产订单发料数量不能超过生产订单预留数量

SAP 控制生产订单发料数量不能超过生产订单预留数量 业务场景前台操作1、创建生产订单---CO012、生产订单发料---MIGO3、系统后台配置业务场景 正常生产订单进行投料的根据生产订单组件进行投料,比如生产订单组件数量是100PCS,那在做工单发料的时候MIGO带出的默认发料数量就…

机器学习(MachineLearning)(8)——模型评估与优化

机器学习(MachineLearning)(1)——机器学习概述 机器学习(MachineLearning)(2)——线性回归 机器学习(MachineLearning)(3)——决策树…

Linux_进程控制

一&#xff1a;进程创建 fork()函数创建新进程 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;自进程中返回0&#xff0c;父进程返回子进程id&#xff0c;出错返回-1 进程调用fork&#xff0c;当控制转移到内核中的fork代码后&#xff0c;内核做&#xff1a;…

Spring Boot Web框架:智慧社区设计新思路

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

cocos Creator + fairyGUI 快速入门

版本 Creator 3.8.x&#xff0c;FairyGUI 2022 大部分内容来自 https://en.fairygui.com/docs/sdk/creator 1.新建cocos项目&#xff0c;根目录运行 npm install --save fairygui-cc 引入 fairyGUI库 2.assets目录之外新建fairyGUI项目 3.fairyGUI中编辑UI 完成后发布到Creato…

uniapp,获取头部高度

头部自定义时候&#xff0c;设置获取安全区域&#xff0c;可以用 uni.getSystemInfoSync();接口。 <view class"statusBar" :style"{height:statusBarHeightpx}"> let SYSuni.getSystemInfoSync(); let statusBarHeightref(SYS.statusBarHeight) …

Python基础——类与对象

类与对象的理解&#xff1a; 在程序中我们将类看作是设计图纸&#xff0c;对象则是根据这个图纸生产的产品。面向对象编程就是使用对象编程&#xff0c;在类中我们定义成员属性和方法。 来看下面这个例子&#xff0c;创建student类&#xff0c;定义对象并对属性赋值。 class S…

解决linux服务器磁盘占满问题(详细,有效,100%解决)

应用场景&#xff1a; 在我们的日常开发中&#xff0c;我们的服务器总是在不知不觉中磁盘莫名奇妙少了很多空间&#xff0c;或者被占满了&#xff0c;如果这时候要想要存储什么文件&#xff0c;突然发现空间不够了。但我们通常也不知道那些文件占用的空间大&#xff0c;这时候…

Vue是一套构建用户界面的渐进式框架,常用于构建单页面应用

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

红黑树的理解与实现(详解)

相关的数据结构&#xff1a; 搜索二叉树-CSDN博客 AVL树的创建与检测-CSDN博客 个人主页&#xff1a;敲上瘾-CSDN博客 个人专栏&#xff1a;游戏、数据结构、c语言基础、c学习、算法 目录 一、红黑树规则&#xff1a; 二、红黑树的插入 1.变色 2.单旋变色 3.双旋变色 三、…

WebGoat SQL Injection (intro) 源码分析

首先了解 java 中 mysql 的连接&#xff1a;java连接Mysql WebGoat SQL Injection (intro) 10 根据提示&#xff1a;下面两个输入框只有一个受到 sql 注入攻击。题目要求是检索到所有数据 发现请求路径为 SqlInjection/assignment5b 定位到所在文件如下&#xff0c;根据代码…

【uniapp】使用Promise封装request

目录 1、创建config目录 2、创建settings.js 3、创建目录utils 4、创建request.js 5、创建api目录 6、创建apis.js文件 7、业务系统调用 7.1 业务系统banner 7.2 业务系统荣誉页面&#xff08;传参&#xff09; 前言&#xff1a;使用Promise封装request 1、创建config…

UNIX网络编程-传输层

概述 传输层主要包括&#xff1a;TCP、UDP、SCTP&#xff08;流控制传输协议&#xff09;&#xff01; 绝大多数客户端/服务器网络应用都使用TCP/UDP。SCTP是一个较新的协议&#xff0c;最初设计用于跨因特网传输电话信令。 这些传输协议都转而使用网络协议IP&#xff1a;或是…

2023年华为杯数学建模竞赛题F论文和代码

强对流降水临近预报建模与优化 对问题一&#xff0c;为了实现基于前一小时&#xff08;10帧&#xff09;的实测雷达观测量&#xff08;ZH、ZDR、KDP&#xff09;&#xff0c;对后续一小时&#xff08;10帧&#xff09;的ZH进行预报&#xff0c;本文首先建立了线性拟合与RMSE双驱…

matlab相位图

% 清空工作空间和命令窗口 clear; clc; % 模拟生成时间t&#xff0c;位移y(t)和角位移theta(t) t linspace(0, 100, 1000); % 时间从0到100&#xff0c;包含1000个点 y 1e-5 * sin(2 * pi * 0.1 * t) .* exp(-0.01 * t); % 位移y(t) 振荡衰减 theta 1e-6 * cos(2 * pi * …

Qt第十三天:网络编程:TCP和UDP的使用

我发现了有些人喜欢静静看博客不聊天呐&#xff0c; 但是ta会点赞。 这样的人呢帅气低调有内涵&#xff0c; 美丽大方很优雅。 说的就是你&#xff0c; 不用再怀疑哦 ❤️TCP&#xff1a; 一、创建项目&#xff0c;命名为Server&#xff0c;继承QWidget 二、添加Qt设计师…

如何进行数学家式的学习思考?

如何进行数学家式的学习思考&#xff1f; 学生阶段的数学学习是非常重要的&#xff0c;对这一点很少有人质疑。一提起数学学习&#xff0c;一些学生、家长甚至一些教师认为&#xff0c;学生的数学学习往往侧重于掌握基本概念、公式和解题技巧&#xff0c;通过做题来巩固知识和提…