6.2 总线仲裁
最后更新于
最后更新于
用于处理多个设备争抢总线控制权的问题
主设备发出请求信号
若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线
获得总线使用权的主设备开始传送数据
由获得总线使用权的设备发出总线忙(BS)信号
总线允许信号按照顺访问各个设备
优点
优先级固定:离总线控制器越近的部件,优先级越高
只需要三根控制线,结构简单,扩充容易
缺点
对硬件电路的故障敏感
优先级不能改变
会产生“饥饿”现象
总线控制器收到总线请求信号,判断总线空闲,计数器开始计数
总线计数器从初始值开始增加,并通过地址线发送出去
当地址线上的计数值与请求使用总线的设备一致时,停止计数,分配总线
优点
通过改变计数器初始值可以改变优先级
对电路的故障没有链式的敏感
缺点
控制线数量增加
控制相对比链式查询相对复杂
每个设备有单独的总线允许和总线请求线与总线控制器相连
总线控制器通过总线忙信号来判明当前是否有设备占用总线
总线控制器中的排队器来决定设备使用总线资源的顺序
优点
响应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或者查询
对优先次序的控制相当灵活
缺点
控制线数量多,若设备有n个,则需要2n+1条控制线
总线的控制逻辑更加复杂
不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号(表示优先级),多个仲裁器竞争使用总线
当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上
每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较
如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号
最后,获胜者的仲裁号保留在仲裁总线上
地址线数量:若有n个设备,则需要条地址线