首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PCIe的TLP(Transaction Layer Packet)结构

主机与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 进行传输。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220323A06F2F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券