文章目录
- 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
最终,就得到了在资料中常看到的这张表: