总线仲裁(考纲已移除)

集中仲裁

集中仲裁方式由一个中央仲裁器统一管理和分配总线使用权。当多个设备同时发出总线请求时,由仲裁器根据预设的仲裁策略进行裁决。

链式查询

链式查询(Daisy Chaining)是一种优先级固定的集中仲裁方式。所有设备共用一条总线请求线和一条总线允许线。当有设备发出总线请求时,总线仲裁器通过总线允许线发出允许信号,该信号串行地从离仲裁器最近的设备开始传递。若该设备有总线请求,则截断允许信号,获得总线使用权;否则,将允许信号继续向下传递给下一个设备。这种方式下,离仲裁器越近的设备优先级越高。

计数器定时查询

计数器定时查询(Polling Counter)是一种优先级相对灵活的集中仲裁方式。所有设备共用一条总线请求线,但总线允许信号通过多条线(通常是地址线)编码发送。总线仲裁器内部设置一个计数器,当收到总线请求时,计数器开始计数,并将计数结果通过地址线发送给各个设备。每个设备都有一个唯一的地址,当地址与计数器值匹配时,如果该设备有总线请求,则获得总线使用权。计数器的起始值可以预设,以实现不同设备的优先级调整。

独立请求

独立请求(Independent Request)是一种优先级最灵活、响应速度最快的集中仲裁方式。每个设备都拥有独立的请求线(Bus Request, BR)和独立的允许线(Bus Grant, BG)。当设备需要使用总线时,通过其独立的请求线向总线仲裁器发出请求。总线仲裁器根据预设的优先级算法,从所有请求中选择一个设备,并通过其独立的允许线发送允许信号,授予其总线使用权。

总结

对比项目\仲裁方式链式查询计数器定时查询独立请求
控制线数3
总线请求: 1
总线允许: 1
总线忙: 1

总线请求: 1
总线允许:
总线忙: 1

总线请求: n
总线允许: n
总线忙: 1
优点优先级固定
结构简单, 扩展容易
易于实现
优先级较灵活
对电路故障不敏感
响应速度快
优先级灵活
可靠性高
缺点对电路故障敏感
优先级不灵活
查询时间长 (取决于优先级和设备数量)
控制线较多
控制相对复杂
仲裁时间长 (需要计数器逐个查询)
控制线多
控制复杂
硬件成本高

总线忙”信号的建立者是获得总线控制权设备

分布式仲裁

分布式仲裁方式没有中央仲裁器,每个潜在的主模块都拥有自己的仲裁器,并具备独立的仲裁逻辑和仲裁号。所有仲裁器通过共享的仲裁总线竞争总线使用权。

特点:

  • 不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号。
  • 当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上。
  • 每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较。
  • 如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。
  • 最后,获胜者的仲裁号保留在仲裁总线上,表示该设备获得总线控制权。

优点:

  • 可靠性高:无单点故障,一个仲裁器失效不影响整个系统。
  • 扩充性好:增加设备只需添加对应仲裁器,不需修改中央仲裁器。
  • 传输速率较高:仲裁过程与数据传输可并行进行或部分并行。

缺点:

  • 控制逻辑复杂:每个设备都需要一套独立的仲裁逻辑。
  • 仲裁器成本高:每个设备都需集成仲裁器,增加了硬件成本。