PCIe传输速率和有效带宽计算方式
PCIe是从PCI发展过来的PCIe的”e”是express的简称快的意思, PCIe是串行总线PCIe1.0的线上比特传输速率为2.5Gb/s物理层使用8/10编码即8比特的数据实际在物理线路上是需要传输10比特的因此 PCIe1.0 x 1的带宽2.5Gb/s / 10bit 250MB/s 这是单条Lane的带宽有几条Lane那么整个带宽就是250MB乘以Lane的数目, 由于采用了128/130编码128比特的数据只额外增加了2bit的开销有效数据传输比率增大虽然线上比特传输率没有翻倍但有效数据带宽还是在PCIe2.0的基础上做到翻倍, 1如下表 2详细描述 PCIE协议发展到现在有1.02.0和3.0版本其传输速率不一样, 这里值得一提的是上面算出的数据带宽已经考虑到8/10或者128/130编码因此大家在算带宽的时候没有必要再考虑线上编码的问题了,PCI并行总线单个时钟周期可以传输32bit或者64bit怎么就比不了你单个时钟周期传输1个bit数据的串行总线呢,因此使用多少通道应该在性能和其他因素之间进行一个综合考虑, PCIe3.0的线上比特传输速率没有在PCIe2.0的基础上翻倍不是10Gb/s而是8Gb/s但物理层使用的是128/130编码进行数据传输所以 PCIe3.0 x 1的带宽8Gb/s/ 8bit 1GB/s 同样有多少条Lane带宽就是1GB/s乘以Lane的数目, ,另外时钟信号在线上传输的时候也会存在相位偏移clock skew )影响接收端的数据采集,受限于数据传输时间该时间还随着数据线长度的增加而增加因此时钟频率不能做得太高, PCIe2.0的线上比特传输速率在PCIe1.0的基础上翻了一倍为5Gb/s物理层同样使用8/10编码所以 PCIe2.0 x 1的带宽5Gb/s / 10bit 500MB/s 同样有多少条Lane带宽就是500MB/s乘以Lane的数目, PCIe使用串行总线进行数据传输就没有这些问题,PCIe怎么就能比PCI快呢因为PCIe在物理传输上跟PCI有着本质的区别,通道数越多速度越快。
随着技术的发展数据传输速率要求越来越快要求时钟频率也越来越快但是并行总线时钟频率不是想快就能快的,不过通道数越多成本越高占用更多空间还有就是更耗电,PCI使用并口传输数据而PCIe使用的是串口传输,在实际时钟频率比较低的情况下并口因为可以同时传输若干比特速率确实比串口快, 和SATA单通道不同PCIe连接可以通过增加通道数扩展带宽弹性十足,如下图所示 在发送端数据在某个时钟沿传出去左边时钟第一个上升沿在接收端数据在下个时钟沿右边时钟第二个上升沿接收,它没有外部时钟信号它的时钟信息通过8/10编码或者128/130编码嵌入在数据流接收端可以从数据流里面恢复时钟信息因此它不受数据在线上传输时间的限制你导线多长都没有问题你数据传输频率多快也没有问题没有外部时钟信号自然就没有所谓的clock skew问题,因此要在接收端能正确采集到数据要求时钟的周期必须大于数据传输的时间从发送端到接收端),。
- 上一篇:PCIe传输速率和可用带宽(吞吐量)计算
- 下一篇:PCIe系列详细性能对比
评论列表