返回目录《计算机组成原理笔记目录(2019 王道考研)》
6.2 总线仲裁
1.前言
1.仲裁要解决的问题:如何解决多个多个设备争用总线的问题?
2.同一个时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接受数据
3.主设备与从设备
主设备:获得总线控制权的设备
从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。
4.为什么要仲裁?
总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权问题
2.总线仲裁的定义:
多个主设备同时竞争主线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。
3.总线仲裁分类
1.集中仲裁方式
1.链式查询方式
2.计数器定时查询方式
3.独立请求方式
2.分布仲裁方式
4.集中仲裁信号
1.工作流程
1.主设备发出请求信号
2.若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑
按一定优先级顺序确定哪个主设备能使用总线
3.获得总线使用权的主设备开始传送数据
2.链式查询方式
1.三个单根的线:BG:总线允许,BR:总线请求,BS:总线忙
2.“总线忙”信号的建立者是:获得总线控制权的设备
3.优先级:
离总线控制器越近的部件,其优先级越高
离总线控制器越远的部件,其优先级越低
4.优点
1.链式查询优先级固定
2.只需要少数控制线就能按一定优先次序实现总线控制,结构简单,扩产容易
5.缺点
1.对硬件电路的故障敏感,并且优先级不能改变
2.当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线
3.计数器查询方式
1.结构特点:
用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG
它们仍公用一根总线请求线BR
2.优点
1.计数器的初始值可以改变优先次序
--计数器每从“0”开始,设备的优先级就按顺序排列,固定不变;
--计数从上一次的终点开始,此时设备使用总线的优先级相等
--计数器的初值还可以由程序设置
2.对电路的故障没有链式敏感
3.缺点:
1.增加了控制线数
--如设备有n个,则需要log2[n]+2向上取整条控制线
2.控制相对比链式查询复杂
4.独立请求方式
1.结构特点:每一个设备均有一对总线请求BR和总线允许线BG
2.优点
1.响应速度快,总线允许信号BG直接从控制器发送到有关设备,
不必在设备间传递或者查询
2.对优先次序的控制相当灵活。
3.缺点
1.控制数量多
若设备有n个,则需要2n+1条控制线。其中+1为BS线,其用处为,
用于设备向总线控制部件反馈已经使用完毕总线
2.总线的控制逻辑更加复杂
5.集中仲裁方式小结
5.分布仲裁方式
1.特点:不需要中央处理器,每个潜在的主模块都有自己的仲裁器和仲裁号,
多个仲裁器竞争使用总线。
2.工作流程
1.当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上;
2.每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较;
3.如果仲裁总线上的号的优先级高,则它的总线请求不予响应,并撤销它的仲裁号;
4.最后,获胜者的仲裁号保留在仲裁总线上。