2024年6月13日发(作者:苟开朗)
PCI Express 2.0和PCI Express 3.0之间的最大区别就是数据吞吐量有显著增加。PCI
Express 2.0中的信号强度为5GT/s,从而实现了500MB/s的数据吞吐能力。由此一个lane
数据通路,被定义为x1,它的数据传输能力即是500MB/s。因此,具备PCI Express 2.0
x16的规格,意思是它有配备16条lane数据通路,它可以实现8GB/s的数据吞吐能力。
而PCI Express 3.0中,这些数据传输能力被再次加强了一倍。PCI Express 3.0的信号强
度为8GT/s,可以实现1GB/s的数据吞吐能力。
PCIE版本从2.0提升到3.0,信号强度从5GT/s提升到了8GT/s,似乎这并没有1倍
的提高。与之实际的传输带宽提升并不是依照某个比例来的。简单来说PCI Express 2.0
中数据链路的带宽是按照8b/10b的编码方案来的,其中8bit是实际传输的数据内容。另
外还有2bit用来作地址符号位。由此PCI Express 2.0中有20%的带宽是用来处理数据地
址。
但是到了PCI Express 3.0的时代,伟大的工程师使用了更为有效的128b/130b编码
方案,从而避免了20%信号带宽的浪费。事实上PCI Express 3.0中所浪费的带宽仅仅为
1.538%。由此8GT/s的信号不再仅仅是一个理论数值,它将是一个实实在在的量。
PCI-SIG最终选择了信号开销比较小的8GT/s方案,而没有将信号增加到10GT/s。
而8GT/s成为了性能、制造成本和兼容性之间最理想的这种路线。加入PCI-SIG采用了
10GT/s方案,那么在未来大规模应用新的PCI Express 3.0的时候硬件厂商就要提高芯片
设计的复杂度,提高硅片的面积和功耗。不过PCI-SIG最终选择了更加优秀的信号算法,
让广大的消费者可以更加轻松的享受这项新的技术。
USB 3.0的带宽为5Gbps,但是由于PCI Express 2.1和USB 3.0都采用的是8b/10b
编码,因此它的实际数据带宽被降低到4Gbps。用8除以4Gbps,你将得到500MB/s的
数据传输带宽。这与PCI Express 2.1 x1接口的峰值数据吞吐量相等。而SATA 3.0更是如
此。理论上来说,它的峰值带宽为6Gbps,但是它的本质仍然采用的是8b/10b编码方案,
理论上来说要从6Gbps下降到4.8Gbps。当我们再次除以8进行转换的时候,它的带宽
仅有600MB/s。要知道600MB/s已经超出PCIe 2.0 x1接口20%的带宽。由此可见PCI
Express 2.0系统总线,确实制约了USB 3.0和SATA 3.0接口的性能发挥
2024年6月13日发(作者:苟开朗)
PCI Express 2.0和PCI Express 3.0之间的最大区别就是数据吞吐量有显著增加。PCI
Express 2.0中的信号强度为5GT/s,从而实现了500MB/s的数据吞吐能力。由此一个lane
数据通路,被定义为x1,它的数据传输能力即是500MB/s。因此,具备PCI Express 2.0
x16的规格,意思是它有配备16条lane数据通路,它可以实现8GB/s的数据吞吐能力。
而PCI Express 3.0中,这些数据传输能力被再次加强了一倍。PCI Express 3.0的信号强
度为8GT/s,可以实现1GB/s的数据吞吐能力。
PCIE版本从2.0提升到3.0,信号强度从5GT/s提升到了8GT/s,似乎这并没有1倍
的提高。与之实际的传输带宽提升并不是依照某个比例来的。简单来说PCI Express 2.0
中数据链路的带宽是按照8b/10b的编码方案来的,其中8bit是实际传输的数据内容。另
外还有2bit用来作地址符号位。由此PCI Express 2.0中有20%的带宽是用来处理数据地
址。
但是到了PCI Express 3.0的时代,伟大的工程师使用了更为有效的128b/130b编码
方案,从而避免了20%信号带宽的浪费。事实上PCI Express 3.0中所浪费的带宽仅仅为
1.538%。由此8GT/s的信号不再仅仅是一个理论数值,它将是一个实实在在的量。
PCI-SIG最终选择了信号开销比较小的8GT/s方案,而没有将信号增加到10GT/s。
而8GT/s成为了性能、制造成本和兼容性之间最理想的这种路线。加入PCI-SIG采用了
10GT/s方案,那么在未来大规模应用新的PCI Express 3.0的时候硬件厂商就要提高芯片
设计的复杂度,提高硅片的面积和功耗。不过PCI-SIG最终选择了更加优秀的信号算法,
让广大的消费者可以更加轻松的享受这项新的技术。
USB 3.0的带宽为5Gbps,但是由于PCI Express 2.1和USB 3.0都采用的是8b/10b
编码,因此它的实际数据带宽被降低到4Gbps。用8除以4Gbps,你将得到500MB/s的
数据传输带宽。这与PCI Express 2.1 x1接口的峰值数据吞吐量相等。而SATA 3.0更是如
此。理论上来说,它的峰值带宽为6Gbps,但是它的本质仍然采用的是8b/10b编码方案,
理论上来说要从6Gbps下降到4.8Gbps。当我们再次除以8进行转换的时候,它的带宽
仅有600MB/s。要知道600MB/s已经超出PCIe 2.0 x1接口20%的带宽。由此可见PCI
Express 2.0系统总线,确实制约了USB 3.0和SATA 3.0接口的性能发挥