1.4.1 TLP 的结构
通用 TLP 头的格式:下图展示了一个 3DW 头的格式内容。
头字段 |
头位置 |
字段用途 |
Lenth[9:0] |
字节3的7:0 字节2的1:0 |
TLP 数据有效载荷的传送大小,以DW为单位,最大为 1024 DW。编码:00 0000 0001b = 1DW;00 0000 0010b = 2DW;…;11 1111 1111b = 1023DW;00 0000 0000b = 1024W |
Attr |
字节2的比特5:4 |
bit5:灵活的顺序,设置为1时,对于此TLP,允许使用PCI-X的灵活顺序。设置为0,则使用PCI的严格顺序。 bit4:不侦测,设置为1时,表明请求者对于此TLP不存在主机缓存一致性的问题。引起处理器缓存侦测一致性不需要系统硬件,设置为0时,要求进行PCI类型的缓存侦测保护 |
EP(中毒数据) |
字节2的比特6 |
设置为1时,尽管允许正常完成事务,但伴随此数据应该是被认为时无效的 |
TD(摘要字段存在) |
字节2的比特7 |
如果设置为1,可选的一个双字的TLP摘要字段要包含在TLP中,而且该TLP包含ECRC值。 |
TC(流量类别)[2:0] |
字节1的比特6:4 |
000b=流量类别0(默认) 111b=流量类别7 |
Tpye[4:0](类型) |
字节0 的比特4:0 |
编码此TLP使用的事务变体。类型字段和Fmt[1:0]字段用来指定事务的类型、头的大小、数据有效载荷是否存在等。 |
Fmt[1:0](格式) |
字节0的比特6:5 |
编码有关头大小以及数据有效载荷是否该TLP的一部分等信息:00b-3DW头,没有数据;01b-4DW,没有数据;10b-3DW头,有数据;11b-4DW头,有数据 |
第一个DW字节允许 |
字节7的比特3:0 |
这4个比特一对一映射到有效载荷第一个双字中的各字节。 比特3=1:第一个双字中的字节3有效,否则无效; 比特2=1:第一个双字中的字节2有效,否则无效; 比特1=1:第一个双字中的字节1有效,否则无效; 比特0=1:第一个双字中的字节0有效,否则无效。 |
最后一个DW字节允许 |
字节7的比特7:4 |
这4个比特一对一映射到有效载荷最后一个双字中的各字节。 比特3=1:最后一个双字中的字节3有效,否则无效; 比特2=1:最后一个双字中的字节2有效,否则无效; 比特1=1:最后一个双字中的字节1有效,否则无效; 比特0=1:最后一个双字中的字节0有效,否则无效。 |
1.4.2 头类型/格式字段的编码
1.4.3 事务描述符字段
1.4.4 IO 请求
字段名 |
头字节/比特 |
用途 |
Lenth[9:0] |
字节3的比特7:0 字节2的比特1:0 |
DW为单位,数据有效载荷的大小。对于IO请求,这个字段总为1。 |
Attr[1:0] |
字节2的比特5:4 |