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