总线是什么?总线是CPU和外围硬件设备连接的通用线路。CPU工作的时候需要同外围硬件设备进行数据交换,但是假如每种设备都分别引入一组线路之间同CPU相连,那么系统线路显然是杂乱无章的,为了避免这种情况,人们引入了一组通用线路,同时给不同的硬件设备配备相应的接口,无疑这样做的结果是大大地简化了CPU同外围设备交换的程序,提高了工作效率。总线根据连接设备的不同,又可以分成内部总线、系统总线和外部总线。内部总线是连接CPU和系统内部芯片用的,系统总线则是连接主板和扩展卡,外部总线用于连接系统和外围设备。
自计算机问世以来,总线技术就因为数据传输的需要不断地发展,ISA(Industrial Standard Architecture)是最早制定总线技术,当它那仅仅5-8MB/s的带宽已经无法满足系统需要的时候,目前流行的PCI(Peripheral Component Interconnect)总线就应运而生,PCI的最大带宽可以达到132MB/s(改进的64位/66MHZ的PCI总线的最大带宽可以达到533MB/s),足以满足一段时间人们的需要了。然而随着技术的发展,即使是最快的PCI总线带宽也已经无法满足人们的需求,于是出现了AGP总线。AGP总线可以提供的带宽远远超出了用户的需要,按理说应该够用了;然而偏偏AGP总线只能用在显示系统上,其它的设备怎么办呢?它们还在PCI总线那极窄的带宽中煎熬,于是制定一种稳定高效的新型总线技术迫在眉睫。
然而正是由于总线在计算机系统中的重要地位,每个厂家都希望自己的技术能够为其它厂商所采用,成为独占市场的霸主,于是出现了PCI-X和InfiniBand两种总线之争。
PCI-X总线技术
严格地说PCI-X并非一种全新的总线技术,它只是目前流行的PCI总线的扩展架构,它通过一些数据交换技术上的改进使得PCI-X的性能比PCI总线提高14%-35%,具体地说这个过程是这样的:PCI-X允许连接的单个PCI-X设备单独进行数据交换,同时断开其它空闲设备的连接,这样就缩短了总线的等待周期,数据传输的效率得到了提高,性能自然就提高了。
当然,仅仅只有这个变化是不足以让PCI-X总线技术成为大家瞩目的未来之星,PCI-X吸引人的另一个地方是它的变频技术。目前的PCI-X 1.0版本可以支持66MHz、100MHz、133MHz三种频率,它们的理论最大带宽分别是533MB/s、800MB/s和1066MB/s。或许你会说那PCI-X不就只是将PCI总线的频率提高了吗?带宽的提高或许仅仅只是依靠总线频率的提高来获得的吧!当然不是这样,在PCI-X架构下,可以利用的总线带宽应该这样计算:66MHz、100MHz、133MHz三种频率依次可以管理4个、2个和1个PCI-X设备,那么理论上可以利用的总带宽分别是533MB/s×4=2.1G/s,800MB/s×2=1.6G/s和1066MB/s。
当新架构出现后,我们总会自然而然地关心它的向下兼容问题,因为用户都不希望自己以前的投资付诸东流。而这正是PCI-X总线相对于竞争对手的一大优势,因为目前所有的PCI设备都可以顺利地插在PCI-X插槽中,PCI-X和PCI设备也能够和平共处,所有目前用户所购买的PCI设备可以顺利地在使用PCI-X总线的系统中继续发挥作用,而且32位和64位的PCI-X的规格也是一样的,用户也不需要因为PCI-X自身的升级而更换已有的PCI设备。所有的这些都最大限度地保护了用户的投资。
目前风头正劲的AMD和VIA是PCI-X技术的积极倡导者,VIA已经将支持PCI-X的芯片组提上了发布日程。著名厂商IBM和ServerWorks同样也给予了PCI-X有力的支持,前者发布了标准化的PCI-X桥接芯片,后者则在早些时候向人们展示了采用PCI-X总线的Foster服务器系统。
InfiniBand总线技术
正所谓不是冤家不聚头,Intel和与AMD、VIA的想法总有些不一样,具体的例子有从很早的Slot1和SlotA到前不久Rambus和DDR,这样的对立一直延续到InfiniBand和PCI-X之争。InfiniBand的构思来自于NGIO和Future I/O两种曾经打得不可开交的总线结构,Intel在1999年中期将它们融合在一起,经过不断地改进形成了我们所看到的InfiniBand。
与PCI-X不同的是,InfiniBand是为完全取代PCI总线而生的,所以InfiniBand采用了与PCI完全不同的架构,也正是因为这样InfiniBand的设计师有了更大的发挥空间,InfiniBand总线技术也有了更多可以吸引人的东西。
InfiniBand首先展示给我们的是它的极高带宽和灵活的扩展能力。
InfiniBand根据用户的不同需要设计了1、4、12条中继线三种工作方式,理论带宽分别可以达到500MB/s、2GB/s和创记录的6GB/s,如此高的带宽显然比PCI-X更有吸引力;同时,由于InfiniBand可以让应用程序在无需CPU协会协助的情况下直接访问外围设备,所以软件设计师可以针对InfiniBand开发出效率更高的应用软件,这样能够大幅度地提高系统访问效率和速度,无形中也就提高了总线带宽。
InfiniBand灵活的扩展能力也是用户所期待的。为服务器添加PCI设备的步骤你还记得吗?关闭服务器,插入PCI卡同时连接设备,安装驱动,最后重新启动系统让新设备生效。先不说步骤烦琐,在关闭服务器直接造成的损失你计算过吗?对有的部门来说,即使是服务器短暂的关闭也是致命的!为了避免这种损失我们不得不提前备份数据,启用另一个服务器……而如果采用的是InfiniBand总线,这种情况将不复存在,我们只需要将新设备连接到InfiniBand接口上,接下来就有控制芯片搞定一切了,用户完全不用操心,也不用关闭服务器。InfiniBand的扩展能力当然不仅仅局限于此,它还解决了PCI总线中设备的距离问题,由于全新的通道设计,外部设备可以放到距离服务器很远的地方工作(如果使用的是光缆,最远距离可以达到0.3-10千米),服务器的体积也因此缩小了许多。
鹿死谁手?
由于各种原因,目前这两种技术都还只能用在服务器和高端系统中,但是我们相信随着AMD和Intel两强竞争的加剧,不久就能够在家用PC系统上看到它们的身影;抑或是两者的改进技术。从性能来看,InfiniBand的极大带宽当然比PCI-X的有限带宽更有优势,对用户更有吸引力;不仅如此,在使用InfiniBand总线技术的系统中我们可以方便地安装外围设备,而且这样的外围设备可以不局限于系统附近,在上面的文字中我们已经提到,两者的最远距离可以达到10千米;InfiniBand所支持的设备数目也占有明显的优势。看到这里也许有人会问:那PCI-X岂不是必败无疑?那也未必!因为PCI-X有一个杀手锏──兼容性。根据PCI-X技术的设计,PCI-X和PCI设备可以相互调换插槽,可以无冲突地并存在一个系统中,最大限度地保护了用户以前的投资。正因为这样,PCI-X 和InfiniBand之间的对决究竟鹿死谁手还很难说,未来用户的选择将是决定两者胜负的关键!而AMD和Intel在高端CPU市场上的竞争也很有可能左右总线争霸战的进程。(Spiceboy)
|