PCIE理论带宽与实际带宽

发布时间 2023-07-28 09:27:02作者: 祝福满地

我们平时都习惯用Gb/s,MB/s或者GB/s来计算和表示带宽值,但是PCIE协议用的是GT/s即每秒千兆传输来表示传输速率,用起来不是很方便,也没有固定格式转换,但是可以计算出来理论值来参考,实际测试的时候还会有些损耗。

PCIE的不同版本传输速率转换不同,主要是跟不同版本的编码方式有关,因为PCIe是一条串行总线,数据中嵌入了时钟,它需要确保发生足够的电平转换(1到0和0到1),以便接收端恢复时钟。

 

     1、PCIE1.0和PCIE2.0 使用了 “8b/10b “编码,即每8个bit(1个字节)被编码成一个10 bit 的符号进行传输,然后在接收端进行解码,因此,总线传输10 bit的编码数据实际所发送的只有8 bit的数据。

          所以PCIE1.0和PCIE2.0转换效率是8b/10b。

     2、到了PCIE 3.0 标准及以后,编码方案为128b/130b编码,也即每128 bit的数据编码为130 bit的符号进行传输,传输效率得到极大提升,即128b/130b。

     3、带宽计算可以先计算出单条lane带宽在乘以通道长度(x1/x4/x8等)。

     4、下图是不同版本的PCIE带宽,供参考,实际测试的时候会有一定损耗的。

 

PCI Express
版本
推出Line
编码
原始
传输率*
有效带宽
×1×2×4×8×16
1.0 2003 8b/10b 2.5 GT/s 250 MB/s 0.50 GB/s 1.0 GB/s 2.0 GB/s 4.0 GB/s
2.0 2007 8b/10b 5.0 GT/s 500 MB/s 1.0 GB/s 2.0 GB/s 4.0 GB/s 8.0 GB/s
3.0 2010 128b/130b 8.0 GT/s 984.6 MB/s 1.97 GB/s 3.94 GB/s 7.88 GB/s 15.8 GB/s
4.0 2017 128b/130b 16.0 GT/s 1969 MB/s 3.94 GB/s 7.88 GB/s 15.75 GB/s 31.5 GB/s
5.0 2019 NRZ 128b/130b 32.0 GT/s 3938 MB/s 7.88 GB/s 15.75 GB/s 31.51 GB/s 63.0 GB/s

使用较多的场景是PCIE设备以及扩展存储设备,例如:Nvme磁盘、HBA、RAID以及expander等,GPU以及网络设备往往只需要向下兼容即可。