微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
1999年 第18卷 第1期 Vol.18 No.1 1999



现代微型计算机总线技术的发展
闫长青　吴石增
　　摘　要：对现代微型计算机的总线技术进行了概述，并对随微型计算机不断发展所采用的几种典型的总线进行了介绍，重点介绍了新近应用较多的PCI和AGP总线。同时对各种总线的性能进行了综合对比。
　　关键词：总线技术　PC/XT总线　ISA总线　PCI总线　AGP总线　EISA总线
　　近十几年来，微型计算机有了迅猛的发展，引发了新的技术革命，甚至引起了人们生活方式的巨大变革。微型计算机之所以有如此大的能力，与计算机结构技术的不断革新、发展是密切相关的。而总线技术正是计算机结构技术中一个十分重要的组成部分。
　　采用总线技术，是现代计算机技术发展的必然。由于总线技术的应用，简化了系统设计，便于组织各模块的专业化生产，也便于产品的升级换代，同时也能得到众多计算机厂商的支持。
　　在一般的微型计算机系统中，往往具有不同层次的总线结构，以386微机系统为例，它就支持以下4种总线：
　　(1)CPU总线：具有32位地址线(CAB)和32位数据线(CDB)，它用来连接CPU和外围芯片。
　　(2)存储总线：具有32位地址线(MAB)和36位数据线(MDB，包括4位奇偶校验位)，用来连接存储控制器和DRAM。
　　(3)系统总线：也称I/O通道总线，用来与扩充槽上的各扩充板卡相连。系统总线有多种标准，其数据地址线不同，以适用于不同的应用系统。
　　(4)外部总线：具有24位地址线(XAB)和8位数据线(XDB)，用来与主机板上的I/O控制器和键盘控制器相连接。
　　在以上几种总线中，CPU总线、存储总线、外部总线在系统板上，不同的计算机系统采用的芯片组不同。所以这些总线均不完全相同，也没有互换性问题。
　　而系统总线则不同，它是与I/O扩展插槽相连接的。I/O插槽中可以插入各种扩充板卡，作为各种外设的适配器与外设连接。因此要求系统必须有统一的标准，以便按照这些标准来设计各类适配卡。
　　本文以下讨论的微机总线即指PC及其兼容机的系统总线或称I/O总线。下面将对微机总线发展过程中的几种典型总线技术进行逐一介绍，重点是新近采用的PCI及AGP总线技术。
1　PC/XT总线、ISA(AT)总线、及EISA总线
　　这几种总线为较早在微机系统上采用的总线标准。其中，ISA(AT)总线至今仍有一定的应用。
1.1　PC/XT总线
　　最早的PC机的系统总线是IBM公司于1981年推出的基于准16位机PC/XT的总线，也称PC总线。PC/XT总线支持8位数据传输和20位寻址空间。其特点是把CPU视为总线的唯一主控设备，其余外围设备均为从属(Slave)设备，包括暂时掌管总线的DMA控制器或协处理器。
　　IBM PC/XT总线是一种开放的结构总线，在其总线母板上有数个系统插槽，可用于I/O设备与PC机连接。其价格低、可靠简便、使用灵活、且对插板兼容性好，因此有许多厂家生产该总线的兼容产品，品种范围广泛。起初，IBM PC总线产品主要用于办公自动化，后来很快扩大到实验室或工业环境下的数据采集和控制。
1.2　ISA(AT)总线
　　1984年IBM公司推出了16位PC机PC/AT，其总线称为AT总线。后来为了统一标准，便将8位和8位/16位兼容的AT总线命名为工业标准结构(ISA——Industrial Standard Architecture)。
　　由于ISA是8位和8/16位兼容的总线，故插槽有2种类型，即8位和8/16位。8位扩展I/O插槽由62个引脚组成，用于8位的插接板；8/16位的扩展插槽除了具有1个8位62线的连接器外，还有1个附加的36线连接器。这种扩展I/O插槽既支持8位的插接板，也支持16位的插接板。
　　ISA总线具有以下的主要性能指标：
　　.I/O地址空间0100H～03FFH；
　　.24位地址线，可直接寻址的内存容量为16MB；
　　.8/16位数据线；
　　.62+36引脚；
　　.最大传输率8Mb/s；
　　.中断功能；
　　.DMA通道功能；
　　.开放式总线结构，能使多个CPU共享系统资源。
　　ISA总线结构示意图如图1。


图1　ISA总线结构示意图
　　从表面看，ISA(AT)总线是在PC/XT总线基础上增加了1个36线插座形成的。但实际上，ISA(AT)总线比PC/XT总线不仅增加了数据线宽度和寻址空间，还加强了中断处理和DMA传输能力，并且具备了一定的多主功能。故ISA(AT)总线特别适合于控制外设和进行数据通信的功能模块。
1.3　EISA总线
　　扩展工业标准结构(EISA——Extend Industrial Standard Architecture)，是由COMPAQ牵头的一个联合组织共同制定的一组总线标准。
　　EISA总线是一种32位总线结构，除了ISA支持的8位或16位数据传输外，还支持32位地址总线和32位数据传输。与ISA总线相比，EISA总线数据传输速度更快，且支持多主控总线功能，可使普通微机的单处理器系统升至多处理器工作状态，使运行达到峰值，其峰值总线数据传输率达33Mb/s。
2　PCI局部总线
　　进入1993年后，由于微处理器的飞速发展，使ISA、EISA总线均显落后。微处理器的高速度和总线的低速度不同步，造成硬盘、图形卡和其它外设只能通过1个慢速且狭窄的瓶颈发送和接收数据。因此推出了一项新技术——局部总线。
　　从结构上看，局部总线是在ISA总线和CPU总线之间增加1级总线。这样可将一些高速外设，例如网络适配卡、磁盘控制器等从ISA总线上卸下来而通过局部总线直接挂接至CPU总线上，使之与高速的CPU总线相匹配。局部总线结构示意图如图2。


图2　局部总线结构示意图
　　标准的局部总线中典型的是PCI局部总线(Peripheral Component Interconnect Local Bus)，由Intel公司开发。其特点是在CPU和外设之间插入1个复杂的管理层，以协调数据传输并提供总线接口。由于采用了信号缓冲，PCI能支持10种外设，并在高时钟频率下保持最高的传输速率。
　　PCI局部总线允许在1个计算机上安装多达10个PCI附加扩展卡，允许将ISA、EISA等扩充总线控制卡安装在上面，以使所有已安装的系统总线更好地同步。PCI控制器可以用32位或64位(这取决于设备)与系统的CPU交换数据。另外，还允许智能化的PCI辅助适配器采用一种称为总线管理(bus mastering)的技术协助CPU执行各种任务。PCI规范允许复用，即在1个时间内允许有1个以上的电信号出现在总线上。
　　PCI总线较以前的总线具有独特优点：
　　.高性能的多媒体技术。高性能图形、视像、网络对处理器提出很高的要求。PCI局部总线提供了很宽的通路，允许这些应用程序相当平滑的执行。
　　.真正的兼容性。与其它总线标准不同，任何与PCI相兼容的机器可用于任何遵从PCI的系统而不论其总线类型或所用的处理器。
　　.与Intel处理器一起工作。PCI总线可与Intel处理器协同工作，而不论其兆赫值从Intel 486SX处理器直至奔腾及未来的版本。
　　.增长的余地。PCI能以32Mb/s的速率传送数据，远比ISA总线的5Mb/s快，这使PCI可处理极高的容量，如用于全屏幕高质量视频的级别。
　　可见，PCI局部总线为外设提供了访问微处理器更宽、更快的通路，有效地克服了数据传输的瓶颈现象。在目前一段时间内，PCI局部总线接口是许多适配器的首选接口，如网络适配器、内置MODEM卡、声音适配器等，且目前绝大多数主板上均带有PCI插槽。
3　AGP总线
　　AGP加速图形端口(Accelerated Graphics Port)是一种用来连接CPU和图形加速器、比PCI更快的总线。它是由主要的图形器件厂商及全球的PC机和OEM厂商组成的AGP执行者论坛(AGP—IF)在1996年8月提出的。Intel公司决定将AGP技术主要用于基于Pentium Ⅱ处理器的平台上。
3.1　AGP总线特点
　　AGP是专门为点对点的图形器件设计的，并非为了替代PCI总线，它是PCI总线的增强和扩充。AGP的标准建立在PCI 2.1标准的基础上。
　　在PCI总线下，许多外设如高速硬盘驱动器、高速网络适配卡、调制解调器、声卡等均需使用PCI总线传输数据，而PCI的数据带宽有限(峰值传输率为132Mb/s)，若再加上1个需大量数据传输的3D显示卡，PCI总线就会不堪重负，因此导致了AGP总线的产生。故AGP的设计核心是在PC机上实现高性能的3D图像。
　　AGP性能特点：
　　.为3D图形显示提供高带宽(为PCI的4倍)，使突发数据传输率达526Mb/s。
　　.采用了管线技术、边带寻址，在时钟上升沿和下降沿可同时存取数据。
　　.可直接对系统内存中的纹理图像进行处理。因为AGP允许图形控制器与系统内存的无缝连接，不必将纹理数据预载到本地显存上。
　　.减少了总线阻塞，提高了处理效率。PCI总线就像一条单行道，其显示卡从内存中取得数据时，如同从显示卡开出一辆空车到内存去装货，必须等到该车将货物运回来后，才能发出下一趟车。这样在发出请求和得到数据之间有很多时间是在等待。AGP总线对此作了很大的改进，AGP更像一条高速公路，不但改善了路面质量提高了车速(提高了时钟频率)，而且增强了总线控制器的功能，这样使得从AGP显示卡可以连续发出多辆车，减少了等待内存的寻址时间，大大提高了处理效率。
　　AGP与PCI总线相比具有更高的时钟频率和数据传输率。对于1个系统基频为66MHz的奔腾级计算机来说，PCI的工作频率为基频的1/2即33MHz，相应的峰值数据传输率为132Mb/s；而AGP有3种模式：×1模式、×2模式和×4模式，工作频率分别达66MHz、133MHz和266MHz，相应的峰值数据传输率为264Mb/s、528Mb/s和1Gb/s。
3.2　AGP的工作模式
　　AGP有2种工作模式：一种是直接内存访问(DMA：Direct Memory Access)模式，另一种是直接内存执行(DIME：Direct Memory Execute)模式。
　　当AGP总线工作在DMA模式时，AGP总线先将系统内存中的纹理和其它数据装载到图形加速器的本地内存中，接着图形加速器的各种处理工作如纹理映射、明暗度调整、Z向缓冲等都在本地内存中执行。在此模式下，AGP与基于PCI的图形加速器的工作方式大致一样。图形加速器只是拥有了AGP总线高速数据传输的优势。
　　当AGP总线处于执行模式时，图形的数据可直接在系统内存中执行而不需要将原始数据全部传输到图形控制器。例如3D图形的一些特定操作如传输量最大的纹理映射可在系统的主存中直接处理，然后图形控制器将处理过的数据传输到显示缓冲区。这样做的好处是可减少主内存和图形控制器之间的数据传输量，同时也节省了图形控制器的本地内存。
　　为实现以上功能，就要求图形控制器必须能访问系统的主内存，能在主内存和显示内存之间传送数据。下面以Windows 95为例，说明图形处理器访问系统内存的方法。
　　图形处理器要能访问系统内存，首先必须得到系统的支持，目前Windows 95中的OSR 2.1能够支持AGP的执行模式；还需要有名为“USBSUPP.EXE”的程序，它从表面看是USB设备的支持程序，实际上包括了1个新的虚拟内存管理器VMM32.VXD，主要增加了几个对AGP专用内存进行分配和管理的API接口，使AGP显示卡的驱动程序可通过这几个API接口给AGP在系统内存分配AGP专用内存。另外，在微软提供的多媒体编程接口Direct 5.0中，包括有DirectDraw，其中新增了支持AGP的DIME功能，使程序员不需直接访问硬件就可利用AGP的优点。此外，随AGP显示驱动程序同时安装的还有“VGARTD.VXD”的虚拟设备管理程序，它是AGP执行DIME模式的关键所在。
　　AGP的DIME执行过程如下：3D程序开始运行，先通过DirectDraw的API分配1个足够大的显示内存缓冲区。DirectDraw缺省的内存分配方式为：先分配显示缓冲器的本地内存，根据相应的显示分辨率和色彩深度计算好显示中常用的缓冲区大小，在本地内存中优先分配，然后将剩下的缓冲区分配给纹理缓冲区。一般3D应用程序的纹理数据相当大，显示控制器的本地内存放不下时，就在系统主内存中给AGP分配“AGP主内存”。由于Windows 95采用虚拟地址映射方式，所以可将暂时不用的内存存储在硬盘上，在需要时再调入内存，若AGP主内存也被操作系统存入硬盘再调入，会影响图形显示效果，故AGP主内存是被操作系统锁定的，使其不能被交换到硬盘。　　
　　内存分配好后，图形控制器可把在系统内存中的AGP主内存当作显示卡的本地内存一样使用，且AGP主内存是1块连续的内存区。由于在PCI控制芯片组中有1个图形地址重映射表(Graphics Address Remapping Table)的硬件，它可将图形控制器要寻址的内存地址转换成相应的物理地址，又因为图形地址重映射表和CPU的地址映射表均由操作系统来管理，故图形控制器和CPU均能访问相同的AGP主内存。图形控制器访问AGP主内存，把AGP主内存中显示需要的纹理转换成硬件能直接显示的格式，存入显示缓冲区，再进行显示，这样可大大减少数据传输量。
　　由于AGP主内存是动态分配的，所以对不同的3D应用程序和不同的分辨率，AGP主内存大小可重新分配。此外，在3D应用程序结束后，可以释放AGP主内存。
3.3　AGP的应用展望
　　虽然AGP总线拥有很高的速度和优越的性能，但其应用还有赖于计算机系统其它部分的技术发展。目前AGP的峰值数据传输率虽能达到264Mb/s、528Mb/s，甚至1Gb/s，但目前系统内存的最快访问速度为528Mb/s，加上CPU、总线控制器和AGP图形控制器均需访问系统内存，系统内存实际给AGP图形控制器使用的带宽远远满足不了AGP的需要。预计随着系统内存访问速度的提高，AGP总线的优越性将体现得更加明显，其应用也会越来越广泛。
4　总结
　　现将几种总线的性能列于表1加以比较，供感兴趣的同行参考。
表1　几种总线性能

总线PC/XTISA(AT)EISAPCIAGP
推出时间1981年1984年1988年1993年1996年
带宽/b88/163232/6464
总线类型系统总线系统总线系统总线局部总线管线
最高时钟频率/MHz　88.33366以上
蜂值数
据传输率
/Mbs-1　533132264或更高
带外设能力　>12>12101个图形
控制器

作者单位：中国科学院电工研究所(100080) 
参考文献
　1　何宗琦.PC总线技术概述.电脑报，1995；(2)
　2　秦风评测实验室.您了解AGP吗.电脑技术，1998；(5)
　3　William S.Computer organization and architecture:designing for performance.Prentice Hall Inc,1996
(收稿日期：1998-09-02)
