树墩
在Intel联合众多PC公司成立了PCI-SIG组织,在2000年之后陆续推出了PCI-E总线,发展至今已经有三代产品了。
时至今日,PCI-E总线在PC电脑中已经完全普及了——现在的显卡都是PCI-E 3.0插槽的,M.2/U.2接口的SSD也是PCI-E 3.0的(尽管SATA接口SSD还没退出市场),USB 3.1接口也是基于PCI-E 3.0总线的。如果你是高玩,那么买块高性能独立声卡或者独立网卡,那么它们也是PCI-E接口的。
今天我们就来来聊聊PCI-E总线这个话题,因为五年前笔者也写过一篇介绍PCI-E的文章——主板上的高速铁路,PCI-E 3.0技术及发展一览,不过那时候主要是针对PCI-E 3.0的,当时预测的PCI-E 4.0是在2015年就问世了,但是当时大家还是太乐观了,PCI-E 4.0至少要拖到今年底。
PCI-E总线发展简史:速度开挂提升
自从IBM兼容PC问世以来,PC上已经先后出现过多种总线类型了,包括早期的ISA、VESA到PCI再到PCI、PCI-X,还有针对显卡的AGP,这些总线各有千秋,但积累多了就显得混乱了,就好像AGP不仅有1x、2x、4x、8x之分,每种接口使用的电压都不同,并不能兼容,要解决这种情况就只能推出一个大一统的新标准取代这些落伍的总线,这就是PCI-E总线的由来。
Intel联合众多PC公司成立了PCI-SIG组织,在2000年之后陆续推出了PCI-E总线,发展至今已经有三代产品了,PCI-E 4.0原本是针对2014-2015年产品的,但是进度比预期落后很多,预计今年底才能发布正式标准。
每版PCI-E规范还有一些改进版,比如PCI-E 1.0a/1.1/2.1/3.1等,但速率/带宽并没有变化,这里略去不提。
2002年7月份PCI-E 1.0规范问世,相比当时的PCI、APG总线66-133MHz的时钟频率,PCI-E 1.0的信号频率就达到了2.5GHz,x1单通道带宽即可达250MB/s,显卡用的x16带宽单向速度可达4GB/s,双向则是8GB/s,远高于AGP 8X的2.1GB/s。
从PCI-E 1.0规范开始,PCI-E后面的规范就开挂升级了——PCI-E 2.0的信号速率翻倍到了5GT/s,PCI-E 3.0时频率没能翻倍,只是从5GT/s提升到8GT/s,不过因为这代标准开始使用了更高效的128b/130b编码,减少了校验用的编码,所以带宽还是几乎翻倍了,x16带宽达到了15.7GB/s。
PCI-E 3.0直到现在都是显卡、处理器及其他外设的主流,下一代则是PCI-E 4.0,编码方式不变,但频率再次开挂,从8GT/s翻倍到16GT/s,x16带宽达到了31.5GB/s,双向接近64GB/s,这速度甚至比一些CPU内存带宽都要高了。
PCI-E 4.0面临的考验:不只是技术考验
如果按照之前的规划,PCI-E 4.0最早应该在2014或者2015年就问世了,很早之前在Intel Xeon处理器路线图中我们也看到了Intel预计在2015年之后的产品上支持PCI-E 4.0技术,但是现在3年过去了,Intel依然没有支持PCI-E 4.0的处理器,AMD就更没指望了,FX系列处理器因为多年架构不升级,连PCI-E 3.0原生都没有。
这两年来PCI-E 4.0一直在跳票,到现在为止,PCI-SIG组织推出的规范版本是0.7,之后是0.9,今年底则是1.0正式版,一切顺利的话2017年我们有可能看到一些基于PCI-E 4.0的万兆网卡或者存储设备,但是支持PCI-E 4.0的显卡和处理器目前还是空白,暂时没看到AMD、Intel及NVIDIA有确定的产品计划。
导致PCI-E延期的很大一个原因就是技术问题——要想提高带宽就得提高传信号传输频率,此前三代PCI-E规范中铜线频率已经从2.5GT/s一路飙升到8GT/s,而12GT/s被认为是铜线信号频率的极限,PCI-E 4.0则要达到16GT/s,难度可想而知,需要厂商在重定时器、发射器、接收器等方面作出改进。
PCI-E 4.0的市场需求尴尬
除了技术难题,笔者认为很多厂商对PCI-E 4.0热情不高还与它的市场需求有关——尽管16GT/s的速度意味着带宽翻倍,性能更强,但是回头看看我们身边的市场,PCI-E 3.0已经足够目前的SSD、USB、网卡设备使用了,甚至再过两三内都不会是瓶颈。
PCI-E总线当然不会只限于消费级市场,服务器及企业级市场也会用到,比如高性能存储阵列或者万兆网卡,还有就算高性能加速卡,不过我们也要注意到PCI-E 4.0即便用上了全部x16通道,64GB/s双向带宽对服务器应用来说也算不上多高的性能,为此很多厂商甚至单独开发了新型总线技术。
在这方面,NVIDIA联合IBM开发了NVLink总线,今年的Tesla P100加速卡就用了NVLink总线,号称带宽是PCI-E 3.0的5-12倍,而明年的Volta显卡则会上NVLink 2.0,每条通道的带宽进一步从20Gbps提升到25Gbps,8条带宽的话带宽就有50GB/s了。有消息称AMD也在开发类似的总线技术,带宽也是100GB/s量级的。
PCI-E插槽供电牵一发动全身
普通消费者对PCI-E 4.0带来的高带宽不一定感冒,但之前传出的那个供电大幅提升的报道反而让人很关注,因为PCI-E插槽真的把供电提升到300W以上就太方便了,这意味着大多数显卡、甚至是高端显卡都不需要外接供电了。
但是这个令人兴奋的消息最终只是乌龙而已,从最初的PCI-E 1.0规范开始,主板上的PCI-E插槽最大供电能力就是75W,而所谓的150W、225W及300W供电实际上还是得靠6pin或者8pin辅助供电,PCI-E 4.0在这方面也不会有实质性改动。
仔细想想的话PCI-E插槽供电大提升也不太可能,在x16针脚数固定的情况下,要想提供供电能力要么就得提高电流,要么就得提高电压,这两点都不容易,真做到了也会意味着新旧标准不兼容,同时也会大幅提高主板设计难度及成本,这在一些低端主板上是不可能的。
PCI-E插槽供电的问题我们在PCI-E 3.0一文中就讨论过了,现在来看PCI-E 4.0时代依然无解,照这么算下去,PCI-E 5.0时代还会是这个样子。
可以确认的一点,原本传说PCI-E 4.0是最后一代使用铜线材质的规范已经不是真的了,PCI-SIG已经在开始讨论PCI-E 5.0规范了,其信号速率要继续翻倍到32GT/s,虽然看起来是个不可能的任务,但PCI-SIG可能找到解决突破铜线瓶颈的方法了,只不过以PCI-E 4.0的跳票来看,PCI-E 5.0至少要等到2020年之后才有可能问世了。