Appearance
题目
假设某系统总线在一个总线周期中并行传输 4 字节信息,一个总线周期占用 2 个时钟周期,总线时钟频率为 10MHz,则总线带宽是()。
错因
A
最常见的"算了一半"。可能是把 10 MHz 直接当成"总线周期速率",忽略了"1 个总线周期 = 2 个时钟周期"这条;也可能是把"4 字节"误算成"1 字节"。两种错任意一个 + 简化后乘出 10 都能凑到这答案。
C
漏除"2 个时钟周期":直接用 10 MHz × 4 字节 = 40 MB/s。错把"时钟频率"等同于"总线周期频率"——但总线周期更长(占 2 个时钟周期),实际每秒只能跑 5 × 10⁶ 个总线周期,不是 10 × 10⁶ 个。
D
错得最离谱:可能是先 10 × 4 = 40,再乘 2(不知何故把"2 个时钟周期"理解成了"乘 2")= 80。把"占用 2 个时钟周期"和"乘 2 倍"完全弄反——多占周期是吞吐率的"分母"(拖慢),不是"分子"(加速)。
总解析
总线带宽公式:
或者写成更直观的形式:
其中 。
第一步:算出总线周期频率
题面给的是时钟频率 10 MHz;但 1 个总线周期占 2 个时钟周期,所以总线周期频率要除以 2:
第二步:每秒传输的字节数
每个总线周期并行传输 4 字节,所以:
第三步:核对
| 量 | 取值 | 来源 |
|---|---|---|
| 时钟频率 | 10 MHz | 题面给定 |
| 每总线周期占用时钟数 | 2 | 题面给定 |
| 总线周期频率 | 5 MHz | |
| 每总线周期字节数 | 4 B | 题面给定 |
| 带宽 | 20 MB/s |
最终答案是 B(20 MB/s)。
判定口诀:先把时钟频率换成总线周期频率,再乘以每周期传输字节数。两步都要做——任意漏一步都会差 2 倍以上。