由于总线上往往要连接许多部件或设备,传输的距离较长,负载比较重,故要求总线线路有更强的驱动能力。总线的硬件组成,通常选用集电极开路输出的电路,或输出端有高阻态输出支持的电路,如图5.9所示。这样的线路的输出端可以直接纽接在一起,并通过为其中某个门给出低电平(0V)的控制信号,为其他门给出高电平(4V)的控制信号,实现把多路输入中的某一路信息送到总线上,图上表示的是把A路输入送到总线上。


图5.9 总线线路与器件

  计算机的总线,从各自承担的不同功能,可以被分成数据总线(data bus,DB )、地址总线(address bus,AB)和控制总线(control bus,CB)3个部分。数据总线在计算机部件之间传输数据(数据,指令)信息,它的时钟频率和宽度(位数)的乘积正比于它支持的最大的数据输入/输出能力;地址总线在计算机部件之间传输地址(内存地址,IO设备地址)信息,它的宽度(位数)决定了系统可以寻址的最大内存空间;控制总线给出总线周期类型、IO操作完成的时刻、DMA周期、中断等有关的控制信号。

  总线周期,通常指的是通过总线完成一次内存读写操作或完成一次输入/输出设备的读写操作所必需的时间,依据具体的操作性质,可以把一个总线周期区分为内存读周期,内存写周期,IO读周期,IO写周期4种类型。更具体看,一个总线周期通常由两个时间段组成:地址时间(address time,CPU向内存或IO设备送出地址信息到地址总线),数据时间(data time,CPU完成数据读写)。若被读写的内存和外设的运行速度够快,可以保证在这一个数据时间内完成读写操作,则该总线周期在这一数据时间之后立即结束。若被读写的内存和外设的运行速度低,不能在这一个数据时间内完成读写操作,就必须再增加一到几个数据时间用于继续完成读写操作,之后才结束该总线周期。在增加出的这一到几个数据时间里,称总线处于等待状态。等待状态的存在,无疑将降低系统的输入/输出能力。人们又把只用一个数据时间(无需等待状态)完成的读写操作,叫做在0等待状态完成的读写操作。

  如果每次数据传输都要用两个时间(地址时间,数据时间)组成的完整的总线周期完成读写,则称这种总线周期为正常总线周期(normal bus cycle),每次只能传输一个数据。若希望提高数据传输速度,也可以在给出一次地址信息(一个地址时间)后,接着用连续的多个(例如4)数据时间依次传输多个数据,这种运行方式被称为总线的急促传输方式(burst mode),又称成组数据传输方式,它需要CPU、总线、被读写对象各部件的支持。

  总线性能(数据输入/输出的吞吐量)对计算机系统总体性能有重大的影响,找出提高总线性能和系统输入/输出的数据吞吐量的方案,是计算机厂家一直努力解决的问题。总的想法,一是尽量提高CPU总线本身的速度,二是从总线结构上想一些办法,就是多提供几组总线,铁路可以修复线,公路可以有多条,计算机当然也可以提供几组总线。