Physical Layer
物理层(Physical Layer)是PCIe三层模型中的最下面一层。向上即是数据链路层,向下则为物理链路。物理层是整个PCIe的底座,底座不稳,上层自然动摇。实际经验中,大量的相关问题,如协商问题、降速、降lane、误码等,都发生在这一层。而且,很多物理层的error会影响数据链路层和事务层,甚至逐步故障扩散,导致设备工作异常、系统挂死、蓝屏死机等等。
从功能的角度看,可以分为两个部分,逻辑上的处理和物理电气信号的处理。
物理层的主要功能包括:
- 发送端:从数据链路层接收数据,经过并串转换,通过物理链路发送数据。
- 接收端:从物理链路接收数据,经过串-并转换,转发给数据链路层。
编解码(Gend1和Gen2使用8b/10b编码,而Gen3之后使用128b/130b编码) - 差分信号的发送和接收。
- 生成物理层报文PLP(Physical Layer Packet)。
- 链路初始化和链路训练(Link Training),也就是两个设备间建立link。包括大名鼎鼎的LTSSM(Link Training and Status State Machine)。
顺便说一下,物理层并不局限于使用PCB、金手指连接,线缆甚至光纤也可以作为底层的传输介质。