计算机组成原理学习笔记——总线的仲裁方式

总线的仲裁方式

    • 一、集中仲裁
      • 1、链式查询
      • 2、计数器定时查询
      • 3、独立请求
      • 二、分布仲裁

  • 用于当多个主设备同时竞争总线控制权时,决定哪个主设备优先获得控制权;只有获得了总线控制权的设备方可以传输数据。
  • 仲裁方式主要由集中仲裁方式和分布仲裁方式两种。

一、集中仲裁

  • 所有的总线请求集中起来,利用一个特定的裁决算法进行裁决,基本由 CPU 进行处理。
  • 集中仲裁又可分为链式查询方式、计数器定时查询方式和独立请求方式三种。

1、链式查询

计算机组成原理学习笔记——总线的仲裁方式_第1张图片

  • 总线上所有的部件共用一根总线请求线,当有部件请求使用总线时,需经此线发总线请求信号到总线控制器总线控制器便查询总线是否忙碌,如不忙碌便立即发总线响应信号到 BG 线串行地从一个部件传送到下一个部件,依次查询,直到某个部件有总线请求便不再传下去。
  • 此方式下,部件离总线控制器越近优先级越高,离总线控制器越远则优先级越低
  • 优点:优先级固定,只需较少的控制线就能按一定优先次序实现总线控制,结构简单,扩充容易
  • 缺点:对硬件电路的故障敏感,且优先级不能改变,这要极易导致当优先级高的部件频繁请求总线时,优先级低的部件长期不能使用总线

2、计数器定时查询

计算机组成原理学习笔记——总线的仲裁方式_第2张图片

  • 采用一个计数器来控制总线使用权,因此增加了一组设备地址线少了总线响应线,仍是共有一根总线请求线。工作原理如下,当总线控制器收到总线请求信号并判断总线空闲时,计数器开始计数,计数值通过设备地址线发向各个部件,当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权,同时中止计数器的计数及查询。
  • 优点:计数器计数可从“0”开始,当设备优先次序固定,则设备优先级就按0,1……的顺序排列,固定不变;计数可以从上一次的终点开始,即采用一种循环方法,此时设备使用总线的优先级相等;计数器的初值还可由程序设置,因此优先次序可以改变,且这种方式对电路的故障不那么敏感
  • 缺点:增加了控制线,若设备有 n 个,则大致需要 ⌈log_2⁡n ⌉+2条控制线,控制也比链式查询复杂

3、独立请求

计算机组成原理学习笔记——总线的仲裁方式_第3张图片

  • 每个设备都有一对总线请求线和总线允许线,当部件需要使用总线时,经各自的总线请求线向总线控制器发送总线请求信号,在控制器中排队,总线控制器按一定的优先次序决定批准某个部件的请求,并经该部件的总线允许线向该部件发送总线响应信号,将总线控制器交给该部件。
  • 优点:响应速度快,对优先次序的控制相当灵活
  • 缺点:控制线数量多,若有设备 n 个,则需要 2n+1 条控制线,其中的 1 是指反馈线,用于让设备向总线控制器反馈已经使用完总线;总线控制逻辑复杂

二、分布仲裁

  • 分布仲裁方式不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器。当它们有总线请求时,就会把它们各自唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器从仲裁总线上得到的仲裁号与自己的仲裁号比较。若仲裁总线上的仲裁号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。

上一篇
下一篇

你可能感兴趣的:(《计算机组成原理》学习笔记)