首页 理论教育 微型计算机总线发展史

微型计算机总线发展史

时间:2023-11-03 理论教育 版权反馈
【摘要】:自20世纪80年代初PC出现以来,微型计算机总线的技术一直在不断发展,虽然其发展速度没有微处理器、硬盘、显卡等那样快,但也进行了三次大的更新换代。本节将简要介绍计算机系统总线的发展历程,包括早期的PC总线和ISA总线、PCI/AGP总线以及目前主流的PCI Express等。于是,凭借着ISA的“余威”,EISA尴尬地在微型计算机系统中与PCI总线共存了12年,直到2000年前后彻底退出历史舞台。

微型计算机总线发展史

自20世纪80年代初PC出现以来,微型计算机总线的技术一直在不断发展,虽然其发展速度没有微处理器、硬盘显卡等那样快,但也进行了三次大的更新换代。而且,由于总线是微型计算机中数据传输的必经通路,其性能对于微型计算机的整体性能有着极为重要的影响,因此总线的每次变革都令计算机的面貌焕然一新。本节将简要介绍计算机系统总线的发展历程,包括早期的PC总线和ISA总线、PCI/AGP总线以及目前主流的PCI Express等。

1.PC总线与ISA总线

在微型计算机系统中出现的第一条总线是S-100总线,这是一种由业余计算机爱好者为最早的微机系统设计而后来被工业界所承认的总线。由于缺乏设计经验和一些其他的原因,S-100总线一直没有得到大规模应用。1981年,在IBM推出其PC/XT个人计算机时,PC总线这种8位结构的古老总线第一次出现在人们的眼前。由于PC总线用于PC/XT微型计算机,所以又被称作PC/XT总线。它沿用了三年多时间,直到1984年,IBM推出基于16位Intel 80286处理器的PC/AT计算机,PC总线才被16位的PC/AT总线所代替。这个时候,PC产业已初具规模,加之IBM采用了开放式的架构,允许第三方厂商开发兼容产品,PC/AT总线规范也被逐渐标准化,衍生出著名的ISA总线(Industry Standard Architecture,工业标准架构)(见图7-4)。

978-7-111-46342-9-Chapter07-4.jpg

图7-4 古老的ISA总线插槽(黑色)

与PC/AT总线不同,ISA总线的总线宽度为8位或16位,其最大数据传输速率为8 MB/s(8位)或16 MB/s(16位)——一个今天看来低得不可思议但在当时却绰绰有余的速度。ISA总线一直贯穿286和386SX时代,在当时,16位X86系统对总线性能并没有太高的要求,ISA也没有遭遇任何麻烦。但在32位386DX处理器出现之后,16位宽度的ISA总线就开始成为整个微机系统的瓶颈,其速度已经无法跟上微处理器的需要。鉴于此,康柏、惠普、AST、爱普生等九家厂商协同将ISA总线扩展到32位宽度,EISA(Extended In-dustry Standard Architecture,扩展工业标准架构)总线由此诞生——这发生在1988年。

从技术上来讲,EISA总线是ISA的一次成功扩展,它在保持ISA的8 MHz工作频率的同时通过将宽度提高到32位而将总线带宽提升到32 MB/s。与此同时,巧妙的接插件设计使得EISA可以完全兼容之前的8/16位ISA总线,这在一定程度上受到用户的欢迎。然而,EISA并没有重复ISA的辉煌,它的成本过高,且速度潜力有限。但是,这还不是最重要的,给EISA致命一击的是更先进的PCI总线的出现。于是,凭借着ISA的“余威”,EISA尴尬地在微型计算机系统中与PCI总线共存了12年,直到2000年前后彻底退出历史舞台。

2.PCI总线

1992年,已经是业界巨头的Intel推出了80486处理器,在性能上对386微处理器实现了一次飞跃。由于CPU的速度已经明显高于总线速度,使EISA总线成了微机系统的瓶颈,硬盘、显卡和其他外围设备都只能以比较低的速度发送和接收数据,整机性能受到严重影响。为了解决这个问题,Intel提出了32位PCI总线的概念(见图7-5)。PCI总线凭借着其优秀的性能和Intel在微型计算机产业的巨大影响力迅速获得业界的认可,成了替代ISA的新工业标准。

第一个版本的PCI总线工作于33 MHz频率下,传输带宽为133 MB/s,比ISA总线和EI-SA总线有了巨大的改进,很好地满足了当时计算机系统的发展需要。PCI采用了独特的中间缓冲器设计,显卡、声卡、网卡、硬盘控制器等高速外围设备都可以直接挂在PCI总线中,再与CPU进行通信。这种做法不仅满足了当时配件对系统总线的性能要求,也提供了相当的灵活性,其设计思想一直延续至今。在PCI发布一年之后,Intel公司紧接着提出主要用于企业服务器和工作站领域的64位PCI总线,传输性能达到266 MB/s。由于这些领域对总线性能要求较高,64位/33 MHz规格的PCI很快又不够用了,于是Intel将它的工作频率提升到66 MHz。随着X86服务器市场的不断扩大,64位/66 MHz规格的PCI总线理所当然成为该领域的标准,那时针对服务器/工作站平台设计的SCSI卡、RAID控制卡、千兆网卡等设备无一例外都采用64位PCI接口

不过,PC领域的32位总线一直都没有得到升级,工作频率也停留于33 MHz。1996年,3D显卡的出现带来了对总线技术的新挑战。由于3D显卡需要与CPU进行频繁的数据交换,而图形数据又往往较为庞大,PCI总线的133 MB/s传输带宽显得力不从心。于是Intel便在PCI基础上研发出一种专门针对显卡的总线标准AGP总线(加速图形接口,Accelerated Graphics Port,见图7-6)。1996年7月,AGP 1.0标准问世,它的工作频率达到66 MHz,具有1X和2X两种模式,数据传输带宽分别达到了266 MB/s和533 MB/s。大约两年后的1998年5月,Intel公司发布AGP 2.0版规范,它的工作频率仍然停留在66 MHz,但工作电压降低到1.5 V,且通过增加的4X模式,将数据传输带宽提升到1.06 GB/s,获得非常广泛的应用。与此同时还推出了一种针对图形工作站的更强的供电能力,可驱动高功耗的专业显卡的AGP Pro接口,并成为专业显卡的接口标准。

978-7-111-46342-9-Chapter07-5.jpg

图7-5 PCI总线插槽(白色),在 目前的主板上偶尔还能看到

978-7-111-46342-9-Chapter07-6.jpg

图7-6 AGP总线插槽(咖啡色)

经过了几年的发展,PCI逐渐占据了PC总线的统治地位,随之而来的是著名的南北桥结构,即CPU通过前端总线连接北桥芯片,北桥芯片负责连接一系列高速设备,如内存(通过内存总线)、显卡(通过AGP),并桥接出作为系统主要的设备接口总线的PCI总线,南桥芯片连接在PCI总线上,用来控制各种低速设备,包括ATA(IDE)、USB、BIOS、CMOS、串口/并口、键盘/鼠标等(见图7-7)。

AGP 2.0活跃了两年时间。2000年8月,Intel公司推出AGP 3.0规范,将工作电压进一步降低到0.8 V,并增加了8X模式,这样,它便可以提供2.1 GB/s的总线带宽。可是,AGP 8X标准没有辉煌太长时间,PCI Express总线的出现宣告了PCI和AGP体系的终结。在PCI Express总线的挤压下,AGP总线逐渐退出了市场,PCI总线则出于兼容性的原因而被部分主板暂时保留。

在AGP总线不断发展的同时,作为系统总线的PCI也逐渐无法满足PC扩展的需要,随着PC系统中各个设备的接口速度暴涨,如硬盘接口速率超过100 MB/s,加上千兆网卡、磁盘阵列卡等高性能设备,PCI总线的133 MB/s共享带宽早已成为严重的瓶颈。而服务器领域虽然使用64位/66 MHz的PCI总线,但该领域的千兆网卡、SCSI硬盘或SCSI RAID系统更是带宽占用大户,PCI总线根本无法满足要求。在这种背景下,开发彻底代替PCI的新一代总线势在必行,对此服务器厂商与PC厂商持有不同的看法,这也导致PCI-X和PCI Ex-press两大标准的同时出现——前者专门针对服务器/工作站领域,采用平滑升级的方式获得高性能,可以称为PCI技术的改良。而后者则是一种革命性的高速串行总线技术,使用全新的结构来提升总线的传输能力,这也是我们接下来要讲述的内容。

978-7-111-46342-9-Chapter07-7.jpg

图7-7 南北桥结构

978-7-111-46342-9-Chapter07-8.jpg

图7-8 PCI-X总线插槽(下方比较长的白色插槽)

3.平滑升级的PCI-X

PCI-X总线由Compaq、HP和IBM等服务器厂商于20世纪90年代末共同发起,后来提交给PCI SIG组织修订,最终在2000年正式发布PCI-X 1.0版标准(见图7-8)。在技术上,PCI-X并没有脱离PC体系,它仍使用64位并行总线和共享架构,但将工作频率提升到133 MHz,由此获得高达1.06 GB/s的总带宽。如果四组设备并行工作,每组设备可用带宽为266 MB/s。如果只有两组设备并行,那么每组设备就可分得533 MB/s带宽。而在连接一组设备的情况下,该设备便可以独自使用到全部的1.06 GB/s带宽。相对于64位PCI总线,PCI-X的提升相当明显,在它的帮助下,服务器内部总线资源紧张的难题得到一定的缓解。不过,PCI-X带来的变化不仅如此,它在总线的传输协议方面有许多重要的改良,例如PCI-X启用“寄存器到寄存器”的新协议——发送方发出的数据信号会被预先送入一个专门的寄存器内。寄存器可将信号保持一个时钟周期,而接收方只要在这个时钟周期内作出响应即可。而原来的PCI总线就没有这个缓冲过程,如果接收方无暇处理发送方的信号,那么该信号就会被自动抛弃,容易导致信号遗失。PCI-X的另一个重要优点在于,它可以完全兼容之前的64位PCI扩展设备,用户已有的投资可以获得充分保障。平滑过渡的方式让PCI-X在服务器/工作站领域大获成功,并很快取代64位PCI成为新的标准。(www.xing528.com)

在PCI-X 1.0之后,2002年7月,PCI-SIG推出更快的PCI-X 2.0规范,包含较低速的PCI-X 266及高速的PCI-X 533两套标准,分别针对不同的应用。同样,PCI-X 2.0并没有对总线架构做什么大改动,而只是将工作频率分别提升到266 MHz和533 MHz,以此获得更高的传输效能。PCI-X 266标准可提供2.1 GB/s共享带宽,PCI-X 533标准则更是达到4.2 GB/s的高水平。PCI-X 2.0还保持了良好的兼容性,其接口与PCI-X 1.0相同,可无缝兼容之前所有的PCI-X 1.0设备和PCI扩展设备。于是,PCI-X 2.0成功进入服务器市场并大获成功。受到PCI-X 2.0成功的鼓舞,PCI-SIG组织在2002年11月宣布将开发PCI-X 3.0标准,该标准将工作在1066 MHz的高频上,共享带宽达到8.4 GB/s、每个设备至少都拥有1.06 GB/s带宽。但是,由于技术上的缺陷,平滑升级的PCI-X受到革命性的PCI Express总线的挑战,最终逐渐退出了历史舞台。

4.PCI Express:微型计算机总线的又一次革命

2001年春季的IDF论坛上,Intel公司提出3GIO(Third Generation I/O Architecture,第三代I/O体系)总线的概念,以串行、高频率运作的方式获得高性能。3GIO计划获得广泛响应,后来Intel将它提交给PCI-SIG组织,于2002年4月更名为PCI Express并以标准的形式正式推出(见图7-9)。为了和PCI-X相区分,PCI Express一般被简称为PCIe。

978-7-111-46342-9-Chapter07-9.jpg

图7-9 PCI-Express总线插槽(图中插槽分别是PCI-e x1、x4和x16)

PCI Express在基础结构上对PCI总线进行了彻底的革新,形成了一套全新的总线体系,其带宽非常巨大,可以说PCIe替代PCI是继PCI替代ISA以来微型计算机总线技术的又一次革命性的变化。在工作原理上,PCIe与并行体系的PCI没有任何相似之处。它采用串行方式传输数据,依靠高频率来获得高性能。由于串行传输不存在信号干扰,总线频率提升不受阻碍,PCIe很顺利就达到2.5 GHz的超高工作频率。其次,PCIe采用全双工运作模式,最基本的PCIe拥有4根传输线路,其中2线用于数据发送,2线用于数据接收,也就是发送数据和接收数据可以同时进行。相比之下,PCI总线和PCI-X总线在一个时钟周期内只能作单向数据传输,效率只有PCIe的一半。加之PCIe使用8b/10b编码的内嵌时钟技术,时钟信息被直接写入数据流中,这比PCI总线能更有效节省传输通道,提高传输效率。更为重要的是,PCIe没有沿用传统的共享式结构,它采用点对点工作模式(Peer to Peer,P2P),每个PCIe设备都有自己的专用连接,这样就无需向整条总线申请带宽,避免PCI系统中常见的多个设备争抢带宽的情形发生。

由于工作频率高达2.5 GHz,最基本的PCIe 1.0总线可提供的单向带宽便达到250 MB/s(2.5 Gbit/s×1 B/8 bit×8 bit/10 bit=250 MB/s),再考虑全双工运作,该总线的总带宽达到500 MB/s。如果使用两个通道捆绑的×2模式,PCIe便可提供1 GB/s的有效数据带宽。依此类推,PCIe×4、×8和×16模式的有效数据传输速率分别达到2 GB/s、4 GB/s和8 GB/s。这与PCI总线的共享式133 MB/s数据传输速率形成极其鲜明的对比,更何况这些都还是每个PCIe可独自占用的带宽。

2006年12月,PCI Express 2.0标准推出,其传输带宽在PCI Express 1.0的基础上又提高了一倍,单向单通道带宽由PCIe 1.0的250 MB/s提升到了500 MB/s,而×16模式下的有效数据传输速率则达到了惊人的16 GB/s。更进一步,将于2010年中期推出的PCI Express3.0则依靠8 GHz的传输频率和替代4 b/5 b编码的加扰(scrambling)技术将传输速率再次加倍,达到了32 GB/s。这种巨大的带宽优势,相对较低的成本,以及PCIe总线在软件接口上与PCI之间几乎100%的兼容性,使得PCI Express总线迅速替代了PCI、AGP等总线技术,成为当前微机中最常见的总线接口。

5.InfiniBand总线技术

InfiniBand是Intel提出的一种全新的总线结构,用于在服务器系统中取代PCI总线,使用InfiniBand总线的系统将会得到更高的带宽和扩展能力,增强了系统的灵活性。InfiniBand总线来源于NGIO(Next Generation I/O)和Future I/O这两种竞争的总线结构,经过各方的努力,终于在1999年将这两种技术成功融合在一起,形成了InfiniBand总线。目前该技术得到Compaq、Dell、IBM等公司的支持。

与PCIe一样,InfiniBand也是用来取代PCI总线的,由于InfiniBand采用了一种全新的架构,因此与传统的PCI无法兼容。采用InfiniBand之后,设计师们就可以不必总是把I/O看作是服务器的组成部分,而可以看成机箱的一部分了,这时远程存储器、网络和服务器之间的连接是通过一条位于中心的InfiniBand控制芯片和中继线完成的,InfiniBand就是采用这种方式解决了PCI总线中存在的距离问题。采用InfiniBand通道设计,在使用铜线的情况下,外围设备可以放到离服务器17 m远的地方。如果使用多模光缆,最远距离可达300 m,如果使用单模光缆,则这一距离甚至可以达到10 km。由于不需要内部总线的装置,服务器体积可能会因此缩小60%以上。以后服务器生产商不再需要说明服务器提供几个PCI插槽,因为系统机箱仅需要一个InfiniBand主机通道适配器(HCA)就可以轻松搞定。如果没有采用InfiniBand总线,那么为服务器增加一块PCI设备无疑是一件非常麻烦的事,首先用户必须关闭服务器,插入PCI扩展卡,并将设备连接好,然后在操作系统中安装该设备,最后还需要重新启动系统以使新设备生效。如果采用了InfiniBand总线,则这一过程将会变得非常容易,用户只需将设备连接到InfiniBand接口上,剩下的事就由控制芯片自己完成了,不需要用户介入,而且这一过程也不需要中断服务器的运行。

根据不同的需要,InfiniBand标准为通道适配器设置了三种工作方式,分别提供1、4和12条运行于2.5 GHz频率下的中继线,使用8 b/10 b编码的这三种工作方式提供的带宽分别可以达到500 MB/s、2 GB/s和6 GB/s,而QDR技术的出现使得这个数值进一步提高到了1 GB/s、4 GB/s和12 GB/s。

虽然InfiniBand是一种试图替代PCI的系统总线技术,但是由于Intel的退出和转而支持PCI Express,以及自身过高的成本和软件上不兼容PCI总线(这两点似乎更加重要些),In-finiBand未能取得预想中的成功,如愿成为微型计算机的新一代总线标准,而是在与PCI Ex-press的竞争中败下阵来。但是,由于InfiniBand同时提供了超长传输距离和超高传输速率的特性,它非常适用于在高性能计算系统,尤其是高性能集群系统中提供系统级的高速网络互联(System Area Network)。目前InfiniBand已是高性能计算系统网络互联的主要技术之一,在2009年11月公布的国际权威高性能计算机排名TOP500(www.top500.org)所公布的世界上最快的500台计算机中有181台使用InfiniBand作为其系统互联网络,其中速度最快的IBM RoadRunner(走鹃)在500台计算机中位列第2。

6.HyperTransport总线与QPI

在系统总线家族中,HyperTransport应该是一个另类,原因是它只是AMD提出的企业标准,设计目的是用于高速芯片间的内部联接,但随着AMD64平台的成功,HyperTransport总线的影响力也随之扩大,并成为连接AMD64处理器、北桥芯片和南桥芯片的系统中枢。在这样的架构中,PCI Express总线反而不再承担中坚角色,只是承担设备扩展的单一职能,HyperTransport便理所当然成为AMD64平台的系统总线。

尽管是2004年才开始得到广泛应用,但HyperTransport的历史却极为悠久。早在1999年,AMD就着手进行设计,当时它被称为“LDT(Lightning Data Transport)”,意思是传输数据像闪电一样快速。2000年5月,LDT 1.0版发布,并被更名为HyperTransport。在基本工作原理上,HyperTransport与PCI Express如出一辙,都是通过串行传输、高频率运作获得超高性能。不过正确的说法应该颠倒过来,因为HyperTransport技术早于PCI Express,后者其实是参照HyperTransport设计的。基本的HyperTransport总线为两条点对点的全双工数据传输线路,它的物理频率只有400 MHz,在DDR双向触发技术的作用下达到800 MHz的数据传输速率。如果同时使用8对这样的串行传输线路(也就是8位),HyperTransport的双向数据传输速率可达到1.6 GB/s。而如果采用32位设计,HyperTransport便能够提供6.4 GB/s的超高带宽。而这是发生在2000年的事,当时的系统总线还是133 MB/s占据着市场的主导地位,当时速度最快的AGP总线在最快的4X模式下的传输速率不过是1.06 GB/s,不到Hy-perTransport传输速率的1/6。

除了速度快之外,HyperTransport还有一个独有的优势,它可以在串行传输模式下模拟并行数据的传输效果。在当时,PC都是采用32位X86架构,系统内部数据都是以32位作为一个基本单位进行传输或处理的。而改用串行总线后,接收方在接收数据时就得等32位数据全部到齐后才可进行转换和封包,这就给系统带来不必要的负担。HyperTransport总线很好地解决了这个问题,它采用一种特殊的分批方式,可以将32位数据预先分批组装。如果采用的是8位总线,那么32位数据会被分成4个批次发送,然后自动合为一体。这样在系统看来,数据都是以32位为单位传送的,它就能够直接调用,而不必像传统串行总线一样需要由系统干涉数据组装工作。

2004年2月,AMD推出HyperTransport 2.0,总线数据传输频率提升至1.4 GHz,从而将最大单向传输带宽提高到了11.2 GB/s。2006年的HyperTransport 3.0则将这两个数字再次改写为2.6 GHz和20.8 GB/s,而目前最新的HyperTransport 3.1标准(2008年)则提供了3.2 GHz的传输频率和25.6 GB/s的单向传输带宽,相应的双向传输带宽为51.2 GB/s。

为了和HyperTransport相抗衡,Intel在2008年终于抛弃了使用多年的前端系统总线(FSB)结构而推出了一种和HyperTransport非常相似的点对点处理器互联结构(Quick Path Interconnect,QPI)(见图7-10)。使用在Intel Core i7家族处理器上的QPI技术从原理上与AMD的HyperTransport如出一辙,单向传输带宽也是25.6 GB/s。

HyperTransport/QPI以及PCI Express以高频率串行交换式全双工传输的方式为PC带来了更高的总线传输速率,从而引起了PC结构的重大转变,交换型的新结构替代了以南北桥结构为代表的旧的共享型总线结构,极大地提高了微型计算机的性能。

从PC、ISA总线到PCI总线,再由PCI到PCI Express和HyperTransport/QPI体系,微型计算机的性能受益于总线技术的两次革命也得到了飞跃式的提升。与这个过程相对应,我们看到计算机的处理速度、实现的功能和软件平台都在进行同样的进化,显然,没有总线技术的进步作为基础,计算机的快速发展就无从谈起,这也是总线技术对于微型计算机的重要意义所在。

978-7-111-46342-9-Chapter07-10.jpg

图7-10 基于Quick Path Interconnect和PCI Express的现代微型计算机结构

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈