Linux
分类: LINUX
2012-03-29 15:21:30
pcie当前被作为总线接口标准而广泛使用,当然,这依赖于pcie的巨大性能优势,按照例,这里依然总结一下重点的工程性知识,至于pcie的理论知识在或都能找到更相详细的介绍。
先看一张主板图(来之:,点击下图查看高清无码大图),通过插槽直观的认识pcie接口。查看一块主板(真实主板或主板图片),首先摆放位置要正确,一定要把凸现CPU的部分摆在上方(上北,所以那块称为北桥),带有pci/pcie插槽的部分放在下方(下南,所以那块称为南桥),如下图所示:
可以很明显的看到上面有三个x16
的插槽(纯蓝、纯白、纯黑)、两个PCIEx1的插槽(纯蓝,很短的)、两个PCI插槽(浅蓝),对于这些插槽的类型,主板上一般都会英文标注,如上图所
示(那并不是我写上去的),如果不容易查看,也可以直接通过插槽的外观辨认,所有pcie插槽的凸起断口(如果是pcie卡,那就是凹陷缺口)都在左边,
而pci的断/缺口在右边(这个左右的判断就需要前面说的,要把主板的上下方位摆放正确,否则误判):
接下来看接口,这也是在做性能评估时最关心的地方,在带宽上有变化的pcie标准主要是1.0、2.0、3.0、4.0,而当前已使用的1.0、2.0、3.0的带宽列表如下:
版本 | 数据传输率 | 编码方式 | x1带宽 | x16带宽 |
1.0 | 2.5GT/s | 8b/10b | 250MB/s | 8GB/s |
2.0 | 5.0GT/s | 8b/10b | 500MB/s | 16GB/s |
3.0 | 8.0GT/s | 128b/130b | ~1GB/s | ~32GB/s |
数据传输率GT/s即是GigaTransfers per second,每秒传输多少个10^9次。
编码方式即是有效位与总数据位的比值,比如8b/10b,也就是传输的10bit中有8bit才是真实数据,而另外2bit是控制数据,数据传输利用率为
80%;128b/130b即是130bit中有128bit为真实数据,如果按8b/10b编码,那么130bit中只有130
/10*8=104bit的真实数据,可见3.0的bit利用率提高了。
带宽的计算公式为:数据传输率*数据传输利用率。所以1.0的带宽为2.5GT/s*0.8=2Gb/s=250MB/s(带宽、频率这些的M、G都是以
1000为阶);2.0的带宽为5.0GT/s*0.8=4Gb/s=400MB/s;3.0的带宽为8.0GT/s*128/130=7.8769Gb
/s=0.9846GB/s,约为1GB/s。
在PCIE标准里,单方向传输数据只需2个针脚,而一条PCIE
lane有4根针脚,所以可以来回双向传输(上表给出的带宽都是单向的,双向的话需倍乘)。包含n(n=1,2,4,8,16,32)条PCIE
lane的PCIExn就需要4n个针脚,由于32条PCIE
lane针脚达到128之多,所以PCIEx32很少见;另外,这个也可以帮助判断插槽或插卡是PCIEx几的,不清楚时大致数一下针脚数即可判断,如果
数得太仔细会发现针脚数要多出几个,比如数PCIEx1的针脚数肯定不止4个,后面几个虽然在但是没使用罢了。
转载请保留地址: