Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1482752
  • 博文数量: 228
  • 博客积分: 1698
  • 博客等级: 上尉
  • 技术积分: 3241
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-24 21:49
个人简介

Linux

文章分类

全部博文(228)

文章存档

2017年(1)

2016年(43)

2015年(102)

2014年(44)

2013年(5)

2012年(30)

2011年(3)

分类: 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个,后面几个虽然在但是没使用罢了。

转载请保留地址:

阅读(2900) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~