为了解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始传送数据。
总线仲裁方式按其仲裁控制机构的设置可分为集中仲裁方式和分布仲裁方式
集中仲裁方式
总线控制逻辑基本上集中于一个设备(如CPU)中。将所有总线请求集中起来,利用一个特定的裁决算法进行裁决,称为集中仲裁方式。集中仲裁方式有链式查询方式,计数器定时查询方式和独立请求方式。
1> 链式查询方式
2> 计数器定时查询方式
3> 独立请求方式
三个的区别和联系如下图
分布仲裁方式
分布仲裁方式不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器。当它们有总线请求时,就会把它们各自唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较。若仲裁总线上的仲裁号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。