您的位置: 网站首页 > 程序开发 > 汇编语言与微机原理教程 > 第5章 微机总线的结构 > 【5.1 微机总线概述】

5.1 微机总线概述

 

计算机总线是一组信号线的集合,是计算机各部件之间进行信息传输的公共通道。采用总线结构使得系统结构清晰、规范,设备互换性好,系统组成灵活,维修方便。

本章主要内容

&        总线功能

&        微机总线分类

&        PCIUSB总线特性

5.1  微机总线概述

微机由若干功能部件组成,各功能部件之间通过总线来互连和进行通信,总线是它们进行相互通信的公共通路,在这个通路上传送地址信息、数据信息和控制信息。因此,总线是指能为多个功能部件提供互连和信息传输的一组公共信号线。微机系统中之所以广泛采用总线结构,是因为采用总线结构可以使系统结构简单,系统的扩充和更新方便,可靠性高。

为了使不同的设备在总线上相互连接,进行数据交换,需要对总线上各个信号的名称、功能、电气特性、时间特性等做出统一的规定,这就是总线标准。有了统一的总线标准,不同供应商提供的产品就能互换与组合。

各种总线标准都有详尽的规范说明,主要包括以下几个部分。

·    机械结构规范:确定模块尺寸、总线插头、边沿连接器插座等规格及位置。

·    性能规范:确定总线每根线(引脚)的信号名称与功能,对它们相互作用的协议(例如定时关系)进行说明。

·    电气规范:规定总线每根信号线工作时的有效电平、动态转换时间、负载能力、各电气性能的额定值及最大值。

一个能被计算机界普遍接受的总线标准必须具有高度的科学性和权威性,要经过实践反复验证,确定是正确无误的规范化的通用总线。不仅是计算机系统总线,其他领域的总线也必须如此,只要是一个标准,就必须是规范化的确定。

随着电子技术的发展,特别是计算机技术的迅速发展,总线技术也随之不断发展。有的总线仍在发展、完善,有的总线已被淘汰,新的总线不断出现。就系统总线而言,其发展的关键是如何不断提高总线的传输速度,增加数据宽度和寻址空间,如何有利于系统结构的简单和使用、维护的方便以及能连接尽可能多的设备等几方面。

5.1.1  总线的类别

1.按信号性质分

除电源线外,总线按其所传输信号的性质可分为3类:地址总线(AB)、数据总线(DB)和控制总线(CB)。地址总线和数据总线相对较简单,功能也较为单一。在系统的不同层面上它们的名称和性能可能有所不同,微处理器(MPU)和其他总线部件作为主控模块时其地址线都是输出的,输出给要寻址的从模块,如存储器或I/O端口等;当总线部件作为受控的从模块时,其地址线都是输入的,接收主模块送来的地址信号以决定要访问的从模块的具体单元。而数据线一般都是双向传输,在主从模块间传送、交换数据。控制总线则比较复杂,即使功能相同的模块因型号不同也有显著差别,如不同型号的MPU,其地址总线和数据总线大致相似,而控制总线却差异较大。正是控制总线的不同特性决定了各种模块(包括MPU)的不同接口特点。控制总线的基本功能是控制存储器及I/O的读/写操作,此外还包括中断与DMA控制、总线判决、数据传输握手联络等。中断与DMA控制线用来实现I/O操作的同步控制;总线裁决线对多个竞争占用总线的主模块进行仲裁,以决定哪一个主模块占用总线,防止总线冲突;传输握手联络线用来控制总线上数据传输的开始和结束,实现数据传输的同步,保证完整地传输数据。

习惯上把地址总线、数据总线、存储器及I/O/写控制线称为基本信息总线,而把中断与DMA控制线、总线裁决线统称为仲裁总线。在总线操作期间,仲裁总线和传输握手联络线保证基本信息总线上信息的正常传送。

2.按系统层次分

整个计算机系统包含许多模块,这些模块功能不同、性能各异,位于系统的不同层次上,整个系统按模块化构建采用多总线分级结构。同一类型的总线在不同的层面上连接不同部位上的模块,其名称、作用、数量、电气特性和形态各不相同,按总线连接的对象和所处系统的层次来分,总线有芯片级总线、系统总线、局部总线和外部总线。

1)芯片级总线。

用于模块内芯片一级的互连,是芯片与外围支撑芯片的连接总线。按所连芯片模块的功能,又称为××局部总线(或××本地总线)。如连接CPU及其周边的协处理器、总线控制器、总线收发器等的总线称为CPU局部总线或CPU总线,连接存储器及其支撑芯片的总线称为存储器总线等。这里的“局部”表示局限在某个模块范围内,芯片级总线把芯片连接成模块。

2)系统总线。

系统总线是连接计算机系统内部各模块的一条主干线,是连接芯片级总线、局部总线和外部总线的纽带。系统总线把微机系统各插件板与主板连在一起。系统总线符合某一总线标准,具有通用性,是计算机系统模块化结构的基础。系统总线经缓冲器驱动,负载能力较强。

3)局部总线。

系统总线连接局部总线和外部总线,与所连接的CPU和外部设备相比,系统总线发展滞后、速度缓慢、带宽较窄,成为数据传输的瓶颈。为了打破这一瓶颈,人们将高速外设如图形卡、网络适配器、硬盘控制器等从系统总线(如ISA等)上卸下,通过控制与驱动电路直接挂到CPU总线上,使高速外设能按CPU速度运行。这种直接连接CPU总线与高速外设的传输通道称为局部总线,它插在系统总线与CPU总线之间。

4)外部总线。

外部总线又称设备总线,是连接计算机与外部设备的总线。外部总线经总线控制器挂接在系统总线或局部总线上。计算机作为一种设备也是通过系统总线、外部总线与外部设备交换数据。常用的外部总线有连接智能仪器仪表的并行通用接口总线IEEE 488、连接各种外设的SCSISmall Computer System Interface,小型计算机系统接口)和IDEIntelligent Driver Equipment,智能驱动设备)总线、连接打印机的Centronics总线等并行总线,以及连接串行传输设备的USB总线、串行通信总线RS-232-CRS-422等。

从连接对象及其级别看,有人又把系统总线和局部总线称为模块级总线,模块级总线把主板上各模块以及外部I/O模块连接成完整的微型处理器;而把外部总线称为系统级总线。它把多台微型处理器和外部设备连接成一个大的系统。

CPU与连接到系统板上的外设打交道须经过芯片级总线、局部总线、系统总线和外部总线这样三级或四级总线。两级总线之间经总线控制器和缓冲器连接。

从系统组成和应用角度看,人们最关心的是系统总线和局部总线。

3.按传输方式分

总线按传输方式分,有并行总线和串行总线。并行总线中的每个信号都有自己的传输线,所有信号并行传送,例如,用于连接辅助存储器的IDESCSI总线,用于并行打印机的Centronics总线等。

串行总线一般只用一条或少数几条传输线,信号在一条传输线上依次顺序串行传输,例如,用于串行通信的RS-232-CUSB总线。

在计算机系统中,串行总线通常用于连接串行设备和通信线路,多属外部总线。传统的计算机结构中多数采用并行总线,由于串行总线引脚少、功耗低,串行技术得到飞速发展。现在串行总线的传输速率越来越快,应用领域从芯片级、到主板和各种板卡直至外部设备,范围越来越广。

5.1.2  总线的参数

1.总线宽度

总线宽度是指可以同时传输的数据位数,位数越多,一次传输的信息就越多。ISA总线宽度为16位,EISA16位,PCI32位。

2.总线频率

总线上信号传输的定时方式有同步和异步两种类型。

同步总线都有一个基本时钟,总线上其他信号都以这个时钟为基准,这个时钟的频率也是总线工作的最高频率。时钟的频率越高,单位时间内传输的数据量就越大。ISA总线、EISA总线的时钟频率为8MHzPCI总线的时钟频率为33.3MHz

3.总线带宽与总线数据传输速率

总线带宽是总线上单位时间内传输信息的数量,等于总线宽度与总线频率的乘积。

ISA总线带宽=2B(数据宽度)×8MHz=16MB/s

PCI总线带宽=4B(数据宽度)×33.3MHz=133MB/s

总线数据传输速率在数值上等于总线上单位时间内传输构成数据代码的二进制比特数。在总线上传输数据之前,通常需要进行对从设备寻址、设备之间进行联络等其他操作。例如,访问存储器时需要首先发送存储单元的地址,这使得总线数据传输速率通常小于总线带宽。ISA总线传送一个数据至少需要2个时钟周期,PCI总线支持无限的突发总线传输,发送一次地址后可以连续进行多次数据传输,可以认为传输一次数据只使用1个总线周期。据此,可以计算得到它们的总线数据传输速率。

总线数据传输速率(ISA=2B(数据宽度)×8MHz×1/2(每周期数据量)=8Mbps

总线数据传输速率(PCI=4B(数据宽度)×33.3MHz×1(每周期数据量)=133Mbps

5.1.3  总线的数据传输

总线上的模块通过总线进行信息交换。信息是在两个或两个以上的模块(或称为设备)之间传送的。一个模块占有总线并进行总线操作时,需要做两件事。

1)获得总线的使用权。

2)通过总线向另一模块传送数据或者经相应的控制线与地址线向其他模块发送请求,然后等待接收另一模块发送来的数据。

1.总线数据传输的过程

一次总线传输的过程可以划分为4个阶段:总线请求和仲裁、寻址、数据传送、结束阶段。

·    总线请求和仲裁(bus request & arbitration)阶段:需要使用总线的主模块提出申请,由总线仲裁器确定把总线分配给哪个请求源。

·    寻址(addressing)阶段:取得总线使用权的主模块发出将要访问的从模块(如存储器或I/O端口)地址信息以及有关命令,启动从模块。

·    数据传送(data transfer)阶段:主从模块进行数据交换,数据由源模块发出,经数据总线传送到目标模块。

·    结束(ending)阶段:主从模块的数据、地址、状态、命令信息均从总线上撤除,让出总线,以便其他主模块继续使用总线。

要进行一次总线的传送,主模块首先要申请总线,以便取得总线的控制权。多个主模块同时申请总线使用权时,需要根据某种算法做出裁定,把总线的控制权赋予某个设备,这一任务由总线控制器完成。此外,总线控制器还要确保一个主模块只能占用有限的总线时间,以满足其他模块的传输需求。主模块取得总线控制权后,接着在总线上进行寻址,通知被访问的从模块进行信息传输。从模块给出确认信号后,传输过程开始。一次传输可以传送一个数据,也可以传送多个数据。当整个数据传输完毕后,当前主模块交出总线,以便系统中其他主模块使用总线。

对只有一个主模块的单处理器系统,总线始终为主模块的处理器所占有,不存在总线请求、裁决分配和撤除问题,所以中心操作只有寻址和数据传输两个阶段,如前面所讲述的CPU把数据写到存储器或输出端口、CPU从存储器或输入端口读入数据、CPU中断操作等。

2.总线仲裁

总线仲裁即总线判决,目的是避免多个主控器同时占用总线,确保任何时候总线上最多只有一个模块发送信息。当多个主控模块同时提出总线请求时,仲裁机构以一定的优先算法裁决由哪一个模块获得总线使用权。

按裁决机构的设置,总线仲裁可分为集中式控制和分布式控制。集中式控制将总线控制逻辑基本上集中于一个设备,分布式控制则将总线控制逻辑分散在总线连接的各个部件或设备中。

按裁决方式主要有定时查询、串行链接仲裁、并行仲裁和并串仲裁等。

1)定时查询。

定时查询方式中各模块的总线请求信号经一条公共的请求线向控制器发出,控制器轮流对各模块进行测试看是否有请求。

定时查询方式可靠性高,模块的故障不会影响总线控制。缺点是扩展性较差。

2)串行链接仲裁。

串行链接仲裁简称串链仲裁、串行仲裁,又叫“菊花链”仲裁(robin daisy chaining)。

菊花链仲裁控制线少,实现简单,扩充容易(增加的主控模块只需挂到总线上即可)。缺点是线路连好后优先级不能改变,且任一环节发生故障将阻止后面模块获得总线控制权。

3)并行仲裁。

并行仲裁又称独立请求仲裁(independent request arbitration)。该仲裁方式下的每个主控器都各自有独立的总线请求线、总线允许线,都与总线仲裁器相连,相互间没有任何控制关系。

并行仲裁避免了链式串行仲裁的逐级传递延时,大大加快了响应速度,特别适合实时性要求高的多处理机系统中使用。但并行仲裁控制信号线多、逻辑复杂,随着总线上主控模块的增多,复杂性几乎呈指数级上升;另外,并行仲裁系统不易扩充,因此它只适合用在主控模块不多且较为固定的系统。广泛使用的PCI总线就采用集中的并行仲裁方法,每个主控器有独立的总线请求(REQ)和总线允许(GNT)信号。

4)并串仲裁。

并串仲裁是把串行仲裁和并行仲裁结合起来的二维仲裁,它能构成更为灵活的择优机构。

并串二维总线仲裁兼具串行仲裁和并行仲裁的优点,灵活性好,可扩充性强,响应速度快,既能容纳较多的模块,又不使结构过分复杂。对于主控源较多的大型机而言,这无疑是一种最佳的选择。实际上,十多年来开发的各种支持16位、32位微机和多微机系统的系统总线如MultibusVERSAbusVMEbus等差不多都提供了这种二维总线仲裁机构。

许多32位及以上的微处理器如Pentium等已经将总线请求和总线仲裁逻辑集成在芯片内部。

3.总线传输的方式

总线上的主从设备要进行信息传送,就必须实现同步。也就是说,必须使信息的接收方知道,每一位的信息从什么时间开始,每一个数据从哪一位开始,每一个数据块从哪一个数据开始。一般采用以下3种方法。

1)同步传输。

这种总线包含一根公共的时钟信号,连接到总线上的所有模块。总线信息的传输都在时钟周期的开始时发生,每一次信息传输(地址、数据)占用一个时钟周期。

同步通信方式中系统的所有模块由单一时钟信号控制,突出的优点是简单快速,缺点也很明显:系统中快速模块必须迁就慢速模块,总线响应速度由速度最慢的模块确定,使系统整体性能大为降低,而且无法确知被访问的模块是否已经真正响应,故可靠性也较低。

2)异步传输。

多数系统中不同模块的数据传输速度差异较大,为解决同步传输方式的上述缺点,异步传输方式得到了广泛应用。

异步方式又称应答方式,数据发送部件和接收部件之间没有公用的时钟和固定的时间间隔,依靠相互制约的“握手”信号来协调双方,实现传输的定时控制。

主设备通过请求信号线发出传输请求,从设备准备就绪后,在应答信号线上发出应答信号,传输由此开始。数据传输所耗费的时间随着设备工作速度的不同而不同。CPU在总线上对存储器的读/写就是一种异步传输方式:CPU(主模块)发出读请求信号,并将存储单元地址放到地址总线上,存储器(从模块)接收地址信号,延迟若干时间后将数据信号通过总线发送给CPU

3)半同步传输。

半同步方式可以看作是同步方式和异步方式的组合。信号的出现仍以公共时钟为基准,传输的开始时间由时钟信号和握手信号共同确定。半同步方式在同步的前提下,允许设备的某些不一致性,具有较大的灵活性,因此得到了广泛的使用。

半同步传输方式中,慢速模块与快速主模块按异步方式通信,而快速模块与主模块按同步方式通信,具有良好的适应性,既有同步传输的快速,又有异步传输的灵活可靠。PCI总线属于这种类型。

4.数据传输类型

总线上的数据传输有单周期方式和突发数据传输(burst)两种方式。单周期方式在获得一次总线使用权后只能传送一个数据,如果需要传输多个数据,就要多次申请使用总线。在突发方式下,获得一次总线使用权可以连续进行多个数据的传输。寻址阶段主设备发送数据块的首地址,后续的数据则是在首地址的基础上按一定的规则(如自动加1)寻址。这种传输方式总线的利用率高。PCI总线支持突发数据传输方式。