一、总线仲裁
连接到总线上的功能模块有主动和被动两种形态。
为了解决多个主设备同时竞争总线控制权,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线的下一次主方。对多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁和分布式仲裁两类。
1、集中式仲裁
集中式仲裁中每个功能模块有两条线连到中央仲裁器:一条是送往仲裁器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线BG。
集中式仲裁的三种控制方式:
链式查询方式的主要特点:离中央仲裁器最近的设备具有最高优先级,通过接口的优先级排队电路来实现。
链式查询方式的优点: 只用很少几根线就能按一定优先次序实现总线仲裁,很容易扩充设备。
链式查询方式的缺点: 对询问链的电路故障很敏感。查询链的优先级是固定的,如果优先级高的设备出现频繁的请求时,优先级较低的设备可能长期不能使用总线。
计数器的初值可用程序来设置,可以方便地改变优先次序。
独立请求方式的优点:响应时间快;对优先次序的控制相当灵活;可以用屏蔽(禁止) 响应来自无效设备的请求。
2、分布式仲裁
分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。
当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上