PCIe扫盲——DLLP(数据链路层包)详解
1赞
发表于 4/16/2018 8:42:52 PM
阅读(17481)
目录篇地址为:http://blog.chinaaet.com/justlxy/p/5100053481
首先说明一下,在本次连载的博文中,DLLP一般指的是由发送端的数据链路层发送,接收端的数据链路层接收的数据包,其和事务层(Transaction Layer)一般没有什么关系。本文将要介绍的DLLP指的正是这样的数据包,其一般用于Ack/Nak机制、功耗管理、Flow Control(流量控制)和一些厂商自定义用途等。示意图如下:
DLLP的格式是固定的,一共有8个字节,包括Framing(SDP & END)。和TLP不一样的地方是,DLLP并未携带任何路由信息,原因很简单,因为DLLP只在相邻的两个设备的数据链路层之间通信,根本不需要路由。并且DLLP一般也不需要和事务层交换信息。
注:前面文章中介绍的Flow Control、Ack/Nak等都是针对TLP,并不会对DLLP产生影响。但是这些功能正是借助DLLP才得以实现的。
DLLP的一般格式如下图所示:
DLLP的类型与目标应用如下表所示:
其中,用于Ack/Nak的DLLP的格式如下:
用于功耗管理(Power Management)的DLLP的格式如下:
用于Flow Control的DLLP的格式如下:
厂商自定义的DLLP的格式如下: