浅谈PCIE科普

PCIe最初被称为HSI(用于高速互连),并在最终确定其PCI-SIG名称PCI Express之前,将其名称更改为3GIO(第三代I / O)。名为阿拉帕霍工作组(AWG)的技术工作组制定了该标准。对于初稿,特设工作组只包括英特尔工程师; 随后特设工作组扩大到包括行业伙伴。PCI Express是一项不断发展和完善的技术.

“速度得用金钱来换,因此我们在迈向更高信号速率的同时,会看到有多少人愿意为此付出代价,以及他们会怎么做。”好消息是,PCIe将按照时程在年底完成0.71版的批准,将提供高达256GB/s 的速率;这距离16 GT/s速率的4.0版PCIe问世还不到两年。加速PCIe发展蓝图的主要推手是云端运算需求;而PCIe以往是每3~4年,甚至是7年会将数据传输速率提升一倍。数据中心网络需要更快的速度以过渡至800Gbit以太网络,而数量越来越庞大的深度学习加速器,也感觉它们需要更高速度.

浅谈PCIe传输速率和有效带宽计算方式

PCIe是串行总线,PCIe1.0的线上比特传输速率为2.5Gb/s,物理层使用8/10编码,即8比特的数据,实际在物理线路上是需要传输10比特的,因此:

PCIe1.0 x 1的带宽=(2.5Gb/s )/ 10bit =250MB/s

这是单条Lane的带宽,有几条Lane,那么整个带宽就是250MB乘以Lane的数目。

PCIe2.0的线上比特传输速率在PCIe1.0的基础上翻了一倍,为5Gb/s,物理层同样使用8/10编码,所以:

PCIe2.0 x 1的带宽=(5Gb/s )/ 10bit = 500MB/s

同样,有多少条Lane,带宽就是500MB/s乘以Lane的数目。

PCIe3.0的线上比特传输速率没有在PCIe2.0的基础上翻倍,不是10Gb/s,而是8Gb/s,但物理层使用的是128/130编码进行数据传输,所以:

PCIe3.0 x 1的带宽=(8Gb/s)/ 8bit = 1GB/s

同样,有多少条Lane,带宽就是1GB/s乘以Lane的数目。

由于采用了128/130编码,128比特的数据,只额外增加了2bit的开销,有效数据传输比率增大,虽然线上比特传输率没有翻倍,但有效数据带宽还是在PCIe2.0的基础上做到翻倍。

这里值得一提的是,上面算出的数据带宽已经考虑到8/10或者128/130编码,因此,大家在算带宽的时候,没有必要再考虑线上编码的问题了。

和SATA单通道不同,PCIe连接可以通过增加通道数扩展带宽,弹性十足。通道数越多,速度越快。不过,通道数越多,成本越高,占用更多空间,还有就是更耗电。因此,使用多少通道,应该在性能和其他因素之间进行一个综合考虑。

PCIe是从PCI发展过来的,PCIe的”e”是express的简称,快的意思。PCIe怎么就能比PCI快呢,因为PCIe在物理传输上,跟PCI有着本质的区别。PCI使用并口传输数据,而PCIe使用的是串口传输。PCI并行总线,单个时钟周期可以传输32bit或者64bit,怎么就比不了你单个时钟周期传输1个bit数据的串行总线呢。在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。随着技术的发展,数据传输速率要求越来越快,要求时钟频率也越来越快,但是,并行总线时钟频率不是想快就能快的。

PCIe 吞吐量(可用带宽)计算方法:

吞吐量 = 传输速率 * 编码方案

例如:PCI-e2.0 协议支持 5.0 GT/s,即每一条Lane 上支持每秒钟内传输 5G个Bit;但这并不意味着 PCIe 2.0协议的每一条Lane支持 5Gbps 的速率。

为什么这么说呢?因为PCIe 2.0 的物理层协议中使用的是 8b/10b 的编码方案。即每传输8个Bit,需要发送10个Bit;这多出的2个Bit并不是对上层有意义的信息。

那么, PCIe 2.0协议的每一条Lane支持 5 * 8 / 10 = 4 Gbps = 500 MB/s 的速率。以一个PCIe 2.0 x8的通道为例,x8的可用带宽为 4 * 8 = 32 Gbps = 4 GB/s。同理,PCI-e3.0 协议支持 8.0 GT/s, 即每一条Lane 上支持每秒钟内传输 8G个Bit。而PCIe 3.0 的物理层协议中使用的是 128b/130b 的编码方案。即每传输128个Bit,需要发送130个Bit。那么, PCIe 3.0协议的每一条Lane支持 8 * 128 / 130 = 7.877 Gbps = 984.6 MB/s 的速率。

一个PCIe 3.0 x16的通道,x16 的可用带宽为 7.877 * 16 = 126.031 Gbps = 15.754 GB/s如下图所示:

在发送端,数据在某个时钟沿传出去(左边时钟第一个上升沿),在接收端,数据在下个时钟沿(右边时钟第二个上升沿)接收。因此,要在接收端能正确采集到数据,要求时钟的周期必须大于数据传输的时间(从发送端到接收端)。受限于数据传输时间(该时间还随着数据线长度的增加而增加),因此时钟频率不能做得太高。另外,时钟信号在线上传输的时候,也会存在相位偏移(clock skew ),影响接收端的数据采集。

PCIe使用串行总线进行数据传输就没有这些问题。它没有外部时钟信号,它的时钟信息通过8/10编码或者128/130编码嵌入在数据流,接收端可以从数据流里面恢复时钟信息,因此,它不受数据在线上传输时间的限制,你导线多长都没有问题,你数据传输频率多快也没有问题;没有外部时钟信号,自然就没有所谓的clock skew问题.

浅谈PCIe线材结构

END

如果您想加入“高速线产品”交流微信群,扫码加好友

目前加入本群的高速线主流相关产业链工厂有:Amphenol,Molex,Samtec,LUXSHARE,金信诺,英业达,胜连光电,京兆联,华添达,兆龙股份,意华股份,安澜万锦,三信,LTK,HIBEST,方正,日进,得意,万兆通,TP-LINK,泓淋,华讯工业,VOLEX,光迅等.

把时间交给阅读

更多线缆培训行业讯息,可以关注微信公众号:线缆行业朋友分享圈