我们常说某个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的端口划分是按一定规则可以灵活配置的。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注