第4章总线系统4.1总线工作原理4.2几种系统总线标准4.3几种设备总线标准习题4.1总线工作原理4.1.1总线通信的定时方式4.1.2总线的组成和仲裁4.1.3总线特性与性能指标4.1.4总线分类总线(bus)是能由多个部件分时共享的公共信息传送线路。分时和共享是总线的两个基本特性。所谓共享是说,多个部件连接在同一组总线上,各部件间相互交换的信息都可以通过这组总线传送。分时是指同一时刻总线只能在一对部件之间传送信息。系统中的多个部件不能同时传送信息。一个系统的总线结构决定了该计算机系统的数据通路及系统结构。因此,总线结构的好坏对系统性能有很大的影响。4.1.1总线通信的定时方式作为信息传输通道,总线连接着多个部件,传递着多种信息。但每一时刻只能传输一种信号,所传输的多种信号,只能分时地进行。每一个信号的传送,都是发送端发出数据,接收端接收数据。为了正确地接收,就要采用一定的方式让接收端知道发送端什么时刻开始发送,什么时刻发送完毕,这就叫做总线通信的定时方式。按定时方式的不同,可以把通信过程分为同步通信和异步通信两种基本过程。1.同步通信各部件通过总线进行数据传送时,用一个公共的时钟信号进行同步控制,称为同步通信,也称为在同步定时方式中,这个时钟信号通常是由CPU发出,并发送到每一个部件(设备)。经过一段固定时间,本次总线传送周期结束,并开始下一个新的总线传送周期。图4.1表示数据由输入设备向CPU传送的同步通信过程。总线周期从t0开始到t3结束。整个数据同步传送过程由总线时钟控制:t0时刻,将CPU产生的设备地址放在地址总线上,同时经控制线指出操作的性质(读/写内存或读/写I/O设备);t1时刻,CPU发出读信号命令;t2时刻,设备把数据放到数据总线上,CPU在时钟周期T2中进行数据选通,将数据接收到自己的寄存器;经过一段稳定时间到t3时刻,CPU读命令信号和设备数据信号结束;t4时刻,总线周期结束,可以开始另一个新的数据传送。同步式传输的基本特点,就是在系统总线设计时使T0,T1,T2,T3都有惟一明确的规定。优点是模块之间的配合简单一致,并且由于采用了公共时钟,每个部件什么时候发送或接收信息都由统一的时钟规定,因此,同步通信具有较高的传输频率。缺点是所有模块都强求一致的同一时限,使设计缺乏灵活性。2.异步通信异步通信方式也称为应答方式,在这种方式下,没有公共的时钟,也没有固定的时间标准,而是通过“请求”和“应答”方式(或称握手方式)来进行同步控制用以实现不同速度模块间的数据传送配合。即主模块先向从模块发出“请求”信号,等收到从模块的“应答”信号后,才认为可以开始通信。为此,在并行传输系统中除数据线之外,要增加请求和应答两条应答线(或称握手交互信号线)。一般把异步应答关系分为不互锁、半互锁和全互锁3种类型,如图4.2所示。(1)全互锁:设备1发出“请求”信号,等待设备2的“应答”信号;设备2接到“请求”信号后,发出“应答”信号;设备1接到设备2的“应答”信号,就撤销其“请求”信号;设备2在获知设备1已撤销“请求”信号后,随即撤销其应答信号。这样,在通信双方建立了完全的互锁关系。(2)半互锁:设备1的“请求”信号撤销,取决于是否收到设备2的“应答”信号。收到设备2的“应答”信号,立即撤销“请求”信号;而设备2“应答”信号的撤销与否,完全有设备2自主决定。(3)不互锁:“请求“和“应答”信号都有一定的时间宽度,设备1发出“请求”信号,不等待接到设备2的“应答”信号,而是经过一段时间后,撤消其“请求”信号;设备2接到请求信号后,在条件允许时法发出“应答”信号,并且经过一段时间,自动撤销其“应答”信号。这样,“请求”信号的结束和“应答”信号的结束不互锁。4.1.2总线的组成与仲裁1.总线的组成(1)传输线总线是信号线的集合,这些信号线可分为:地址线、数据线、控制、时序和中断信号线、电源线和备用线。(2)接口逻辑总线与各部件并不是直接相连的,通常需要一些三态门(控制双向传送)和缓冲寄存器等作为它们之间的接口。(3)总线控制器总线要为多个部件共享。为正确地实现它们之间的通信,必须有一个总线控制机构,对总线的使用进行合理分配和管理。2.总线的争用与仲裁按对总线有无控制功能,连接在总线上的设备可以分为主模块和从模块两种。前者具有对总线的控制权,后者没有。总线上信息的传输由总线主设备启动。即总线上的一个主模块要与另一个模块部件进行通信时,首先应该由主模块发出总线请求信号。总线同一时刻只允许在一对模块之间进行通信。当多个主模块同时要求使用总线时,总线控制机构中的判优和仲裁逻辑将按一定的判优原则,来决定由哪个模块使用总线。只有获得了总线使用权的模块,才能开始传送数据。总线是多个模块的共享部件,为了正确地实现多个模块之间的通信,必须对总线资源进行合理的分配和管理。按总线仲裁控制机构的设置方式,总线判优可分为集中式和分布式两种。总线控制逻辑集中在一处(如CPU中)的,称为集中式控制;总线控制逻辑分布在连接于总线的各个部件或设备中的,称为分布式控制。就集中控制而言,有3种常见的优先权仲裁方式。(1)链式查询方式链式查询方式如图4.3所示。它靠3条控制线进行控制:BS(忙)、BR(总线请求)和BG(总线同意)。它的主要特征是将总线允许信号BG串行地从一个部件(I/O接口)送到下一个部件,若BG到达的部件无总线请求,则继续下传,直到到达有总线请求的部件为止。这意味着该部件获得了总线使用权。显然,在查询链中离总线控制器最近的部件具有最高优先权,离总线控制器越远,优先权越低。链式查询是通过接口的优先权排队电路来实现的。(2)计数器定时查询方式采用一个计数器控制总线的使用权,其工作原理如图4.4所示。它仍用一根请求线,当总线控制器接到总线请求信号以后,若总线不忙(BS线为“0”),则计数器开始计数,并把计数值通过一组地址线发向各部件。当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线使用权,置忙线BS为“1”。同时中止计数器的计数及查询工作。计数器每次可以从“0”开始计数,也可以从中止点开始。如果从“0”开始,各部件的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优先级相等,这对于用终端控制器来控制各个显示终端设备是非常合适的。因为,终端显示属于同一类设备,应该具有相等的总线使用权。计数器的初值也可用程序设置,以方便地改变优先次序。当然这种灵活性是以增加线数为代价的。(3)独立请求方式独立请求方式原理如图4.5所示。在独立请求方式中,每一个共享总线的部件均有一对总线请求线BRi和总线同意线BGi。当该部件要使用总线时,便发出请求信号,在总线控制部件中排队。总线控制器可根据一定的优先次序决定首先响应哪个部件的总线请求,以便向该部件发出总线的响应信号BGi。该部件接到此信号就获得了总线的使用权,开始传送数据。独立请求方式的优点是响应时间快,用不着一个部件接一个设备地查询,然而这是以增加控制线数为代价的。在链式查询中仅用两根线确定总线使用权属于哪个部件;在计数查询中大致用log2n根线,其中n是允许接纳的最大部件数;而独立请求方式需采用2n根线。独立请求方式对优先次序的控制是相当灵活的。它可以预先固定,例如让BR0优先级最高,BR1次之……BRn最低;也可以通过程序来改变优先次序;还可以屏蔽(禁止)某个请求以拒绝响应来自被屏蔽部件的请求。4.1.3总线特性和性能指标1.总线特性从结构上说,总线由两部分构成:母线框架和各部件的插板。母线框架是按总线标准用印刷电路板(或一束电缆)连接起来的多个插座。部件插板是各部件的组成板,其插头信号按标准连接。为进行机械上的连接,需要规定总线的机械(物理)特性;为进行电气上的连接,需要规定总线的电气特性;为正确连接不同的部件,还须规定各线的功能特性和时间特性。(1)机械特性:又称物理特性,它指总线在机械上的连接方式。(2)电气特性:总线的每一根线上信号的传递方向及有效电平范围。(3)功能特性:用以描述总线中每一根线的功能。(4)时间特性:定义每根线在什么时间有效,即总线上各信号有效的时序关系,一般用信号时序图来描述。2.总线的性能指标(1)总线宽度:也称传送宽度,指一次总线操作中通过总线传送的数据位数,即数据总线的数量,用bit(位)表示。(2)总线周期:一次总线操作中所用的时间。(3)总线带宽(标准传输率):在总线上每秒传输的最大字节(Byte)量,用MB/s表示,即多少兆字节每秒。(4)总线工作的时钟频率:总线工作频率越高,带宽越宽。设总线的带宽用Dr表示,总线的时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示,则带宽的计算公式如下:Dr=D/T=D×f(5)多路复用技术:为提高总线性能、优化设计,地址线和数据线共用同一物理线路,即某一时刻该线路上传输的是地址信号,而另一时刻传输的是数据信号或总线命令。这种一条总线多种用途的技术,称作多路分时复用。(6)总线控制方式:含有突发传输、并发工作等项内容。(7)其他指标3.总线标准化总线是计算机系统模块化的产物,相同的指令系统,相同的功能,不同厂家生产的各功能部件在实现方法上没有相同,但希望相同的功能部件可以互换使用,这要求各厂家按照同一个总线标准来生产。这就首先要解决总线的标准化问题,使用标准总线。标准总线的种类很多,如在微型计算机中有ISA总线、EISA总线、MCA总线和PCI总线等。即插即用(PlugandPlay),简称PnP。也就是说,新设备只需简单地插入即可开始运行,不需要用户区拨动设置开关、拔插跳线以及复杂的软件安装来调整和重新配置系统。也就是说,这种重新配置的行为是由系统自动完成的,对用户来说是透明的。4.1.4总线分类1.按照总线传递的内容分类地址总线AB、数据总线DB和控制总线CB。2.按照总线所处的位置分类片内总线和片外总线。3.按照总线在系统中连接的主要部件分类存储总线、DMA总线、系统总线和设备总线(I/O)总线。4.按照系统中使用的总线数量分类大多数总线都是以相同方式构成的,其不同之处仅在于总线中数据线和地址线的数目,以及控制线的多少及功能。按照系统中使用的总线的条数可以分为单总线结构、双总线结构和多总线结构。(1)单总线结构使用一组单一的系统总线来连接CPU、主存和I/O设备,叫作单总线结构。早期的计算机系统大多采用单总线结构。在这类系统中,同一类信息通过同一组总线在不同部件间传递。在单总线结构中,要求所有接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时,能迅速获得总线控制权;而当不再使用总线时,能迅速地放弃总线控制权。否则,由于一组总线由多种功能部件共用,可能导致很大的时间延迟。在单总线系统中,某些外围设备也可以指定地址。此时,外围设备通过与CPU中的总线控制部件交换控制信号的方式占有总线。一旦外围设备得到总线控制权后,就可以向总线发送地址信号,使总线上的地址线置为适当的代码状态,以便制定它将要与哪一个设备进行信息交换。如果一个外围设备指定的地址对应于一个主存单元,则主存予以响应,于是在主存和外设之间将进行直接存储器传送(DMA)。这种总线结构连接灵活、易于扩充。单总线结构容易扩展成多CPU系统,这只要在总线上挂接多个CPU即可。因所有信息都在一组系统总线上传送,故信息传输的吞吐量受到限制。(2)双总线结构在计算机系统中,CPU与存储器之间的信息传送最为繁忙,要求的带宽也最高。这就造成了单总线结构的一个“瓶颈”。自然,解决这个瓶颈的初步办法就是在CPU与存储器之间再建立一条直接通道,形成以存储器为中心的双总线结构,如图4.6所示。双总线结构保持了单总线结构简单、易于扩充的优点,又在CPU和主存之间有一组专门高速总线,使CPU可与主存迅速交换信息,而主存不必经过CPU仍可通过总线与外设之间实现DMA操作。这样,缓解了对系统总线和CPU的压力,提高了系统的效率。(3)三总线和多总线结构为了在主存与高速设备(如磁盘)之间进行高速数据传送,可以在它们之间引入一