深入浅出AXI协议(6)——传输属性

news2024/11/24 11:36:12

一、前言

         在之前的文章中,我们介绍的主要内容是AXI协议的数据读写结构和读写响应结构,主要讲述了当遇到各种特殊情况时,AXI如何完成数据的读写操作,最后介绍了读写响应的4种类型。

        在本文中,我们将介绍AXI协议的传输属性。

二、传输类型与属性

        AXI传输中,从机可以被定义成以下的两种:(1)内存型从机(2)外设型从机

1、内存型从机(Memory Slave )

        内存型的从机要求能够正确处理所有的传输类型。

2、外设型从机(Peripheral Slave )

        外设型的从机具有 实现定义(IMPLEMENTATION DEFINED)的访问方式。通常,这在元件的数据表中被定义,它描述了从设备能够正确处理的传输类型。对不属于实现定义(IMPLEMENTATION DEFINED)访问方法的外设型从设备的任何访问都必须按照协议完成。要注意的是,一旦进行了这样的访问(不属于实现方法的),外设型从设备就不一定会继续正确操作,它只需要继续以符合协议要求的方式完成进一步的传输即可。

        AXI协议定义了一组支持内存和外设从设备的事务属性。ARCACHE 和 AWCACHE信号定义了传输属性,它们控制:

  • 传输如何通过系统进行
  • 系统级缓存如何处理传输

三、AXI3内存属性信号

        在AXI3协议中,AxCACHE[3:0]中每一位都有着不同的特性,具体的特性编码方式如上图所示,我们来简单介绍以下各个位所代表特性的具体含义:

1、AxCACHE[0], Bufferable (B) bit

        当生效这个位时,互连(或任何元件)都可以把传输到达目的地的时间延迟任意个时钟周期。(注意:通常,可缓冲的属性只与写操作相关。)

        本质上来说,就是代表是否可缓存,AWCACHE[0]当为低时,表示写响应由终端设备发出;否则,可以由中间设备发出。ARCACHE[0]表示读数据由终端设备发出或所写的目的设备发出。

2、AxCACHE[1], Cacheable (C) bit

        当这个位失效时,将禁止对传输的分配。

        生效此位时:

  • 允许参数的分配。RA和WA提供了额外的提示信息。
  • 在最终目的地处的传输的特征不必与原始传输的特征相匹配。对于写操作,这意味着许多不同的写操作可以合并在一起。对于读取,这意味着可以预取一个位置的内容,或者来自单个读取的值可以用于多个读取事务。

3、AxCACHE[2], Read-allocate (RA) bit

        当生效此位时,建议对传输进行读分配,但不是强制性的。如果已失效C位,则不能生效RA位。

4、AxCACHE[3], Write-allocate (WA) bit

        当失效此位时,建议对传输进行写分配,但不是强制性的。如果已失效C位,则不能生效WA位。

四、AXI4内存属性信号

        AXI4协议是在AXI3协议的基础上发展而来的,在内存属性信号的部分,AXI4对于AXI3进行了如下的更改:

  • AxCACHE[1]位被重命名为可修改位(这样的更改是为了更好地描述所需的功能。实际的功能没有改变。)
  • 为不可修改的传输处理定义了ordering requirements
  • 更新了读分配和写分配的意义。

1、AxCACHE[1], Modifiable

        在AXI4中,AxCACHE[1]位是可修改位。当HIGH时,可修改表示可以修改传输的特征。当可修改为低时,参数为不可修改。

1.1 不可修改的传输

        对于不可修改的交易来说,不能将其分割成多个传输或者其他传输的合并。当传输为不可修改的传输时,下面的参数是不可修改的,即传输地址(AWADDR、ARADDR、AWREGION、ARREGION)、猝发大小(AWSIZE、ARSIZE)、猝发长度(AWLEN、ARLEN)、猝发类型(AWBURST、ARBURST)、锁类型(AWLOCK、ARLOCK)和保护类型(AWPROT、ARPROT)。

        只能修改AxCACHE属性,以便将事务从可缓冲转换为不可缓冲。不允许对AxCACHE进行其他更改。 传输的ID和QoS是可以修改的,对于猝发长度大于16的不可修改的传输来说,允许分割成多个传输。每个传输的传输都满足上面的要求,但减少猝发长度,所产生的猝发地址也相应进行修改。

1.2 可修改的传输

        可修改的传输可以通过下面的方式进行操作:

  • 传输可以分割成多个传输
  • 多个传输可以合并成一个传输
  • 读传输能够读取出比要求多的数据
  • 写传输可以访问比要求更大的地址范围,使用写选通信号以保证只更新正确的地址空间
  • 可以修改每个传输的传输地址,猝发大小,猝发长度。但是,不能修改锁类型和保护类型。

五、保护类型

AWPROT或者ARPROT信号提供三种级别的存取保护:

  • 正常存取或者特权存取, ARPROT[0] 和 AWPROT[0]安
  • 全性存取或者没有安全性存取, ARPROT[1] 和 AWPROT[1]
  • 指令存取或者数据存取  ,ARPROT[2] 和 AWPROT[2]

信号ARPROT[2:0] 和 信号AWPROT[2:0]的编码如下图:

六、总结

        本文中我们介绍了AXI协议的传输属性,主要介绍了AxCACHE信号不同位对应的不同含义以及使用方式,最后简单介绍了保护类型相关的信号。

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

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

相关文章

centos7的yum修改为阿里源

yum修改为阿里源 1.安装wget yum install -y wget2.备份与下载源 cd /etc/yum.repos.d mv -f CentOS-Base.repo CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo mv epel.repo epel.repo.backup # 有些系…

C++引用与移动语义

目录 一.引用分类 1.名词解释 1).左右值 二.引用(左值引用) 1.左值引用(Lvalue Reference): 2.本质 3.形式 4.注意 5.示例 1)引用做左值 2)引用做函数返回值 三.右值引用 1.右值引…

代码随想录算法训练营day|139.单词拆分|多重背包基础力理论| 背包总结

139.单词拆分 力扣题目链接 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1&#xff1a…

centos 端口被占用的快速排查方式

问题笔记 centos 端口被占用的快速排查方式 centos 端口被占用的快速排查方式 这里说一个我刚刚遇到的问题,解决步骤用来记录,方便以后自己查询。 nginx配置完index.html测试文件,发现一直显示的404页面。 我跑到服务器上想重启一下nginx …

如何从Git上拉取项目

1.Git的概念 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。它实现多人协作的机制是利用clone命令将项目从远程库拉取到本地库,做完相应的操作后再利用push命令从本地库将项目提交至远程库。 2.Git的工作流程 …

Meshmixer在数字牙科的实践

数字牙科(Digital Dentistry)在口腔健康领域获得越来越多的空间,如何使用 Meshmixer 软件在数字牙科中创建 3D 模型对于该领域的专业人士来说是一项宝贵的技能。 在本文中,拟将学习如何掌握这个强大的工具并创建令人惊叹的 3D 模型…

本地MQTT服务器搭建(EMQX)

一、下载EMQX 下载地址:EMQ (emqx.com) 打开官网后,选择右边的免费试用按钮 然后单击EMQX Enterprise标签,然后选择下面的EMQX开源版,选择开源版的系统平台为Windows,单击免费下载。 在新页面下单击立即下载 二、安装…

第1章_瑞萨MCU零基础入门系列教程之单片机程序的设计模式

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

华为云云耀云服务器L实例评测|安装Java8环境 配置环境变量 spring项目部署 【!】存在问题未解决

目录 引出安装JDK8环境查看是否有默认jar上传Linux版本的jar包解压压缩包配置环境变量 上传jar包以及运行问题上传Jar包运行控制台开放端口访问失败—见问题记录关闭Jar的方式1.进程kill -92.ctrl c退出 问题记录:【!】未解决各种方式查看端口情况联系工程师最后排查…

自学Python05-学会Python中的函数定义

亲爱的同学们,今天我们将开始学习 Python 中的函数。函数就像一个魔法盒子,可以让我们在程序中执行一段代码,并且可以反复使用。这样,我们的程序就可以变得更加简洁和易于理解。现在,让我们一起来学习如何使用函数吧&a…

无涯教程-JavaScript - OCT2HEX函数

描述 OCT2HEX函数将八进制数转换为十六进制。 语法 OCT2HEX (number, [places])争论 Argument描述Required/OptionalNumber 您要转换的八进制数。 数字不得超过10个八进制字符(30位)。数字的最高有效位是符号位。其余的29位是幅度位。 负数使用二进制补码表示。 RequiredPl…

报考浙江工业大学MBA项目如何选择合适的辅导班?

浙江工业大学MBA项目每年有数百人报考,在浙江省内除了浙大以外算是人数比较多的一个项目。2023级的招生中第一志愿也通过复试刷掉了百来人,在省内其实作为第一志愿报考的风险在逐渐增大,考生们如果坚持报考,则在针对联考初试的备考…

B站:AB Test 知识全解

AB Test的实质:假设检验,主要有以下几个步骤: 1、在实验开始前,找产品、项目经理等确认:实验需要验证的改动点(一次只能看一个!!!) 2、数据分析师设计需要去观…

day55 补

392.判断子序列 力扣题目链接(opens new window) 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,&quo…

【MFC】Button控件美化(自绘)

在MFC中Button控件不能通过OnCtlColor()函数对外观做太多的改变。 HBRUSH C按钮控件自绘Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);switch (pWnd->GetDlgCtrlID()){case ID…

【已解决】ORA-00001: unique constraint (USR_JXZX_DSJKF_MODEL.SYS_C00912833) violated

已解决: nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (USR_JXZX_DSJKF_MODEL.SYS_C00912833) violated 问题 学号主键ID重复了 思路 在 Oracle 中,可以使用以下方法找出重复的主键&#…

Vue中实现3D得球自动旋转

具体实现 安装echarts 在终端下安装echarts npm install -D echarts 安装echarts-gl 在终端下安装echarts-gl npm install -D echarts-gl earth3D组件 earth3D.vue <template><div class"globe3d-earth-container" ><div class"globe3d-earth&qu…

桉木做的建筑模板质量评价

桉木作为一种常见的建筑模板材料&#xff0c;以其独特的特性在建筑行业中得到广泛应用。然而&#xff0c;评估桉木建筑模板的质量是确保建筑项目成功的关键因素之一。本文将对桉木建筑模板的质量进行评价&#xff0c;从材料特性、强度和耐久性等方面进行分析。 首先&#xff0c…

Pinyin4j介绍和简单使用

前言 Pinyin4j是一个Java库&#xff0c;用于将汉字转换为拼音。它是由中国清华大学的Tsinghua University和中国科学院计算技术研究所的研究人员开发的。Pinyin4j可以用于Java应用程序中&#xff0c;以便在需要时将汉字转换为拼音。例如&#xff0c;它可以用于中文输入法、文本…

大模型tokenizer流式响应解决词句连贯性问题

大模型tokenizer词句连贯性问题 现象 from transformers import LlamaTokenizerFast import numpy as nptokenizer LlamaTokenizerFast.from_pretrained("heilerich/llama-tokenizer-fast") origin_prompt "Hi, Im Minwoo Park from seoul, korea." id…