2.2事务层的通用帧头介绍(一)



内容简介

2024-01-21

PCIE事务层帧头分为通用部分和不同事务的特有帧头。主要是介绍PCIE事务层通用帧头部分内容,由于设计内容较多,所以分为了两篇。

    如下图是PCIE协议事务层Header部分描述,PCIE支持64bit 和32bit两种地址格式,即短地址和长地址。我们发现短地址的header占用3个32bit,长地址的header占用4个32bit,这也就是PCIE所谓的3DW和4DW。

    第二行内容是根据不同事务类型来定的,第一行则是通用的,所有的PCIE事务层共有的一种格式。接下来我们首先介绍下这个通用格式,也就是PCIE3.0的2.2.1内容。

    如下图是所有TLP数据包所具有的帧头,也就是最前面的32bit。

01

FMT

    即Format of TLP,这是一个3bit数,用来确定TLP的格式。注意是格式也就是3DW和4DW,不是类型,如下表所示。Fmt与下面的type配合就可以表示PCIE支持的所有类型了。

02

TYPE

    这个一个5bit数据,是用来表示传输类型的,与fmt结合,就确定了数据包的属性。PCIE的事务类型有存储、I/O、配置和消息但完成这些事务类型的数据交换有多种数据包,具体如下图所示。手机看这个图片有点费眼,大家可以到FPGAUP网来看。


03

TC

    位宽3bit,是Traffic Class的缩写。表示事务的优先级,默认是0,数越大优先级越高。但对它的理解并不是我们通常所说的的优先级,是和虚拟通道有关系的。PCIE总线支持虚拟通道,也就是VC(Virtual Channel)技术,优先级不同的数据报文可以使用不同的虚拟通路,每一路虚通路可以独立设置缓冲,从而可以使得优先级高的有限传输。这也解决了服务质量的问题。默认是0,因为大多EP是没有该功能的。

NEWS

题外话

服务质量,即Quality of Service(QoS),百度百科说是指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。重点就是解决网络延迟和阻塞,PCI是没有该功能的

总结来说:

1、TC机制是为了实现流量(数据包)的差异化服务而引入的,不同的数据包可以具有不同的优先级,通过TC对这些优先级标记,以便在整个传输过程中灵活管理

2、虚拟通道是一种机制会在后文阐述,QoS的实现方法就是根据TC将数据包划分到不同的通道里面






快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我

<