PCIe传输速率和可用带宽(吞吐量)计算方式

shykx

温馨提示:这篇文章已超过368天没有更新,请注意相关的内容是否还可用!

一、PCIe接口速率

PCIe传输速率和可用带宽(吞吐量)计算方式

PCIe传输速率和可用带宽(吞吐量)计算方式

二、详细描述

  • PCIE协议发展到现在有1.0,2.0、3.0、4.0、5.0版本,其传输速率不一样。


  • PCIe是串行总线,PCIe1.0的线上比特传输速率为2.5Gb/s,物理层使用8/10编码,即8比特的数据,实际在物理线路上是需要传输10比特的,因此:


  • PCIe1.0 x 1的带宽=(2.5Gb/s )/ 10bit =250MB/s


  • 这是单条Lane的带宽,有几条Lane,那么整个带宽就是250MB乘以Lane的数目。


  • PCIe2.0的线上比特传输速率在PCIe1.0的基础上翻了一倍,为5Gb/s,物理层同样使用8/10编码,所以:


  • PCIe2.0 x 1的带宽=(5Gb/s )/ 10bit = 500MB/s


  • 同样,有多少条Lane,带宽就是500MB/s乘以Lane的数目。


  • PCIe3.0的线上比特传输速率没有在PCIe2.0的基础上翻倍,不是10Gb/s,而是8Gb/s,但物理层使用的是128/130编码进行数据传输,所以:


  • PCIe3.0 x 1的带宽=(8Gb/s)/ 8bit = 1GB/s


  • 同样,有多少条Lane,带宽就是1GB/s乘以Lane的数目。


  • 由于采用了128/130编码,128比特的数据,只额外增加了2bit的开销,有效数据传输比率增大,虽然线上比特传输率没有翻倍,但有效数据带宽还是在PCIe2.0的基础上做到翻倍。


  • 这里值得一提的是,上面算出的数据带宽已经考虑到8/10或者128/130编码,因此,大家在算带宽的时候,没有必要再考虑线上编码的问题了。


  • 和SATA单通道不同,PCIe连接可以通过增加通道数扩展带宽,弹性十足。通道数越多,速度越快。不过,通道数越多,成本越高,占用更多空间,还有就是更耗电。因此,使用多少通道,应该在性能和其他因素之间进行一个综合考虑。


  • PCIe是从PCI发展过来的,PCIe的”e”是express的简称,快的意思。PCIe怎么就能比PCI快呢,因为PCIe在物理传输上,跟PCI有着本质的区别。PCI使用并口传输数据,而PCIe使用的是串口传输。PCI并行总线,单个时钟周期可以传输32bit或者64bit,怎么就比不了你单个时钟周期传输1个bit数据的串行总线呢。在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。随着技术的发展,数据传输速率要求越来越快,要求时钟频率也越来越快,但是,并行总线时钟频率不是想快就能快的。如下图所示:

3.png

  • 在发送端,数据在某个时钟沿传出去(左边时钟第一个上升沿),在接收端,数据在下个时钟沿(右边时钟第二个上升沿)接收。因此,要在接收端能正确采集到数据,要求时钟的周期必须大于数据传输的时间(从发送端到接收端)。受限于数据传输时间(该时间还随着数据线长度的增加而增加),因此时钟频率不能做得太高。另外,时钟信号在线上传输的时候,也会存在相位偏移(clock skew ),影响接收端的数据采集。


  • PCIe使用串行总线进行数据传输就没有这些问题。它没有外部时钟信号,它的时钟信息通过8/10编码或者128/130编码嵌入在数据流,接收端可以从数据流里面恢复时钟信息,因此,它不受数据在线上传输时间的限制,你导线多长都没有问题,你数据传输频率多快也没有问题;没有外部时钟信号,自然就没有所谓的clock skew问题。


参考资料

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


文章版权声明:除非注明,否则均为爱分享吧 - 系统安全与免费软件的最佳分享平台原创文章,转载或复制请以超链接形式并注明出处。

您需要 登录账户 后才能发表评论

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,925人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码