Skip to content

总线仲裁——模拟器使用指南

考情分析

总线仲裁是 408 选择题的常客,尤其爱考三种集中式仲裁的对比:控制线数量、优先级灵活性、仲裁速度。链式查询和独立请求的线数计算属于高频考点。

这个模拟器用同一个场景(4 个设备竞争总线)对比三种集中仲裁方式:

考点考频
三种仲裁方式的控制线数量🔥🔥🔥
优先级特性对比🔥🔥🔥
链式查询的饥饿与断链问题🔥🔥
计数器定时查询的轮转策略🔥🔥
加载可视化中...

三种模式

1. 链式查询(菊花链)

总线授权信号 BG 从仲裁器出发,沿菊花链依次经过每个设备。有请求的设备截获 BG,后续设备收不到。

你会看到:BG 信号从设备 0 开始逐跳传递。设备 0 有请求就直接截获,设备 2、3 只能等设备 0 释放后才有机会。

固定优先级 = 饥饿风险

链式查询中,靠近仲裁器的设备优先级永远最高。如果高优先级设备频繁请求总线,低优先级设备可能永远得不到服务——产生饥饿现象。

2. 计数器定时查询

仲裁器通过地址线广播计数值,设备编号匹配且有请求时获得总线。

你会看到:计数器从 0 开始递增,匹配到有请求的设备就停下来授权。服务完成后从上次停止处继续计数——实现公平轮转。

优先级可变

从 0 开始计数 = 固定优先级(和链式一样);从上次停止处继续 = 公平轮转(Round-Robin),每个设备机会均等。

3. 独立请求

每个设备有独立的 BR 和 BG 线直连仲裁器,仲裁器同时看到所有请求,一拍选出获胜者。

你会看到:所有请求同时到达仲裁器,仲裁器立即做出决策——不需要串行传递,速度最快。

控制线数量最多

独立请求方式需要 2n+1 条控制线。当 n=16 时,需要 33 条线——硬件开销是三种方式中最大的。这是速度换硬件的典型 trade-off。

对比表

链式查询计数器定时查询独立请求
控制线数3⌈log₂n⌉+22n+1
优先级固定可变灵活可编程
仲裁速度慢(串行)中等快(一拍)
硬件复杂度
故障敏感高(断链)

考研高频考点速览

考点考频关键记忆
控制线数量计算🔥🔥🔥链式=3,计数器=⌈log₂n⌉+2,独立=2n+1
优先级特性🔥🔥🔥链式固定,计数器可变,独立灵活
链式查询致命缺陷🔥🔥断链导致后续设备全部无法仲裁
计数器起始值🔥🔥从0开始=固定优先级,从上次停止处=轮转公平

真题练习