「计算机组成原理」:总线仲裁

在一个多主控设备的总线中 , 每个主控设备都能启动数据传送 。 因此必须提供一种机制来决定在某个时刻由哪个设别拥有总线使用权 , 决定哪个主控设备能的到总线使用权的过程称为总线仲裁 。
总线仲裁在一个多主控设备的总线中 , 每个主控设备都能启动数据传送 。 因此必须提供一种机制来决定在某个时刻由哪个设别拥有总线使用权 , 决定哪个主控设备能的到总线使用权的过程称为总线仲裁 。仲裁方式可分为集中仲裁方式 , 和分布式仲裁方式 。
一、集中仲裁方式【「计算机组成原理」:总线仲裁】集中仲裁将所有的总线请求集中起来 , 利用一个特定的裁决算法进行裁决 , 基本由 CPU 进行处理 。 集中仲裁又可分为链式查询方式、计数器定时查询方式和独立请求方式三种 。
集中仲裁通常由三个控制信号线 。 如下:

  • 请求信号线BR(Bus Rquest)
  • 授权信号线BG(Bus Grant)
  • 总线状态线BS:表示总线使用情况
链式查询(BG串连)
「计算机组成原理」:总线仲裁文章插图
通过接口的优先级的排队电路实现 , 离总线控制器越来越远 。 优先级越低 。
  • 优点:用线少 , 易扩充 。
  • 缺点:对响应链的电路故障很敏感 , 优先级固定 。
计数器定时查询
「计算机组成原理」:总线仲裁文章插图
相对链式查询 , 多了一组设备地址线 , 少了总线响应BG , 当总线控制器收到总线请示信号 , 且总线空闲的时 , 计数器开始计数 , 其值通过设备地址线发向各部件 。 当地址线上的计数值与请求使用总线设备的地址一致的时候 , 还设备获得控制权 。
  • 优点:计数可以从上一次终点开始 , 比如共有180个设备 , 则计数到100以后 , 下一次计算重新以1开始 , 且没有对电路故障 , 那么敏感 。 设设备使用总线优先级相等 。
  • 缺点:增加了控制线的数量 。
独立请求方式
「计算机组成原理」:总线仲裁文章插图
每一个设备均有一对总线请求BRi和总线允许线BGi , 当总线上部件需要使用总线时 , 经过各自总线请求发送总线请求信号在总线控制器排队 , 当总线控制器按一定优先次序决定批准某个部件使用时 , 则给该部件发送总线响应信号 , 该部件获得控制权 。
  • 优点:响应速度快 , 总线允许信号BG , 直接从控制器发送相关设备 。 优先次序相当灵活 。
  • 缺点:控制线数量多 。
二、分布仲裁
  • 分布仲裁方式不需要中央仲裁器 , 每个潜在的主模块都有自己的仲裁号和仲裁器 。 当它们有总线请求时 , 就会把它们各自唯一的仲裁号发送到共享的仲裁总线上 , 每个仲裁器从仲裁总线上得到的仲裁号与自己的仲裁号比较 。 若仲裁总线上的仲裁号优先级高 , 则它的总线请求不予响应 , 并撤销它的仲裁号 。 最后 , 获胜者的仲裁号保留在仲裁总线上 。