作为目前电脑内部互连技术的主导,PCI Express已经获得了业界的普遍认可。为了跟上PC性能的发展步伐,近两年来PCI Express总线也在不断升级。尽管很多玩家还不了解PCI Express 1.0与PCI Express 2.0在技术和性能上的区别,但是第三代PCI Express已经在叩击市场的大门。在不久前举行的IDF2010峰会上,Intel向大家揭示了PCI Express 3.0的相关技术以及在Intel平台上的测试情况,PCI Express 3.0规范终于揭开了面纱!
优化编码算法 带宽再度突破
目前主流的PCI Express 2.0的数据传输速度与第一代PCI Express 1.0相比提升了一倍,即从2.5GT/s 提升至5.0GT/s,×16 模式的数据传输速度可以达到16GB/s,而PCI Express 3.0呢?相对于PCI Express 2.0,PCI Express 3.0的带宽只提高到8.0GT/s,这是为什么?因为从PCI Express1.0到PCI Express 2.0,传输速度提升的途径都是通过提高串行传输频率的方式来实现,到了PCI Express 3.0如果再通过提升频率的途径来实现带宽翻番就面临巨大的难度,对设备电气性能的要求太苛刻,所需的电量也非常大,所以相应的在带宽提升上,PCI Express 3.0看起来就不如当年PCI Express 2.0那样夸张。
实际上,原本PCI Express 3.0的数据传输速度目标是达到10GT/s,但PCI SIG(PCI特殊兴趣组,负责制定PCI标准的组织)组织研究发现较慢的速率更适合于主流芯片工艺技术和现在的印刷电路板材料,并认为10GT/s与最初的2.5GHz Express规范不兼容,而且带宽从8GT/s到10GT/s需要处理功能呈几何级数增长,难度很大,因此PCI SIG组织只能退而求其次将PCI Express 3.0带宽提高到8.0GT/s。
其实在PCI Express规范中,PCI Express2.0的理论带宽完全可以达到8.0Gbps这个水准,但由于所采用的8b/10b编码算法存在一个重要的缺点,就是存在25%的原始传输率浪费,所以实际带宽最高也只有5GT/s。8b/10b是应用最广泛的编码技术,在ANSI X3.230-1994、CLAUSE11(IEEE802.3z,36.2.4) 中定义,应用于千兆位以太网的数据传输,同时在许多其他的串行标准中均要求采用这种编码方式,如Infiniband、Fibre Channel、ATM、ESCON 及DVB-ASI等标准。在PCI Express 2.0中,内嵌式时钟发生器把每一个频率即5Gb/s内置于每一个bit信号之内,这样大大节省了利用外置时钟发生器来加载信号的操作。不过这种操作模式最主要的缺点是占用了20%的系统开销,这也是由8b/10b编码的特性所限定的。8b/10b编码的特性之一是保证DC平衡,采用8b/10b编码方式,可使得发送的“0”、“1”数量保持基本一致,连续的“1”或“0”不超过5位,即每5个连续的“1”或“0”后必须插入一位“0”或“1”,从而保证信号DC平衡,也就是说,在链路超时时不致发生DC失调。这意味着理论上每一个字节应被分为8个bit信号,但为了保证信号平衡性必须用10b的数据量,浪费了大量的带宽资源。
针对这样的问题,开发者在PCI Express 3.0上使用更积极的128b/130b编码架构,为新版互连标准维持双倍吞吐量,以达到单向每信道10Gb/s等级。新的编码架构在数据传输的带宽额外负担只有1.6%,远远低于目前8b/10b编码架构的20%。因此与现在的PCI Express 2.0相比,PCI Express 3.0虽然数据传输速度没有翻倍只达到8GT/s,但综合结果是总带宽翻倍达到32GB/s。
更先进的能耗控制
PCI Express3.0的带宽提升不算太高
接口规范的改变也是PCI Express 3.0的一个特点
Intel解释PCI Express 3.0的休眠模式 能耗控制已经成为当今业界最为关注的话题之一,在PCI Express中这个问题同样存在,尤其是显卡的功耗已经达到了难以控制的地步,比如PCI Express 2.0接口只能够为显卡提供110W的电源供应,但在PCI Express2.0平台上市之时,单显卡的功耗已经突破了100W,这使得PCI Express 2.0进入主流应用之时,在能耗控制方面就已经落伍了。因此,PCI Express 3.0规范改进了PCI Express 2.0规范的供电方式,额定最大功率为300W——可以为高端显卡提供强有力的支持,要知道当前通用的6pin电源接口只能提供150W的功率。
在PCI Express 3.0规范中将使用新的2×4的电源接口,额定最大输出功率为225W/300W。新版的PCI Express 3.0会向下兼容以前的2.0标准,接口的外形不会有变化,唯一变化的就是电气规格。为了保护用户的投资,桌面PC仅仅需要一个接口,而服务器级则与先前的PCI Express 2.0保持一致,升级到PCI Express 3.0时也需要2个接口。
同时针对功耗越来越高的显卡系统,PCI SIG组织在制定PCI Express 3.0规范之时还引入了节能新技术。虽然目前大多数硬件设备都引入降耗技术,比如GPU在低运算处理时自动降频,在设备空闲时切换到2D模式等等,但目前显卡厂商在显卡节能方面的努力几乎很难有进展,主要的原因就是受制于当前GPU技术的发展模式——GPU性能越来越高,晶体管也越来越多,即便在节能模式下所需的能耗往往也是很可观的,特别是在多显卡或多GPU模式中。针对这个困境,PCI SIG组织在制定PCI Express3.0规范时提出了自己的能耗管理模式——优化任务排序处理过程。在系统和设备空闲的情况下,同样偶尔会有零碎的任务交给PCI Express设备处理,针对这种情况PCI SIG组织在制定PCI Express3.0规范时引入了重排任务序列方式。在这里通过优化缓冲器的方式促使任务整齐排列,让设备在尽可能短的时间内处理完成多个任务,然后立即进入休眠模式。这样就会省下很多运算周期,让设备有更多的时间处在休息状态,从而达到节能的目的。
针对并行GPU应用扩展性
GPU性能越发强大,而显卡的角色也发生了质的变化,特别是科学计算也开始大量使用GPU作为协处理器进行并行计算。因此,PCI Express光提高带宽是远远不够的,为此PCI SIG组织特意为显卡进行了多项优化。比如针对异构运算的日渐发展趋势,PCI Express 3.0规范大幅降低CPU和GPU在相互通信时的延迟,使得CPU+GPU异构计算的效率大大提高。在目前的异构运算中,GPU参与通用计算还是必须依靠CPU的调度和通信,而在PCI Express3.0中GPU可以完全实现独立参与通用计算。当然,严格意义上来说,PCI Express3.0界面的硬件未必是显卡,它还可能是网卡、声卡及其他一些配件,这些配件也可以通过PCI Express3.0行使协处理器的功能,这时处理器的作用被一定程度上弱化了。
同时PCI Express 3.0规范还允许协处理器及外围设备在存储系统的支持下,通过PCI Express接口互相通信,而不必再经过中央处理器,降低CPU被访问的可能性,降低CPU占用率和延迟,提升性能。例如,声卡可以不通过中央处理器而独立的编码和解码数据,从而全面地保持系统地顺畅运行。以往的声卡工作必须依赖于处理器的通信,在处理器负荷过大的情况下,就会出现声音“卡壳”的现象,但在PCI Express3.0系统中,即便处理器被完全占用,依靠GPU的计算能力,声音同样可以保持流畅。而在BT下载时,如果网卡具备完善的通信、校验等功能,也可以直接与存储设备发生数据交互,通道自然就是PCI Express3.0。尤其是,PCI Express3.0标准可以支持三槽,这固然为高端显卡提供了方便,但我们是否可以设想,多个核心(协处理器)可以就此组成“一张”板卡,当我们购买一台电脑时,实际上获得的是两个强大的系统,一个是传统意义上以CPU为核心的系统,一个是以GPU为核心,在性能和应用范围上和CPU系统极为相近的系统。并且这两个系统能够完美地结合在一起。
针对协作处理方面,PCI Express 3.0还支持多点通信,让很多不相关读取指令绕过写指令,从而大大降低设备之间的延迟,并消除瓶颈。除此之外,PCI Express3.0还针对增强型信号和数据完整性进行多方面的优化,包括发送接收等同性、PLL改进、时钟数据恢复、通道增强等等。写在最后
总的来说,在PCI Express 3.0规范上,发展重点已经从以往的高带宽发展转向了协从处理、异构运算应用方面,而这种发展理念的另一个好处是让设备的电路设计更加简单直接,也大大降低PCI Express 3.0平台的成本。随着PCI Express 3.0规范正式现身,Intel也将在下一代X68芯片组中对PCI Express 3.0提供支持——将支持40条PCI Express 3.0通道,带宽相比PCI Express 2.0要提高一倍,为我们带来性能更为强大的平台。不过我们也要注意到,PCI Express 3.0一方面在带宽性能上得到增强,但另一方面供电的增强,也必然让板卡走向一条全新的设计道路。毫无疑问的是,在得到PCI Express 3.0的供电支援后,大部分显卡都不用再设计外接电源接口了,只有一些高端显卡才需要设计此类接口;但是由于主板芯片组采用了PCI Express 3.0,在供电部分就肯定会有变化,要达到提供300W功率,那么芯片组未来的供电部分设计、供电相数甚至主板走线做工都很有可能因此而改变。所以对板卡行业而言,PCI Express 3.0带来的不仅仅是性能的提升,更是板卡设计的一次更新,在今年下半年,我们就能看到采用PCI Express 3.0插槽的实际产品现身,届时我们可以看到PCI Express 3.0为行业带来的更多变化。
|