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

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数据有效载荷长度与长度字段中的值匹配的一般规则的一个特定案例。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# WinForm —— 18 NumericUpDown 介绍

1. 简介 数字显示框,通过向上、向下按钮来 增加/减小 显示的数值 2. 常用属性 属性解释(Name)控件ID,在代码里引用的时候会用到,一般以 numUD 开头Hexadecimal数值 up-down 控件的值是否应以十六进制显示Increment每单击一下按钮,增加或减…

孙宇晨对话大公网:香港Web3政策友好环境示范意义重大

日前,全球知名华文媒体大公网发布《湾区web3大有可为》重磅系列报道。报道通过对中国香港与大湾区其他城市Web3政策、行业创新和生态建设等方面的梳理,以及对行业领袖和重要行业机构的走访,全面展现了在大湾区一体化发展的背景下,Web3等数字经济模式在该地区的长远发展潜力。 …

ABB机器人程序类型介绍

ABB机器人编程语言为rapid语言,在例行程序中可分为三类:普通程序、功能程序和中断程序。例如新建一个例行程序,会选择一个程序类型,三种类型的区别如下: 1、普通程序(procedures):常…

移动 App 入侵与逆向破解技术-iOS 篇

如果您有耐心看完这篇文章,您将懂得如何着手进行app的分析、追踪、注入等实用的破解技术,另外,通过“入侵”,将帮助您理解如何规避常见的安全漏洞,文章大纲: 简单介绍ios二进制文件结构与入侵的原理介绍入…

HUE工具介绍使用

一、HUE工具介绍使用 HUE是CDH提供一个hive和hdfs的操作工具,在hue中编写了hiveSQl也可以操作hdfs的文件 http://hadoop01:9870 hdfs的web访问端口 hdfs://hadoop01:8020 hdfs的程序访问端口 进入hue

基于SpringBoot的垃圾分类网站的设计与实现

一、引言 随着网络不断的普及发展,垃圾分类网站依靠网络技术的支持得到了快速的发展,首先要从用户的实际需求出发,通过了解用户的需求开发出具有针对性的垃圾分类、垃圾图谱等功能,利用目前网络给用户带来的方便快捷这一特点对系统…

springboot+vue+mybatis生活废品回收系统+PPT+论文+讲解+售后

该生活废品回收系统采用B/S架构、前后端分离以及MVC模型进行设计,并采用java语言以及springboot框架进行开发。该系统主要设计并完成了管理过程中的用户登录、个人信息修改、义捐活动、在线咨询、订单评价、废品订单、废品、回收再利用技巧、废品回收员、用户等功能…

MyBatis——模拟MyBatis框架

一、dom4j 解析 XML 文件 在 dom4j 中,DOMReader 和 SAXReader 是两种不同的 XML 解析器。 它们的主要区别在于解析 XML 的方式和所提供的功能: DOMReader: DOMReader 使用 DOM(Document Object Model)模型来表示整个…

基于MetaGPT的智能体理论与实践-Task01

Task01: MetaGPT环境配置 学习教程:https://github.com/datawhalechina/hugging-multi-agent 1 环境准备 1.1 安装python3.9 通过:python3 --version, 查看此python版本为3.10.3 1.2 下载MetaGPT 开始,借用清华镜像,拉取…

CSS常用滤镜效果

CSS 提供了多种滤镜效果,可以通过 filter 属性应用于 HTML 元素。以下是一些常用的 CSS 滤镜效果: 一、灰度 (Grayscale) 将图像转换为灰度图像。值在 0%(原始图像)和 100%(完全灰度)之间。 filter: gra…

ORA-609频繁出现在alert.log,如何解决?

ORA-609就alertlog中比较常见的一个报错,虽然并没有太大的影响,但是频繁的出现在alert log也是很让人厌烦的事情,本文介绍如何排查解决ORA-609问题。 1.ORA-609官方定义 could not attach to incoming connection Cause Oracle process cou…

【话题】Agent AI智能体的未来

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 背景一、Agent AI智能体的角色二、Agent AI智能体的发展路径三、Agent AI智能体可能带来的挑战文章推荐 背景 随着Agent AI智能体的智能化水平不断提高,它们…

centos7.6安装mysql

博客主页:花果山~程序猿-CSDN博客 文章分栏:MySQL之旅_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 1.在网页中寻找mysql…

《一》Word文字编辑软件---架构设计分析

1,简单介绍 今天,我们来模拟offic软件中的word文档,运行如图: 运行程序后会出现主界面,顶端的菜单栏包括“文件”“编辑”“格式”“窗口”和“帮助五个主菜单。 菜单栏下面是工具栏,包含了系统常用的功能按…

深入理解C#中的IO操作:File类的详解

文章目录 一、File类的概述二、File类的常用方法2.1 File.Exists(string path)2.2 File.Create(string path)2.3 File.WriteAllText(string path, string contents)2.4 File.ReadAllText(string path)2.5 File.Copy(string sourceFilePath, string destFilePath, bool overwrit…

ONVIF系列一:ONVIF介绍

感谢博主OceanStar的学习笔记,ONVIF系列二和系列三中安装操作过程及代码实现参考了这位博主的博客。 ONVIF系列: ONVIF系列一:ONVIF介绍 ONVIF系列二:Ubuntu安装gSOAP、生成ONVIF代码框架 ONVIF系列三:ONVIF客户端实现…

【QT】QT环境搭建

本专栏内容为:QT学习专栏 通过本专栏的深入学习,你可以了解并掌握QT。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:QT 🚚代码仓库:小小unicorn的代码仓库🚚 🌹&#x1f…

无刷电机中对霍尔同步电角度的理解

在霍尔无刷电机驱动时需要进行初始电角度定位,根据ST电机库提供的方法首先我们要测量同步电角度。 在自己的驱动程序中也使用了ST的方法来测量同步电角度,然后根据当前霍尔的状态再确定启动时的电角度 之前用上面的方法测量同步电角度,程序…

Web 安全漏洞之文件上传

目录 文件上传漏洞及危害 文件名 HTML 和 SVG 软链 服务器磁盘 防御方法 网络安全学习路线 (2024最新整理) 学习资料的推荐 1.视频教程 2.SRC技术文档&PDF书籍 3.大厂面试题 特别声明: 文件上传漏洞及危害 文件上传漏洞…

JDK的串行收集器介绍与优化指南-02

对象的生命周期 对象的生命周期 在Java中,对象的生命周期通常包括以下几个阶段,这些阶段与JVM的内存管理和垃圾收集机制密切相关。 创建阶段 (1)为对象分配存储空间:当使用new关键字或其他方式(如反射、克隆、反序列化等)创建一个对象时,JVM首先会在堆内存中为其分配…