从羊肠小道到高速公路──总线发展史(下)

硬件周刊

  Alpha EV6总线

  如果你手上有比较老的电脑教学书籍,你会发现它们几乎都没有提到FSB(前端总线),这个在今天十分流行的词语。这是怎么回事呢?原因就是在当时,前端总线频率和CPU外频都是同步的,人们很少把它们区别开来讲。但是自从Alpha EV6总线发布以后,前端总线频率开始和CPU外频分离,它们之间已经无法再划上等号。为了能给CPU更大的数据传输带宽,AMD研发了Alpha EV6总线,采用源同步时钟技术,可以利用同一方波的上升沿和下降沿分别完成一次触发,这就可以轻易地使处理器与芯片组之间的总线频率达到外频速度的两倍。以Athlon XP 2000+为例,2000+的外频为133MHz,前端总线频率就达到了133MHz×2=266MHz。

  Alpha EV6总线可以非常有效地提升处理器与内存、芯片组之间进行数据交换的带宽,这为Athlon系列CPU在和奔腾3的竞争中助力不少。

  Quad Pumped总线

  随着Alpha EV6总线的发布,英特尔也迫切要为它的奔腾4开发一个专用总线来增大带宽,Quad Pumped(4倍并发)总线就这样诞生了。相比之下,Quad Pumped总线可以在一个时钟周期内,在总线上同时传送四路64bit数据,这样一来,前端总线的频率就提升到了CPU外频的四倍。以外频为200MHz的P4 2.6C GHz为例,其前端总线频率就为200MHz×4=800MHz。在相同CPU外频下,Quad Pumped总线拥有比Alpha EV6总线高一倍的带宽,更有利于CPU性能的发挥。

  PCI-X总线

  与PCI相比,在服务器领域使用的PCI-X拥有更宽的通道、更优良的通道性能以及更好的安全性能,而且PCI-X又能与目前的PCI设备兼容,并具有良好的扩展性,这就在很大程度上减少了PCI-X总线普及的阻力。

  和PCI相比,PCI-X频率是可扩展的,可随设备的变化而变化,而不是像PCI那样是固定的。比如某一设备工作于66MHz,那么PCI-X总线就将工作于66MHz,而如果设备支持100MHz的话,它就将在100MHz下工作。PCI-X可以支持33/66/100MHz等频率,工作于66MHz的PCI-X控制器将最多能访问4个PCI-X设备,在64bit模式下拥有533MB/s的带宽。同时,我们还可以通过增加PCI-X至PCI-X的桥接芯片来支持更多设备。但是随着PCI-X设备工作频率的升高,可以管理的设备数目也会递减。当所有的PCI-X设备均工作于100MHz下时,在64bit模式下就将拥有800MB/s的带宽,但是最多可以管理的PCI-X设备也缩减到了两个。当PCI-X设备工作于133MHz时,PCI-X总线将只能支持1个PCI-X设备,但是它将具有惊人的1066MB/s带宽(64bit模式)!

  2002年7月,PCI-SIG又提出了全新的PCI-X 2.0标准,包括PCI-X 266和PCI-X 533两个规范,在64bit模式下,分别具有2.1GB/s带宽和4.3GB/s带宽。

  如今,最新一代的PCI-X 3.0标准又被提出,PCI-X 1066等同工作在1066MHz下,在64bit模式下具有8.6 GB/s的带宽。而且PCI-X 1066和PCI-X 266以及PCI-X 533都是向下兼容的。

  HyperTransport总线

  1999年,AMD在微处理器论坛上首次提出了HyperTransport总线的概念,当时还是被称为Lightning Data Transport(LDT,闪电数据传输),在2001年2月才正式改名为HyperTransport。

  HyperTransport是一种为主板上的集成电路互联而设计的端到端总线技术,它可在内存控制器、硬盘控制器以及PCI总线控制器之间提供更高的带宽。HyperTransport是在同一个并行总线中模拟出两个独立数据链进行点对点数据传输。400MHz下,双向4bit模式的总线带宽为0.8GB/s;双向8bit模式的总线带宽为1.6GB/s。800MHz下,双向8bit模式的总线带宽为3.2GB/s;双向16bit模式的总线带宽为6.4GB/s;双向32bit模式的总线带宽为12.8GB/s。

  HyperTransport还有一大特色,就是当数据宽度并非32位时,可以分批传输数据来达到与32位相同的效果。比如说16位的数据就可以分两批传输,在使用8位数据时就分4批传送,这种分包传输数据的方法,给了HyperTransport更大的弹性空间。

  今年2月,HyperTransport技术联盟又正式发布了HyperTransport 2.0规格,由于采用了Dual-data,使频率成功提升到了1.0GHz、1.2GHz和1.4GHz,并且由每通道1.6GB/s提升到2.0GB/s、2.4GB/s和2.8GB/s,最大带宽由原来的12.8GB/s提升到22.4GB/s。

  PCI Express(3GIO)总线

  随着PCI总线逐渐成为限制计算机性能发挥的瓶颈,英特尔开始酝酿第三代总线了。2001年春季,Intel在IDF上推出了旨在取代PCI总线连接内部芯片的第三代I/O技术,也就是3GIO。2001年8月,PCI-SIG组织批准了代号为Arapahoe的3GIO标准。到了2002年4月,PCI-SIG和Arapahoe工作组完成了3GIO的草案,并正式将它改名为PCI Express。2002年7月23日,PCI-SIG正式公布了PCI Express规范1.0版以及相应的PCI Express卡电气规范。

  PCI Express总线具有很多优点,由于只需要从芯片组中引出很少的引脚,这使得主板布线难度大大降低。而且,它可以根据所连接的硬件设备的不同,使用不同的频率同各个设备连接通讯。 同时,PCI Express总线可以“走出机箱”。也就是说PCI Express可以如同现在的USB或者Firewire一样通过计算机上的一定接口同外部符合PCI Express标准接口的设备进行连接和通讯。

  由于PCI Express总线采用了点对点技术,每个PCI Express设备都是直接同系统芯片进行交流,因而不会像PCI总线那样存在整体带宽问题,不会因为个别设备而影响其他共享PCI总线的设备。PCI Express还具有很好的向下兼容性,符合PCI 2.3规范的板卡都可以在低带宽的PCI Express插槽上使用。

  第一代的PCI Express连接信号传输速度为每个基本连接单向2.5Gbit/s,通过多个基本连接同时工作,可以实现最大80Gbit/s即10GB/s的带宽。但由于PCI Express总线是直接植入了时钟信号的,时钟信号被直接植入数据流中,而不是作为独立信号存在。因为是通过8bit/10bit的编码来实现,所以每个字符需要占据10bit,也就是会比通常多出20%。因而PCI Express总线的实际最大带宽是要打个“八折”的。

  PCI Express连接结构可以有×1、×2、×4、×8、×12、×16和×32几种不同形式。顾名思义,×1的连接就是在每个方向上具有1个基本连接,×16的连接则在每个方向上具有16个基本连接,以此类推。由于PCI Express的高带宽使它成为了下一代的总线标准,也只有在PCI Express总线的支持下,未来更高端的显卡才能发挥其强大的处理性能,更快速的网络(千兆网络)才能顺利搭建。

  InfiniBand(NGIO,FIO)总线

  相比之下,知道InfiniBand总线的人就不多了,因为这个总线更多地是面向服务器领域,而且是一路风风雨雨发展过来的。

  最初,为了应对服务器的不断发展对传统总线造成的压力,英特尔公司推出了所谓下一代I/O总线结构,即NGIO(Next Generation Input/Output)总线;随后,IBM、HP也提出了一个类似的用于服务器领域的总线,并称之为FIO(Future Input/Output)总线。最后它们合并成了一个总线,就是我们现在的InfiniBand总线。

  在技术上InfiniBand基于Switched Fabric。具有1组Link(1组由两条单向传输路径组成)、4组Link以及12组Link共三种规格,每组Link的传输速度为2.5Gbps。每个Link可以使用铜线或者光缆。如果使用铜线,传输距离可达17米;如果使用光缆,最长可以传输10公里。使用InfiniBand的系统是由多个子网构成的,子网之间通过路由器以及网桥连接,一个子网最多可以由6.4万个节点构成。由于消除了内部I/O总线,InfiniBand总线可以使服务器的占地面积减少60%,从而取代体积庞大的服务器。

  采用InfiniBand之后,开发人员可以使应用程序不必再经过CPU就直接调用I/O设备。另外,它不仅能用于单台服务器,而且也可以用于集群服务器以及服务器之间高速互联。

  结语

  曾经辉煌的ISA总线早已从我们的主板上消失,AGP总线也已被英特尔判了死刑,消失也已是时间的问题,HyperTransport和PCI Express总线已经切实走到我们身边。总线技术的不断发展,不断地为模块之间修筑越来越宽的高速公路,让CPU等各个部件越来越完全地发挥其性能。以铜为鉴,可以正衣冠;以史为鉴,可以知兴衰;以人为鉴,可以明得失;以总线为鉴,可以通发展。总线的发展史也就是计算机的发展史。