• 【计算机组成原理】总线(二)—— 总线仲裁


    总线仲裁

    同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据

    将总线上所连接的各类设备按其对总线有无控制功能分为:

    • 主设备:获得总线控制权的设备。
    • 从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。

    为什么要仲裁?
    总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权的问题。

    总线仲裁的定义:
    多个主设备同时竞争主线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。

    总线仲裁分类:

    集中仲裁方式【链式查询方式、计数器定时查询方式、独立请求方式】

    分布仲裁方式

    一、集中仲裁方式

    1. 链式查询方式

    工作流程:

    1. 主设备发出请求信号;
    2. 若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线;
    3. 获得总线使用权的主设备开始传送数据。

    在这里插入图片描述
    “总线忙”信号的建立者是获得总线控制权的设备

    优先级:离总线控制器越近的部件,其优先级越高;离总线控制器越远的部件,其优先级越低。

    • 优点:链式查询方式优先级固定。只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。
    • 缺点:对硬件电路的故障敏感,并且优先级不能改变。 当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。

    2. 计数器查询方式

    在这里插入图片描述

    结构特点:用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG;它仍共用一根总线请求线。

    优点:

    1. 计数初始值可以改变优先次序 。 计数每次从“0”开始,设备的优先级就按顺序排列,固定不变; 计数从上一次的终点开始,此时设备使用总线的优先级相等;计数器的初值还可以由程序设置。
    2. 对电路的故障没有链式敏感。

    缺点:

    1. 增加了控制线数。 若设备有n个,则需élog2nù +2条控制线
    2. 控制相对比链式查询相对复杂。

    3. 独立请求方式

    在这里插入图片描述

    结构特点:每一个设备均有一对总线请求线 B R i BR_i BRi和总线允许线 B G i BG_i BGi

    优点:

    1. 响应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或者查询。
    2. 对优先次序的控制相当灵活。

    缺点:

    1. 控制线数量多。若设备有n个,则需要2n+1条控制线。其中+1为BS线,用于设备向总线控制部件反馈已经是否正在使用总线。
    2. 总线的控制逻辑更加复杂

    4. 总结

    “总线忙”信号的建立者是获得总线控制权的设备
    在这里插入图片描述

    二、分布仲裁方式

    特点:不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用总线

    1. 当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上;
    2. 每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较;
    3. 如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号;
    4. 最后,获胜者的仲裁号保留在仲裁总线上。
  • 相关阅读:
    [Linux打怪升级之路]-管道
    QScrollArea设置透明和去除边框
    五分钟商学院(基础---商业篇)
    为什么拼多多出现很多秒拍秒退,你所不知道的原因!
    vue select选择下拉组织树,解决不出现横向滚动条
    shell脚本入门——函数
    1856. 子数组最小乘积的最大值-前准和+单调栈
    【DETR】
    oauth2 授权模式 - 第三方登录
    k8s入门使用
  • 原文地址:https://blog.csdn.net/weixin_43848614/article/details/126931510