AMBA_AXI Protocol_Transaction Identifiers

news2025/1/16 4:00:56

AXI Protocol_Transaction Identifiers

Transaction Identifiers(事务标识符)

1. AXI事务标识符简介
2. ID信号
	. 读数据顺序
	. 写数据顺序
	. 使用事务标识符的互联

1. AXI事务标识符简介

  • AXI协议包含AXI事务标识符(AXI ID),主机可以使用这个区分需要按序返回的事务。
  • 所有的事务对于给定的AXI ID必须保证顺序,但是对于具有不同ID值的事务的排序没有限制。这意味着单个物理端口可以支持乱序事务(out-of-order transactions),并据此模拟出多个逻辑端口,其中每个端口都是按序端口。
  • 使用AXI ID,主机可以在前面事务未完成的时候就发送新的事务,这可以提升系统效率,因为它允许事务的并行处理。
    注意:
    • 并没有要求主机和从从机一定使用AXI事务ID,主机和从机可以同时只处理一个事务,这意味着所有的事务都是按序的。
    • 从机返回的BID和RID必须和主机发出的AXI ID一致。

2. ID信号
每个事务都有它自己的事务ID。指定的信号如下:
在这里插入图片描述
Note:1. WID信号只在AXI3中实现;2. AXI4协议支持基于使用AXI ID 事务标识符的扩展顺序模型

  • 读数据顺序
    从机必须确保任何返回数据的RID值与它正在响应的地址的ARID值匹配。
    互连必须确保主机按照发出的地址的顺序,接收来自不同的从机,但是具有相同的ARID值的事务序列的读取数据。
    读数据重排序深度是指从机中可被重排序的暂挂地址的数量。一个按顺序处理所有事务的从机事务的读数据重排序深度为1。读数据重排序深度是一个静态值,由从机的设计者指定。
    主机不能使用任何机制来确定从机的读数据重排序深度

  • 写数据顺序

    主机必须以与发出事务地址相同的顺序发出写数据。
    结合来自不同主机的写事务的互连必须确保它按照地址顺序转发写数据。
    在AXI3中允许使用不同id的写数据交错,但在AXI4和更高版本中不支持。

  • 使用事务标识符的互联

    当主机连接到互连器时,互连器向ARID、AWID和WID标识符附加额外的位,这对主机端口来说是唯一的标识符。这有两个影响:

    • 主机不需要知道其他主机使用的ID值,因为互连通过将主机编号附加到原始标识符,使每个主机使用的ID值是唯一的。
    • 从机接口的ID标识符比主机接口的ID标识符宽。

对于读取数据:互连器使用RID标识符的附加位来确定读取数据的目的地是哪个主机端口。在将RID值传递给正确的主机端口之前,互连器会删除RID标识符的这些位。
对于写响应:互连器使用BID标识符的附加位来确定写响应的目的地是哪个主机端口。在将BID值传递给正确的管理器端口之前,互联器将移除BID标识符的这些位。


[参考资料] IHI0022H_c_amba_axi_protocol_spec

【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~


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

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

相关文章

2023-8-22 双链表

题目链接&#xff1a;双链表 #include <iostream>using namespace std;const int N 100010;int e[N], l[N], r[N], idx;void init() {r[0] 1;l[1] 0;idx 2; }void add(int k, int x) {e[idx] x;r[idx] r[k];l[idx] k;l[r[k]] idx;r[k] idx;idx ; }void remove…

前端需要理解的HTML知识

HTML&#xff08;超文本标记语言&#xff0c;HyperText Markup Language&#xff09;不是编程语言&#xff0c;而是定义了网页内容的含义和结构的标记语言。。“超文本”&#xff08;hypertext&#xff09;是指连接单个网站内或多个网站间的网页的链接。HTML 使用“标记”&…

BootstrapBlazor组件使用:数据注解

文章目录 前言BB数据注解数据注解源码数据注解简介注解简单实例[BB 编辑弹窗](https://www.blazor.zone/edit-dialog)[ValidateForm 表单组件](https://www.blazor.zone/validate-form)使用简介 前言 BootstrapBlazor(一下简称BB)是个特别好用的组件&#xff0c;基本上满足了大…

bh003- Blazor hybrid / Maui 使用蓝牙BLE快速教程

1. 建立工程 bh003_ble 源码 2. 添加 nuget 包 <PackageReference Include"BlazorHybrid.Maui.Permissions" Version"0.0.2" /> <PackageReference Include"BootstrapBlazor" Version"7.*" /> <PackageReference In…

机器学习笔记之优化算法(十九)经典牛顿法的收敛性分析

机器学习笔记之优化算法——经典牛顿法的收敛性分析 引言回顾&#xff1a;算法的收敛性分析 Wolfe \text{Wolfe} Wolfe准则的收敛性分析梯度下降法在凸函数的收敛性分析梯度下降法在强凸函数的收敛性分析 经典牛顿法的收敛性分析收敛性定理介绍证明过程关于隐含条件的说明 引言…

Spring之域对象共享数据

文章目录 前言一、requset域1.使用ServletAPI向request域对象共享数据2.使用ModelAndView向request域对象共享数据3.使用Model向request域对象共享数据4.使用map向request域对象共享数据5.使用ModelMap向request域对象共享数据6.Model、ModelMap、Map的关系 二、session域向ses…

语谱图(一) Spectrogram 的定义与机理

1. 语谱图 spectrogram 在音频、语音信号处理领域&#xff0c;我们需要将信号转换成对应的语谱图(spectrogram)&#xff0c;将语谱图上的数据作为信号的特征。 语谱图的横坐标是时间&#xff0c;纵坐标是频率&#xff0c;坐标点值为语音数据能量。由于是采用二维平面表达三维…

UE4 材质学习笔记

CheapContrast与CheapContrast_RGB都是提升对比度的&#xff0c;一个是一维输入&#xff0c;一个是三维输入&#xff0c;让亮的地方更亮&#xff0c;暗的地方更暗&#xff0c;不像power虽然也是提升对比度&#xff0c;但是使用过后的结果都是变暗或者最多不变&#xff08;值为1…

国标视频云服务平台EasyGBS国标平台内网访问正常但公网无法访问的问题解决方案

国标视频云服务平台EasyGBS可支持通过国标GB28181协议&#xff0c;接入多路视频源设备&#xff0c;实现视频流的接入、转码、处理与分发等功能&#xff0c;对外输出的视频流格式包括RTSP、RTMP、FLV、HLS、WebRTC等。平台视频能力丰富灵活&#xff0c;包括监控直播、视频分发、…

Maven 配置文件修改及导入第三方jar包

设置java和maven的环境变量 修改maven配置文件 &#xff08;D:\app\apache-maven-3.5.0\conf\settings.xml&#xff0c;1中环境变量对应的maven包下的conf&#xff09; 修改131行左右的mirror&#xff0c;设置阿里云的仓库地址 <mirror> <id>alimaven</id&g…

如何选择合适的量化交易服务器

数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学&#xff0c;点击下方链接报名&#xff1a; 量化投资速成营&#xff08;入门课程&#xff09; Python股票量化投资 Python期货量化投资 Python数字货币量化投资 C语言CTP期货交易系统开…

sql入门-多表查询

案例涉及表 ----------------------------------建表语句之前翻看之前博客文章 多表查询 -- 学生表 create table studen ( id int primary key auto_increment comment id, name varchar(50) comment 姓名, no varchar(10) comment 学号 ) comment 学生表; insert…

ES基础操作

1.创建索引 在 Postman 中&#xff0c;向 ES 服务器发 PUT 请求 &#xff1a; http://127.0.0.1:9200/shopping 后台日志 重复发送 PUT 请求添加索引 &#xff1a; http://127.0.0.1:9200/shopping &#xff0c;会返回错误信息 : 2.获取单个索引相关信息 在 Postman 中&#…

【SpringSecurity】三、访问授权

文章目录 1、配置用户权限2、针对URL授权3、针对方法的授权 1、配置用户权限 继续上一章&#xff0c;给在内存中创建两个用户配置权限。配置权限有两种方式&#xff1a; 配置roles配置authorities //哪个写在后面哪个起作用 //角色变成权限后会加一个ROLE_前缀&#xff0c;比…

Flask狼书笔记 | 03_模板

文章目录 3 模板3.1 模板基本使用3.2 模板结构组织3.3 模板进阶 3 模板 模板&#xff08;template&#xff09;&#xff1a;包含固定内容和动态部分的可重用文件。Jinja2模板引擎可用于任何纯文本文件。 3.1 模板基本使用 HTML实体&#xff1a;https://dev.w3.org/html5/htm…

启动Vue项目踩坑记录

前言 在启动自己的Vue项目时&#xff0c;遇到一些报错&#xff0c;当时很懵&#xff0c;解决了以后豁然开朗&#xff0c;特写此博客记录一下。 一、<template>里多加了个div标签 [vite] Internal server error: At least one <template> or <script> is req…

EureKa快速入门

EureKa快速入门 远程调用的问题 多个服务有多个端口&#xff0c;这样的话服务有多个&#xff0c;硬编码不太适合 eureKa的作用 将service的所有服务的端口全部记录下来 想要的话 直接从注册中心查询对于所有服务 每隔一段时间需要想eureKa发送请求 保证服务还存活 动手实践 …

odoo安装启动遇到的问题

问题&#xff1a;在第一次加载odoo配置文件的时候&#xff0c;启动失败 方法&#xff1a; 1、先检查odoo.conf的内容&#xff0c;尤其是路径 [options] ; This is the password that allows database operations: ; admin_passwd admin db_host 127.0.0.1 db_port 5432 d…

kotlin协程flow任务意外结束未emit数据retryWhen onEmpty(5)

kotlin协程flow任务意外结束未emit数据retryWhen onEmpty&#xff08;5&#xff09; import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withTimeoutOrNullfun main(args: Array<String&…

【Java】基础练习(九)

1.结婚 创建一个Person类&#xff0c;如下: public class Person{private String name;private Character gender;private Integer age;private Boolean marry;// 省略 getter / settter / 构造 / toString / hashCode / equals }有一个类CAB&#xff0c;有一个canMarry方…