目录
第1节 PCIE概述
第2节 PCIE速率及计算
第1节 PCIE概述
PCI Express(PCIE)是用来互联诸如计算和通信平台应用中外围设备的第三代高性能I/O总线。第一代总线包括ISA、EISA、VESA和微通道(Macro Channel )总线,而第二代总线则包括了PCI、AGP 和PCI-X。PCIE是一种可以适用于移动设备、台式电脑、工作站、服务器、嵌入式计算和通信平台等所有周边I/O总线互联的总线。
图1.1 PCIE硬件示意图
第2节 PCIE速率及计算
本小节主要回答以下两个疑问:
- PCIE的带宽怎么计算?
- 为什么PCIE1.0的传输速率是2.5GT/s,PCIE2.0是5GT/s,而PCIE3.0却是8.0GT/s?
从2003年到现在,PCIE已经从1.0升级到了5.0,速率也从2.5G上升到了32G,如下图所示
图1.2 PCIE发展历史
- PCIE的带宽怎么计算?
将两台设备连在一起的一个PCIE互连称为一条链路(Link),一条链路(Link)在单方向上可以有x1、x2、x4、x8 、x16、x32个信号对,每一组收发信号对称作一个lane。
图1.3PCIE Link连接
带宽计算:x1为例
单方向上是2.5Gb,双向就是2*2.5Gb = 5Gb。
由于是采用8b/10b编码传输,所以有效带宽为:
5Gb*0.8 = 4Gb
4Gb/8 = 0.5GB。即带宽为0.5GBytes/sec.
单向即为0.5GB/2 = 0.25GB/s
- 为什么PCIE1.0的传输速率是2.5GT/s,PCIE2.0是5GT/s,而PCIE3.0却是8.0GT/s?
制定PCIe 3.0规范的目的是要在现有的廉价的FR4板材和接插件的基础上提供比PCIe 2代高一倍的有效数据传输速率,同时保持和原有1代、2代设备的兼容。文章来源:https://www.toymoban.com/news/detail-624030.html
PCIe 3.0要相对于2代把数据速率也提高一倍,理所当然的是把数据传输速率提高到10Gbps。但是就是这个10Gbps带来了很大的问题,因为PC和Server上出于成本的考虑,普遍使用便宜的FR4的PCB板材以及廉价的接插件,如果不更换板材和接插件,很难保证10Gbps的信号还能在原来的信号路径上可靠地传输很远的距离(典型距离是15~30cm)。因此PCI-SIG最终决定把PCIe 3.0的数据传输速率定在8Gbps。但是8Gbps相比2代的5Gbps并没有高一倍,所以PCIe协会决定在3.0标准中把在1代和2代中使用的8b/10b编码去掉。 在PCIe 1代和2代中为了保证数据的传输密度、直流平衡以及内嵌时钟的目的,会把8bit数据编码成10bit数据传输。因此,5Gbps的实际有效数据传输速率是5Gbps×8b/10b=4Gbps。这样,如果在PCIe 3.0中不使用8b/10b编码,其有效数据传输速率就能比2代的4Gbps提高1倍。但是这样问题又来了,数据如果不经编码传输很难保证数据的传输密度和直流平衡,接收端的时钟恢复电路也很容易失锁。为了解决这个问题,PCIe 3.0中采用了扰码的方法,即数据传输前先和一个多项式进行异或,这样传输链路上的数据看起来就比较有随机性,到了接收端再用相同的多项式把数据恢复出来。 通过上述方法,PCIe 3.0就可以用8Gbps的传输速率实现比2代的5Gbps高1倍的数据传输速率。实际应用中PCIe 3.0的总线上也仍然有数据编码,不过为了提高编码效率,采用的是128b/130b的编码由此损失的总线有效带宽比8b/10b编码小多了。文章来源地址https://www.toymoban.com/news/detail-624030.html
到了这里,关于第一章 PCIE的发展历史的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!