Lane和Link
我们常说某个PCIe链路是X4、X8的,到底表示什么意思呢?
从协议看,协议定义了Link和Lane。
Link
: The collection of two Ports and their interconnecting Lanes. A Link is a dualsimplex communications path between two components.
Lane
: A set of differential signal pairs, one pair for transmission andone pair for reception. A by-N Link is composed of N Lanes.
还是有图有真相,如图:
所谓的Lane,是指一组差分信号的组合,包括发送和接收。一个发送方向的差分信号包括TX+和TX-两条线,接收亦然。所以一条lane有四条物理连线。发送和接收是同时进行的,故为全双工。
所谓的Link,是指两个PCIe部件的链接,通常是由端口和lane组成。(通常有多条lane)比如我们有一个X2的链路,意思是指这条链路是两条lane组成,一共8条物理连线。链路上传送的是编码之后的数据,比如Gen1/Gen2所采用的8b/10b编码,Gen3之后改成了128b/130b编码。Link初始化以及link建立过程(或者称之为链路训练,Link Training)是在设备上电或者链路重新建立链接是发生的。
多条lane组成的link,有效的扩展了link的带宽。Lane的初始化和多条lane的组合优化,是在link的初始化训练过程(Link Training)中实现的。
思考:
可以任意条lane组成一个link么?
lane0和lane1可以交换顺序交叉连接么?
上期问答:
Switch只能有一个上行口么?
不一定。支持Virtual switch功能的情况下,可以有多个上行口。
Switch的端口划分是固定的么?
不是。通常Switch的端口划分是按一定规则可以灵活配置的。