PCIE 30技术及发展一览.docx
《PCIE 30技术及发展一览.docx》由会员分享,可在线阅读,更多相关《PCIE 30技术及发展一览.docx(25页珍藏版)》请在冰豆网上搜索。
PCIE30技术及发展一览
PCI-E3.0标准规范
早在2007年上半年PCI-E2.0版规范刚刚公布的时候,PCIExpress技术标准组织PCI-SIG就准备用两年多的时间将其快速进化到第三代,但是谁也没想到PCI-E3.0的酝酿过程会如此一波三折,直到3年半以后才最终修成正果。
PCI-SIG主席兼总裁几乎泪流满面:
“PCI-SIG始终致力于I/O创新,我们也很骄傲地向我们的成员发布PCI-E3.0规范。
PCI-E3.0架构从细节上对前两代PCI-E规范进行了极大地改进,为我们的成员在各自领域继续创新提供了所必需的性能和功能。
”
在对可制造性、成本、功耗、复杂性、兼容性等诸多方面进行综合、平衡之后,PCI-E3.0规范将数据传输率提升到8GHz|8GT/s(最初也预想过10GHz),并保持了对PCI-E2.x/1.x的向下兼容,继续支持2.5GHz、5GHz信号机制。
基于此,PCI-E3.0架构单信道(x1)单向带宽即可接近1GB/s,十六信道(x16)双向带宽更是可达32GB/s。
PCI-E3.0同时还特别增加了128b/130b解码机制,可以确保几乎100%的传输效率,相比此前版本的8b/10b机制提升了25%,从而促成了传输带宽的翻番,延续了PCI-E规范的一贯传统。
新规范在信号和软件层的其他增强之处还有数据复用指示、原子操作、动态电源调整机制、延迟容许报告、宽松传输排序、基地址寄存器(BAR)大小调整、I/O页面错误等等,从而全方位提升平台效率、软件模型弹性、架构伸缩性。
PCI-E3.0规范完整文档现已向PCI-SIG组织成员公布其中详细描述了PCI-E架构、互联属性、结构管理、编程接口等等,但没有公开发表。
2012年1月9日,世界上首块PCI-E3.0显卡RadeonHD7970问世。
主板上的高速铁路,PCI-E3.0技术及发展一览
2011-7-2818:
01 | 作者:
bolvar | 关键字:
PCI-E3.0,5GT/s,8GT/s,PCI,PCIExpress
PCI-E作为电脑中的系统总线,不仅是显卡的数据要通过它,就连我们使用最多的USB、SATA等其他接口的数据最终都是通过PCI-E总线才与送到CPU中处理的。
目前的主流标准是PCI-E2.0,不过速度更快的PCI-E3.0已经箭在弦上,只待主板、CPU和显卡支持到位,那么PCI-E3.0高达8GHz的速率、32GB/s的带宽能为我们带来什么?
电影《功夫》里的终极BOSS火云邪神说过一句话:
“天下武功,无坚不破,唯快不破”,功夫再高也怕被人一招秒杀。
这说明无论是防守还是进攻,速度都是决定性因素,对速度有着极度渴求的还有电脑上的系统总线(SystemBus)。
系统总线是“是用来连接微处理器与其他部件的一束信号线,通过系统总线架起了微处理器与其他部件之间进行信息传递的通道。
”,它的历史悠久,三十年前个人电脑(PC)刚刚问世的时候就开始存在,但是相比PC部件中的CPU、显卡1-2年就要换一代的发展速度,系统总线的发展可谓龟速,自从IBM于1982主导制定了ISA(IndustryStandardArchitecture,工业标准体系)以来,只有ISA、92年发布的PCI和2001年发布的PCIExpress(以下简称PCI-E)三种标准规范,基本上每隔10年才更换一次架构,目前的主流是PCI-E2.0,我们能见到的主板上大都会有一个PCI-E2.0插槽。
PCI-E总线在显卡上应用的如此成功,以至于一提到PCI-E,很多人第一个想到的就是显卡,实际上PCI-E更多地是作为系统总线存在的,不仅是显卡的数据要通过它,就连我们使用最多的USB、SATA等其他接口的数据最终都是通过PCI-E总线才与送到CPU中处理的。
正因为此,主板上PCI-E通道数量的多寡往往成为衡量主板性能等级的重要指标,别看有些主板提供了三条或者四条显卡插槽,但是由于芯片组(或处理器)提供的PCI-E通道不足,实际使用中会有很大局限。
Intel的Z68还有P67只吝啬地提供了16+8条PCI-E通道
目前PCI-E的主流标准是2.0,下一代PCI-E3.0标准也公布了很久了,只是相关的硬件还没有准备好,只有CPU、主板和显卡同时支持之后我们才能享受到PCI-E3.0带来的快感,不过这并不影响我们先预览一下PCI-E3.0以及它带来的变化,而且最近也有主板厂商抢先推出了多款PCI-E3.0主板,到底是若有其事还是徒有虚表,看完本文你就可以知道。
PCI-E3.0标准是去年公布的,预计今明两年PCI-E3.0就会开始发力
Tips:
由于本文要设计许多速度换算,这里简单交代2个问题,有助于理解文中涉及的数据计算。
1.单位换算:
“位(bit)”和“字节(byte)”的关系大家都知道了,理论上1byte=8bit,1GB=8Gb,1GBps=8Gbps,还有一个单位是Transfer/s(缩写T/s),这是一个速率单位,在AMD的HT和Intel的QPI介绍中很常见,1T/s与1bps可以看作是等价的,即1B=8b=8T/s。
需要注意的是,在一些新的技术标准中,为了防止数据在高速传输中出错而加入了校验码,比如PCI-E2.0、USB3.0和SATA3.0中采用的是8/10编码,每10位编码中只有8位是真实数据,这时单位换算就不再是1:
8而是1:
10了,USB3.0的5Gbps速度实际上是500MB/s而非625MB/s,SATA6Gbps的速度则是600MB/s而非750MB/s。
2.带宽计算。
PCI-E的带宽计算与显存带宽(B/s)=运行频率(MHz)*数据倍率*显存位宽(bit)÷8相类似,只是前者公式略微复杂一些,串行PCI-E带宽(B/s)=PCIE时钟频率*每周期数据位(bit)*总线通道数*编码方式÷8,以最常见的PCI-E2.0x16插槽为例,其时钟频率为5GHz(通过基准频率和PLL锁相环得到),每周期可传输2bit数据,16条通道,8/10编码,其传输总带宽=5000*2*16*(8/10)÷8=16GB/s。
◆忆往昔峥嵘岁月愁,PCI历史发展简述
在PCI-E之前,PC上的系统总线主要是PCI和AGP,前者负责连接各种外设,如网卡、独立声卡等,AGP主要用于连接显卡,它其实是在PCI标准基础上针对3D应用扩展而来,同样属于PCI体系。
PCI总线之前是IBM制定的ISA总线,初期只是一个8位总线,频率也只有8MHz,后期升级到16位,并最终扩展到32位EISA总线,即便如此其带宽也只有16MB/s-64MB/s,已经跟不上当时PC发展的脚步了,第一代系统总线标准即将结束。
基于PCI总线的显卡算得上老古董了
接下来登场的是PCI总线,全称是PeripheralComponentInterconnect(外部设备互联总线),是羽翼渐丰的Intel公司在1991年首次提出的,之后又联合多家业内大腕如IBM、Compaq、HP、DEC等成立PCI-SIG(PeripheralComponentInterconnectSpecialInterestGroup)组织,接管了PCI总线及后续规范的制定,成为PCI的官方组织。
PCI总线起步就是32位,之后也有64位版本,预设工作频率则提升到33MHz,此时的总线带宽为133MB/s-266MB/s,带宽相比以往有了很大提升,对当时的I/O设备来说足够了。
1995年的时候PCI2.1又增加了66MHz的工作频率,64位带宽可以再翻一倍达到533MB/s。
在服务器领域还发展出一种PCI-X的分支,最高频率提高到133MHz,64位带宽进一步提高到1066MB/s,不过PCI-X是非主流,除了在服务器上发发光之外PC上应用并不多,大多数芯片组依然配备的是33MHz、32位的PCI插槽。
PCI总线时代赶上了显卡的爆发式增长,133MB/s的带宽要在显卡和其他IO设备中共享会对极大限制显卡的性能提升,因此PCI-SIG组织单独制定了AGP(AcceleratedGraphicsPort,图形加速接口)规范,自此显卡开始单干,不再与其他I/O共享带宽。
盛极一时的Voodoo5就停留在AGP时代
AGP位宽保持在32位,但它最大的特点是避开了缓慢的PCI通道使得插槽可与CPU直接通讯,这种点对点的连接方式可以保证时钟频率更高,基准频率依然为66MHz,但是AGP最高支持8通道,等效速率达到了533MHz,带宽达到了2.1GB/s。
第二个优点则是AGP接口使用了边带寻址(sidebandaddressing),意味着寻址和数据分离,二者可以同时传输,最后一点则是图形处理方面的,PCI显卡要想载入纹理数据需要将它从内存中拷入到显卡的帧缓冲器中,而AGP显卡支持AGPFastWrite快写技术,可以直接从内存中读取纹理数据,有效减少了延迟。
应该说PCI和AGP的生命力很顽强,即使到今天也没有完全消失。
虽然Intel对待落后技术一向很激进,当前的6系芯片组如P67/H67/Z68已经不再支持PCI,好在AMD的芯片组还没有放弃PCI,因此多数主板上仍会带有一个或者多个PCI插槽以满足用户接驳PCI外设的需求。
至于AGP显卡和主板,虽然已是凤毛麟角,但是直到DX10时代厂商都在推一些AGP接口的显卡,如迪兰就推出过AGP接口的HD3850,相关驱动也未断绝,只是找起来不是那么容易。
就像所有已成既定事实那样,这里我们也要说一句:
PCI/AGP被取代是必然的,因为随着时间的增长,PCI总线面对新技术、新设备的发展也力不从心了,更快、更高、更强的下一代总线技术就要来了,那就是PCIExpress。
◆青出于蓝胜于蓝,PCI-E一统江湖
PCI总线已是强弩之末,2001年Intel的IDF年会上提出了PCI总线的继任者——ThirdGenerationI/O(简称3GIO),之后交由PCI-SIG组织于2002年正式发布标准,定名为PCIExpress(简称为PCI-E),这也就是一直延续到现在而长盛不衰的新一代总线标准。
单从名字上来看PCI-E只多了Express(快速)的意思,它确实也是脱胎于PCI架构,但是它也真正实现了青出于蓝而胜于蓝的变化。
前任PCI总线是一种高度共享的并行总线,所有连接在PCI总线上的设备要共享那可怜的带宽,AGP专用图形接口其实是被逼而生的,而PCI-E总线则从AGP接口上获益良多,也变身为点对点传输的串行总线,因此在时钟频率、传输带宽上已不可同日而语。
相比PCI总线,PCI-E有如下优势:
1.点对点串行传输,从并行到串行是PCI-E最根本的变化,因此每个设备都与处理器直接通讯并获得最大带宽,多个设备之间不会争抢带宽。
2.工作频率非常高,PCI的工作频率普遍为33-66MHz,AGP最高等效频率也只有533MHz,而PCI-E的基础频率为100MHz,但是通过PLL锁相环电路可以提高到2.5GHz,PCI-E2.0提高到5GHz,PCI-E3.0则达到8GHz,极大地提高了数据传输速度。
3.支持双向数据传输,PCI总线每周期只能发送一个数据,而PCI-E总线每周期上行、下行都能同时传输数据,仅此一点带宽就可以翻倍。
4.支持数据分通道传输,这个就是我们常见到的x1、x4、x8、x16所代表的含义了,最高有x32通道,带宽翻番上涨。
5.速度快了,质量控制也要跟得上,PCI-E中引入了QoS(服务质量)、PowerManagement(电源管理)、Dataintegeriy(数据完整)、热插拔等多种技术,保障了数据传输质量。
6.供电能力更强,第一代PCI-E的插槽供电能力为75W,相比AGP插槽的35W供电能力有了很大提高,至少在2000年左右75W的供电能力可以为多数显卡供电而不需要额外接口,围绕供电问题我们后面的章节也有专门的讨论。
7.PCI-E继承了PCI总线的优点,可以在软件层面与之兼容,无需驱动和操作系统的支持即可使用。
不过因为底层变化,PCI插槽与PCI-E插槽无法兼容。
完整的PCI-E结构
一个完整的PCI-E可以分为三个层:
物理层(Physical)、DataLink(数据链)和Transaction(转换层),其中物理层是最重要的一部分,PCI-E的时钟频率、通道分割都是在这一层面完成的。
物理层的数据传输原理
PCI-E的每条Link实际上由两个或多个Lane(通道)组成每条通道又同时包含两条单向传输的线路,它们可以看作发射端和接收端,支持同时传递数据,其信号频率为2.5GHz,这还是PCI-E1.0的标准,2.0和3.0标准中信号频率分别为5GHz和8GHz。
为了减少高速传输过程可能出现的错误,PCI-E的信号编码采用了8b/10b方式,虽然会浪费20%的带宽,但是这是高速数据传输过程必不可少的步骤,可以保证数据传输的一致性。
在具体的插槽形式上,PCI-E与PCI的插槽是不同的。
与PCI-E的通道数相对应,目前的PCI-E插槽也有x1、x4、x8和x16四种,依次向下兼容,即x16插槽可以使用任何PCI-E设备,x1插槽只能使用x1设备。
实际上主板上的x8大都是跟x16是通用的,因此我们见到的大多只有三种PCI-E插槽——x1、x4和x16。
PCI-E插槽的四种形式
正是由于PCI-E在技术上的诸多优势,标准公布之后PCI-E很快就成为主流,带宽急剧增加也使得专用的显卡总线没有了必要,I/O总线和显卡总线又重新统一到了PCI-E总线上,目前我们所能见到的显卡几乎都是PCI-E接口的。
PCI-E总线对整个电脑的影响是巨大的,举个简单的例子,Intel在LGA775时代超频大都是超外频,那时候500MHz的外频是扣肉处理器的门槛。
随着北桥逐渐消失,PCI-E控制器也逐渐进入CPU内部,CPU的外频已经开始与PCI-E保持一致。
因为PCI-E的基准频率大都是100MHz,而且可调空间有限,这对超频带来了新的挑战。
Intel的SNB架构的处理器外频就只有100MHz,而且极难达到110MHz以上,大都卡在108MHz,所以想超频就只能提高倍频。
同样地,AMD近期发布的LlanoAPU也是单芯片平台,其外频也只有100MHz,倍频锁定了也无法调节,这些都对传统的超频方式提出了新的考验。
PCI-E标准问世将近10年,相比前面的两代总线技术它的发展如火如荼,一直到现在都看不到衰败的迹象,势头反而越来越猛,主流的PCI-E2.0还未寿终,下一代PCI-E3.0就已经来了,它会带来什么变化呢?
◆速度追求无止境,昂首步入3.0时代
经过多个版本的演变,PCI-SIG终于在去年11月份发布了PCI-E3.0的最终规范,新一代规范依然围绕提速进行,目标是在PCI-E2.0的基础上再次提高一倍。
根据我们前面提供的公式,要想提高带宽可以从提高频率、提高数据通道以及改变编码方式入手。
这几点上提高运行频率是基础,最初的设想就是频率继续提高一倍到10GHz,但是这么做要面临很大问题,10GHz基本是铜线缆的速度极限,要在电气设计下很多功夫,即便实现了其成本也会很高,设计太复杂,不合算。
提高通道数也不可行,PCI-E2.0就有x32通道了,不过应用非常少,PCI-E3.0要是再整个64通道什么的,那么主板插槽和显卡接口都要重新设计,也不可行。
最后一个发力点就是编码了,8b/10b编码中有20%的带宽是无效的,只是为了平衡电流信号,这点“浪费”在带宽较低的情况下影响不大,但是带宽越高,浪费就有些过头了,PCI-E3.0的编码方式改成了128b/130b,每130个编码中才有2个无用的,利用率大大提高。
最终的PCI-E3.0方案采用的就是提高频率和改变编码这两种方式来进一步提高带宽的。
128b/130b的编码利用率为98.5%,时钟频率从5GHz提高到了8GHz,这样16x通道的带宽=8000*2*16*0.985/8=31.5GB/s,相比PCI-E2.0的16GB/s几近翻倍,实现了预期目标。
三代PCI-E标准的带宽变化
PCI-E3.0的8GHz是综合考虑制造难度、成本、功耗和兼容性之后的产物,再加上编码方案的改变,双管齐下最终使得带宽再次翻倍。
翻遍了官方PDF和相关网页后,除了速度上的变化之外,PCI-E3.0貌似就没什么大的改变了,毕竟前两个版本已经很完善了,而且提高频率也不是说说那么简单,从官方推出了数个PCI-E3.0修改版就可以知道了。
关于后续PCI-E4.0
PCI-E3.0正式版公布没多久,PCI-SIG就已经向PCI-E4.0进军了。
PCI-E3.0曾经许诺的10GHz频率实在难以达到,PCI-E4.0速度继续翻倍的话可能需要换材料,铜线已经不行了,或许会直接上光纤?
一旦如此下次升级将会给主板、显卡以及CPU带来新的挑战,还好这个时间不会很快,至少也得到2015年才能有成果,正式标准不知要到猴年马月了。
未来的PCI-E标准是否会转向光纤,一如Intel的雷电接口曾经的许诺那样
◆安能辨我是雄雌,PCI-E3.0主板现身
虽然PCI-E3.0的正式标准早在去年底就已经公布,但是目前的主板和CPU尚未提供支持,最早支持的IntelIvyBridge处理器发布日期一拖再拖,比较乐观的情况也是年底发布,明年才能正式上市,配套的主板将是下一代X79芯片组。
虽然这两件东西还是没影的事,但是PCI-E3.0的主板现在就有出现在市场上了。
这场“第一款PCI-E3.0主板”的战争在微星和华擎之间展开,先是微星在台北ComputeX2011电脑展上展示了支持PCI-E3.0的Z68A-GD80(G3)主板,不料半路杀出个华擎,发布了Z68Extreme4Gen3主板,抢得首款正式上市的PCI-E3.0主板。
厂商争抢PCI-E3.0只不过是出于市场竞争的考虑,由于PCI-E控制器已经集成在CPU内,是否支持PCI-E3.0已经不由主板决定,但是PCI-E3.0和目前的PCI-E2.0并没有结构上的差别,主要变化就是每通道传输速度翻倍,可以用转换芯片将两条PCI-E2.0通道合并为一条变相提高速度,目前实现主板对PCI-E3.0支持的主板都是用这种方式实现的。
微星的官方上已经开始把G3版本的Z68A主板当做新卖点了
先看微星的Z68A-GD80(G3),之前的GD80提供了三条PCI-E2.0插槽,1条为x16,1条x8,另外一条为x4,支持x16、x8+x8以及x8+x8+x4三种模式,另外还有两个x1插槽,使用的PCI-E转换芯片为P12PCIE,没有第三方PCIE芯片,PCIE总通道数依然限制在Z68本身的16+8个。
要想实现PCI-E3.0的速度翻倍,旧版GD80是达不到要求的。
微星的Z68A-GD80-G3主板通过P13PCIE转换芯片实现了PCI-E3.0支持
G3版本的Z68A-GD80的转换芯片变为P13PCIE,增加了第三方PCI-E芯片提供更多的PCI-E通道(型号未知,应该也是一条8通道PCI-E芯片),最终它的第一条PCI-E插槽可以支持1条PCI-E3.0x16显卡(前提是第二、第三条插槽不插任何显卡),第二、第三条插槽分别可以支持PCI-E3.0x8和PCI-E3.0x4,组SLI或者CF只能以PCI-E3.0x8+x8进行。
华擎的Z68主板则是通过NXPL04083B转换芯片实现了PCI-E3.0支持
华擎的Fatal1tyZ68ProfessionalGen3的做法类似,只是转换芯片为NXPL04083B,第三方PCI-E芯片为PLXPEX8608,支持额外的8通道PCI-E。
这款主板也是三条PCI-E插槽,同样支持x16、x8+x8以及x8+x8+x4三种模式。
这款主板的第一条插槽可以在单卡情况下实现PCI-E3.0x16,第二条PCI-E插槽实现PCI-E3.0x8,第三条只有PCI-E2.0x4。
应该说这些变通方法确实给目前的主板带来了PCI-E3.0支持,但是这种支持是象征意义大于实际意义,第一目前没有可用的CPU和显卡,PCI-E3.0技术还是屠龙之技,派不上用场。
第二点,吝啬的Z68原生只提供了16+8条PCI-E通道,即使配上第三方的8条也只能实现一条PCI-E3.0x16,一旦用上PCI-E3.0显卡,那么它就会占据所有的PCI-E通道,这会不会导致其他PCI-E设备、USB以及SATA设备带宽不足,进而影响性能?
由于缺少相关硬件,这个问题暂时还无法通过测试验证,不过我们也会对这个问题保持关注,希望尽快能拿到相关硬件做个测试。
◆推翻三座大山:
应用、外设及供电
人无远虑必有近忧,虽然目前的PCI-E2.0如日中天,速度翻倍的PCI-E3.0更是蓄势待发,但是它也不是那么完美,至少有三座“大山”需要PCI-E3.0翻越,过得了这三关PCI-E3.0才能高枕勿忧地走下去。
第一关:
这么快的速度有什么用?
PCI-E3.0的带宽达到了32GB/s,读者对单一的数值可能没有具体的概念,我们可以这么来比,AMD的HT总线速率最高为6.4GT/s,32bit位宽下带宽为25.6(单向)-51.2GB/s(双向),Intel的QPI总线速率也是6.4GT/s,20位宽下其带宽为16(单向)-32GB/s(双向),而HT和QPI总线都是CPU内部链接用的,换句话说PCI-E3.0的32GB/s带宽已经可以匹敌以超高数据传输见长的芯片内部带宽,这么高的带宽有什么用?
显卡是PCI-E发展的第一推动力,PCI-E3.0第一个也是最主要的一个应用领域就是新一代显卡,升级架构之后次世代显卡的运算能力往往倍增,带宽要求也会更高,理论上PCI-E3.0会有更好表现。
但是,目前的问题是新一代显卡是否使用PCI-E3.0尚且是未知数,之前有消息说AMD未来的HD7000显卡将会使用PCI-E3.0插槽,联想到AMD在PCI-E技术一向比较积极,HD6800是最早支持PCI-E2.1标准的显卡之一,HD7000支持PCI-E3.0还是有可信度的,但是目前AMD官方还没有确认,最终规格还未有定论。
即便下一代显卡支持了PCI-E3.0,也无需对PCI-E3.0的作用有太高期待,因为从现在的情况来看,PCI-E2.0的带宽并非性能瓶颈,1月份SNB处理器发布的时候我们也做过测试,P67提供的x8+x8双卡SLI/CF与x16+x16相比并没有看得出的性能损失,这说明PCI-E2.0的带宽仍未达到显卡应用瓶颈,就算下一代显卡即便是性能翻倍,带宽翻倍的PCI-E3.0也会毫无压力。
PCI-E3.0的超高带宽可以在高性能计算机领域中大显身手
从PC上的应用来看PCI-E3.0没有必要,但是我们的目光不能这么狭隘,PC之外的天地更广阔。
随着GPU通用计算的快速发展,GPU的数据传输量也越来越大,在高性能计算机、并行处理等场合中PCI-E3.0的高带宽无疑有着良好的应用前景,只是这个与普通人关系并不大。
第二关:
PCI-E外设何处寻?
虽然PCI-E作为底层技术为USB、SATA/eSATA等接口提供了数据传输基