理清电脑的经脉──剖析主流总线 2001年 23期 上面我们了解了总线的一些基础知识,下面我们整理撰写了一些总线设备的相关资料,再进一步介绍如今电脑技术中的主流总线类型及接口标准。   #1一、ISA总线   最早的PC总线是IBM公司于1981年推出的基于8位机PC/XT的总线,称为PC总线。1984年IBM公司推出了16位PC机PC/AT,其总线称为AT总线,然而IBM公司从未公布过它们的AT总线规格。为了能够合理地开发外插接口卡,由Intel公司,IEEE和EISA集团联合开发了与IBM/AT原装机总线意义相近的ISA总线,即8/16位的“工业标准结构”(ISA-Industry Standard Architecture)总线。   ISA总线是总线的元老(^23060102a^1),它在电脑总线的发展里程中占有重要的位置,虽然已接近淘汰,可许多如声卡、Modem等老设备还是离不开它,所以一些主板芯片组依然提供了对它的支持。在今天看来,ISA缺少一个中枢寄存器,不能动态地分配系统资源,CPU占用率高,插卡的数量亦有限。如果几个设备同时调用共享的系统资源,很容易出现冲突现象。早期的ISA设备非常难安装,不仅要设置跳线或DIP开关来控制I/O地址,甚至中断和时钟速度也要通过手工来完成。1993年Intel和微软共同制订了PNP ISA标准,支持即插即用用软件来控制各种设置。8位ISA扩展I/O插槽由62个引脚组成,用于8位的插卡;8/16位的扩展插槽除了具有一个8位62线的连接器外,还有一个附加的36线连接器,这种扩展I/O插槽既可支持8位的插卡,也可支持16位插卡。   另外,为了与ISA的MCA总线技术抗衡,Compaq、HP等9家公司联合起来在ISA的基础上于1988年推出了为32位微机设计的“扩展工业标准结构”(Extended Industry Standard Architecture)即EISA总线。EISA在结构上与ISA有良好的兼容性,但由于成本方面的限制很快被淘汰。   #1二、PCI总线   PCI(Peripheral Component Interconnect)总线插槽是主板上最常见的东东了(^23060102b^2),可以说现在所有的主板上都有它的踪影,它是由Intel公司1991年推出的一种局部总线。它定义了32位数据总线,且可扩展为64位。PCI总线是一种不依附于某个具体处理器的局部总线。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为显卡、声卡、网卡、Modem等设备提供了连接接口,它的工作频率为33MHz/66MHz。PCI总线主板插槽的体积比原ISA总线插槽还小,其功能比VESA、ISA有极大的改善,支持突发读写操作,最大传输速率可达132MB/s,可同时支持多组外围设备。另外,为了解决PCI总线的瓶颈问题,出现了PCI-X新总线,它能通过增加电脑中央处理器与打印机、网卡等外围设备之间的数据流量来提高电脑的性能。   ISA、EISA、PCI总线各自的性能(^23060102c^)   #1三、AGP总线   AGP图形加速端口(Accelerated Graphics Port)是近几年由Intel在主板上发展起来的最重要的东东(^23060102d^3)。它直接与主板的北桥芯片相连,且该接口让视频处理器与系统主内存直接相连,避免经过窄带宽的PCI总线而形成系统瓶颈,增加3D图形数据传输速度,而且在显存不足的情况下还可以调用系统主内存,所以它拥有很高的传输速率,这是PCI等总线无法与它相比拟的。所以严格说来,AGP不能称为总线,因为它是点对点连接,即连接控制芯片和AGP显示卡,但在我们依然称它为AGP总线,这一点大家需要了解。   AGP以66MHz PCI Revision 2.1规范为基础,在此基础上扩充了以下主要功能:由于采用了数据读写的流水线操作减少了内存等待时间,数据传输速度有了很大提高;具有133MHz的数据传输频率;可直接内存执行DIME;地址信号与数据信号分离可提高随机内存访问的速度;采用并行操作,允许在CPU访问系统RAM的同时让AGP显示卡访问AGP内存,显示带宽也不与其它设备共享,从而进一步提高了系统性能。   AGP接口的发展经历了AGP 1×,AGP 2×,AGP PRO,AGP 4×,AGP 8×等等阶段,其传输速度也从最早的AGP 1×的266MHz/s的带宽发展到了AGP 8×的2GB/s。目前常用的AGP接口为AGP 2×,AGP 4×及AGP PRO接口。我们可来重点了解一下AGP PRO接口──在1999年4月推出的AGP Pro系统插槽结构,则能够为电脑系统提供必需的电源并满足因此而产生的冷却要求。AGP Pro接头完全向下兼容,也就是说你的老式的AGP,AGP 2×/4×的显卡都能在它上面正常使用,因为在接头的前后部配备了附加引脚。但反之,AGP Pro的显卡肯定就不能在普通的AGP插槽上使用。   如普通AGP插槽一样,AGP Pro也有不同的版本:AGP Pro 3.3V、AGP Pro 1.5V和AGP通用型。前两种带有封锁引脚以防插入不支持的AGP(Pro)卡,然而市面上所有带AGP Pro插槽的主板几乎都使用AGP Pro通用型插槽,当前的AGP插槽最大能向显示卡提供25W的功率,而AGP Pro卡通过附加引脚PRSNT1#和PRSNT2#向主板报告电源需求。AGP Pro插槽总共能够提供50W或110W,这就是它的好处。另外大家在选用AGP Pro显卡的时候还要了解的是,显示卡耗用这么高的功率,自然将产生大量的热,因此,AGP Pro显示卡需要牺牲临近的PCI插槽空间以便冷却。AGP Pro50(50W)卡需要附近留出1根闲置的PCI插槽,而AGP Pro110(110W)卡则最多需要在附近留出2根闲置的PCI插槽,在选择使用显卡时,你也要留心这些细节的问题。   DIME(Direct Memory Excute)的意思是“直接内存执行”,指直接将系统的内存作为Texture材质的存放空间,这样可以增加3D显示卡所需的显存,从而降低显示卡的成本。   3D显示最重要的一点是实时(real-time),因此信息必须存储在local memory,但是这样的话,一块显存为8M的显示卡,假如4MB作为Fame-buffer,1024×768 16bit的3D 显示卡刚好超过4MB,因此要有更高的解析度,势必要更多的显存,这样显示卡相当昂贵,难以被大多数的人所接受。   AGP的DIME就是用来解决这个问题。这是Intel公布的AGP运行示意图(^23060102e^4)。   说明了各扩展槽之间的情形,假设外频为66MHz,且系统记忆体是10ns的SDRAM ,因为SDRAM为64bit,所以芯片组与系统内存之间的频宽为528MB/s。而PCI是一个33MHz的32bit扩展槽,资料频宽仅有132MB/s,与528MB/s相距了一段距离。当程序所需的容量大小超过local memory所能提供的容量,这时就必须借助系统内存,但是缓慢PCI,资料往返浪费太多时间,所以要达到实时(real-time)的3D 运算显得力不从心。   由于AGP 的频宽,在×2模式下传输速率高达528MB/s,使得芯片组之间的频宽与系统内存和芯片组之间的频宽相同,这就是为什么AGP可以直接取用系统内存来当作自己的显存,来存放所需的材质(texture)资料。   这个被AGP显示卡所使用的内存就称为AGP Memory,而显示卡的显存是本身的local memory加上部分AGP内存,此外还有剩余的系统内存,可以做这三种分类,因此必须重新对内存的位址做一个定义,让系统能够去支配控制它们,因此有所谓的Graphics Address Remapping Table,简称GART。   AGP内存可以很分散,不必连续,但怎么分散,AGP的最小单位为4KB,为了管理它,DIME需要安装新驱动程序。   #2如何使用DIME?   1. 使用Windows 95 OSR2.1以上版本操作系统,因为需要USBSUPP.EXE。   2. 安装DirectX5.0,在Windows 95 中AGP的功能是通过Direct Draw这个API来控制的。   3. 芯片组提供的虚拟装置驱动VGARTD.VXD。VGARTD.VXD代表Virtual GART Driver。   AGP总线各种模式速度比较表(^23060102f^)   #1四、USB总线   USB(Universal Serial Bus)通用串行总线是由个人电脑协会和电讯工业厂家(包括Compaq,IBM,Intel,Microsoft,NEC等)共同开发的。USB外设的安装十分简单,所有的USB外设利用“ONE-SIZE-FITS-ALL”连接器都可简单方便地连接入计算机中,安装过程高度自动化,既不必打开机箱插入插卡,又不必考虑资源分配,也不用关掉计算机电源。   USB接口一般位于PS/2接口和串并口之间(^23060102g^5),它是电脑系统接驳外围设备如(键盘、鼠标、打印机等)的输入/输出接口标准,大家知道现在电脑系统接驳外围设备的接口并无统一的标准,如键盘的插口是圆的,连接打印机要用9针或25针的并行接口,鼠标则要用9针或25针的串行接口,USB则把这些不同的接口统一起来,使用一个4针插头作为标准插头(^23060102h^6)。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。也就是说,USB将会取代串行口和平行口成为安装PC机外设的标准方法。且USB还能连接复合设备,你甚至可以通过显示器把键盘或者鼠标接入你的系统。USB标准具备以下特点:允许外设在开机状态下热插拔;最多可串接127个外设;稳定的数据传输速率,更广泛的应用及带宽;支持即时声音及影像压缩。另外最新的USB2.0接口标准的最大传输速率可达480MB/s。   除此之外,USB还具有如下主要特点──USB允许两种数据传送速度规格,低速传送为1.5Mbps,全速传送为12Mbps,全速传送时,结点间连接距离为5m,连接使用的4芯电缆(电源2条,信号线2条),因此,USB能支持高速接口(例如ISDN、PRI、T1),使用户拥有足够的带宽供新的数字外设使用。其次,它支持多设备连接,减少了PC机I/O接口数量。其三,USB提供内置电源。USB电源能向低压设备提供5伏的电源,因此新的设备就不需要专门的交流电源了,从而降低了这些设备的成本并提高了性价比。其四,它提供了对电话的两路数据支持。USB可支持异步以及等时数据传输,使电话可与PC集成,共享语音邮件及其它特性。其五,它具有高保真音频。由于USB音频信息生成于计算机外,因而减小了电子噪音干扰声音质量的机会,从而使音频系统具有更高的保真度。   外部主流总线最大传输速率表(^23060102m^)(注8Mb=1MB)   #1五、IEEE 1394总线   IEEE 1394是一种串行接口标准(^23060102i^7),又名Firewire(火线)。这种接口标准允许把电脑/电脑外部设备/各种家电非常简单地连接在一起。从IEEE 1394可以连接多种不同外设的功能特点来看,也可以称它为总线,即一种连接外部设备的外部总线。IEEE 1394是在Apple Mac电脑上的FireWire上发展起来的,由IEEE采用并且重新进行了规范。它定义了数据的传输协议及连接系统,可用较低的成本达到较高的性能,以增强电脑与外设的连接能力。    采用1394接口的数码摄像机,可以毫无延迟地编辑处理影像或声音数据,性能得到增强。数码相机、DVD影碟机和一般消费性家电产品,如VCR、HDTV,音响等也都可以利用IEEE 1394接口来互相连接。当然,电脑的外部设备,例如硬盘、光驱、打印机、扫描仪等,也可利用IEEE 1394来传输数据。机外总线将改变当前电脑本身拥有众多附加插卡、连接线的现状,它把各种外设和各种家用电器连接起来。   IEEE 1394的主要性能特点──首先它采用“级联”方式连接各个外部设备,IEEE 1394在一个端口上最多可以连接63个设备,设备间采用树形或菊花链结构。设备间电缆的最大长度是4.5m,采用树形结构时可达16层,从主机到最末端外设距离可达72m。   其次它能够向被连接的设备提供电源,一对扭曲的双导线组成一条IEEE1394电缆,IEEE 1394的连接电缆中共有六条芯线,其中两条线为电源线,可向被连接的设备提供电源;其它四条线被包装成两对双绞线,用来传输信号,电源的电压范围是8~40V直流电压,最大电流1.5A,像数码相机之类的一些低功耗设备可以从总线电缆内部取得电力,而不必为每一台设备配置独立的供电系统,由于1394能够向设备提供电源,即使设备断电或者出现故障也不影响整个网络的运转。   其三,它采用基于内存的地址编码,具有高速传输能力,1394总线的数据传输率最高可达400Mbps,因此可以适用于各种高速设备。   其四,由于采用点对点结构(peer to peer),用任何两个支持IEEE 1394的设备可以直接连接,不需要通过电脑控制,例如在电脑关闭的情况下,仍可以将DVD播放机与数字电视机连接而直接播放视频光盘。   最后它安装方便且容易使用,同USB一样它允许热即插即用。不必关机即可随时动态配置外部设备,增加或拆除外设后IEEE 1394会自动调整拓朴结构,重设整个外设网络状态。   IEEE 1394标准定义了两种总线数据传输模式,即:Backplane模式和Cable模式。其中Backplane模式支持12.5/25/50Mbps的传输速率;Cable电缆模式支持100/200/400Mbps的速率。IEEE 1394标准目前正在开发1Gbps的版本。IEEE 1394可同时提供同步和异步数据传输方式,同步传输应用于实时性的任务,而异步传输则是将数据传送到特定的地址,在相关协议的支持下它们能互不干涉的同步传输,而且它对计算机内部总线没有影响。   #1六、IDE总线   常见的硬盘等存储器的接口标准有四种即ST506、IDE、ESDI、SCSI。ST506是Seagate公司开发的最早的一种接口标准。ESDI的原文是Enhanced Small Device Interface,即增强型小设备接口,是由美国的Maxtor、Shugart、CDC和XEBEC等公司联合开发的一种高性能硬盘接口。ST506和ESDI标准都已经淘汰,目前在电脑中使用最广泛的是IDE和SCSI标准,下面我们就分别对它们进行下介绍。   IDE(Intelligent Drive Electronics)接口(^23060102j^8)是用来连接硬盘和光驱等设备而设的。流行的IDE接口有ATA33/66/100,ATA33又称Ultra DMA/33,它是一种由Intel公司制定的同步DMA协定,传统的IDE传输使用数据触发信号的单边来传输数据,而Ultra DMA在传输数据时使用数据触发信号的两边,因此它具备33MB/s的传输速度。而ATA66/100则是在Ultra DMA/33的基础上发展起来的,它们的传输速度可分别达到66MB/s和100MB/s。要想达到以上速度除了主板芯片组的支持外,还有使用一根ATA66/100专用40PIN的80线的专用EIDE排线。下面我们就来详细了解一下它们:   IDE接口于1989年由Imprimus、Western Digital与Compaq这三家公司确立的。它只需用一电缆将它们与主板或接口卡连接起来就可以了。把盘体与控制器集成在一起的做法减小了硬盘接口的电缆数目与长度,数据传输的可靠性也得到了增强,硬盘制造起来也就变得更容易,因为厂商不需要再担心自己的硬盘是否跟其它厂商生产的控制器兼容,对用户而言,硬盘的安装也变得更为方便。   1996年,ATA的增强型接口,ATA-2(EIDE,Enhanced IDE)正式确立,它是对ATA的扩展,它增加了2种PIO和2种DMA模式,把最高传输率提高到了16.7MB/s,这是老IDE接口类型的3~4倍,同时它引进了LBA地址转换方式,突破了老BIOS固有504MB的限制,支持最高可达8.4GB的硬盘。其两个插口分别可以连接一个主设备和一个从设备,从而可以支持四个设备,两个插口也分为主插口和从插口。由于IDE只具有16.7MB/s的数据传输率,各大产商又联合推出了Multiword DMA Mode3接口,它也叫UltraDMA,它的突发数据传输率达到了33.3MB/s。此接口类型使用40针的接口电缆,并且向下兼容,大家现在熟悉的Ultra ATA/33接口也即是此接口类型。接着在Ultra ATA/33标准后推出的即为Ultra ATA/66及100接口。Ultra ATA/100的突发数据传输率达到100MB/s,由于它具有这么高的传输率,原来为5MB/s数据传输率设计的40针接口电缆已不能满足ATA66/100的需求。因此在Ultra ATA/66/100的接口电缆中增加了40根地线,以减小数据传输时的电磁干扰。最新的ATA/100是可以完全向下兼容的,即它能使用ATA/33、ATA/66的设备。   #1七、SCSI总线   SCSI是指Small Computer System Interface(小型计算机系统接口),它最早研制于1979,原是为小型机的研制出的一种接口技术,但随着电脑技术的发展,现在它被完全移植到了普通PC上(^23060102k^9)。现在的SCSI可以划分为SCSI-1和SCSI-2(SCSI Wide与SCSI Wind Fast),SCSI-3。SCSI-2是目前最流行的SCSI版本,SCSI广泛应用于如硬盘/光驱/ZIP/扫描仪/打印机/CDRW等设备上,它有以下的优点:   首先它适应面广,使用IDE接口时,你将会受到系统IRQ(中断号)及IDE通道的限制,一般情况下每个IDE通道使用一个IRQ,因此一个标准的主板你只能用上2个IRQ接4个IDE设备。而使用SCSI,你所接的设备可以超过15个,且所有这些设备只占用一个IRQ。其次,它支持多任务操作,它不像IDE,SCSI允许对一个设备传输数据的同时,另一个设备对其进行数据查找。这将在多任务操作系统如Linux、Windows NT中获得更高的性能。其三,它具备宽带宽,在理论上,最快的SCSI总线有160MB/s的带宽,即Ultra 160/s SCSI。其四,它具较少CPU占用率,传统IDE接口CPU需要随时在线地全程控制数据的传输动作,如今即插即用的SCSI卡可通过独立处理芯片的协助,减少占用CPU资源的情况。   而从90年代开始,ANSI SCSI委员会开始制定SCSI-3规范,进一步把数据传输率提高到160MB/s。SCSI-3规范是一个多层结构,其协议层除了原有的并行协议外新增加了三个协议:光纤信道协议,串行协议和块传输协议。因此共有四种接口:SCSI-3并行接口、SCSI-3光纤信道接口、IEEE 1394和SCSI-3串行接口。这些新型接口将以PCI插卡的形式出现(Ultra160卡只有64 位PCI卡版本,但所有64位接卡都可以在32位PCI插槽上使用)。IEEE 1394在前面已经作过介绍,它实际上就是以SCSI-3为基础制定的串行标准。SCSI总线对于电脑设备来说有着它独特的优势,所以它至今依然在电脑高端领域发挥着重要作用。   SCSI总线各种规范速度比较表:(^23060102l^)   #1八、AMR总线   AMR总线插槽其全称为AUDIO/MODEM RISER音效/调制解调器插槽,它用来插入AMR规范的声卡和Modem卡等等。采用了这种标准可通过其附加的解码器可以实现软件音频和调制解调器功能,AMR插卡用AC-Link通道与AC’97(Audio Codec’97,音频多媒体数字信号编解码器1997年标准)主控制器或主板相连。声卡、MODEM和视频卡上均有接口、模拟电路、解码器、控制器和数字电路,控制器和数字电路很容易集成在主板上或整合在芯片组中,而接口电路和模拟电路部分集成在主板上则有一定困难。例如由于电磁干扰、电话接头、电信标准的不同,Modem的调制解调电路和接口电路就不宜集成在主板上,所以做成子卡形式,既容易升级,又避免了信号失真和SNR(信噪比)受影响。   除AMR之外,一些新主板上出现了CNR和NCR插槽,这是怎么回事呢?CNR是INTEL发布来用来替代AMR的技术标准,它将AMR上支持的AC97/Modem扩充到可支持1MB/s的HOMEPNA或10/100M的以太网,提供两个USB接口,支持SMB控制总线,支持电源管理功能,CNR的推出,扩展了网络应用功能,但它最大的遗憾在于和AMR不兼容。而NCR是AMD和VIA等厂家推出的网络通讯接口标准,NCR采用了反向PCI插槽,其特点和CNR差不多,但它与AMR卡完全兼容,见^23060102n^10。