Appearance
总线仲裁——模拟器使用指南
大纲定位
总线仲裁已不在现行大纲内
2022 年起 408 大纲删去了「总线仲裁」,统考也从未直接考过三种仲裁方式的对比或控制线数计算。
那还看它干什么:这个模拟器演示的是"多个设备怎么争总线、谁说了算"。这层直觉对仍在纲内的总线事务(申请分配阶段)和 DMA 抢占总线有帮助。看一遍建立画面感即可,不必记数字。
这个模拟器帮你看清什么
课本上三种仲裁方式是三张静态图,看不出时间上的差别。这个模拟器让 4 个设备在同一场景下竞争总线,你能看见 BG(总线授权)信号是一跳一跳传过去的,还是一拍就到的——链式查询慢在哪,一眼就明白了。
界面速览
| 位置 | 控件 | 作用 |
|---|---|---|
| 顶部 | 链式查询 / 计数器定时查询 / 独立请求 | 切换仲裁方式,连线结构随之重画 |
| 中部 | 总线状态块 | 灰=总线空闲,黄=仲裁中,绿=总线占用 |
| 中部 | 4 个设备节点 + BR/BG 连线 | 信号在哪条线上、传到第几个设备 |
| 右侧 | 统计面板 | 控制线数 / 优先级 / 仲裁速度三项随模式变化 |
| 底部 | ◀ | ▶/⏸ | ▶ | ↺ | 上一步 | 播放暂停 | 下一步 | 重置 |
| 底部 | 速度下拉 | 0.5x / 1x / 2x |
右侧那三项统计是跟着模式变的——切换模式时盯着它看,比读表格记得牢。
三种模式怎么看
链式查询(菊花链)
操作:选「链式查询」,速度调 0.5x,用 ▶ 单步走。
盯哪里:BG 信号从仲裁器出发之后,每一步只前进一个设备。
该看到:黄色"仲裁中"状态持续好几拍,因为 BG 要沿着链一个一个传。靠前的设备一旦有请求就把 BG 截走,后面的设备根本收不到。
看懂的标志:你能回答"设备 3 最坏要等多久"——要等 BG 跳过前面三个设备,而且前面任何一个有请求它就永远等不到。这就是饥饿。
计数器定时查询
操作:切到「计数器定时查询」,观察右侧"控制线数"那一项的变化。
盯哪里:计数值广播到所有设备(不是逐跳传递),设备把自己的编号和计数值比对。
该看到:仲裁速度比链式快,但控制线变多了(多出几条设备地址线)。
看懂的标志:你能说出"计数从 0 开始"和"从上次停的地方继续"这两种起点分别对应什么效果——前者等价于固定优先级,后者是轮转公平。
独立请求
操作:切到「独立请求」,重点看连线数量的变化。
盯哪里:每个设备都有自己专属的一对 BR/BG 线直连仲裁器。
该看到:黄色"仲裁中"只持续一拍——所有请求同时到达,仲裁器一次就选出赢家。代价是右侧"控制线数"这一项明显变大。
看懂的标志:三种方式在这个模拟器里是一组速度换硬件的连续谱:链式最省线最慢,独立请求最费线最快,计数器居中。
两个动手任务
- 依次切三种模式,把右侧"控制线数"三个值抄下来,对照
、 、 验算一遍(本模拟器 )。数字对不上就说明你记错公式了。 - 在链式模式下,让靠前的设备反复请求,观察后面的设备是否一直拿不到总线。这就是"固定优先级导致饥饿"的具象版本。
概念去哪里学
本文只讲怎么用这个模拟器:
真题练习
总线仲裁自 2022 年起已移出大纲,统考真题库中没有对应题目。相关练习请转到仍在纲内的 总线概述 与 总线事务与定时。