一,PCI接口圖
ide
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相關概念code
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。
由此可計算出上表中的數據it