PCIE协议-2-事务层规范-Completion Rules

news2025/4/8 6:37:03

2.2.9 完成规则

所有Read、Non-Posted Write和AtomicOp请求都需要完成(Completion)。完成包含一个完成头标,对于某些类型的完成,完成头标之后会跟随一定数量的DWs数据。完成头标的每个字段的规则在以下各节中定义。

  • 完成通过ID路由,并使用3DW头部。
    • 请注意,路由ID字段直接对应于与相应请求一起提供的请求者ID。因此,对于完成,这些字段将统称为请求者ID,而不是用于ID路由的不同字段。
  • 除了所有TLPs中包含的头标字段和ID路由字段之外,完成消息还包含以下附加字段(见图2-38):
    • 完成者ID[15:0] - 标识完成者 - 下文详细描述
    • 完成状态[2:0] - 指示完成的状态(见表2-35)
      • 确定完成状态[2:0]字段值的规则在第2.3.1节中。
    • BCM - 字节计数修改 - 这个位不能被PCI Express完成者设置,只能由PCI-X完成者设置
    • 字节计数[11:0] - 请求的剩余字节计数
      • 字节计数值以二进制数指定,0000 0000 0001b表示1字节,1111 1111 1111b表示4095字节,0000 0000 0000b表示4096字节。
      • 对于存储器读取完成,字节计数[11:0]根据第2.3.1.1节中的规则设置。
      • 对于原子操作完成,字节计数值必须等于关联的原子操作的字节大小。
      • 对于所有其他类型的完成,字节计数值必须为4。
    • Tag[9:0] - 与请求者ID字段结合,对应于事务ID
    • 低位地址[6:0] - 完成的起始字节的低位字节地址
      • 对于存储器读完成,该字段的值是与完成一起返回的第一个使能字节的数据的字节地址(见第2.3.1.1节中的规则)。
      • 对于原子操作完成,低位地址字段是保留的。
      • 对于所有剩余类型的完成,该字段必须全部设置为0。接收器可以(但非必须)检查此规则的违规情况。有关详细信息,见第2.3.2节,第二点。

  • 功能必须捕获所有由该功能完成的type0配置写请求中提供的总线号和设备号,并将这些数值提供在设备/功能生成的所有完成消息的总线和设备编号字段中。
    • 如果功能在初始设备配置写请求之前必须生成一个完成,必须在总线号和设备号字段中输入0。
    • 请注意,总线号和设备号可能在运行时改变,因此有必要在每个配置写入请求时重新捕获这些信息。
    • 例外:根复合体内部设备上的总线号分配可能以特定实现的方式进行。
  • 在某些情况下,多功能设备(MFD)可能会生成一个具有未完成(UR)状态的完成,而没有将完成与设备内的特定功能关联——在这种情况下,功能编号字段是保留的。
    • 示例:一个多功能设备(MFD)接收到一个读请求,该请求没有针对设备中任何功能关联的任何资源 - 设备生成一个具有未知请求(UR)状态的完成,并在完成者ID的功能号字段中设置所有位为0。
  • 完成头标必须为请求者ID、Tag和TC提供与相应请求头标中提供的相同的值。
  • 完成头标必须为属性提供与相应请求头标中提供的相同的值,除非明确允许:
    • 当使用基于ID的排序(IDO)时(见第2.2.6.4节)。
    • 当在转换完成中使用宽松排序(RO)时(见第10.2.3节)。
  • 如果完成者是一个轻量级通知完成者(LN Completer,LNC),并且目标存储区支持寄存,则适用以下规则;否则,LN位必须清除:
    • 如果完成状态是成功完成,并且关联的请求是一个LN读取,LN位必须设置。
    • 否则,LN位必须清除。
  • TH位对于完成是保留的。
  • AT[1:0]必须为00b。不要求或鼓励接收器检查这一点。
  • 在完成设备的软件初始化和配置之前(至少使用一个配置写入请求),完成ID字段是没有意义的,对于这种情况,请求者必须忽略完成者ID字段中返回的值。
  • 包含数据的完成必须指定在该完成中返回的实际数据量,并且必须包含指定数量的数据。
    • 在长度字段中指定的比特数多包含或少包含数据是一个TLP格式错误,由此产生的TLP是一个畸形TLP。

注意:这只是要求TLP数据有效载荷长度与长度字段中的值匹配的一般规则的一个特定案例。

 

 

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

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

相关文章

_remote.repositories作用

问题描述 明明我本地有某个依赖但是却还是报错,原因就是存在_remote.repositories且你的远程仓库中找不到该依赖,可能发生在你修改了远程仓库或镜像时。 例子 本地有这个依赖,但是报错。 解决 删除_remote.repositories文件&#xff0…

【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(6.Formality)

使用Formality进行形式验证 Formality支持具有低功耗特性的功能等效性检查,如时钟门控、多阈值电压(multiple-Vt)、多电压供电、电源门控以及动态电压和频率缩放。Formality能够识别低功耗单元,例如隔离单元、电平转换器、始终开启单元、保持寄存器和电源门。 Formality支持…

微信小程序网格布局

效果图 实现 wxml <!-- 订单内容 --><view class"father"><!-- 订单item --><view class"childs" wx:for"{{List}}" wx:key"{{ index }}"></view></view> wxss .father{display: grid;grid-tem…

【二叉树】Leetcode 在每个树行中找最大值

题目讲解 515. 在每个树行中找最大值 算法讲解 这道题的重点在于怎么能够保存这一层的节点&#xff0c;并求出层节点的最大值&#xff1a;我们需要使用一个queue&#xff0c;每一次出队列的时候将当前队头结点的左右子树入队列&#xff08;这里就是将下一层的结点入队&#…

计算机Java项目|基于springboot的社区团购系统设计

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、Python项目、前端项目、人工智能与大数据、简…

vscode无法连接 , .vscode-server版本问题

vscode无法连接 &#xff0c; .vscode-server版本问题 解决办法 &#xff1a; 查看自己的版本号 2. 两边vscode版本号需要一致 找一台vscode可以远程连接的&#xff0c; 将它的.vscode-server/bin/b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a 传到 远程服务器上 或者 本地的…

vue3组件插槽

Index.vue: <script setup> import { ref, onMounted } from vue import Child from ./Child.vue import ./index.cssonMounted(() > {}) </script><template><div class"m-home-wrap"><Child>插槽</Child><div class&qu…

1063 计算谱半径

solution 找出虚部和实部平方和的最大值&#xff0c;输出该最大值的开方&#xff0c;保留两位小数 #include<iostream> #include<cmath> using namespace std; int main(){int n, a, b, ans 0;scanf("%d", &n);while(n--){scanf("%d%d"…

安泰ATA-7050高压放大器应用领域:电流体动力喷墨打印技术!

柔性印刷电子器件性能强烈依赖于材料、线宽、以及工艺控制&#xff0c;实现高分辨率、高性能功能微纳结构的大面积、低成本、快速制造已经为柔性印刷电子产业化发展的基础性问题。与传统压电、热气泡等“挤”模式喷墨打印工艺不同&#xff0c;电流体喷墨打印&#xff08;Electr…

Unsupervised Image-to-Image Translation Networks

Unsupervised Image-to-Image Translation Networks 无监督图像到图像翻译网络 Ming-Yu Liu, Thomas Breuel, Jan Kautz 刘明玉&#xff0c;Thomas Breuel&#xff0c;Jan Kautz NVIDIA {mingyul,tbreuel,jkautz}nvidia.com NVIDIA {mingyul&#xff0c;tbreuel&#xff0c;j…

电动汽车与 PLM:下一代转型的结合

汽车电气化是汽车行业持续变革的驱动力&#xff0c;因此电动汽车 (EV) 行业成为当今最令人兴奋、最相关和最必要的创新领域之一。快速且有利可图地设计电动汽车及其零部件&#xff0c;同时使其受到消费者的青睐&#xff0c;是一项艰巨的挑战。因此&#xff0c;电动汽车行业企业…

想要成为项目经理?先掌握这24条职场生存法则!

以下是项目经理的24条职场经验&#xff0c;这些经验涵盖了项目管理的各个方面&#xff0c;希望能对项目经理或有意成为项目经理的人有所启发。 1、明确目标&#xff1a;项目成功的关键在于明确的目标。在项目启动之初&#xff0c;确保所有利益相关者对项目目标有清晰、共同的…

[Algorithm][递归][搜索][回溯]总体理解+ 算法总结 (极其干货哦~)

目录 0.观前必读1.递归1.什么是递归&#xff1f;2.为什么会用到递归&#xff1f;3.如何理解递归&#xff1f;4.如何写好一个递归&#xff1f; 2.概念乱斗:P1.深度优先遍历 vs 深度优先搜索 && 宽度优先遍历 vs 宽度优先搜索2.搜索 vs 暴搜3.拓展搜索问题 3.回溯与剪枝4…

PostgreSQL建表语句 INT, INT2, INT4, INT8 分别对应Java,Go, Python什么数据类型?

&#x1f42f; PostgreSQL建表语句 INT, INT2, INT4, INT8 分别对应Java&#xff0c;Go, Python什么数据类型 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题…

selenium进行xhs图片爬虫:06xhs一个博主的全部文章图片爬取

&#x1f4da;博客主页&#xff1a;knighthood2001 ✨公众号&#xff1a;认知up吧 &#xff08;目前正在带领大家一起提升认知&#xff0c;感兴趣可以来围观一下&#xff09; &#x1f383;知识星球&#xff1a;【认知up吧|成长|副业】介绍 ❤️感谢大家点赞&#x1f44d;&…

计算机毕业设计源码 | 基于SpringBoot的线上教学系统 答疑辅导网站(附源码)

1&#xff0c;项目介绍 1.1 项目背景 网络问答平台经历了多年的发展&#xff0c;目前处于一个日益成熟的状态。最早的网络问答平台是知乎&#xff0c;知乎的创立者认为有许多信息在互联网上没有被记录和共享&#xff0c;于是他们决定创造一个平台&#xff0c;能够让更多人可以…

Spring的IOC和AOP机制?

我们是在使用Spring框架的过程中&#xff0c;其实就是为了使用IOC&#xff0c;依赖注入&#xff0c;和AOP&#xff0c;面向切面编程&#xff0c;这两个是Spring的灵魂。 主要用到的设计模式有工厂模式和代理模式。 IOC就是典型的工厂模式&#xff0c;通过sessionfactory去注入…

CVE-2015-1635(MS15-034 ) 远程代码执行漏洞

1.打补丁 https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2015/ms15-034 2.临时禁用IIS内核缓存

大型语言模型自我进化综述

24年4月来自北大的论文“A Survey on Self-Evolution of Large Language Models”。 大语言模型&#xff08;LLM&#xff09;在各个领域和智体应用中取得了显着的进步。 然而&#xff0c;目前从人类或外部模型监督中学习的LLM成本高昂&#xff0c;并且随着任务复杂性和多样性的…

【STM32 |外部中断】中断系统、EXTI外部中断

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 丠丠64-CSDN博客&#x1f388;&#x1f388; ✨✨ 帅哥美女们&#xff0c;我们共同加油&#xff01;一起…