PCIe傳輸速率和可用帶寬(吞吐量)計算


 

版權聲明:本文為博主原創文章,若要轉載請保留原文鏈接。 https://blog.csdn.net/s_sunnyy/article/details/79027379

參考:https://baike.baidu.com/item/pcie/2167538?fr=aladdin

          http://blog.csdn.net/zenglichuanjia/article/details/47297845

  http://www.baike.com/wiki/GT/s

 

====================================================================

 

PCI Express 版本

編碼方案

傳輸速率

吞吐量

×1

×4

×8

×16

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.0 or 49.2GB/s

幾個概念:

傳輸速率為每秒傳輸量GT/s,而不是每秒位數Gbps,因為傳輸量包括不提供額外吞吐量的開銷位; 比如 PCIe 1.x和PCIe 2.x使用8b / 10b編碼方案,導致占用了20% (= 2/10)的原始信道帶寬。

GT/s —— Giga transation per second (千兆傳輸/秒),即每一秒內傳輸的次數。重點在於描述物理層通信協議的速率屬性,可以不和鏈路寬度等關聯。

Gbps —— Giga Bits Per Second (千兆位/秒)。GT/s 與Gbps 之間不存在成比例的換算關系。

 

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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM