PCIe传输速率、吞吐量、PCLK计算方式

1. PCIe传输速率

  • Width(带宽): 通常用x1、x2、x4、x8等表示,表示该链路由几条lane组成。
  • Speed(速率): 通常用2.5GT/s、5GT/s、8GT/s,表示每条lane上的传输速率。PCIe1.0为2.5GT/s,PCIe2.0为5GT/s,PCIe3.0为8GT/s,
    在这里插入图片描述

2. PCIe相关概念

传输速率为每秒GT, 而不是Gbps, 因为传输量包括不提供额外吞吐量的开销位,比如PCIe Gen1 和PCIe Gen2使用8b/10b编码方案,导致占用了20%(2/10)的原始信号带宽

  • GT/s-----Giga transation per second (千兆传输/秒),即每一秒内传输的次数,重点描述物理层通信协议的速率属性,可以不和链路宽度等关联。
  • Gbps —— Giga Bits Per Second (千兆位/秒)。GT/s 与Gbps 之间不存在成比例的换算关系。

3. 吞吐量计算方式

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 的速率。以一个PCIe 2.0 x8的通道为例,
该链路的吞吐量=5GT * 8 * 8/10 = 32 Gbps = 4GB/s

同理,PCI-e4.0 协议支持 16GT/s, 即每一条Lane 上支持每秒钟内传输 16G个bit。而PCIe 4.0 的物理层协议中使用的是 128b/130b 的编码方案。 即每传输128个bit,需要发送130个bit。那么, PCIe 4.0协议的每一条Lane支持 16 * 128 / 130 = 15.754 Gbps =1.969GB/s 的速率。以PCIe 4.0 x8的通道为例,
*该链路的吞吐量= 16GT * 8 128/130 = 126.031Gbps = 15.754 GB/s

4. PCLK时钟速率关系

PCLK时钟频率与PIPE位宽有一定关系,如下表关系:
在这里插入图片描述
举例说明:
比如DUT PCIe的controller为EP,另一端为RC。 而EP里pipe width是可变的,RC的pipe width保持不变为32bit. 则RC和EP的PCLK分别为:

EP的PCLK:
在这里插入图片描述
RC PCLK:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sinat_43629962/article/details/123729771