Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17469
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-11 13:35
文章分类
文章存档

2014年(12)

我的朋友

分类: 嵌入式

2014-12-11 13:41:34

第1页:PCI-E 3.0:速度更快,延迟更低
  相比PCI总线在PC上的日渐消亡,PCI-E总线则是生龙活虎,不仅牢牢占据系统内部数据传输标准“一哥”位置,而且未来的发展一片光明,PCI-SIG组织已经在谋划指定PCI-E 4.0标准,要知道目前的主流水准还是PCI-E 2.0呢。

  现在常见的显卡都是PCI-E 2.0标准的,制定于2007年,速率5GT/s,x16通道带宽可达8GB/s,一直使用到现在。按照原先的路线图,PCI-E 3.0标准将在2010年进入市场,不过实际上却是2010年才完成PCI-E 3.0标准的最终方案,而直到一年后HD 7970发布才真正有显卡支持PCI-E 3.0。

PCI-E 3.0路线图

PCI-E 3.0:带宽更高、延迟更低

  与PCI-E 2.0相比,PCI-E 3.0的目标是带宽继续翻倍达到1GB/s,要实现这个目标就要提高速度,PCI-E 3.0的信号频率从2.0的5GT/s提高到8GT/s,编码方案也从原来的8b/10b变为更高效的128b/130b,其他规格基本不变,每周期依然传输2位数据,支持多通道并行传输。

PCI-E 3.0 x16双向速度大约为32GB/s

  除了带宽翻倍带来的数据吞吐量大幅提高之外,PCI-E 3.0的信号速度更快,相应地数据传输的延迟也会更低。此外,针对软件模型、功耗管理等方面也有具体优化。简而言之,PCI-E 3.0就跟高速路一样,车辆跑得更快,发车间隔更低,座位更舒适。

高带宽对显卡有什么优势?

  虽然PCI-E 3.0理论有两倍的带宽优势,但是对显卡来说首要的问题是需不需要这么高的带宽。在PCI-E 2.0时我们曾在,P67主板只支持x8+x8的交火/SLI,验证的结果是x8+x8双卡的效率与x16+x16差距非常小,对显卡性能基本没有影响,也就是说即便是一半的PCI-E 2.0带宽也能满足目前显卡的需要,带宽并不是问题。

  HD 7970目前的状况与之前相似,不过是带宽进一步加大而已,考虑到HD 7970的性能有很大提高,或许对带宽的要求也有所提高,PCI-E 3.0说不定真的大有裨益。Anandtech的HD 7970的首发评测中曾做过PCI-E 3.0与PCI-E 2.0上的性能对比,结果如下:

Anandtech网站验证了PCIE 3.0对HD 7970在部分测试中确有提升

  他们测试的是AES加密,这样的GPU计算通常对带宽有很大要求,高带宽的HD 7970有先天优势,相比PCI-E 2.0有10%的提升。

  不过他们的测试我们暂时无法重现,目前能满足CPU、主板同时支持PCI-E 3.0的只有SNB-E平台,这个我们也有,但是他们用的是EVGA提供的特殊BIOS,可以启用或者禁用PCI-E 3.0模式,我们手头的X79主板还没有这样的BIOS,这个方法是行不通的,只能用别的变通方法来验证一番。

  目前X79主板上提供的PCI-E插槽是支持PCI-E 3.0的,由于SNB-E处理器能提供40条PCIE通道,所以插槽的规格基本都是x16+x16+8,两条x16,一条x8的,而PCI-E 3.0 x8的速度与PCI-E 2.0 x16基本相当,先来看看PCI-E 3.0 x16相对PCI-E 3.0 x8会不会有提升。

  这个测试中显卡都是HD 7970,主板使用的是技嘉G1 Assassin 2 X79,CPU为Core i7-3960X,测试项目选择了3DMark Vanatge和3DMark 11,游戏选择了三个自带benchmark工具的以减少手动操作的误差,最后就是四个通用计算测试了,这类应用对带宽需要比较高。

第2页:PCI-E 3.0牛刀小试,HD 7970只是开始

PCI-E 3.0 x16 vs. PCI-E 3.0 x8

  结果表明,绝大多数测试中PCI-E 3.0 x16相比PCI-E 3.0 x8并没有实质提高,帧数和分数基本都是一样的,不过仍然有两个项目有看得出的差异。《DiRT 2》和OpenCL测试中PCI-E 3.0 x16成绩提升明显,后者提高了也不以为意,但是《DiRT 2》中5-6帧的差距并非误差,《DiRT 2》自带的测试程序跑出的帧数比较稳定,差个1-2帧是见过的,为此我验证过多次,每次都有数帧差距。

  另一种对比就只能靠数学模型验证了,由于X79平台上没有PCI-E 2.0支持,想要对比就只能换平台,而这又要涉及到CPU性能差异了,为此我们设计了这样一个模型,不直接比较绝对性能值,比较的是相对性能差值。具体来说就是,在X79平台上对比HD 7970相对HD 6970的性能增幅a,然后换到LGA1155平台再来对比HD 7970与HD 6970的性能差距b,如果a值明显高于b值,那么说明PCI-E 3.0带宽起作用了,如果a和b数值相差较小,至少也能说明PCI-E 3.0的高带宽没有带来明显提升。

  PCI-E 3.0平台是X79+i7-3960X,默认频率,而PCI-E 2.0平台是Z68+i7-2600K,考虑到CPU核心数的差异,将2600K的频率提高到4.2GHz以作弥补。

  在X79平台上,HD 7970相比HD 6970提升了95.17%的性能。

注:换了CPU之后,HD 6970的OnenCL性能在超频的2600K上分数大幅增加,而HD 7970基本不变。

  换到PCI-E 2.0主板上之后,HD 7970相比HD 6970也提升了95.11%的性能,两套平台的性能提升幅度一致,就是说整体上PCI-E 3.0并没有带来明显的性能增益,但是对比《DiRT 2》和OpenCL在两套平台上的性能差值,依然可以看出一点变化,只不过被其他项目一平均,差距就小多了。

  对比《DiRT 2》和OpenCL在两套平台上的性能差值,PCI-E 3.0 x16下的性能或者性能提升幅度都要高于PCI-E 2.0带宽下的性能及性能增幅,只不过被其他项目一平均,差距就小多了。

  当然,由于缺乏精确的测试手段,上面这两个验证都不是很严密,相对差值的比较虽有理论依据,但是仍然避免不了测试数据误差,特别是多个数据一综合,差异就更不明显了,但是这并不妨碍我们做结论。

  在目前的应用条件下,PCI-E 3.0的超高带宽很难表现出理论上所有的优势,因为显卡目前的瓶颈并不在PCI-E带宽上,就好比三辆车上了高速公路也不可能变成法拉利。不过在某些应用中PCI-E 3.0还是能小试牛刀,性能有所提升。

  PCI-E 3.0主要是大规模并行计算所准备,此类场合中数据吞吐量大,对延迟要求也高,恰好符合PCI-E 3.0的技术特点。而且,技术的发展肯定是超过需求的提高的,无论有没有实际作用,PCI-E 3.0普及都是顺理成章之事,Intel的SNB-E平台已经支持PCI-E 3.0,蓄势待发的Ivy Bridge平台也会提供支持,支持PCI-E 3.0的HD 7970只是个开始。

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