首页/计算机组成原理/06-bus/总线仲裁 🔗 在 Obsidian 中打开
计算机组成原理 · 06-bus

总线仲裁

重要度 ⭐⭐总线总线仲裁408
速查
集中仲裁:链式查询(3 线、优先级固定、可靠性低)、计数器定时查询(可编程起始)、独立请求(2n 线、最快)。分布式仲裁:无中央仲裁器,仲裁号比较。从设备不参与仲裁。

核心概念

总线仲裁的必要性

当多个总线主设备同时请求使用总线时,必须通过仲裁机制决定哪个设备获得总线使用权,确保总线不会发生冲突。

仲裁方式分类

总线仲裁
├── 集中仲裁(由中央仲裁器裁决)
│   ├── 链式查询方式(菊花链)
│   ├── 计数器定时查询方式
│   └── 独立请求方式
└── 分布式仲裁(各设备自行协商)

三种集中仲裁方式对比

特性链式查询计数器定时查询独立请求
仲裁线BR + BG + BSBR + BS + 设备地址线(n条)每设备 2 条线(BR_i + BG_i)
优先级固定(离仲裁器近的优先)灵活(从计数值处开始查询)灵活(由仲裁器编程决定)
速度慢(逐设备传递)中等(遍历设备)快(并行请求)
可靠性低(一个设备故障影响后续)
线数少(3 条)中等多(2n 条)

三种仲裁信号线

信号全称功能
BRBus Request总线请求线,各设备共用,向仲裁器发出请求
BGBus Grant总线允许线,仲裁器发出,传递给被授权设备
BSBus Busy总线忙线,表示总线正在被使用

仲裁流程(以链式查询为例)

  1. 设备通过 BR 线向仲裁器发出请求。
  2. 仲裁器在总线空闲时($BS=0$),通过 BG 线向下传递授权信号。
  3. BG 信号沿菊花链依次传递。
  4. 第一个有请求的设备截获 BG 信号,获得总线使用权。
  5. 该设备置 BS=1 表示总线忙。
  6. 传输完成后,$BS=0$,释放总线。

分布式仲裁

  • 不需要中央仲裁器。
  • 各设备将自己的仲裁号发送到总线上。
  • 通过比较逻辑决定优先级最高的设备。
  • 例:各设备将仲裁号逐位比较,大者优先。

关键定义表格

术语定义
总线仲裁决定多个竞争总线的设备中哪个获得使用权的过程
集中仲裁由中央仲裁器统一裁决的仲裁方式
分布式仲裁各设备通过协商自行决定的仲裁方式
菊花链设备串联连接的拓扑结构,信号依次传递
总线主设备能主动发起总线传输的设备
总线从设备只能被动响应的设备,不参与仲裁

常见考法

  1. 选择题:三种集中仲裁方式的对比(优先级灵活性、线数、速度)。
  2. 选择题:链式查询方式的缺点(对电路故障敏感)。
  3. 判断题:仲裁信号线的功能和方向。
  4. 简答题:描述某种仲裁方式的工作过程。
  5. 综合题:根据需求选择合适的仲裁方式。

易错点

必记
  • 链式查询中 BG 信号经过的设备才有优先级第一个有请求的截获信号。
  • 链式查询的优先级是固定的,靠近仲裁器的设备优先级高。
  • 计数器定时查询可以灵活改变起始查询位置,实现公平仲裁。
  • 独立请求方式仲裁线数 = 2n(n 为设备数),线数多但速度快。
  • 从设备不参与仲裁,只有主设备才需要仲裁。

核心结论

  1. 链式查询:线最少(3 条),优先级固定,可靠性最低。
  2. 计数器定时查询:优先级灵活,可靠性较高。
  3. 独立请求方式:速度最快,优先级最灵活,但线数最多。
  4. 分布式仲裁不需要中央仲裁器。

记忆卡片

链式查询方式的优缺点?
优点:信号线少(仅 BR、BG、BS 三条),电路简单。缺点:优先级固定、对电路故障敏感(一个设备故障影响后续所有设备)。
计数器定时查询如何灵活优先级?
仲裁器内部有计数器,每次从计数值对应的设备开始查询;修改初始值即可改变优先级。
独立请求方式为什么快?
每设备独立 BR/BG 线,仲裁器可同时接收所有请求并并行裁决,无需逐设备传递。
集中 vs 分布式仲裁?
集中:中央仲裁器统一裁决;分布式:各设备将仲裁号送上总线比较,大者优先。链式查询线最少。

交互动画 · 链式查询(菊花链)仲裁

链式查询(菊花链)——BR / BG / BS 三线 仲裁器中央仲裁 设备0 设备1 设备2 设备3 BR 请求总线(共线) BG 授权线(菊花链) BS 忙线
设备 1、3 同时请求总线,观察 BG 沿菊花链传递
提示:第一个截获 BG 的有请求设备获得总线

相关知识点

(暂无关联知识点)

↑ 本页右上「在 Obsidian 中打开」跳回源笔记。