事务描述符-属性字段
Attributes字段用于提供允许修改事务的默认处理的附加信息。这些修改适用于处理系统内事务的不同方面,例如:
•排序
•硬件一致性管理(snoop)
注意,属性是允许在处理流量时进行优化的提示。支持级别取决于特定PCI Express外设和平台构建块的目标应用程序。
宽松排序和基于id的排序属性
Attribute bit [1]不适用Configuration Requests, I/O Requests, 消息信号中断的 Memory Requests, 和 Message Requests(特别允许的情况除外),必须清零。
Attribute bit [2],IDO,对 Configuration Requests 和 I/O Requests 保留。IDO 对所有 Memory Requests,包括消息信号中断 (MSI/MSI-X), 都不是保留字段。除非特别禁止,否则 IDO在 Message Requests不是保留字段。只有当 Device Control 2 寄存器中的 IDO Request Enable 位被设置时,才允许 Requester 设置 IDO。
当确定一个TLP是否是畸形报文时,接收方不能考虑IDO位的值。
只有当 Device Control 2 寄存器中的 IDO Completion Enable 位被设置时,才允许 Completer 设置 IDO。Completer 无需将 IDO 值从 Request 复制到该 Request 的 Completion(s) 中。如果 Completer 已启用 IDO,建议 Completer 为所有完成设置 IDO,除非有特殊原因。
支持在 Root Complex 之间点对点转发 TLP 的 Root Ports 无需保留从入口端口到出口端口的 IDO 位
No Snoop属性
注意,No Snoop属性不会改变Transaction顺序。
此属性不适用于配置请求,I/O请求,消息信号中断的内存请求和消息请求(除非特别允许),必须清除此属性
事务描述符-流量类字段
流量分类(TC)是一个3位字段,它允许将事务区分为8个流量分类。
与PCI Express虚拟通道支持一起,TC机制是实现差异化流量服务的基本元素。每个PCI Express事务层包使用TC信息作为在PCI Express结构中端到端携带的不变标签。当数据包穿越fabric时,此信息被用于每个Link和每个Switch元素中,以做出有关流量的适当服务的决策。服务的一个关键方面是通过相应的虚拟通道根据其TC标签对数据包进行路由。
系统软件负责确定 TC 标签和 TC/VC 映射,以提供符合目标平台要求的差异化服务。
流量类别的概念仅适用于 PCI Express 互连结构