PC机PCI-E3.0接口速率计算

简介一,PCI接口图PCI-Ex1PCI-Ex4新主板已经弃用PCI-Ex8PCI-Ex16PCIExpress版本行代码传输速率吞吐量x1吞吐量x4吞吐量x8吞吐量x161.08b/10b2.5GT/s250MB/s1GB/s2GB/s4GB/s2.08b/10b5GT/s500MB/s2GB/s4GB/s8GB/s3.0128b/130b8GT/s984.6MB/s3.938GB/s7.877GB

一,PCI接口图
PC机PCI-E3.0接口速率计算

PCI-E x1
PCI-E x4 新主板已经弃用
PCI-E x8
PCI-E x16

PCI Express版本 行代码 传输速率 吞吐量x1 吞吐量x4 吞吐量x8 吞吐量x16
1.0 8b/10b 2.5GT/s 250MB/s 1GB/s 2GB/s 4GB/s
2.0 8b/10b 5GT/s 500MB/s 2GB/s 4GB/s 8GB/s
3.0 128b/130b 8GT/s 984.6MB/s 3.938GB/s 7.877GB/s 15.754GB/s
4.0 128b/130b 16GT/s 1.969GB/s 7.877GB/s 15.754GB/s 31.508GB/s
5.0 128b/130b 32 or 25GT/s 3.9 or 3.08GB/s 15.8 or 12.3GB/s 31.5 or 24.6GB/s 63 or 49.2GB/s

二,PCIE相关概念

1. 传输速率为每秒传输量GT/s,而不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位; 比如 PCIe 1.x和PCIe 2.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。
2. GT/s —— Giga transation per second (千兆传输/秒),即每一秒内传输的次数。重点在于描述物理层通信协议的速率属性,可以不和链路宽度等关联。
3. Gbps —— Giga Bits Per Second (千兆位/秒)。GT/s 与Gbps 之间不存在成比例的换算关系。

三,PCIE带宽计算

 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。

由此可计算出上表中的数据

本文转自:https://blog.51cto.com/zhangchengjie/2430850