PCIe如何以洪荒之力称霸武林?

简介: 目前PCIe接口协议应用非常广泛,比如企业级服务器,个人电脑,通讯系统以及一系列的工业应用。

在很久很久以前,总线标准依然是PCI(Peripheral Component Interconnect)和PCI-X。物竞天择,PCI和PCI-X最终进化为了新一代的总线标准PCIe (Peripheral Component Interconnect Express)。从PCIe中“express”这个单词就可以看出来,PCIe的优势就是速度的革命性升级。

目前PCIe接口协议应用非常广泛,比如企业级服务器,个人电脑,通讯系统以及一系列的工业应用。PCIe摒弃了陈旧的并行总线架构,采用了基于点对点(point to point)的技术,通过分离的串行链路(serial links)连接设备到主机(host). 其实,这里的主机并不是主机真身,而是主机的秘书,我们称主机的秘书称为Root complex。

如PCIe架构所示,Root Complex 负责host与PCIe设备之间事务处理。Switch接口可以扩展多个PCIe设备。


为了提速,PCIe支持全双工传输。在这里我们再简单介绍全双工的概念。


全双工是通讯传输里面的一个术语,全双工的概念是指通讯可以双向同时发生。比如设备A->设备B和设备B->设备A可以同时传输。更通俗一点的例子,就好比在宽阔的柏油马路上,如果有相向的两辆车通过时,不需要等待。假设在狭窄的小道上,如果两辆车通过的话,就需要一辆一辆排队通过,此时的情况称为半双工。

设备A->设备B和设备B->设备A这样一个传输的回路称为Lane。设备A->设备B和设备B->设备A各由一组差分信号组成。如下图,


设备A和设备B之间的传输通道,称为Link,一个Link允许1,2, 4, 8, 16, 32个Lane组成。Lane的数目代表Link的传输宽度(x1, x2, x4, x8, x16, x32)。



目前主流的主板上一般有PCIe x4, x8, x16三个插槽(以Gigabyte Z170-UD3为例)。


随着对数据传输速度的要求越来越苛刻,PCIe协议已经升级到第5代,PCIe5.0,同时PCIe 6.0也在酝酿中。


PCIe是一种封装分层协议(packet-based layered protocol),主要包括事务层(Transaction layer), 数据链路层(Data link layer)和物理层(Physical layer)。

(1)事务层(Transaction layer):事务层主要负责数据/状态信息传输前的封装和数据/状态信息接受后的拆封。事务层的封装包称为TLP(Transaction Layer Packet)。


(2)数据链路层(Data link layer): 数据链路层负责TLPs的排序以及错误检查(LCRC),确保数据传输的可靠性。


(3)物理层(Physical layer):物理层包括逻辑物理层和电学物理层两部分。逻辑物理层负责数据包传输到Link/数据链路层前的处理。电学物理层是物理层的模拟接口,包括了差分信号驱动和接收器。


这里简单的介绍了每一层的概念,数据在PCIe每层之间具体的传输方式在后续文章详细介绍,敬请关注,感谢!

相关文章
|
机器学习/深度学习 安全 量子技术
超哈佛、灭剑桥!杨元庆捐的这套1亿超算有多厉害?
超哈佛、灭剑桥!杨元庆捐的这套1亿超算有多厉害?
284 0
超哈佛、灭剑桥!杨元庆捐的这套1亿超算有多厉害?
|
自动驾驶 架构师 芯片
芯片大神离职特斯拉,马斯克造芯梦碎可能会抱黄仁勋大腿
昨天,特斯拉自动驾驶主管Jim Keller宣布离职。Jim Keller是芯片大神,曾是AMD的K8首席架构师,在苹果公司设计了A4、A5两代移动处理器。随着Jim Keller离开,特斯拉的芯片研发或许还要长期依靠英伟达。
1871 0