PCIE协议-2-事务层规范-TLP Prefix Rules

2.2.10 TLP前缀规则

以下规则适用于任何包含TLP前缀的TLP:

  • 对于任何TLP,TLP中byte0的Fmt[2:0]字段中的值100b表示存在TLP前缀,并且Type[4]位指示TLP前缀的类型。
    • Type[4]位中的值0b表示存在本地TLP前缀。
    • Type[4]位中的值1b表示存在端到端TLP前缀。
  • TLP前缀的byte1到3的格式由其TLP前缀类型定义。
  • 包含TLP前缀的TLP必须有一个底层的TLP头标。违反此规则的接收到的TLP将被视为畸形TLP。这是一个与接收端口相关联的报告错误(见第6.2节)。
  • 允许一个TLP包含多个任何类型的TLP前缀。
    • 当TLP中同时存在本地和端到端TLP前缀时,要求所有的本地TLP前缀都在任何端到端TLP前缀之前。违反此规则的接收到的TLP将被视为畸形TLP。这是一个与接收端口相关联的报告错误(见第6.2节)。
  • 每个TLP前缀的大小为1 DW。可以通过重复TLP前缀来提供额外数据的空间。
  • 如果Fmt和Type字段的值指示存在本地TLP前缀,则根据本地TLP前缀处理(见第2.2.10.1节)。 如果Fmt和Type字段的值指示存在端到端TLP前缀,则根据端到端TLP前缀处理(见第2.2.10.2节)。

2.2.10.1 本地TLP前缀处理

以下规则适用于本地TLP前缀:

  • 本地TLP前缀类型使用Type字段的子字段L[3:0]确定。
  • Type[4]必须为0b。
  • 本地TLP前缀L[3:0]值在表2-36中定义

  • 每个本地TLP前缀类型的大小、路由和流量控制规则是特定的。
  • 接收到不支持的本地TLP前缀类型的TLP是一个错误。如果设置了扩展Fmt字段支持位,除非在另一规格中明确另有规定,违反此规则的TLP将被视为畸形TLP。这是一个与接收端口相关联的报告错误(见第6.2节)。如果清除了扩展Fmt字段支持位,行为是设备定义的。
  • 即使底层TLP受到ECRC(错误校验和)保护,也没有本地TLP前缀受到ECRC保护。

2.2.10.1.1 厂商定义的本地TLP前缀

如表2-36所述,类型VendPrefixL0和VendPrefixL1被保留用作厂商定义的本地TLP前缀。为了最大化互操作性和灵活性,对此类前缀应用了以下规则:

  • 组件不得发送包含厂商定义的本地TLP前缀的TLP,除非已明确使能(使用厂商特定的机制)。
  • 支持任何厂商定义的本地TLP前缀使用的组件必须支持Fmt字段的3位定义,并设置扩展Fmt字段支持位(见第7.5.3.15节)。
  • 建议组件可以配置(使用厂商特定的机制),以便可以使用两种厂商定义的本地TLP前缀编码发送所有厂商定义的前缀。这样的配置不需要对称(例如,链路的每个端点可以使用不同的编码传输相同的前缀)。

2.2.10.2 端到端TLP前缀处理

 以下规则应用于端到端前缀

  • 端到端TLP前缀类型使用Type字段的子字段E[3:0]确定。
    • Type[4]必须为1b。
    • 端到端TLP前缀E[3:0]值在表2-37中定义。

 

  • TLP中允许的端到端TLP前缀的最大数量为4:
    • 支持TLP前缀的接收器必须检查此规则。如果接收器确定TLP违反了此规则,则TLP是畸形TLP。这是一个与接收端口相关联的报告错误(见第6.2节)。
  • 端到端TLP前缀的存在不会改变TLP的路由。TLP的路由基于第2.2.4节中涵盖的路由规则。
  • 功能通过设备能力2寄存器(Device Capabilities 2 register)中的最大端到端TLP前缀字段(Max End-End TLP Prefixes field)来指示它们支持多少端到端TLP前缀(见第7.5.3.15节)。
    • 对于根端口,最大端到端TLP前缀字段允许返回一个值,该值表明支持的端到端TLP前缀比根端口硬件实际实现的少;然而,错误处理语义仍必须基于字段中包含的值。接收到的TLP如果包含的端到端TLP前缀比根端口支持的多,必须如下处理。建议将请求作为不支持的请求处理,但其他情况下必须作为畸形TLP处理。建议将完成作为意外完成处理,但其他情况下必须作为畸形TLP处理。对于入端口接收的TLP,这是一个与入端口相关联的报告错误。对于内部接收以通过出端口传输的TLP,这是一个与出端口相关联的报告错误。见第6.2节。
    • 对于所有其他功能类型,如果接收到的TLP包含的功能支持的端到端TLP前缀多于功能支持的,必须将TLP作为畸形TLP处理。这是一个与接收端口相关联的报告错误(见第6.2节)。
    • 如果支持高级错误报告(Advanced Error Reporting  AER),则按第6.2.4.4节中指定的发生进行AER记录。
  • 如果设置了端到端TLP前缀支持位,则Switch必须支持转发最多带有4个端到端TLP前缀的TLP。
  • 不同根端口如果设置了端到端TLP前缀支持位,允许报告不同的最大端到端TLP前缀值。
  • 如果底层TLP受到ECRC(错误校验和)保护,则所有端到端TLP前缀都受到ECRC保护。
  • 如果不支持端到端TLP前缀的接收器接收到带有端到端TLP前缀的TLP,则是一个错误。违反此规则的TLP将被视为畸形TLP。这是一个与接收端口相关联的报告错误(见第6.2节)。
  • 软件应确保不要向不支持它们的组件发送包含端到端TLP前缀的TLP。如果组件的扩展Fmt字段支持位被清除,可能会误认为TLP包含TLP前缀。
  • 如果上游端口的一个功能具有设置的端到端TLP前缀支持位,则该上游端口的所有功能必须将收到的包含不支持的端到端TLP前缀类型的请求作为不支持的请求来处理。这是一个与接收端口相关联的报告错误(见第6.2节)。
  • 如果上游端口的一个功能具有设置的端到端TLP前缀支持位,则该上游端口的所有功能必须将收到的包含不支持的端到端TLP前缀类型的完成作为意外完成来处理。这是一个与接收端口相关联的报告错误(见第6.2节)。
  • 对于路由元素,每个出口端口中的端到端TLP前缀阻塞位决定是否可以通过该出口端口传输包含端到端TLP前缀的TLP(见第7.5.3.16节)。如果转发被阻塞,则整个TLP被丢弃,并且报告一个TLP前缀阻塞错误。如果被阻塞的TLP是一个非转发请求,出口端口返回一个具有不支持请求完成状态的完成。TLP前缀阻塞错误是与出口端口相关联的报告错误(见第6.2节)。
  • 对于启用了多播的路由元素(见第6.14节),端到端TLP前缀在TLP的所有多播副本中复制。多播包的TLP前缀出口阻塞在每个出口端口独立执行。

2.2.10.2.1 厂商定义的端到端TLP前缀

如表2-37所述,类型VendPrefixE0和VendPrefixE1被保留用作厂商定义的端到端TLP前缀。为了最大化互操作性和灵活性,对此类前缀应用了以下规则:

  • 组件不得发送包含厂商定义的端到端TLP前缀的TLP,除非已明确使能(使用厂商特定的机制)。
  • 建议组件可以配置(使用厂商特定的机制)以使用两种厂商定义的端到端TLP前缀编码。这样做允许在单个PCI Express拓扑内同时使用两种不同的厂商定义的端到端TLP前缀,而不需要每个源都理解它发送的每个TLP的最终目的地址。

2.2.10.2.2 支持端到端TLP前缀的根端口

根端口之间支持包含端到端TLP前缀的TLP的点对点路由是可选的,并且取决于硬件设计。如果根复合体(RC)支持两个或更多根端口之间的端到端TLP前缀路由能力,它必须通过设备能力2寄存器中的端到端TLP前缀支持位在每个相关根端口中指示该能力。

RC不需要支持具有设置端到端TLP前缀支持位的所有根端口对之间的端到端TLP前缀路由。需要在不支持的根端口对之间路由的带有端到端TLP前缀的请求必须作为未知请求(UR)处理。需要在不支持的根端口对之间路由的带有端到端TLP前缀的完成必须作为意外完成(UC)处理。在这两种情况下,错误都由“发送”端口报告。

任何支持由主机软件或根复合体集成端点(RCiEPs)发起的带有端到端TLP前缀的TLP转发的根端口,都必须设置端到端TLP前缀支持位。任何支持将带有端到端TLP前缀的TLP从其入口端口转发到RCiEPs的根端口,都必须设置端到端TLP前缀支持位。

不同根端口如果设置了端到端TLP前缀支持位,允许报告不同的最大端到端TLP前缀值。

当执行根端口之间的点对点路由时,如果根复合体(RC)将TLP分割成更小的TLP,它必须在每个较小的TLP中复制原始TLP的端到端TLP前缀(见第1.3.1节)。

 

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

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

相关文章

Echarts结课之小杨总结版

Echarts结课之小杨总结版 前言基础回顾框架sale框架代码: user框架基础代码: inventory框架基础代码: total框架基础代码: 基础设置1.标题(Title)2.图例(Legend)实现 3.工具提示(Tooltip)实现 4.X轴(X Axis) 和 Y轴(Y Axis)5.数据…

数据采集为什么会用到代理IP?

在数据采集中,代理IP是指通过使用代理服务器来隐藏或更改真实的IP地址,以访问目标网站或服务器。那么,数据采集为什么会用到代理IP呢?使用代理IP通常用于匿名地访问网站、绕过访问限制或提高数据采集的效率和安全性。 代理服务器作…

3d渲染的基本原理和流程是什么?渲染100邀请码1a12

3D渲染是把三维模型转化为二维图像的过程,通过它我们能得到逼真炫酷的图片效果,作为3D渲染人,我们需要了解很多知识,这里我们先介绍下它的基本原理和流程。 1、3D渲染的基本原理 3D渲染的基本原理是模拟光线在三维空间中的传播和…

银行业数据运营场景下的数据埋点方案

1、引言 随着金融科技的快速发展,银行业的数据运营变得日益重要。数据埋点作为数据收集的重要手段,对于银行业务的精细化运营、风险管理和产品迭代等方面起着至关重要的作用。本方案将针对银行业数据运营场景,设计一套完整的数据埋点方案&am…

算法-卡尔曼滤波之卡尔曼滤波的第一个方程:状态更新方程

通过一个例子来引出卡尔曼滤波的状态更新方程; 这里系统状态是金条的重量; 为了估计系统的状态,我们可以多次测量金条的重量,然后求平均值; 其中估计值是所有测量值的平均值; 由于我们使用的是静态模型&am…

css: 动态设置网格线

参考这个博客做了网格线&#xff1a; http://t.csdnimg.cn/y20vM 把网格颜色&#xff0c;宽高和透明度做成可配置项。 <e-collapse title"网格线" :expand"false"><t-form-item label"颜色"><el-color-picker v-model"fo…

如何在 Mac 上恢复已删除的文件

点击“删除”后立即后悔&#xff1f;不用担心。我们的教程介绍了如何恢复已删除的 Mac 文件、电子邮件、iTunes 音乐等&#xff0c;即使您没有 Time Machine 备份并且无需支付软件费用。 在 macOS 中丢失文件可能会非常痛苦&#xff0c;如果您是点击删除的人&#xff0c;情况会…

文件怎么转成二维码图片?长期使用的文件活码的制作方法

文件二维码是现在很常用的一种展现分享文件的方式&#xff0c;采用这种方式可以快速通过扫码的方式来查看文件内容&#xff0c;比如excel、word、ppt、pdf等文件格式都可以生成二维码之后在手机上预览内容。那么文件制作二维码的步骤是什么样的呢&#xff1f;下面就来教大家一招…

rabbitmq交换机,死信队列的简单例子

假设我们有一个场景&#xff0c;生产者有消息发到某个直连交换机&#xff0c;这个交换机上有两个队列分别存储两种类型的消息&#xff0c;但是与这两个队列相连的消费者太不争气了&#xff0c;处理消息有点慢&#xff0c;我们想5秒钟这个消息在队列中还没有被消费的话&#xff…

idea上如何新建git分支

当前项目在dev分支&#xff0c;如果想在新分支上开发代码&#xff0c;如何新建一个分支呢&#xff1f;5秒搞定~ 1、工具类选择git&#xff0c;点击New Branch 或者右下角点击git分支&#xff0c;再点击New Branch 2、在弹出的Create New Branch弹窗中&#xff0c;输入你的新分支…

Open AI再次定义AI PC?

从传统的文字交互&#xff0c;到语音和图像交互——Open AI再次提升了人们对AI PC的想象空间。 这种更贴近人类间交互的模式&#xff0c;会多大程度改变目前PC的生态&#xff1f; 随着苹果M4芯片、高通骁龙X的发布&#xff0c;AI PC也逐渐成为了市场热议的产品。 从各家PC厂…

‍♂️垃圾收集算法必看!学习指数满天星!!!

&#x1f435;看完这篇文章&#xff0c;希望你有点收获&#x1f697; 注意&#xff1a;看之前你需要对JVM有点了解。。。 首先&#xff0c;垃圾回收算法主要分有三种: 标记-清除算法 见名知意&#xff0c;标记-清除&#xff08;Mark-Sweep&#xff09;算法分为两个阶段&#…

高清SDI串行数字接口采集卡与传输编码器

随着科技的快速发展&#xff0c;我们正处于一个数字化、信息化的时代&#xff0c;各式各样的设备正成为人们工作和生活中必不可少的伙伴。今天&#xff0c;我要向大家介绍的是一款具有革命性意义的视频采集卡——LCC262。这款由灵卡技术团队精心打造的产品&#xff0c;集合了多…

越来越真的Deepfake再次引起网安界的关注

当地时间5月6日&#xff0c;全球网络安全领域最受关注的年度盛会 RSAC 2024在美国旧金山隆重开幕。当天&#xff0c;被誉为“安全圈奥斯卡”的创新沙盒大赛也决出了冠军&#xff0c;Reality Defender凭借其创新性的深度伪造&#xff08;Deepfake&#xff09;检测平台摘得桂冠&a…

MySQL用SQL取三列中最大的数据值

1、有如下数据&#xff1a; ABC000097.0600330.72330.720069.650027.8827.85086.92086.92219.42219.4219.41 需要展示为如下形式&#xff1a; ABC结果列0000097.06097.060330.72330.72330.7200669.65009.6527.8827.85027.8886.92086.9286.92219.42219.4219.41219.42 解决办…

IP代理中的SOCKS5代理是什么?安全吗?

在互联网世界中&#xff0c;网络安全和个人隐私保护变得日益重要。SOCKS5代理作为一种安全高效的网络工具&#xff0c;不仅可以保护个人隐私安全&#xff0c;还可以提供更稳定、更快度的网络连接。本文将带大家深入了解SOCKS5代理在网络安全领域中的应用。 什么是SOCKS5代理 …

肺部营养“救星”,让每次呼吸更自由

​#肺科营养#朗格力#班古营养#复合营养素#肺部营养# 正常的健康人,每天自由幸福的呼吸。但是对于肺病患者来说,特别是慢阻肺人群,每一次呼吸都可能是一场挑战,每一口气都显得弥足珍贵。 肺病患者号称沉默的“呼吸杀手”,它虽然沉默,但不代表它没能力,除了引起肺功能下降,氧气…

智慧安防监控EasyCVR视频汇聚管理平台视频播放花屏的原因分析及处理

智慧安防监控EasyCVR视频管理平台能在复杂的网络环境中&#xff0c;将前端设备统一集中接入与汇聚管理。国标GB28181协议视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、…

Python多任务

进程 1. 进程的概念 一个正在运行的程序或者软件就是一个进程&#xff0c;它是操作系统进行资源分配的基本单位&#xff0c;也就是说每启动一个进程&#xff0c;操作系统都会给其分配一定的运行资源(内存资源)保证进程的运行。 比如:现实生活中的公司可以理解成是一个进程&a…

乡村振兴与乡村旅游深度融合:依托乡村自然和文化资源,发展乡村旅游产业,促进农民增收致富,打造特色美丽乡村

目录 一、引言 二、乡村振兴与乡村旅游的内在联系 三、依托乡村自然和文化资源发展乡村旅游产业 &#xff08;一&#xff09;挖掘乡村自然资源优势&#xff0c;打造特色旅游品牌 &#xff08;二&#xff09;挖掘乡村文化资源内涵&#xff0c;丰富旅游活动内容 四、促进农…