金沙集团1991入口资讯
主机与PCIe设备之间,或者PCIe设备与设备之间,数据传输都是以 Packet形式进行发送端的事务层到接收端的事务层的传输。根据上层(软件层或者应用层)请求(Request)的类型、目的地址和其他相关属性,把这些请求打包,产生TLP(Transaction Layer Packet,事务层数据包)。然后这些TLP往下,经历数据链路层、物理层,最终到达目标设备,下面来看看PCIe的TLP结构:
TLP主要由三部分组成:Header、Data和CRC(可选)。TLP都是始于发送端的事务层(Transaction Layer),终于接收端的事务层。每个TLP都有一个Header,跟人类一样,没有头就中止了生命,所以TLP可以没手没脚,但绝不能没有头。事务层根据上层请求内容,生成TLP Header。Header内容包括发送者的相关信息、目标地址(该TLP要发给谁)、TLP类型(诸如前面提到的Memory Read、 Memory Write之类的)、数据长度(如果有的话)等。
Data Payload 域,用以放有效载荷数据。该域不是必需的,因为不是每个TLP都一定携带数据,比如Memory Read TLP,它仅仅是一个请求,数据是由目标设备通过 Completion TLP 返回的。一个 TLP 最大载重是4KB,数据长度大于4KB的话,就需要分几个 TLP 进行传输。
加入我们