我們在接觸PCIe裝置時會接觸到一個詞,傳輸速率,比如8GT/s。
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 的速率。
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。