Link的速率在初始化以后确定,所有lane的信号速率一样。如PCIe 3.0情况下,每条lane每秒每个方向都提供8G的带宽。假设是X4的Link,则链路每个方向的带宽为32GT/s(8.0X4)。

       Link的初始化和协商,确定lane宽度以及速率,是不需要操作系统或者软件参与的,纯粹是芯片的硬件行为。

       协议定义的允许的宽度组合为x1, x2, x4, x8, x12, x16, 以及x32 Lane。每条Link至少有一个lane。例如,常见的SSD的上的M.2和U.2(SFF-8639)提供了x2的PCIe link。(注:新的协议已经有支持x4)。x32的link由于物理尺寸太过庞大,一般情况下并不使用。

PCIe链路是没有边带信号的,当然也没有单独的时钟线。PCIe的时钟是编码嵌入在link里的。接收端依靠同样的逻辑解析出时钟和数据。

对于每一条lane上的差分信号,差分信号的电压(D+减D-)大约在800mV~1.2V之间。对于D+或者D-的单端电压大约在400-600mV之间。

思考:

数据在不同的lane上,是怎么分配传输的?


上期问答:

 可以任意条lane组成一个link么?

不可以。协议规定了只能是x1, x2, x4, x8, x12, x16, x32。

 lane0和lane1可以交换顺序交叉连接么?

 可以。协议上这种特性叫Lane Reversal。不过需要注意的是,这个是可选特性,不是每个设备都支持的。

4 对 “关于Link的更多理解”的想法;

    1. Port是switch/RC相关的概念,link是port、port之间,或者port、device之间的链路。function是device的一个功能。

发表回复

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