定义题
总线仲裁
解析:独立查询相应时间最快,链式查询对故障最敏感
集中式
链式查询
- 越靠近控制器的模块,优先级越高;
- 链形优先级存在传播延迟,这种延迟与模块数成正比,所以判优速度较慢,一般只接少量(几个)模块;
- 链形结构,一个故障,链失效;
计数器查询
总线控制器收到总线请求信号,判断总线空闲,计数器开始计数
总线计数器从初始值开始增加,并通过地址线发送出去
当地址线上的计数值与请求使用总线的设备一致时,停止计数,分配总线
特点
- 计数方式与优先次序直接相关。
计数可以从“0”开始,此时设备的优先次序是固定的
解释:比如有三个设备分别为设备0,1,2。计数从0开始进行查询。如果此时设备0,1,2都发送请求,此时计数是0,与设备0相吻合,于是对设备0的请求进行相应。在完成设备0的响应后,计数器再次从0开始计数进行查询,如果此时设备0不再请求,设备1和2仍然请求,经过一轮查询后没有发现对应请求,于是计数器递增为1进行查询,发现1的请求并满足,然后计数器重新置为0再进行查询;如果在完成设备0的响应后,计数器再次从0开始计数进行查询,如果此时设备0又发出请求,那么此时会继续满足设备0的请求,如果一直继续下去那么设备1和2的请求就会一直得不到满足
计数也可以从终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;
解释:与上面的区别在于当计数器满足1的请求后,计数器不会重新置为0进行查询,而是从1递增为2继续查询
计数的初始值还可由程序设置,故优先次序可以改变。
解释:比如如果将计数器的值设置为2,那么就会从2开始查询,优先级也跟着变化
- 对电路故障不如链式查询方式敏感,但增加了主控制线(设备地址),控制也较复杂。
独立请求
独立请求方式的工作原理:
- 每个模块有一组独立的“总线请求”和“总线允许”信号线,每对信号线有其相应的优先级;
- 控制器中有一个优先级编码器和优先级译码器,用以选择优先级最高的请求,并产生出相应的“总线许”信号;
- 当“总线忙”信号有效时,表示有的模块正在使用总线,因此请求使用总线的模块必须等待;直至“总忙”信号变为无效时,所有需要使用总线的模块都可以发出“总线请求”信号,总线仲裁器仅向优先级最高模块发出“总线允许”信号。
独立请求方式的主要特点:
- 判优速度快,且与模块数无关;
- 所需“请求线”和“允许线”较多,N个模块需要2N条。
分布式
不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号(表示优先级),多个仲裁器竞争使用总线
当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上
每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较
如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号
最后,获胜者的仲裁号保留在仲裁总线上