打印

系统总线发展

系统总线发展

本文来自:DIY中文论坛forum.diy.net.my★ 转帖请注明出处! 作者:imapx2 您是第787个浏览者
PC总线与ISA总线. q7 I4 M5 T9 U$ V. q) Z
    在计算机系统中,各个功能部件都是通过总线交换数据,总线的速度对系统性能有着极大的影响。而也正因为如此,总线被誉为是计算机系统的神经中枢。但相比CPU、显卡、内存硬盘等功能部件,总线技术的提升步伐要缓慢得多。在PC发展的二十余年历史中,总线只进行三次更新换代,但它的每次变革都令计算机的面貌焕然一新。在下面的文字中,我们将向大家介绍计算机系统总线的详细发展历程,包括早期的PC总线和ISA总线、PCI/AGP总线、PCI-X总线以及目前主流的PCI Express、HyperTransport高速串行总线。 ) M, b& w' c- O" e" D! `

2 [- J( T# L( j# ^- Q- h) r    PC总线与ISA总线* n' u  o5 C) p# U. Z
    PC总线是最古老的总线之一,虽然在它之前还有诸如MCA、VESA在内的多种总线规格,但它却是第一种被认可为广泛标准的总线技术。PC总线最早出现在IBM公司1981年推出的PC/XT电脑中,它基于8位结构的8088处理器,也被称为PC/XT总线。
7 K8 a. o# d+ h) P    PC总线沿用了三年多时间,直到1984年,IBM推出基于16位英特尔80286处理器的PC/AT电脑,系统总线才被16位的PC/AT总线所代替。而这个时候,PC产业已初具规模,加之IBM允许第三方厂商开发兼容产品,PC/AT总线规范也被逐渐标准化,并衍生出著名的ISA总线(Industry Standard Architecture,工业标准架构)。4 U+ B, V2 o6 {
    与PC/AT总线不同,ISA总线采用8位和16位模式,它的最大数据传输率为8MBps和16MBps—今天来看这样的性能低得不可思议,但在当时8MBps的速率绰绰有余,完全可满足多个CPU共享系统资源的需要。既然是标准化的总线技术,ISA就基本不存在什么兼容性问题,后来的兼容PC也无一例外都采用ISA技术作为系统总线。ISA总线一直贯穿286和386SX时代,在当时,16位X86系统对总线性能并没有太高的要求,ISA也没有遭遇任何麻烦。但在32位386DX处理器出现之后,16位宽度的ISA总线就遇到问题,总线数据传输慢使得处理器性能也受到严重的制约。有鉴于此,康柏、惠普、AST、爱普生等九家厂商协同将ISA总线扩展到32位宽度,EISA(Extended Industry Standard Architecture,扩展工业标准架构)总线由此诞生—这是发生在1988年的事情。1 K5 \1 F/ k$ K; G& w& Y: g2 P) T
; T" o. Q+ p- ]2 {1 Z. O; t9 r* W
    EISA总线的工作频率仍然保持在8MHz水平,但受益于32位宽度,它的总线带宽提升到32MBps。另外,EISA可以完全兼容之前的8/16位ISA总线,用户已有扩展设备可继续使用,一定程度受到用户的欢迎。然而,EISA并没有重复ISA的辉煌,它的成本过高,且速度潜力有限;更要命的是,在还没有来得及成为正式工业标准的时候,更先进的PCI总线就开始出现,EISA也就成为附庸。不过,EISA总线并没有因此快速消失,它在计算机系统中与PCI总线共存了相当漫长的时光,直到2000年后EISA才正式彻底退出—而此时距EISA标准的提出已经过去了12年。

TOP

庞大的PCI总线家族* B/ y' N" p8 @3 y& {7 B  X
    PCI总线诞生于1992年。英特尔推出486处理器,这个时候,EISA总线成为瓶颈,因为CPU的速度已经明显高于总线速度,但受到EISA的限制,硬盘、显卡和其它外围设备都只能慢速发送和接收数据,整机性能受到严重影响。为了解决这个问题,英特尔公司提出32位PCI总线的概念,并迅速获得认可成为新的工业标准。: f9 }! A0 W9 z

2 @! j: b3 m1 iEISA总线传输架构,之前的ISA和后来的PCI总线均隶属于该体系。5 B2 F  Y" N5 b' m7 e/ G
    第一个版本的PCI总线工作于33MHz频率下,传输带宽达到133MBps,比ISA总线和EISA总线有了巨大的改进,很好满足当时计算机系统的发展需要。而且PCI采用了独特的中间缓冲器设计,显卡、声卡、网卡、硬盘控制器等高速外围设备都可以直接挂在PCI总线中,再与CPU实现通讯,这种做法不仅满足了当时配件对系统总线的性能要求,也提供了相当的灵活性,其设计思想一直延续至今。在PCI发布一年之后,英特尔公司紧接着提出64位的PCI总线,它的传输性能达到266MBps,但主要用于企业服务器和工作站领域;由于这些领域对总线性能要求较高,64位/33MHz规格的PCI很快又不够用了,英特尔遂将它的工作频率提升到66MHz。而随着X86服务器市场的不断扩大,64位/66MHz规格的PCI总线理所当然成为该领域的标准,针对服务器/工作站平台设计的SCSI卡、RAID控制卡、千兆网卡等设备无一例外都采用64位PCI接口,乃至到今天,这些设备还被广泛使用。
) P7 O4 q9 o$ j) O    不过,PC领域的32位总线一直都没有得到升级,工作频率也停留于33MHz,随着时间的推移,PCI总线又遇到新的瓶颈。1996年,3D显卡出现,揭开3D时代的序幕。由于3D显卡需要与CPU进行频繁的数据交换,而图形数据又往往较为庞大,PCI总线显得力不从心。看到这种情况,英特尔便在PCI基础上专门研发出一种专门针对显卡的总线标准,它就是大名鼎鼎的AGP总线(加速图形接口,Accelerated Graphics Port)。1996年7月,AGP 1.0标准问世,它的工作频率达到66MHz,具有1X和2X两种模式,数据传输带宽分别达到了266MBps和533MBps。AGP 1.0的出现,在一段时间内基本满足显卡与系统交换数据的需要,为早期的3D显卡广为使用,当然最流行的是AGP 2X模式,只能够支持1X模式的显卡非常罕见。5 O& m9 l7 X  ?$ Z1 i$ W( p) r
    AGP 1.0大约只流行了两年时间,原因在于显卡技术发展日新月异,显卡单位时间要处理的数据呈几何级数成倍增长,AGP 2X提供的533MBps带宽很快又无法满足需要。1998年5月,英特尔公司发布AGP 2.0版规范,它的工作频率仍然停留在66MHz,但工作电压降低到1.5V,且通过增加的4X模式,将数据传输带宽提升到1.06GBps,这近乎是个飞跃性的进步。很自然,AGP 4X获得非常广泛的应用,这一点相信众人皆知。而与AGP 2.0同时推出的,还有一种针对图形工作站的AGP Pro接口,这种接口具有更强的供电能力,可驱动高功耗的专业显卡。很自然,AGP Pro成为专业显卡的接口标准,而一些高端PC主板也采用该接口,毕竟它可以完全兼容标准的AGP显卡,在应用上并无障碍。- a7 I7 m5 P( P6 T7 k
    AGP 2.0同样活跃了两年时间。2000年8月,英特尔公司推出AGP 3.0规范,它的工作电压进一步降低到0.8V,不过意义最重大的还是所增加的8X模式,这样,它便可以提供2.1GBps的总线带宽。可与前两代技术一样,AGP 8X标准没有辉煌太长时间,PCI Express总线的出现宣告PCI和AGP体系将被终结。但由于过渡不可能短时间完成,AGP 8X至今在市场上还非常活跃,尤其是在中低端领域还占据着主流地位。$ e' U, i0 y3 w! f; C! ]( r+ g, Y

& E/ t$ y" D) H9 V2 V    而在另一方面,PCI总线也早已无法满足PC扩展的需要,发展新技术势在必行。用于PC环境的32位/33MHz规格PCI总线只能提供133MBps带宽,而且要求所有的扩展设备共同分享,这在九十年代初也许没有什么问题,但时过境迁,PC系统发生了巨大的变化,各个设备的接口速度暴涨,如硬盘接口速率超过100MBps,加上千兆网卡、磁盘阵列卡等高性能设备,133MBps共享带宽早已成为严重的瓶颈。而服务器领域虽然使用64位/66MHz的PCI总线,但该领域的千兆网卡、SCSI硬盘或SCSI RAID系统更是带宽占用大户,PCI总线根本无法满足要求。在这种背景下,开发彻底代替PCI的新一代总线势在必行,对此服务器厂商与PC厂商持有不同的看法,这也导致PCI-X和PCI Express两大标准的同时出现—前者专门针对服务器/工作站领域,采用平滑升级的方式获得高性能,可以称为PCI技术的改良;而后者则是一种革命性的高速串行总线技术,主要用于PC系统中,这也是我们接下来两部分分别要讲述的内容。

TOP

PCI-X锁定服务器领域; X7 [# x' X& K' b& ?/ i  y
    PCI-X总线由康柏、惠普和IBM等三家服务器厂商于九十年代末共同发起,后来提交给PCI SIG组织修订。这项工作耗费了不短的时间,最终在2000年正式发布PCI-X 1.0版标准,PCI-X宣告诞生。 $ Q! f  _: T/ k! E$ z

# B! _( J3 W( f9 Y, J/ c" CPCI总线至今仍然是PC扩展设备的首选接口" q% }/ R) _3 k: F6 c3 d3 a
    在技术上,PCI-X并没有脱离PC体系,它仍使用64位并行总线和共享架构,但将工作频率提升到133MHz,由此获得高达1.06GBps的总带宽。如果四组设备并行工作,每组设备可用带宽为266MBps;如果只有两组设备并行,那么每组设备就可分得533MBps;而在连接一组设备的情况下,该设备便可以独自使用到全部的1.06GBps带宽。相对于64位PCI总线,PCI-X的提升相当明显,在它的帮助下,服务器内部总线资源紧张的难题得到一定的缓解。不过,PCI-X带来的变化不仅如此,它在总线的传输协议方面有许多重要的改良,例如PCI-X启用“寄存器到寄存器”的新协议—发送方发出的数据信号会被预先送入一个专门的寄存器内;寄存器可将信号保持一个时钟周期,而接收方只要在这个时钟周期内作出响应即可。而原来的PCI总线就没有这个缓冲过程,如果接收方无暇处理发送方的信号,那么该信号就会被自动抛弃,容易导致信号遗失。PCI-X的另一个重要优点在于,它可以完全兼容之前的64位PCI扩展设备,用户已有投资可以获得充分保障。平滑过渡的方式让PCI-X在服务器/工作站领域大获成功,并很快取代64位PCI成为新的标准。
* N, k4 a2 h. |1 K/ M- E6 X  ~! U$ ?, x! L* V% x1 O8 A
PCI-X总线已成为服务器主板的标准配备1 F# [' x) Y$ Z
    PCI-X 1.0没有辉煌太长时间,基于PCI基础改良的性质让它不可能彻底解决带宽不足的问题。2002年7月,PCI-SIG推出更快的PCI-X 2.0规范,它包含较低速的PCI-X 266及高速的PCI-X 533两套标准,分别针对不同的应用。同样,PCI-X 2.0并没有对总线架构做什么大改动,而只是将工作频率分别提升到266MHz和533MHz,以此获得更高的传输效能。PCI-X 266标准可提供2.1GBps共享带宽,PCI-X 533标准则更是达到4.2GBps的高水平。这两者最多都可以支持8组设备,扩展力相当强大;如果系统只安装4组设备,那么最高级的PCI-X 533标准允许每个设备获得超过1GBps的总线带宽,这完全可满足多路千兆以太网、光纤通道、SAS RAID系统的需求。此外,PCI-X 2.0也保持良好的兼容性,它的接口与PCI-X 1.0完全相同,可无缝兼容之前所有的PCI-X 1.0设备和PCI扩展设备。很自然,PCI-X 2.0成功进入服务器市场并大获成功,直到现在它仍然在服务器市场占据主流地位。# ^/ v& }/ i& \
    受到PCI-X 2.0成功的鼓舞,PCI-SIG组织在2002年11月宣布将开发PCI-X 3.0标准、也就是PCI-X 1066。据悉,该标准将工作在1066MHz的高频上,共享带宽达到8.4GBps、每个设备至少都拥有1.06GBps带宽。但十分可惜,这项计划后来并没有下文,原因很可能在于遭遇来自PCI Express阵营的冲击。9 S  c" ?& w7 h# ~) G8 ]0 ?
    注:PCI-SIG(PCI Special Interest Group,PCI特别兴趣组)于1992年成立,为管理 PCI规范的行业组织,拥有900多个企业成员,核心成员包括IBM、英特尔、AMD、惠普、微软、Phoenix、ServerWorks和德州仪器(Texas Instruments)等八家企业。

TOP

PCI Express总线取代PCI
2 s& b2 @3 ?9 p% g    在服务器领域遭遇总线速度困扰的时候,PC系统也面临相同的问题,而业界也认识到诞生多年的PCI总线是时候退出应用舞台了。在2001年的春季IDF论坛上,英特尔公司提出3GIO(Third Generation I/O Architecture,第三代I/O体系)总线的概念,它以串行、高频率运作的方式获得高性能,而3GIO的体系设计也十分富有前瞻性,它将被设计为满足未来十年PC系统的性能需要。3GIO计划获得广泛响应,后来英特尔将它提交给PCI-SIG组织,于2002年4月更名为PCI Express并以标准的形式正式推出。它的效能十分惊人,仅仅是X16模式的显卡接口就能够获得惊人的8GBps带宽。更重要的是,PCI Express改良了基础架构,彻底抛离落后的共享结构,一个新的时代开始了。4 t  A+ f- @/ ^' U( ?

$ \# ?/ Q' ~4 x$ i/ B    在工作原理上,PCI Express与并行体系的PCI没有任何相似之处,它采用串行方式传输数据,而依靠高频率来获得高性能,因此PCI Express也一度被人称为“串行PCI”。由于串行传输不存在信号干扰,总线频率提升不受阻碍,PCI Express很顺利就达到2.5GHz的超高工作频率。其次,PCI Express采用全双工运作模式,最基本的PCI Express拥有4根传输线路,其中2线用于数据发送,2线用于数据接收,也就是发送数据和接收数据可以同时进行。相比之下,PCI总线和PCI-X总线在一个时钟周期内只能作单向数据传输,效率只有PCI Express的一半;加之PCI Express使用8b/10b编码的内嵌时钟技术,时钟信息被直接写入数据流中,这比PCI总线能更有效节省传输通道,提高传输效率。第三,PCI Express没有沿用传统的共享式结构,它采用点对点工作模式(Peer to Peer,也被简称为P2P),每个PCI Express设备都有自己的专用连接,这样就无需向整条总线申请带宽,避免多个设备争抢带宽的糟糕情形发生,而此种情况在共享架构的PCI系统中司空见惯。8 D5 G, U9 m% ^
    由于工作频率高达2.5GHz,最基本的PCI Express总线可提供的单向带宽便达到250MBps(2.5Gbps×1 B/8bit×8b/10b=250MBps),再考虑全双工运作,该总线的总带宽达到500MBps—这仅仅是最基本的PCI Express ×1模式。如果使用两个通道捆绑的×2模式,PCI Express便可提供1GBps的有效数据带宽。依此类推,PCI Express ×4、×8和×16模式的有效数据传输速率分别达到2GBps、4GBps和8GBps。这与PCI总线可怜的共享式133MBps速率形成极其鲜明的对比,更何况这些都还是每个PCI Express可独自占用的带宽。% R6 l% N$ ?, x2 E# w' M6 _% d* t$ M
    PCI Express 1.0标准推出之后,实用化开发也随之启动。2004年6月,英特尔推出完全基于PCI Express设计的i915/925x系列芯片组,而nVIDIA和ATI两家显卡厂商也都在第一时间推出采用PCI Express ×16接口的显卡,PCI Express时代正式来临。不久以后,nVIDIA、VIA、SiS、ATI、Uli等芯片组厂商也都纷纷推出新一代PCI Express芯片组,移动平台也进入PCI Express时代。PCI Express取代PCI的运动开展得如火如荼,这也是我们今天看到的情况。

TOP

HyperTransport总线
+ |, q5 ?( V1 |  c' T! n7 E    在系统总线家族中,HyperTransport应该是一个另类,原因是它只是AMD自家提出的企业标准,设计目的是用于高速芯片间的内部联接,但随着AMD64平台的成功,HyperTransport总线的影响力也随之扩大,并成为连接AMD64处理器、北桥芯片和南桥芯片的系统中枢—在这样的架构中,PCI Express总线反而不再承担中坚角色,只是承担设备扩展的单一职能,HyperTransport便理所当然成为AMD64平台的系统总线。8 W6 R' U$ p# \2 Q

1 l& b0 G! B% S8 h& d    尽管是2004年才开始得到广泛应用,但HyperTransport的历史却极为悠久。早在1999年,AMD就着手进行设计,当时它被称为“LDT(Lightning Data Transport)”,意思是传输数据像闪电一样快速。2000年5月,LDT 1.0版发布,并被更名为HyperTransport。诚如前面所言,AMD开发HyperTransport的主要意图是为当时还处于设计阶段的K8处理器服务,比如两枚K8处理器构建SMP系统、K8与芯片组、芯片组的南桥与北桥等芯片间连接都需要高速总线,HyperTransport针对这些特定的场合;再者,它也可以作为路由器芯片与交换机芯片、高性能服务器内部的互联总线,具有相当高的灵活性和可扩充性,这一点也为后来的实际应用所证实。
, w; J" q( k1 R+ N' G5 A8 ~9 \: g9 y    在基本工作原理上,HyperTransport与PCI Express如出一辙,都是通过串行传输、高频率运作获得超高性能—不过正确的说法应该颠倒过来,因为HyperTransport技术早于PCI Express,后者其实是参照HyperTransport而设计。基本的HyperTransport总线为两条点对点的全双工数据传输线路(一条为输入、一条为输出),它的物理频率只有400MHz,AMD引入了DDR双向触发技术,因此其数据传输频率相当于800MHz;如果同时使用8对这样的串行传输线路(也就是8位),HyperTransport的双向数据传输率可达到1.6GBps;而如果采用32位设计,HyperTransport便能够提供6.4GBps的超高带宽。在2000年,如此高速的总线绝对令外界感到疯狂,而事实最终证明AMD的远见。4 m$ D. L* [1 {/ s# g* l7 w. d

0 ]2 J+ W4 t9 ^+ _    除了速度快之外,HyperTransport还有一个独有的优势,它可以在串行传输模式下模拟并行数据的传输效果。在当时,PC都是采用32位X86架构,系统内部数据都是以32位作为一个基本单位进行传输或处理;而改用串行总线后,接收方在接收数据时就得等32位数据全部到齐后才可进行转换和封包,这就给系统带来不必要的负担。HyperTransport总线很好地解决了这个问题,它采用一种特殊的分批方式,可以将32位数据预先分批组装—如果采用的是8位总线,那么32位数据会被分成4个批次发送,然后自动合为一体。这样在系统看来,数据都是以32位为单位传送的,它就能够直接调用,而不必像传统串行总线一样需要由系统干涉数据组装工作。
8 }, F8 r5 s/ ]    第一个采用HyperTransport总线的产品是nVIDIA在2001年推出的nForce芯片组,nVIDIA选择的是8位总线,南北桥带宽就达到800MBps—在当时,同类芯片组的南北桥带宽不过只有区区266MBps,nForce的高指标显得异常前卫。虽然nForce没有获得成功,但高性能的HyperTransport总线给外界留下深刻的印象。2002年,nForce2推出,这次nVIDIA取得了成功,HyperTransport真正进入实用阶段—不过,HyperTransport的真正辉煌还是在AMD的Opteron和Athlon 64推出以后。这两款处理器都采用32位、800Mz规格的HyperTransport总线与芯片组连接,总线带宽高达6.4GBps。由于Opteron和Athlon 64都直接整合了内存控制器,HyperTransport总线就只需要承担“显卡与CPU”以及“南桥I/O设备与CPU”之间的数据传输任务,6.4GBps带宽绰绰有余。此外,AMD为K8平台设计的AMD8000芯片组也采用HyperTransport技术,HyperTransport贯穿CPU、北桥和南桥,成为整套架构的中枢神经。不过VIA和SiS都拥有自己的南北桥总线技术,暂时未采用HyperTransport,nVIDIA的nForce3芯片组因采用单芯片设计,HyperTransport总线也与它无缘。
6 w0 `) A4 u* N- y, `. O1 _& X/ Y    2004年2月,AMD推出HyperTransport 2.0,它的主要变化就是数据传输频率提升到1GHz,32位总线的带宽达到8GBps。AMD将它用于Opteron以及高端型号的Athlon 64 FX、Athlon 64处理器中,该平台的所有芯片组产品都迅速提供支持。带宽提升主要是为满足PCI Express总线的需求,我们知道,显卡的PCI Express ×16总线提供高达8GBps的带宽,而之前HyperTransport总线只能提供6.4GBps带宽,两者无法匹配,将HyperTransport提升到2.0标准非常有必要。此时,AMD的64位平台已经具有相当出色的竞争力,无论在服务器市场还是桌面市场,AMD平台都大举流行,而HyperTransport的影响力也日趋强大,在可见的将来,HyperTransport都将保持这样的发展势头。
. h2 o7 O5 F9 O; ]5 E6 I    后记:# l. s. \% ~7 i. t
    从PC总线到ISA、PCI总线,再由PCI进入PCI Express和HyperTransport体系,计算机在这三次大转折中也完成三次飞跃式的提升。与这个过程相对应,我们看到计算机的处理速度、实现的功能和软件平台都在进行同样的进化,显然,没有总线技术的进步作为基础,计算机的快速发展就无从谈起。今天,业界站在一个崭新的起点:PCI Express和HyperTransport开创了一个今天看来近乎完美的总线架构,未来十年的计算机都将奔腾在这样的基础之上。而业界对高速总线的渴求也是无休无止,PCI Express 2.0和HyperTransport 3.0都将提上日程,相信它们将会再次带来令人惊喜的效能提升。

TOP

留个脚印,嘻嘻,脚有点臭```````

TOP



当前时区 GMT+8, 现在时间是 2008-12-2 02:14 PM
清除 Cookies - 联系我们 - DIY TECHNOLOGY ( DIY中文论坛 ) - Archiver - WAP - TOP - 界面风格