简介
分时总线,也可以称之为分时传送,有两种概念,一是在分时传送信息时,总线不明确区分哪些是数据线,哪些是地址线,而是统一用来传送数据或地址信息。由于传输线上既要传送地址信息,又要传送数据信息。因此必须划分时间,以便在不同的时间间隔中完成传送地址和传送数据的任务。分时总线的另一种概念是共享总线的部件分时使用总线。分时总线的使用一般与总线控制决定。
总线控制总线的控制就是决定共享总线的部件如何获得总线的使用权(控制权)的问题,总线控制部件是总线的仲裁机构。
连接到总线上的功能模块有主动和被动两种模式,主动模式的模块称为主方(Master),它可以启动一个总线周期,被动模式的模块称为从方(Slave),它只能响应主方的请求。例如,CPU模块在不同的时间里既可以用作主方,也可以用作从方,而存储器模块只能用作从方。由于总线是在多个部件之间共享的,每一次总线操作只能有一个主方占用总线控制权,但是同一时间里可以有一个或多个从方。从这种意义上说,主方是那些在某个时刻独占总线的部件,一般会在占有总线之前发出总线占用请求。除了CPU模块外,I/O功能模块、DMA控制器也可以作为主方提出总线请求。常见的控制方式有链式查询方式、计数器定时查询方式、独立请求方式。
链式查询方式总线中有一条BS线,它标明总线的状态:1表示总线正被某个主方所使用,0表示总线空闲。
链式查询方式的主要特点:总线授权信号BG采用串行方式从一个I/O接口传送到下一个I/O接口。假如BG到达的接口无总线请求,则继续往下查询;假如BG到达的接口有总线请求,BG信号便不再往下查询,这意味着该I/O接口获得了总线控制权。显然,在查询链中离中央仲裁器最近的设备具有最高优先级,离中央仲裁器越远的设备其优先级越低。因此,链式查询是通过接口的优先级排队电路来实现的。
链式查询方式的优点是只用很少几根线就能按一定的优先次序实现总线仲裁,并且这种结构很容易扩充新的设备。链式查询方式的缺点是对查询链的电路故障非常敏感,如果第i个设备的接口中有关查询链的电路发生故障,那么第i个以后的设备就都不能工作了。此外,查询链的优先级是固定的,如果优先级高的设备频繁发出总线请求,则优先级较低的设备有可能长期无法使用总线。
计数器定时查询方式总线上的任一设备需要使用总线时,通过BR线发出总线请求,中央仲裁器接到请求后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各个设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备的地址一致时,该设备将BS线置“1”,获得总线使用权,同时终止计数查询。
每次计数既可以从“0”开始,也可以从终止点开始:如果从“0”开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的;如果从终止点开始,则每个设备使用总线的优先级是相等的。计数器的初值也可用程序来设置,这样可以方便地改变优先次序,但这种灵活性是以增加线数为代价的。
独立请求方式在独立请求方式中,每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。当设备要求使用总线时,便发出该设备的请求信号。中央仲裁器中有一个排队电路,根据自己的优先策略决定首先响应哪个设备的请求,给该设备以授权信号BGi。
独立请求方式的优点首先是响应速度快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询;其次,对优先次序的控制相当灵活,可以预先固定,也可以通过程序来改变,还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。因此,现代的总线标准普遍采用独立请求方式。