收藏本站在线留言网站地图

您好,欢迎来到深圳联乐实业有限公司官网
咨询热线

400-888-2720

联乐实业

工业存储/工业电脑服务商

18年专注高可靠性工业存储产品及解决方案

PCIe的TLP(Transaction Layer Packet)结构

返回列表 来源: 发布日期: 2022.03.19

PE5020220225


主机与PCIe设备之间,或者PCIe设备与设备之间,数据传输都是以 Packet形式进行发送端的事务层到接收端的事务层的传输。根据上层(软件层或者应用层)请求(Request)的类型、目的地址和其他相关属性,把这些请求打包,产生TLP(Transaction Layer Packet,事务层数据包)。然后这些TLP往下,经历数据链路层、物理层,最终到达目标设备,下面来看看PCIe的TLP结构:


1


TLP主要由三部分组成:Header、Data和CRC(可选)。TLP都是始于发送端的事务层(Transaction Layer),终于接收端的事务层。每个TLP都有一个Header,跟人类一样,没有头就中止了生命,所以TLP可以没手没脚,但绝不能没有头。事务层根据上层请求内容,生成TLP Header。Header内容包括发送者的相关信息、目标地址(该TLP要发给谁)、TLP类型(诸如前面提到的Memory Read、 Memory Write之类的)、数据长度(如果有的话)等。

PE32PE50.fw


Data Payload 域,用以放有效载荷数据。该域不是必需的,因为不是每个TLP都一定携带数据,比如Memory Read TLP,它仅仅是一个请求,数据是由目标设备通过 Completion TLP 返回的。一个 TLP 最大载重是4KB,数据长度大于4KB的话,就需要分几个 TLP 进行传输。


1

ECRC(End to End CRC)域,它对之前的Header和Data(如果有的话)生成一个CRC在接收端根据收到的TLP重新生成Header和Data(如果有的话)的CRC,与收到的CRC比较,一样则说明数据在传输过程中没有出错,否则就有错。它也是可选的,完全可以设置不加CRC。

联乐实业,工业存储/工业电脑服务商,17年专注高可靠性工业存储产品解决方案服务商!详情进入www.univo.com.cn或垂询400-888-2720