PCIe带宽计算


文章目录

    • 1. PCIe总线传输速率
    • 2. PCIe总线带宽
    • 3. 带宽计算

1. PCIe总线传输速率

所谓的总线传输速率就是PCIe硬件链路传输比特流的速度,PCIe Gen1是2.5Gb/s,PCIe Gen2是5.0Gb/s,PCIe Gen3是8.0Gb/s。

2. PCIe总线带宽

总线带宽是指PCIe总线上传输有效数据的速度。这里称之为有效数据,是因为涉及到数据编码的概念。

在PCIe Gen1和Gen2中,如果要传输8bit的数据,硬件将数据编码时会额外添加2bit的overhead,这种方式称之为8/10b编码。从这个角度来说,PCIe硬件链路上传输10bit数据时,有效数据长度就是8bit。

在PCIe Gen3中,采用128/130b编码方式,即每传输128bit有效数据,额外增加2bit的overhead。

3. 带宽计算

由于PCIe每个Lane同时包含发送通路和接收通路,所以计算带宽时算的是双向传输。

Gen1 PCIe Bandwidth = (2.5Gb/s * 2 directions) / 10 bits per byte = 0.5 GB/s

Gen2 PCIe Bandwidth = (5.0Gb/s * 2 directions) / 10 bits per byte = 1 GB/s

对于PCIe Gen3,每128bit只增加2bit的overhead,这个影响对计算带宽的影响可以忽略不计,因此:

Gen3 PCIe Bandwidth = (8.0Gb/s * 2 directions) / 8 bits per byte = 2.0 GB/s

最终,就得到了在资料中常看到的这张表:
在这里插入图片描述