1 PCIe 6.0入门之事务层报文格式-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCIe 6.0入门之事务层报文格式

jf_78858299 来源:知芯有道 作者:知芯有道 2023-05-22 17:32 次阅读

PCIE 6.0 (四)

事务层报文格式

⊙transaction layer

作为协议的最高层,事务层的主要功能是:

• 流水线式完整拆分交易协议

• 区分事务层数据包 (TLP) 的排序和处理要求的机制

• 基于credit的流量控制

• 可选支持数据中毒和端到端数据完整性检测

0****1

**###

Transaction Descriptor

**

事务描述符是一种在请求方和完成方之间携带事务信息的机制。通过事务描述符TL层才知道要如何处理这些报文。在整个事务描述符由三个字段组成:

• Transaction ID—识别未完成的交易

• Attributes field — 指定事务的特征

• Traffic Class (TC) field — 将交易与所需服务类型相关联

Transaction ID

下图显示事务描述符的字段。 这些字段在数据包标头中不连续。

图片

在架构上,Tag[13:0] 是由每个请求者生成的 14 位字段,表示一次pcie的通信TLP 的序号。对于所有需要完成该请求者 ID 的未完成请求,它必须是唯一的。TAG的大小决定了事务层传输事务的数量的大小,相比于PCIE 5.0支持10bit tag,PCIE 6.0可以支持14bit tag,事务的数量扩大了16倍, PCIE 6.0 的协议中有具体的规定,哪些情况下可以支持14bit TAG,小编在此就不详细列出了。

Requester ID 字段包含“生成这个 TLP 报文”的 PCIe 设备的总线号(Bus Number)、设备号(Device Number)和功能号(Function Number),对于存储器写请求 TLP,Requester ID 字段并不是必须的。但是 PCIe 总线规范并没有明确说明存储器写请求 TLP 究竟需不需要 Requester ID 字段,为此 IC 设计者依然需要将存储器写 TLP 的 Requester ID 字段置为有效。

对于 Non-Posted 数据请求,目标设备需要使用完成报文做为回应。在这个完成报文中,需要使用源设备的 Requester ID 字段。因此在 Non-Posted 数据请求 TLP 中,如存储器读请求、I/O 和配置读写请求 TLP,必须使用 Requester ID 字段。

Attributes field

Attributes 字段用于提供附加信息,允许修改 Transactions 的默认处理。 例如:

• 排序 (ordering)

(PCIE中报文是有优先级的,不同的报文有不同的优先级,order功能就是用来计算如何让优先级高的报文先进行传输,并且不打乱在链路中其他报文的顺序,后面会和大家介绍order的功能)

硬件一致性管理 (snoop)

Attributes是允许但不需要优化流量处理的提示。 优化支持的级别取决于特定 PCI Express 外设和平台构建块的目标应用。 在Flit Mode中,Attributes在 TLP 报头中是连续的。 在 Non-Flit Mode 中,Attributes bit 2 有时标记为 A2,并且与bit 1 和 0 不相邻。

图片

Traffic Class (TC) field

流量类别 (TC) 是一个 3 位字段,允许将事务区分为八个流量类别。

与 PCI Express 虚拟通道支持一起,TC 机制是实现差异化流量服务的基本要素。 每个 PCI Express 事务层数据包都使用 TC 信息作为在 PCI Express 结构中端到端携带的不变标签。 当数据包穿过结构时,此信息将在每个链路和每个交换机元素内使用,以做出有关正确提供流量服务的决策。 服务的一个关键方面是根据 TC 标签通过相应的虚拟通道路由数据包。

0****2

**## Completion Rules

**

图片

在TL层传输中报文可以根据类型分为P(post), np(non-post), cpl报文。P报文指的是报文发出去需要等待接收方发回已经接收到的响应,才能进行下一步处理的报文(eg:所有的Read报文, Non-Posted Write, DMWR, and AtomicOp )。CPL报文就是响应报文。NP则是不需要等待响应回来就可继续向下发送。

Completion Rules for Non-Flit Mode

图片

CPL按照ID进行路由,并使用 3 DW 标头。

◦ 请注意,路由 ID 字段直接对应于随相应请求提供的请求者 ID。 因此,对于完成,这些字段将统称为请求者 ID,而不是通常用于 ID 路由的不同字段。

• 除了包含在所有 TLP 中的报头字段和 ID 路由字段外,Completions 还包含以下附加字段(参见§ 图 2-73):

◦ Completer ID[15:0] - 标识完成者

◦ Completion Status[2:0] - 指示完成状态

图片

◦ BCM - 已修改的字节数 - 该位不得由 PCI Express 完成者设置,只能由 PCI-X 完成者设置

◦ Byte Count[11:0] - 请求的剩余字节数

◦Tag[9:0] - 结合 Requester ID 字段,对应于 Transaction ID。 在 Non-Flit Mode 中,Tag 字段为 10 位。

◦ Lower Address[6:0] - 完成起始字节的低字节地址

Completion Rules for Flit Mode

图片

在 Flit 模式中,CPL 的规则与 Non-Flit 模式中的相同,但域断定义有一些不一样。 在 Flit Mode 中,Completions 必须使用 Completion Header Base。在 Flit Mode 中,Tag 字段为 14 位。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163759
  • PCIe
    +关注

    关注

    15

    文章

    1234

    浏览量

    82574
  • TL
    TL
    +关注

    关注

    0

    文章

    39

    浏览量

    26466
收藏 人收藏

    评论

    相关推荐

    PCIe可以添加哪些定位手段?PCIe需要的debug设计

    如图所示,PCIe IP作为endpoint与RC对接,用户实现了应用逻辑,与PCIe IP进行交互,交互信号中data格式为TLP报文格式,且交互信号包含相应的控制信号,例如
    的头像 发表于 02-26 18:19 1342次阅读

    百问MQTT协议分析 - MQTT简述及协议报文格式组成

    城市、远程医疗、远程教育 g)电力、石油与能源等行业市场 16.2 mqtt协议报文格式组成 16.2.1 mqtt控制报文结构 MQTT 协议通过交换预定义的 MQTT 控制报文来通信。 这一节描述
    发表于 12-13 09:29

    荣小菜补钙记第43期:报文合成与解析之字的合成与分解

    。假设报文格式如下图所示,整个报文包包含4个字,每个bit组合均代表不同的涵义。下面我们根据该报文格式进行报文合成和报文解析。
    发表于 08-26 20:33

    Delphi教程之事务工作原理

    Delphi教程之事务工作原理,学习Delphi的必备资料。
    发表于 03-31 11:29 2次下载

    tcp报文格式详解

    TCP(Transmission ControProtocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议。TCP报文是TCP层传输的数据单元,也称为报文段。
    发表于 12-08 11:11 3.3w次阅读
    tcp<b class='flag-5'>报文格式</b>详解

    数据库设计开发技术案例教程之事务控制与锁定

    本文档的主要内容详细介绍的是数据库设计开发技术案例教程之事务控制与锁定主要内容包括了:1,事务的概念及分类 2,事务的简单操作 3,锁的分类 4,死锁的处理
    发表于 01-11 11:20 3次下载
    数据库设计开发技术案例教程<b class='flag-5'>之事务</b>控制与锁定

    一种基于粗糙集聚类的报文格式推断方法

    报文聚类是报文格式推断的基础,现有的报文聚类方法大多以报文的全局相似性为聚类的标准,这类聚类方法的准确率往往不高,进而影响后续报文格式提取的
    发表于 04-25 11:45 3次下载
    一种基于粗糙集聚类的<b class='flag-5'>报文格式</b>推断方法

    网络协议栈:MQTT的报文格式解析

    在上一篇文章,直接在本地搭建了服务器和客户端,简单的实践了MQTT的用法。而这一篇来解析MQTT的报文格式。MQTT的报文字段很精简。但是解析起来还是有些复杂的。 解析报文最好的工具是采用
    的头像 发表于 05-13 14:06 5452次阅读
    网络协议栈:MQTT的<b class='flag-5'>报文格式</b>解析

    变频器报文格式解析

    PLC以通讯方式控制变频器正反转为例进行说明;在通讯参数都设置好之后,需要先断一下电,这样设置的参数才会生效,下面就是PLC要发送报文给变频器了。
    发表于 02-03 09:09 2836次阅读

    PCIe 6.0入门之什么是 PCIe 6.0

    PCI Express® 6.0 (PCIe® 6.0) 规范由 PCI-SIG® 于 2022 年 1 月发布。最新一代的 PCIe 标准带来了许多激动人心的新功能,旨在提高计算密集
    的头像 发表于 05-22 17:27 6422次阅读
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b><b class='flag-5'>入门</b>之什么是 <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b>

    PCIe 6.0入门之事务

    作为协议的最高层,事务层的主要功能是: • 流水线式完整拆分交易协议 • 区分事务层数据包 (TLP) 的排序和处理要求的机制 • 基于credit的流量控制 • 可选支持数据中毒和端到端数据完整性检测。
    的头像 发表于 05-22 17:30 3915次阅读
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b><b class='flag-5'>入门</b><b class='flag-5'>之事务</b>层

    Path延时测量相关报文格式介绍

    Pdelay_Req报文格式定义 如下图15所示为IEEE802.1AS定义的报文格式定义: 图15 Pdelay_Req报文格式定义 上图中header与SYNCMessage头信息定义
    的头像 发表于 07-24 10:45 1070次阅读
    Path延时测量相关<b class='flag-5'>报文格式</b>介绍

    modbus报文解析,modbus报文格式详解

    支持点对点和多点通信,可以实现控制器之间的通信。 Modbus报文是Modbus协议中的基本通信单位。Modbus报文包含一个头部和数据部分。头部包含了从站地址、功能码和数据长度等信息,数据部分包含了请求或响应数据。   1. 地址码(Address Code):指定通信
    的头像 发表于 01-09 16:45 5670次阅读

    CAN的报文格式和发送总流程

    在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
    发表于 04-11 10:07 9273次阅读
    CAN的<b class='flag-5'>报文格式</b>和发送总流程

    modbus报文解析,modbus报文格式详解

    支持点对点和多点通信,可以实现控制器之间的通信。 Modbus报文是Modbus协议中的基本通信单位。Modbus报文包含一个头部和数据部分。头部包含了从站地址、功能码和数据长度等信息,数据部分包含了请求或响应数据。 1. 地址码(Address Code):指定通信对象
    的头像 发表于 04-16 15:16 2511次阅读