AHB传输---突发操作

突发操作

在本协议中定义了4拍、8拍和16拍的突发,以及未定义长度的突发和单次传输。它支持增量和包装突发:

  • 增量突发访问连续位置,每个传输的地址是前一个地址的增量。
  • 包装突发在跨越地址边界时会包装。地址边界的计算方法是突发中拍数与传输大小的乘积。拍数由HBURST控制,传输大小由HSIZE控制。

例如,一个四拍的包装突发对字(4字节)访问在16字节边界处包装。因此,如果突发的起始地址是0x34,那么它由四个传输组成,地址分别是0x34、0x38、0x3C和0x30。

HBURST[2:0]控制突发类型。表3-3列出了可能的突发类型。

HBURST[2:0]类型描述
000SINGLE单次传输突发
001INCR未定义长度的增量突发
010WRAP44拍包装突发
011INCR44拍增量突发
100WRAPS8拍包装突发
101INCRS8拍增量突发
110WRAP1616拍包装突发
111INCR1616拍增量突发

master不应尝试开始一个跨越1KB地址边界的增量突发。

master可以使用以下方式执行单次传输:

  • 单次传输突发。
  • 长度为1的未定义长度突发。

注意 突发大小表示突发中的拍数,而不是传输的字节数。通过将拍数乘以每个拍中的数据量(由HSIZE[2:0]指示)来计算突发中传输的总数据量。

所有突发传输必须对齐到等于传输大小的地址边界。例如,字传输必须对齐到字地址边界(HADDR[1:0] = 00),半字传输必须对齐到半字地址边界(HADDR[0] = 0)。IDLE传输的地址也必须对齐,否则在仿真期间,总线监视器可能会报告错误的警告。

1. 在busy传输后终止突发

一旦突发开始,如果master在继续下一个传输之前需要更多时间,它将使用busy传输。

在未定义长度的增量突发(INCR)期间,master可能会插入busy传输,然后决定不再需要更多的数据传输。在这种情况下,master可以执行一个非顺序(NONSEQ)或空闲(IDLE)传输,从而有效地终止未定义长度的突发。

协议不允许master使用busy传输来结束固定长度的突发,对于以下类型的固定长度突发:

  • 增量突发:INCR4、INCR8 和 INCR16。
  • 包装突发:WRAP4、WRAP8 和 WRAP16。

这些固定长度的突发类型必须以顺序(SEQ)传输结束。

master在单次传输突发(SINGLE burst)后不允许立即执行busy传输。单次传输突发必须跟随一个空闲(IDLE)传输或非顺序(NONSEQ)传输。

2. 提前终止突发

突发可以通过以下任一方式终止:

  • slave错误响应(Slave error response)。
  • 多层互连终止(Multi-layer interconnect elimination)。

2.1 slave错误响应(Slave error response)。

如果slave提供错误响应,master可以取消突发中剩余的传输。然而,这不是一个严格的要求,master也可以继续完成突发中的剩余传输。

如果master取消突发中剩余的传输,那么它必须在两周期的错误响应期间改变HTRANS以指示空闲(IDLE)。

如果master没有完成那个突发,那么在下次访问该slave时,没有要求它重新构建突发。例如,如果一个master只完成了一个8拍突发中的3拍,那么在下次访问该slave时,它不必完成剩余的5个传输。

2.2 多层互连终止

尽管master不允许提前终止突发请求,但slave必须设计得能够在突发未完成时正确工作。

当在多master系统中使用多层互连组件时,它可以终止一个突发,以便另一个master可以访问slave。slave必须从原始master终止突发,然后,如果发生这种情况,适当地响应新master。

2.3 burst examples

2.3.1 四拍包装突发,WRAP4

图3-8 展示了使用四拍包装突发进行写传输的过程,为第一个传输添加了等待状态。

因为这是一个四拍字传输的包装突发,地址在16字节边界处包装,传输到地址0x3C后,紧接着是传输到地址0x30。 

2.3.2 四拍增量突发,INCR4

图3-9 展示了使用四拍增量突发进行读取传输的过程,为第一个传输添加了等待状态。 在这种情况下,地址在16字节边界处不会包装,地址0x3C之后的传输是到地址0x40。

2.3.3 八拍包装突发,WRAP8

图3-10 展示了使用八拍包装突发进行读取传输的过程。 

因为这是一个八拍字传输的包装突发,地址在32字节边界处包装,传输到地址0x3C后,紧接着是传输到地址0x20。

2.3.4 八拍增量突发,INCR8

图3-11 展示了一个使用半字(Halfword)传输的八拍增量突发。

这个突发使用半字传输,因此地址以2的增量递增。由于突发是增量的,地址在超过16字节地址边界后继续递增。 

2.3.5 未定义长度的增量突发,INCR

图3-12 展示了未定义长度的增量突发。

 图3-12 展示了两个突发:

  • 第一个突发是一个写操作,由两个半字传输组成,地址从0x20开始。这些传输的地址递增。
  • 第二个突发是一个读操作,由三个字传输组成,地址从0x5C开始。这些传输的地址也递增。

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

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

相关文章

Android—统一依赖版本管理

依赖版本管理有多种方式 config.gradle 用于Groovy DSL,新建一个 config.gradle 文件,然后将项目中所有依赖写在里面,更新只需修改 config.gradle文件内容,作用于所有module buildSrc 可用于Kotlin DSL或Groovy DSL,…

MATLAB冒号表示法

MATLAB 冒号表示法 colon(:)是在MATLAB中最有用的运算符之一。它用于创建向量,下标数组和指定迭代。 如果要创建包含1到10的整数的行向量,请编写- 示例 1:10 MATLAB执行该语句并返回包含1到10的整数的行向量- ans 1 2 3 4 5 6 7 8 9 10 如果要指定一…

github Copilot的使用总结

1. 代码建议和补全 GitHub Copilot 的基本使用涉及编写代码时的实时代码建议和补全。一旦你已经安装并配置好 GitHub Copilot 插件,你可以在支持的编辑器(如 Visual Studio Code)中开始使用 Copilot。以下是一些基本的使用步骤: …

VBA技术资料MF146:发出多次Beep提示声

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

K8S 部署和访问 Kubernetes 仪表板(Dashboard)

文章目录 部署 Dashboard UI浏览器访问登陆系统 Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览…

unit4.web服务的部署及高级优化方案

搭建web服务器要求如下: 1.web服务器的主机ip:172.25.254.100 [rootserver101 桌面]# vmset.sh 100 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3) [rootserver101 桌面]# ifc…

鑫海移民荣耀呈现:EB5投资移民盛宴落幕,卓越项目引领投资新潮

随着春日的暖阳渐渐铺满大地,我们鑫海移民集团在这个充满希望的季节里,举办了一场意义非凡的EB5投资移民专题活动。于2024年4月27日(周六)下午13:30,在北京渤海润泽威斯汀酒店隆重举行,我们与众多热情的参与…

基于java的商店积分管理系统的设计与实现

功能需求 从功能上可以划分为个人信息管理、商店管理、平台管理、订单管理和数据分析。后台管理系统主要服务于商户和平台管理员,兑换用户是属于商户平台的自有用户,不会被纳入到后台管理系统中来。商户用户可以对自己的积分进行管理,平台管…

echarts下载图片

toolbox: {show: true,//展示工具栏itemSize:20,//icon的大小iconStyle:{borderColor:"#409eff",borderWidth:"3",color:"#fff"},right:"40px",//偏移位置feature: {saveAsImage: {title: "下载图表", //鼠标滑过之后文案na…

用wps自带工具给图片做标注

在wps中,选中wps中的图片,右键选择【编辑】进入图片编辑器,在选项卡面板右侧选择【标注】工具,再选择【添加文本】工具,即可直接在图片上输入文字,标注完成后选择【覆盖原图】就完成标注任务。

【Canvas与艺术】绘制美国星条旗

注意&#xff1a; 该图位置和大小都是按照网上说明精确绘制的。 【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>使…

FA-128晶振用于医疗设备

血糖仪已成为家庭常用的医疗设备,日本爱普生晶振公司生产的2016封装,32MHz贴片晶振可完美应用于医疗器械血糖仪,此款晶振订货型号为X1E000251005900晶振,型号为FA-128,负载电容分8PF,精度10PPM,其尺寸参数为2.0x1.6x0.5mm,符合ROHS标准且无铅,具有封装尺寸超小,高精度,频率范围…

C++ | Leetcode C++题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; class Solution { public:bool canJump(vector<int>& nums) {int n nums.size();int rightmost 0;for (int i 0; i < n; i) {if (i < rightmost) {rightmost max(rightmost, i nums[i]);if (rightmost > n - 1) {r…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(一)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 1 - 2节&#xff09; P1《课程介绍》 开场白&#xff0c;HarmonyOS 的一个简介&#xff0c;话不多说&#xff0c;直接看图吧&…

第十五届蓝桥杯省赛第二场C/C++B组C题【传送阵】题解(AC)

解题思路 由于 a a a 数组是一个 1 1 1 到 n n n 的一个排列&#xff0c;那么形成的一定是如下形式&#xff1a; 一定会构成几个点的循环&#xff0c;或者是几个单独的点。 从任意点开始&#xff0c;如果能进入一个循环&#xff0c;一定可以将整个循环的宝藏都拿走&#x…

[vant] 图片预览关闭按钮显示不正常

如果这里显示不正常, 那就应该是按照文档引入了 显示有问题, 直接不引入, 声明一下就行

每日论文推荐:我们距离GPT-4V有多远,最接近GPT-4V的开源多模态大模型

&#x1f4cc; 元数据概览&#xff1a; 标题&#xff1a;How Far Are We to GPT-4V? Closing the Gap to Commercial Multimodal Models with Open-Source Suites作者&#xff1a;Zhe Chen, Weiyun Wang, Hao Tian, Shenglong Ye, Zhangwei Gao, Erfei Cui, Wenwen Tong, Kon…

企业计算机服务器中了helper勒索病毒怎么办?Helper勒索病毒解密处理流程

网络技术的不断发展与成熟&#xff0c;为企业的生产运营提供了极大便利&#xff0c;让企业的发展速度大大提升&#xff0c;但网络毕竟是虚拟服务系统&#xff0c;虽然可以为企业提供便利&#xff0c;但也会给企业数据安全带来严重威胁。近日&#xff0c;云天数据恢复中心接到山…

c++中的链表list的模拟实现

拖更了半个月&#xff0c;我终于来填c的坑啦。上次我们说的vetcor不知道小伙伴还记得多少呢&#xff1f;今天我们要讲list的模拟实现。 目录 架构结点list表的结构 构造函数尾插push_back()尾删pop_back()计算个数&#xff1a;size()判断空empty()※迭代器问题普通迭代器迭代器…

CSS高级选择器

一、属性选择器 以value开头的att属性的E元素&#xff1a;E[att^"value"]{ ;} a[href^http]{background-color"red";} css a[href^http]{background-color"red"; } html <!DOCTYPE html> <html lang"en"> <head&…