总线仲裁
当多个设备使用 总线 时,需要通过仲裁来决定哪个设备先使用总线。
1. 基本概念
关键词:主设备,从设备,总线控制权
集中仲裁,分布仲裁
2. 集中仲裁方式
顾名思义,就是通过一个总控制部件来控制总线的控制权给什么设备。
2.1 链式查询方式
解读:
- 通过 BG,BR,BS 三根信号线完成仲裁的工作;
- 流程:
- 设备通过 BR 发出总线请求,但是总线控制部件不知道到底是哪个设备想使用;
- 若总线允许,则通过 BG 发送总线允许信号,经过各个设备 0, 1, 2,...,若 0 不想使用,就让信号往下传输,直到发现一个想使用的设备;
- 截胡总线允许的信号,中断 BG 的继续传输,BS 总线忙;
- 此时该设备就可以使用总线了;
- 该设备执行完操作后,就会撤销 BS,BG 继续向后发送;
- 直到遇到第二个想使用的设备;
- 若某个设备坏了,BG 就不能往后传输了,也就是说,后面的设备都不能使用;
2.2 计数器定时查询方式
关键词:设备地址线
解读:
1.
2.3 独立请求方式
每个设备都拉出两条独立的 BG,BR。总线控制部件内部的排队器来进行调度。
解读:
- 流程:
- 假设多个设备同时申请使用权,那么排队器会根据逻辑分配给其中一个设备;
- 此时该设备接受到 BG,并且设置总线忙;
2.4 总结
3. 分布仲裁方式
解读:
- 当多个设备都想获得控制权的时候,就会根据自身的仲裁号决定谁先使用,设备之间进行商量,不依赖于总线的中央仲裁器;