Appearance
408 > ### 计算机组成原理 > #### 总线带宽与仲裁
一、定位信息
| 项目 | 内容 |
|---|---|
| 知识单元编号 | CO-06-03 |
| 所属章节 | 第六章 总线与I/O系统 |
| 核心主题 | 总线带宽的计算方法与总线仲裁机制 |
| 考试权重 | ★★★(计算题+选择题高频考点) |
| 前置知识 | CO-06-01 总线概念、CO-06-02 总线定时 |
| 后续衔接 | CO-06-04 I/O接口 |
二、知识点讲解
2.1 总线带宽
总线带宽(Bus Bandwidth) 是指单位时间内总线能传输的数据量,通常以 B/s(字节/秒) 为单位。它是衡量总线性能的核心指标。
基本计算公式:
其中:
- 总线宽度:数据总线的位数(如32位、64位)
- 总线时钟频率:总线的工作频率(如100MHz、133MHz)
- 每周期传输次数:同步总线通常为1;采用DDR(双倍数据速率)技术时为2
影响总线带宽的因素:
- 总线宽度:宽度越大,一次传输的数据越多
- 时钟频率:频率越高,单位时间内传输次数越多
- 信号线复用:若数据线和地址线复用,同一总线周期需先传地址再传数据,有效带宽降低
- 总线仲裁开销:仲裁过程占用时间,降低了有效传输时间
- 等待周期:半同步总线中的WAIT信号插入等待,降低有效带宽
2.2 总线带宽的进阶计算
在实际计算中,需要考虑各种开销:
考虑地址传输的带宽:若数据线与地址线复用,一个读操作需要:
- 第1个总线周期:传地址
- 第2个总线周期:传数据 则每个数据传输实际需要2个时钟周期。
考虑仲裁和等待的带宽:
2.3 总线仲裁
由于总线是共享的,同一时刻只能有一个主设备使用总线。当多个设备同时请求总线时,需要总线仲裁器(Bus Arbiter) 来决定哪个设备获得总线使用权。
总线仲裁的分类:
(1) 集中式仲裁:由中央仲裁器统一管理
| 仲裁方式 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 链式查询(菊花链) | 总线授权信号沿设备链逐个传递,离仲裁器最近的设备优先级最高 | 结构简单,易于扩展 | 优先级固定(不公平);对链路故障敏感;设备越多延迟越大 |
| 计数器定时查询 | 仲裁器从计数器值开始逐个查询设备号,匹配者获得总线 | 优先级灵活可调(可编程) | 需要设备编号线,较复杂 |
| 独立请求方式 | 每个设备有独立的请求线和授权线,仲裁器根据优先级算法决定 | 速度快,优先级灵活,支持多种算法 | 线数多(2N条线连接N个设备),成本高 |
(2) 分布式仲裁:无中央仲裁器,各设备自行协商
- 每个设备将自己的仲裁号发送到总线上
- 通过比较逻辑,仲裁号最大的设备获胜
- 各设备有独立的仲裁逻辑
2.4 链式查询的详细工作过程
- 当某设备需要使用总线时,通过BR(Bus Request)线向仲裁器发出请求
- 仲裁器收到请求后,通过BG(Bus Grant)线向链首设备发出授权信号
- 若链首设备不需要总线,则将BG信号传递给下一个设备
- 第一个需要总线的设备截获BG信号,不再向后传递
- 该设备通过BS(Bus Busy)线标识总线忙,开始使用总线
- 传输完成后,撤销BS信号,总线恢复空闲
三、总线仲裁方式对比表
| 对比维度 | 链式查询 | 计数器定时查询 | 独立请求 | 分布式仲裁 |
|---|---|---|---|---|
| 优先级 | 固定(离仲裁器近者高) | 可灵活设置 | 可编程 | 各设备自行协商 |
| 公平性 | 差(低优先级可能饥饿) | 较好 | 取决于算法 | 较好 |
| 速度 | 慢(逐级传递) | 中等 | 快(并行比较) | 中等 |
| 线数 | 3条(BR+BG+BS) | 3+⌈log₂N⌉ | 2N+1 | 取决于实现 |
| 可扩展性 | 好(增加设备即可) | 中等 | 差(线数增长) | 中等 |
| 故障敏感度 | 高(链路断则后续设备失效) | 低 | 低 | 低 |
| 典型应用 | 简单嵌入式系统 | 通用计算机 | 高性能系统 | 多处理器系统 |
四、记忆辅助
带宽公式记忆:"宽频次" = 宽度 × 频率 × 每周期次数。宽(总线宽度)频(时钟频率)次(每周期传输次数)。
三种集中式仲裁:
- 链式 = "排队传话"(授权信号像传话一样逐个传)
- 计数器 = "点名"(仲裁器按编号逐个点名)
- 独立请求 = "抢答器"(每人一个按钮,仲裁器直接看谁按了)
链式查询三根线:BR(要)、BG(给)、BS(忙)。口诀:"要给忙"。
独立请求的线数:N个设备需要 2N+1 条线(N条请求线 + N条授权线 + 1条BS线)。
五、例题精解
例题1
题目:某系统总线的数据线宽度为64位,总线时钟频率为200MHz,采用DDR(双倍数据速率)技术传输,总线时钟周期中地址传输占用1个时钟周期。求该总线连续读取100个数据字的有效带宽。
四步解题:
Step 1 审题:64位数据线、200MHz、DDR(每周期2次传输)、地址占用1周期。
Step 2 知识定位:
- DDR下每时钟周期传输2次数据
- 每次读操作 = 1个地址周期 + 1个数据周期 = 2个时钟周期
Step 3 计算:
- 每次读操作耗时:2个时钟周期(1地址 + 1数据)
- 100次读操作总耗时:100 × 2 = 200个时钟周期
- 每个时钟周期传输的数据量(DDR):64位 × 2 = 128位 = 16字节
- 但地址周期不传数据,只有数据周期传数据
- 数据传输的时钟周期数:100个
- 总传输数据量:100 × 64位 / 8 = 800字节(每次传64位=8字节)
- DDR下每个数据周期传 64位 × 2 = 128位 = 16字节?不对,DDR是指在一个时钟周期的上升沿和下降沿各传一次,所以每时钟周期传 2 × 64位 = 128位 = 16字节。
- 但这里数据周期为1个时钟周期,DDR下该周期传 16字节。
- 总传输数据量:100 × 16 = 1600字节
- 总耗时:200个时钟周期 = 200 / 200MHz = 1μs
- 有效带宽 = 1600B / 1μs = 1600 MB/s = 1.6 GB/s
Step 4 答案:有效带宽为 1.6 GB/s。
例题2
题目:在一个有8个I/O设备的系统中,采用链式查询方式进行总线仲裁。已知每个设备的优先级从设备0到设备7依次递减,总线授权信号从设备0传递到设备7需要10ns。若设备2和设备5同时请求总线,设备2获得总线使用权需要多少时间?若改为独立请求方式,需要多少时间?
四步解题:
Step 1 审题:8设备链式查询,设备2和5同时请求,比较两种仲裁方式的延迟。
Step 2 知识定位:
- 链式查询:授权信号从链首逐个传递,需要总线的设备截获信号
- 独立请求:仲裁器并行接收所有请求,直接授权
Step 3 分析:
链式查询:
- 授权信号从仲裁器传到设备0 → 设备1 → 设备2
- 设备2需要总线,截获授权信号
- 从仲裁器到设备2的传递时间 = 需要知道每个设备间的延迟
- 总延迟(设备0到设备7为10ns),假设均匀分布:每设备间延迟 = 10ns / 7 ≈ 1.43ns
- 到设备2的延迟 ≈ 2 × 1.43ns ≈ 2.86ns
- 但实际上,题目说"从设备0传递到设备7需要10ns",这是整条链的延迟
- 设备2截获信号:需要经过设备0→设备1→设备2,即3段传递
- 延迟 = 10ns / 7 × 2 ≈ 2.86ns(经过2个中继点到达设备2)
- 更准确:若每段延迟 = 10ns/7,则到设备2 = 2 × 10ns/7 ≈ 2.86ns
独立请求方式:
- 仲裁器同时收到设备2和设备5的请求
- 仲裁器根据优先级(设备2优先级高于设备5)直接授权给设备2
- 延迟仅为仲裁器的判断时间,通常为1-2个时钟周期,假设为 1个总线时钟周期(题目未给出具体值,通常认为远小于链式查询)
Step 4 答案:
- 链式查询:设备2获得总线需约 2.86ns(仅传递延迟,不含仲裁器处理时间)
- 独立请求:仅需仲裁器判断时间(远小于链式查询),通常可忽略不计或为 约1个门电路延迟
六、考情分析
| 维度 | 分析 |
|---|---|
| 出题频率 | 近10年约出现10-12次,高频考点 |
| 题型 | 选择题(仲裁方式辨析)、计算题(带宽计算) |
| 难度 | ★★★(带宽计算需要细心,仲裁辨析需要理解) |
| 考查重点 | 带宽公式及变体计算;三种集中式仲裁方式的对比;链式查询原理 |
| 命题趋势 | 带宽计算常结合DDR、信号线复用等增加难度;仲裁方式以辨析为主 |
七、易错点
带宽计算遗漏地址周期:当数据线与地址线复用时,每次传输需额外的地址周期。常见错误是只算数据周期而忽略地址周期。
DDR技术的含义:DDR(Double Data Rate)指每个时钟周期传输2次(上升沿+下降沿),不是频率翻倍。计算时应将"每周期传输次数"设为2。
链式查询的不公平性:链式查询中,离仲裁器越近的设备优先级越高且固定不变。低优先级设备可能永远无法获得总线(饥饿现象)。这是链式查询的主要缺点。
集中式 vs 分布式仲裁的区分:集中式有中央仲裁器(硬件设备);分布式没有中央仲裁器,各设备自行协商。考试中容易混淆。
独立请求方式的线数计算:N个设备需要 2N+1 条线(N条BR + N条BG + 1条BS),不是2N。
八、来源标注
| 来源 | 说明 |
|---|---|
| 《计算机组成原理》(唐朔飞) | 第7章 系统总线,总线仲裁与带宽 |
| 《计算机组成原理》(蒋本珊) | 第6章 总线仲裁与性能 |
| 408统考大纲 | 第六章 总线与I/O系统 - 总线仲裁和总线带宽 |
| 历年真题 | 2011/2014/2017/2020/2023年相关题目 |