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

 

 

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

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

相关文章

打破边界:Facebook的社交实验与未来愿景

数字化时代,社交媒体已经成为人们日常生活的重要组成部分,而Facebook作为其中的佼佼者,一直在积极探索社交领域的新可能性。本文将探讨Facebook在社交实验和未来愿景方面的努力,以及其如何打破传统边界,开拓社交的新领…

UniGen:用于生成自动驾驶场景的初始智体状态和轨迹的统一建模

24年5月谷歌WayMo论文“UniGen: Unified Modeling of Initial Agent States and Trajectories for Generating Autonomous Driving Scenarios”。 本文介绍 UniGen,一种生成交通场景的新方法,用于通过仿真评估和改进自动驾驶软件。 其方法在一个统一的模…

【卫星影像三维重建-全流程代码实现】点云Mesh重构

点云—>Mesh模型 1.介绍1.1 背景1.2 效果示意 2 算法实现2.1 依赖库2.2 实验数据2.3 代码实现2.4 实验效果 3.总结 1.介绍 1.1 背景 (1)本文主要内容是将三维点云(离散的三维点)进行表面重建生成Mesh网格,之前有篇…

css中用于设置光标颜色的属性

caret-color 是一个 CSS 属性,它用于定义输入光标(caret)的颜色。这里的“插入光标”(insertion caret)指的是在网页的可编辑器区域内,用来指示用户的输入具体会插入到哪里的那个一闪一闪的形似竖杠 | 的东…

用Arm CCA解锁数据的力量

安全之安全(security)博客目录导读 目录 CCA将如何改变Arm架构呢? 在实践中部署CCA 释放数据和人工智能的全部力量和潜力 早期计算中最大的挑战之一是管理计算资源,以最大化计算效率同时提供给不同程序或用户分配资源的分离。这导致了我们今天大多数使用的时间…

QLExpress入门及实战总结

文章目录 1.背景2.简介3.QLExpress实战3.1 基础例子3.2 低代码实战3.2.1 需求描述3.2.1 使用规则引擎3.3.2 运行结果 参考文档 1.背景 最近研究低代码实现后端业务逻辑相关功能,使用LiteFlow作为流程编排后端service服务, 但是LiteFlow官方未提供图形界面编排流程。…

python获取网页表格数据

需求 需要网页中的基因(Gene Symbol),一共371个。 使用pandas读取网页表格 read_html 返回的是列表(a list of DataFrame) import pandas as pd import bioquest as bq url "http://exocarta.org/browse_resul…

《换你来当爹》:AI驱动的养成游戏,探索虚拟亲子关系的新模式

AI技术如何重塑我们对游戏互动的认知 在人工智能技术的浪潮下,一款名为《换你来当爹》的AI养成游戏,以其创新的互动模式和个性化体验,吸引了游戏爱好者的目光。这款游戏利用了先进的LLM技术,通过AI实时生成剧情和图片&#xff0c…

阿里云OSS配置跨域及域名访问

1、配置跨域 进入对象存储OSS–>OSS存储桶–>数据安全–>跨域设置–>创建规则 2、配置跨域 Etag x-oss-request-id3、配置结果如下 4、数据源配置 切换到数据管理–>静态页面 配置根页面 保存结果如下 5、配置域名访问 绑定域名 添加txt记录 验证绑定 …

人工智能引领工业园区智能化升级:AI视频监测助力安全生产管理

当前,许多工业园区面临着一个共同的挑战:大量的监控视频处于“沉睡”状态,无法主动预警风险,需要人工持续盯防。同时,由于生产现场工况复杂,高危场景的巡检工作不仅增加了人员的暴露频次,而且在…

智能座舱语音助手产品方案

一、用户调研与痛点分析 1.目标用户分析 用户画像 性别女性年龄50地域2-3线城市职业退休或退居二线教育中专、 大专、 本科财务家庭财务管理者爱好享受生活、 照顾家庭标签有闲有小钱二、产品定位与卖点提炼 购车目的 愉悦自我, 专属于自己的座驾: 家…

java多线程 线程交替执行(同步)的各种实现方案

目录 java多线程 线程交替执行(同步)的各种实现方案需求 指定具体执行顺序实现一:wait_notify机制 Thread标志位实现二:lock_condition机制 Thread标志位实现三:semaphore信号量 不指定具体执行顺序,只交…