1、计算机总线技术基础知识之内部总线任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与 CPU 直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备间实现互连。微机中总线一般有内部总线、系统总线和外部总线。 内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连;外部总线则是微机
2、和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。另外,从广义上说,计算机通信方式可以分为并行通信和串行通信,相应的通信总线被称为并行总线和串行总线。并行通信速度快、实时性好,但由于占用的口线多,不适于小型化产品;而串行通信速率虽低,但在数据通信吞吐量不是很大的微处理电路中则显得更加简易、方便、灵活。串行通信一般可分为异步模式和同步模式。随着微电子技术和计算机技术的发展,总线技术也在不断地发展和完善,而使计算机总线技术种类繁多,各具特色。下面仅对微机各类总线中目前比较流行的总线技术分别加以介绍。一、内部总线1I2C 总线I2C(Inter-I
3、C )总线 10 多年前由 Philips 公司推出,是近年来在微电子通信控制领域广泛采用的一种新型总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个 I2C 总线器件同时接到 I2C 总线上,通过地址来识别通信对象。2SPI 总线串行外围设备接口 SPI(serialperipheralinterface )总线技术是 Motorola 公司推出的一种同步串行接口。Motorola 公司生产的绝大多数 MCU(微控制器)都配有 SPI 硬件接口,如68 系列 MCU。 SPI 总线是一种三线同步总线,因其硬件功能很强
4、,所以,与 SPI 有关的软件就相当简单,使 CPU 有更多的时间处理其他事务。3SCI 总线串行通信接口 SCI(serialcommunicationinterface)也是由 Motorola 公司推出的。它是一种通用异步通信接口 UART,与 MCS-51 的异步通信功能基本相同。二、系统总线1ISA 总线ISA(industrialstandardarchitecture )总线标准是 IBM 公司 1984 年为推出 PC/AT 机而建立的系统总线标准,所以也叫 AT 总线。它是对 XT 总线的扩展,以适应 8/16 位数据总线要求。它在 80286 至 80486 时代应用非常广
5、泛,以至于现在奔腾机中还保留有 ISA 总线插槽。ISA 总线有 98 只引脚。2EISA 总线EISA 总线是 1988 年由 Compaq 等 9 家公司联合推出的总线标准。它是在 ISA 总线的基础上使用双层插座,在原来 ISA 总线的 98 条信号线上又增加了 98 条信号线,也就是在两条ISA 信号线之间添加一条 EISA 信号线。在实用中,EISA 总线完全兼容 ISA 总线信号。3VESA 总线VESA( videoelectronicsstandardassociation)总线是 1992 年由 60 家附件卡制造商联合推出的一种局部总线,简称为 VL(VESAlocalbu
6、s)总线。它的推出为微机系统总线体系结构的革新奠定了基础。该总线系统考虑到 CPU 与主存和 Cache 的直接相连,通常把这部分总线称为 CPU 总线或主总线,其他设备通过 VL 总线与 CPU 总线相连,所以 VL 总线被称为局部总线。它定义了 32 位数据线,且可通过扩展槽扩展到 64 位,使用 33MHz 时钟频率,最大传输率达 132MB/s,可与 CPU 同步工作。是一种高速、高效的局部总线,可支持386SX、386DX、486SX、486DX 及奔腾微处理器。4PCI 总线PCI(peripheralcomponentinterconnect)总线是当前最流行的总线之一,它是由
7、Intel 公司推出的一种局部总线。它定义了 32 位数据总线,且可扩展为 64 位。PCI 总线主板插槽的体积比原 ISA 总线插槽还小,其功能比 VESA、ISA 有极大的改善,支持突发读写操作,最大传输速率可达 132MB/s,可同时支持多组外围设备。PCI 局部总线不能兼容现有的ISA、EISA、MCA(microchannelarchitecture)总线,但它不受制于处理器,是基于奔腾等新一代微处理器而发展的总线。5CompactPCI以上所列举的几种系统总线一般都用于商用 PC 机中,在计算机系统总线中,还有另一大类为适应工业现场环境而设计的系统总线,比如 STD 总线、VME
8、总线、PC/104 总线等。这里仅介绍当前工业计算机的热门总线之一 CompactPCI。CompactPCI 的意思是“ 坚实的 PCI”,是当今第一个采用无源总线底板结构的 PCI 系统,是 PCI 总线的电气和软件标准加欧式卡的工业组装标准,是当今最新的一种工业计算机标准。CompactPCI 是在原来 PCI总线基础上改造而来,它利用 PCI 的优点,提供满足工业环境应用要求的高性能核心系统,同时还考虑充分利用传统的总线产品,如 ISA、STD、VME 或 PC/104 来扩充系统的 I/O 和其他功能。三、外部总线1RS-232-C 总线RS-232-C 是美国电子工业协会 EIA(
9、ElectronicIndustryAssociation)制定的一种串行物理接口标准。RS 是英文“ 推荐标准”的缩写,232 为标识号,C 表示修改次数。RS-232-C 总线标准设有 25 条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C 标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800 、9600、19200 波特。RS-232-C 标准规定,驱动器允许有 2500pF 的电容负载,通信距离将受此电容限制,例如,采用150
10、pF/m 的通信电缆时,最大通信距离为 15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是 RS-232 属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于 20m 以内的通信。2RS-485 总线在要求通信距离为几十米到上千米时,广泛采用 RS-485 串行总线标准。RS-485 采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至 200mV 的电压,故传输信号能在千米以外得到恢复。RS-485 采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485 用于多点互连时非常
11、方便,可以省掉许多信号线。应用 RS-485 可以联网构成分布式系统,其允许最多并联 32 台驱动器和 32 台接收器。3IEEE-488 总线上述两种外部总线是串行总线,而 IEEE-488 总线是并行总线接口标准。IEEE-488 总线用来连接系统,如微计算机、数字电压表、数码显示器等设备及其他仪器仪表均可用 IEEE-488 总线装配起来。它按照位并行、字节串行双向异步方式传输信号,连接方式为总线方式,仪器设备直接并联于总线上而不需中介单元,但总线上最多可连接 15 台设备。最大传输距离为 20 米,信号传输速度一般为 500KB/s,最大传输速度为 1MB/s。4USB 总线通用串行总
12、线 USB(universalserialbus)是由Intel、Compaq、Digital、IBM、Microsoft、NEC 、NorthernTelecom 等 7 家世界著名的计算机和通信公司共同推出的一种新型接口标准。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展 PC 连接外设范围的目的。它可以为外设提供电源,而不像普通的使用串、并口的设备需要单独的供电系统。另外,快速是 USB 技术的突出特点之一,USB 的最高传输率可达 12Mbps 比串口快 100 倍,比并口快近 10 倍,而且USB 还能支持多媒体。USB 20 的数据传输率比 USB 11
13、快 40 倍,达 480Mbps(60MB/s ),与目前的USB 11 设备兼容,预计 2001 年年底 OEM 厂商开始采购英特尔集成有 USB 20 控制器的芯片、2002 年中期伴随 ICH4 正式推出 USB 20 产品。5IEEE 1394 总线 IEEE 1394 是一种串行接口标准,这种接口标准允许把电脑、电脑外部设备、各种家电非常简单地连接在一起。从 IEEE 1394 可以连接多种不同外设的功能特点来看,也可以称为总线,即一种连接外部设备的机外总线。IEEE 1394 的原型是运行在 Apple Mac 电脑上的 Fire Wire(火线),由 IEEE 采用并且重新进行了
14、规范。它定义了数据的传输协定及连接系统,可用较低的成本达到较高的性能,以增强电脑与外设如硬盘、打印机、扫描仪,与消费性电子产品如数码相机、DVD 播放机、视频电话等的连接能力。 由于要求相应的外部设备也具有 IEEE1394 接口功能才能连接到 1394 总线上,所以直到 1995 年第 3 季度 Sony 推出的数码摄像机加上了 IEEE 1394 接口后,1394 才真正引起广泛的注意。采用 1394 接口的数码摄像机,可以毫无延迟地编辑处理影像、声音数据,性能得到增强。数码相机、DVD 播放机和一般消费性家电产品,如 VCR、HDTV 、音响等也都可以利用 IEEE 1394 接口来互相
15、连接。 电脑的外部设备,例如硬盘、光驱、打印机、扫描仪等,也可利用 IEEE 1394 来传输数据。机外总线将改变当前电脑本身拥有众多附加插卡、连接线的现状,它把各种外设和各种家用电器连接起来。电脑也成为一种普通的家电。 当电脑家电化之后,未来的电脑将如同现在的电视机一样,消费者可能只需拿起遥控器便可快速完成上 Internet、玩游戏、控制视听影音器材甚至控制家里的电灯、电话等电器,真正实现居室智能化。USB 2 0 和 IEEE 1394 有什么区别呢?它们最大的区别是接口不同、传输速率不同和可连接设备数量不同: USB 2 0 采用 USB 接口、 480Mbps、可连接 127 台设备
16、,而 IEEE 1394 规格为 400Mbps、可连接 63 台设备,不过, IEEE 1394 设备间可直接通信,不需要PC 存在。PC 总线与 ISA 总线在计算机系统中,各个功能部件都是通过总线交换数据,总线的速度对系统性能有着极大的影响。而也正因为如此,总线被誉为是计算机系统的神经中枢。但相比CPU、显卡、内存、硬盘等功能部件,总线技术的提升步伐要缓慢得多。在 PC 发展的二十余年历史中,总线只进行三次更新换代,但它的每次变革都令计算机的面貌焕然一新。在下面的文字中,我们将向大家介绍计算机系统总线的详细发展历程,包括早期的 PC 总线和 ISA 总线、PCI/AGP 总线、PCI-X
17、 总线以及目前主流的 PCI Express、HyperTransport 高速串行总线。 PC 总线与 ISA 总线PC 总线是最古老的总线之一,虽然在它之前还有诸如 MCA、VESA 在内的多种总线规格,但它却是第一种被认可为广泛标准的总线技术。PC 总线最早出现在 IBM 公司 1981 年推出的 PC/XT 电脑中,它基于 8 位结构的 8088 处理器,也被称为PC/XT 总线。PC 总线沿用了三年多时间,直到 1984 年,IBM 推出基于 16 位英特尔 80286 处理器的 PC/AT 电脑,系统总线才被 16 位的 PC/AT 总线所代替。而这个时候,PC 产业已初具规模,加
18、之 IBM 允许第三方厂商开发兼容产品,PC/AT 总线规范也被逐渐标准化,并衍生出著名的 ISA 总线(Industry Standard Architecture,工业标准架构)。与 PC/AT 总线不同,ISA 总线采用 8 位和 16 位模式,它的最大数据传输率为8MBps 和 16MBps今天来看这样的性能低得不可思议,但在当时 8MBps 的速率绰绰有余,完全可满足多个 CPU 共享系统资源的需要。既然是标准化的总线技术,ISA就基本不存在什么兼容性问题,后来的兼容 PC 也无一例外都采用 ISA 技术作为系统总线。ISA 总线一直贯穿 286 和 386SX 时代,在当时, 16
19、 位 X86 系统对总线性能并没有太高的要求,ISA 也没有遭遇任何麻烦。但在 32 位 386DX 处理器出现之后,16 位宽度的 ISA 总线就遇到问题,总线数据传输慢使得处理器性能也受到严重的制约。有鉴于此,康柏、惠普、AST、爱普生等九家厂商协同将 ISA 总线扩展到 32 位宽度,EISA(Extended Industry Standard Architecture,扩展工业标准架构)总线由此诞生这是发生在 1988 年的事情。EISA 总线的工作频率仍然保持在 8MHz 水平,但受益于 32 位宽度,它的总线带宽提升到 32MBps。另外,EISA 可以完全兼容之前的 8/16
20、位 ISA 总线,用户已有扩展设备可继续使用,一定程度受到用户的欢迎。然而,EISA 并没有重复 ISA 的辉煌,它的成本过高,且速度潜力有限;更要命的是,在还没有来得及成为正式工业标准的时候,更先进的 PCI 总线就开始出现,EISA 也就成为附庸。不过,EISA 总线并没有因此快速消失,它在计算机系统中与 PCI 总线共存了相当漫长的时光,直到 2000 年后 EISA 才正式彻底退出而此时距 EISA 标准的提出已经过去了 12 年。庞大的 PCI 总线家族PCI 总线诞生于 1992 年。英特尔推出 486 处理器,这个时候,EISA 总线成为瓶颈,因为 CPU 的速度已经明显高于总线
21、速度,但受到 EISA 的限制,硬盘、显卡和其它外围设备都只能慢速发送和接收数据,整机性能受到严重影响。为了解决这个问题,英特尔公司提出 32 位 PCI 总线的概念,并迅速获得认可成为新的工业标准。第一个版本的 PCI 总线工作于 33MHz 频率下,传输带宽达到 133MBps,比 ISA总线和 EISA 总线有了巨大的改进,很好满足当时计算机系统的发展需要。而且 PCI采用了独特的中间缓冲器设计,显卡、声卡、网卡、硬盘控制器等高速外围设备都可以直接挂在 PCI 总线中,再与 CPU 实现通讯,这种做法不仅满足了当时配件对系统总线的性能要求,也提供了相当的灵活性,其设计思想一直延续至今。在
22、 PCI 发布一年之后,英特尔公司紧接着提出 64 位的 PCI 总线,它的传输性能达到 266MBps,但主要用于企业服务器和工作站领域;由于这些领域对总线性能要求较高,64 位/33MHz 规格的 PCI 很快又不够用了,英特尔遂将它的工作频率提升到 66MHz。而随着 X86 服务器市场的不断扩大,64 位/66MHz 规格的 PCI 总线理所当然成为该领域的标准,针对服务器/工作站平台设计的 SCSI 卡、RAID 控制卡、千兆网卡等设备无一例外都采用 64 位 PCI 接口,乃至到今天,这些设备还被广泛使用。不过, PC 领域的 32 位总线一直都没有得到升级,工作频率也停留于 33
23、MHz,随着时间的推移,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的出现,在一段时间内基本满足
24、显卡与系统交换数据的需要,为早期的 3D 显卡广为使用,当然最流行的是 AGP 2X 模式,只能够支持 1X 模式的显卡非常罕见。AGP 1.0 大约只流行了两年时间,原因在于显卡技术发展日新月异,显卡单位时间要处理的数据呈几何级数成倍增长,AGP 2X 提供的 533MBps 带宽很快又无法满足需要。1998 年 5 月,英特尔公司发布 AGP 2.0 版规范,它的工作频率仍然停留在66MHz,但工作电压降低到 1.5V,且通过增加的 4X 模式,将数据传输带宽提升到1.06GBps,这近乎是个飞跃性的进步。很自然,AGP 4X 获得非常广泛的应用,这一点相信众人皆知。而与 AGP 2.0
25、同时推出的,还有一种针对图形工作站的 AGP Pro 接口 ,这种接口具有更强的供电能力,可驱动高功耗的专业显卡。很自然,AGP Pro 成为专业显卡的接口标准,而一些高端 PC 主板也采用该接口,毕竟它可以完全兼容标准的 AGP 显卡,在应用上并无障碍。AGP 2.0 同样活跃了两年时间。2000 年 8 月,英特尔公司推出 AGP 3.0 规范,它的工作电压进一步降低到 0.8V,不过意义最重大的还是所增加的 8X 模式,这样,它便可以提供 2.1GBps 的总线带宽。可与前两代技术一样,AGP 8X 标准没有辉煌太长时间,PCI Express 总线的出现宣告 PCI 和 AGP 体系将
26、被终结。但由于过渡不可能短时间完成,AGP 8X 至今在市场上还非常活跃,尤其是在中低端领域还占据着主流地位。而在另一方面,PCI 总线也早已无法满足 PC 扩展的需要,发展新技术势在必行。用于 PC 环境的 32 位/33MHz 规格 PCI 总线只能提供 133MBps 带宽,而且要求所有的扩展设备共同分享,这在九十年代初也许没有什么问题,但时过境迁,PC 系统发生了巨大的变化,各个设备的接口速度暴涨,如硬盘接口速率超过 100MBps,加上千兆网卡、磁盘阵列卡等高性能设备,133MBps 共享带宽早已成为严重的瓶颈。而服务器领域虽然使用 64 位/66MHz 的 PCI 总线,但该领域的
27、千兆网卡、SCSI 硬盘或SCSI RAID 系统更是带宽占用大户,PCI 总线根本无法满足要求。在这种背景下,开发彻底代替 PCI 的新一代总线势在必行,对此服务器厂商与 PC 厂商持有不同的看法,这也导致 PCI-X 和 PCI Express 两大标准的同时出现前者专门针对服务器/工作站领域,采用平滑升级的方式获得高性能,可以称为 PCI 技术的改良;而后者则是一种革命性的高速串行总线技术,主要用于 PC 系统中,这也是我们接下来两部分分别要讲述的内容。PCI-X 锁定服务器领域PCI-X 总线由康柏、惠普和 IBM 等三家服务器厂商于九十年代末共同发起,后来提交给 PCI SIG 组织
28、修订。这项工作耗费了不短的时间,最终在 2000 年正式发布PCI-X 1.0 版标准,PCI-X 宣告诞生。 PCI 总线至今仍然是 PC 扩展设备的首选接口在技术上,PCI-X 并没有脱离 PC 体系,它仍使用 64 位并行总线和共享架构,但将工作频率提升到 133MHz,由此获得高达 1.06GBps 的总带宽。如果四组设备并行工作,每组设备可用带宽为 266MBps;如果只有两组设备并行,那么每组设备就可分得533MBps;而在连接一组设备的情况下,该设备便可以独自使用到全部的 1.06GBps带宽。相对于 64 位 PCI 总线,PCI-X 的提升相当明显,在它的帮助下,服务器内部总
29、线资源紧张的难题得到一定的缓解。不过,PCI-X 带来的变化不仅如此,它在总线的传输协议方面有许多重要的改良,例如 PCI-X 启用“ 寄存器到寄存器”的新协议发送方发出的数据信号会被预先送入一个专门的寄存器内;寄存器可将信号保持一个时钟周期,而接收方只要在这个时钟周期内作出响应即可。而原来的 PCI 总线就没有这个缓冲过程,如果接收方无暇处理发送方的信号,那么该信号就会被自动抛弃,容易导致信号遗失。PCI-X 的另一个重要优点在于,它可以完全兼容之前的 64 位 PCI 扩展设备,用户已有投资可以获得充分保障。平滑过渡的方式让 PCI-X 在服务器/工作站领域大获成功,并很快取代 64 位
30、PCI 成为新的标准。PCI-X 总线已成为服务器主板的标准配备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 的高水平。这两者最
31、多都可以支持 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 成功进入服务器市场并大获成功,直到现在它仍然在服务器市场占据主流地位。受到 PCI-X 2.0 成功的鼓舞,PCI-SIG 组织在 2002 年 11 月宣布将开发 PCI-X 3.0 标准、也
32、就是 PCI-X 1066。据悉,该标准将工作在 1066MHz 的高频上,共享带宽达到 8.4GBps、每个设备至少都拥有 1.06GBps 带宽。但十分可惜,这项计划后来并没有下文,原因很可能在于遭遇来自 PCI Express 阵营的冲击。注: PCI-SIG(PCI Special Interest Group,PCI 特别兴趣组)于 1992 年成立,为管理 PCI 规范的行业组织,拥有 900 多个企业成员,核心成员包括 IBM、英特尔、AMD、惠普、微软、 Phoenix、ServerWorks 和德州仪器(Texas Instruments)等八家企业。PCI Express
33、总线取代 PCI在服务器领域遭遇总线速度困扰的时候,PC 系统也面临相同的问题,而业界也认识到诞生多年的 PCI 总线是时候退出应用舞台了。在 2001 年的春季 IDF 论坛上,英特尔公司提出 3GIO(Third Generation I/O Architecture,第三代 I/O 体系)总线的概念,它以串行、高频率运作的方式获得高性能,而 3GIO 的体系设计也十分富有前瞻性,它将被设计为满足未来十年 PC 系统的性能需要。3GIO 计划获得广泛响应,后来英特尔将它提交给 PCI-SIG 组织,于 2002 年 4 月更名为 PCI Express 并以标准的形式正式推出。它的效能十分
34、惊人,仅仅是 X16 模式的显卡接口就能够获得惊人的 8GBps 带宽。 更重要的是, PCI Express 改良了基础架构,彻底抛离落后的共享结构,一个新的时代开始了。在工作原理上,PCI Express 与并行体系的 PCI 没有任何相似之处,它采用串行方式传输数据,而依靠高频率来获得高性能,因此 PCI Express 也一度被人称为“串行PCI”。由于串行传输不存在信号干扰,总线频率提升不受阻碍,PCI Express 很顺利就达到 2.5GHz 的超高工作频率。其次,PCI Express 采用全双工运作模式,最基本的 PCI Express 拥有 4 根传输线路,其中 2 线用于
35、数据发送,2 线用于数据接收,也就是发送数据和接收数据可以同时进行。相比之下,PCI 总线和 PCI-X 总线在一个时钟周期内只能作单向数据传输,效率只有 PCI Express 的一半;加之 PCI Express使用 8b/10b 编码的内嵌时钟技术,时钟信息被直接写入数据流中,这比 PCI 总线能更有效节省传输通道,提高传输效率。第三,PCI Express 没有沿用传统的共享式结构,它采用点对点工作模式(Peer to Peer,也被简称为 P2P),每个 PCI Express设备都有自己的专用连接,这样就无需向整条总线申请带宽,避免多个设备争抢带宽的糟糕情形发生,而此种情况在共享架
36、构的 PCI 系统中司空见惯。由于工作频率高达 2.5GHz,最基本的 PCI Express 总线可提供的单向带宽便达到 250MBps(2.5Gbps1 B/8bit8b/10b=250MBps),再考虑全双工运作,该总线的总带宽达到 500MBps这仅仅是最基本的 PCI Express 1 模式。如果使用两个通道捆绑的2 模式,PCI Express 便可提供 1GBps 的有效数据带宽。依此类推,PCI Express 4、8 和16 模式的有效数据传输速率分别达到 2GBps、4GBps和 8GBps。这与 PCI 总线可怜的共享式 133MBps 速率形成极其鲜明的对比,更何况这
37、些都还是每个 PCI Express 可独自占用的带宽。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 的运动开展得如火如荼
38、,这也是我们今天看到的情况。HyperTransport 总线在系统总线家族中,HyperTransport 应该是一个另类,原因是它只是 AMD 自家提出的企业标准,设计目的是用于高速芯片间的内部联接,但随着 AMD64 平台的成功,HyperTransport 总线的影响力也随之扩大,并成为连接 AMD64 处理器、北桥芯片和南桥芯片的系统中枢在这样的架构中,PCI Express 总线反而不再承担中坚角色,只是承担设备扩展的单一职能,HyperTransport 便理所当然成为 AMD64 平台的系统总线。尽管是 2004 年才开始得到广泛应用,但 HyperTransport 的历史却
39、极为悠久。早在1999 年,AMD 就着手进行设计,当时它被称为“LDT(Lightning Data Transport)”,意思是传输数据像闪电一样快速。2000 年 5 月,LDT 1.0 版发布,并被更名为 HyperTransport。诚如前面所言,AMD 开发 HyperTransport 的主要意图是为当时还处于设计阶段的 K8 处理器服务,比如两枚 K8 处理器构建 SMP 系统、K8 与芯片组、芯片组的南桥与北桥等芯片间连接都需要高速总线,HyperTransport针对这些特定的场合;再者,它也可以作为路由器芯片与交换机芯片、高性能服务器内部的互联总线,具有相当高的灵活性和
40、可扩充性,这一点也为后来的实际应用所证实。在基本工作原理上,HyperTransport 与 PCI Express 如出一辙,都是通过串行传输、高频率运作获得超高性能不过正确的说法应该颠倒过来,因为HyperTransport 技术早于 PCI Express,后者其实是参照 HyperTransport 而设计。基本的 HyperTransport 总线为两条点对点的全双工数据传输线路(一条为输入、一条为输出),它的物理频率只有 400MHz,AMD 引入了 DDR 双向触发技术,因此其数据传输频率相当于 800MHz;如果同时使用 8 对这样的串行传输线路(也就是 8 位),HyperT
41、ransport 的双向数据传输率可达到 1.6GBps;而如果采用 32 位设计,HyperTransport 便能够提供 6.4GBps 的超高带宽。在 2000 年,如此高速的总线绝对令外界感到疯狂,而事实最终证明 AMD 的远见。除了速度快之外,HyperTransport 还有一个独有的优势,它可以在串行传输模式下模拟并行数据的传输效果。在当时,PC 都是采用 32 位 X86 架构,系统内部数据都是以 32 位作为一个基本单位进行传输或处理;而改用串行总线后,接收方在接收数据时就得等 32 位数据全部到齐后才可进行转换和封包,这就给系统带来不必要的负担。HyperTransport
42、 总线很好地解决了这个问题,它采用一种特殊的分批方式,可以将 32 位数据预先分批组装如果采用的是 8 位总线,那么 32 位数据会被分成4 个批次发送,然后自动合为一体。这样在系统看来,数据都是以 32 位为单位传送的,它就能够直接调用,而不必像传统串行总线一样需要由系统干涉数据组装工作。第一个采用 HyperTransport 总线的产品是 nVIDIA 在 2001 年推出的 nForce芯片组,nVIDIA 选择的是 8 位总线,南北桥带宽就达到 800MBps在当时,同类芯片组的南北桥带宽不过只有区区 266MBps,nForce 的高指标显得异常前卫。虽然nForce 没有获得成功
43、,但高性能的 HyperTransport 总线给外界留下深刻的印象。2002 年,nForce2 推出,这次 nVIDIA 取得了成功,HyperTransport 真正进入实用阶段不过,HyperTransport 的真正辉煌还是在 AMD 的 Opteron 和 Athlon 64推出以后。这两款处理器都采用 32 位、800Mz 规格的 HyperTransport 总线与芯片组连接,总线带宽高达 6.4GBps。由于 Opteron 和 Athlon 64 都直接整合了内存控制器,HyperTransport 总线就只需要承担“ 显卡与 CPU”以及“ 南桥 I/O 设备与 CPU”
44、之间的数据传输任务,6.4GBps 带宽绰绰有余。此外,AMD 为 K8 平台设计的AMD8000 芯片组也采用 HyperTransport 技术,HyperTransport 贯穿 CPU、北桥和南桥,成为整套架构的中枢神经。不过 VIA 和 SiS 都拥有自己的南北桥总线技术,暂时未采用 HyperTransport,nVIDIA 的 nForce3 芯片组因采用单芯片设计,HyperTransport 总线也与它无缘。2004 年 2 月,AMD 推出 HyperTransport 2.0,它的主要变化就是数据传输频率提升到 1GHz,32 位总线的带宽达到 8GBps。AMD 将它用
45、于 Opteron 以及高端型号的 Athlon 64 FX、Athlon 64 处理器中,该平台的所有芯片组产品都迅速提供支持。带宽提升主要是为满足 PCI Express 总线的需求,我们知道,显卡的 PCI Express 16 总线提供高达 8GBps 的带宽,而之前 HyperTransport 总线只能提供6.4GBps 带宽,两者无法匹配,将 HyperTransport 提升到 2.0 标准非常有必要。此时,AMD 的 64 位平台已经具有相当出色的竞争力,无论在服务器市场还是桌面市场,AMD 平台都大举流行,而 HyperTransport 的影响力也日趋强大,在可见的将来,
46、HyperTransport 都将保持这样的发展势头。后记:从 PC 总线到 ISA、PCI 总线,再由 PCI 进入 PCI Express 和 HyperTransport体系,计算机在这三次大转折中也完成三次飞跃式的提升。与这个过程相对应,我们看到计算机的处理速度、实现的功能和软件平台都在进行同样的进化,显然,没有总线技术的进步作为基础,计算机的快速发展就无从谈起。今天,业界站在一个崭新的起点:PCI Express 和 HyperTransport 开创了一个今天看来近乎完美的总线架构,未来十年的计算机都将奔腾在这样的基础之上。而业界对高速总线的渴求也是无休无止,PCI Express
47、 2.0 和 HyperTransport 3.0 都将提上日程,相信它们将会再次带来令人惊喜的效能提升。第一代系统总线:ISA 总线 第二代系统总线:PCI 总线 第三代系统总线(3GIO):PCI-Express PCI Express 采用了点到点的连接技术,每个设备都有自己专用的连接,不需要向共享总线请求带宽,各个设备之间并发的数据传输互不影响。3GIO 技术介绍 第三代 I/O 是一种串行 I/O 互连规范,允许系统内的部件可以高速连接实现未来应用所需的高带宽,可以加快网卡和图形系统的数据传输速度。 PCI 使用 32 或 64 条平行线传输数据,而 3GIO 使用的线路会更少,但速
48、度会加快而且数据不需要同步。PCI-X 利用一根线或者 2、4、8、16、32、64 根线来达到高互连速度,64 组线缆中每根线的传输速率为 17 MB/s,所以它的带宽为 1.1GB/s, ,除非用光纤,否则不可能有很大提高。而最初的 3GIO 开发完成后,每根 3GIO 线缆的数据传输速率至少是 PCI-X 技术的 12 倍,也就是说,单根 3GIO 线缆的速度可以达到 206 MB/s, 8 线版本的为 1.6GB/s,而 32 线的速度也就是 6.4GB/s,大约是 PCI-X 技术的 6 倍,改进版本将会更强。相对来说,目前最快的以太网卡速度为 120MB/s,最快的图形接口传输标准
49、 AGP 4也不过 1.06GB/s,因此 3GIO 技术有足够的带宽满足未来计算机设备的需要。 注:3GIO 分两条插槽,一是原来的 PCI,二是 3GIO 的新增部分,两部分的传输带宽加起来大于2.5GB/s。 3GIO 的特性还包括以下几个方面:支持 PCI-X 协议、可实现 PCI-X 的 QDR(4 倍数据传输方式)、针对流式视频/音频的 QOS(Quality of Service,服务质量) 、支持线缆以及无线形式、改进电源管理、扩展编程模式、完全支持针对 PCI 标准开发的软件、完全兼容 PCI 标准硬件、支持 PCI 周边设备、简化的协议、改进容错能力(ECC 以及 CRC)。其中和其他总线相比最具有竞争力的就是对 PCI 协议和设备及基于 PCI技术的软件的向下兼容性,使得升级的相关成本大大降低。部分总线标准对比表名称 传输速率 连接设备usb 2.0 60mb/秒摄像机、打印机、扫描仪和存储设备serial ata150mb/秒 存储设备3gio 200mb/秒 pc 内部设备SATA 相较并行 ATA 可谓优点多多,将成为并行 ATA 的廉价替代方案。并且从并行 ATA完全过渡到 SATA 也是大势所趋,应该只是时间问题。相关厂商也在大力推广 SATA 接口