我们知道,从数据链路层下来的数据流(TLP/DLLP)需要经过一个编码,一个字节8bit编码后变为10bit,这个10bit我们称之为Symbol,中文称之为符号,也有很多文章叫字符,为了统一,本文也称之为字符,因为是数据编码,我们称之为数据字符,表示为Dxx.y;
物理层本身还有一些控制字符,表示为Kxx.y,其中的xx表示为低5位,y表示高3位,如数据0x23(001 00011)的数据字符表示D3.1;
物理层常用的控制字符如下表所示:
STP(start of TLP)控制字符表示后续跟着的是一个TLP报文,SDP(start of DLLP)表示后续跟着的是一个DLLP报文,结束符END/EDB前面已经讲过了,其他的COM,PAD,SKP,FTS.IDL控制字符都是物理层本身用于链路训练使用;
注意:上述一级后面物理层相关的,我们讨论的都是gen1,gen2为准,gen3以及以后更改了编码方式和部分控制字符,略有不同,但并不影响我们对协议整体理解,因为协议规定,链路训练首先要求双方都从gen1开始;