Skip to content

2019年 408 计算机组成原理 第 21 题

计算机组成原理2019年选择题2分

题目

某设备以中断方式与 CPU 进行数据交换,CPU 主频为 1GHz,设备接口中的数据缓冲寄存器为 32 位,设备的数据传输率为 50KBps。若每次中断开销(包括中断响应和中断处理)为 1000 个时钟周期,则 CPU 用于该设备输入/输出的时间占整个 CPU 时间的百分比最多是( )。

错因

B

把缓冲寄存器算成 16 位 = 2 字节。每次中断传 2 字节 → 每秒中断数 = 50000/2 = 25000 次 → 占用周期 = 25000 × 1000 = 2.5 × 10^7 → 占比 = 2.5%。错在没把题面"32 位"换算成 4 字节。

C

把缓冲寄存器算成 8 位 = 1 字节。每次中断传 1 字节 → 每秒中断数 = 50000/1 = 50000 次 → 占用周期 = 5 × 10^7 → 占比 = 5%。错在把"32 位"完全忽略,按"每次中断传 1 字节"算。

D

把数据传输率多算 10 倍(如把 50 KBps 看成 500 KBps),或者把每次中断周期多算 10 倍。这个错相当于"数量级看错一位"。

总解析

核心思路:每秒触发的中断次数 × 每次中断的 CPU 周期数 → 占用 CPU 周期 → 与主频比 = 占比。

第一步:算"每次中断能搬运多少字节"

数据缓冲寄存器 = 32 位 = 4 字节。每次中断响应一次数据传输,CPU 把缓冲寄存器里的 4 字节拷到主存(或反向)。

第二步:算每秒中断次数

设备数据传输率 = 50 KBps = 字节/秒。

第三步:算每秒被中断占用的时钟周期

每次中断耗时 1000 个时钟周期:

第四步:算占整个 CPU 时间的百分比

CPU 主频 1 GHz = 周期/秒:

最终答案是 A(1.25%)

完整推导表

步骤数值
数据缓冲寄存器宽度32 位 = 4 字节
每次中断传送字节数4
数据传输率50 KB/s = 50000 字节/s
每秒中断次数50000 / 4 = 12500
每次中断耗周期1000
每秒占用周期12500 × 1000 = 1.25 × 10⁷
CPU 主频1 GHz = 10⁹ 周期/s
占比1.25 × 10⁷ / 10⁹ = 1.25%

为什么是"最多"

题面问"最多是"——意指在设备满速传输中断及时响应、无延迟的理想情况下。实际可能更低(如设备未满速),但不会更高。

易错点速查

  1. 32 位 = 4 字节(按"位 ÷ 8"换算),不是 32 字节也不是 1 字节
  2. 每次中断传输的字节数 = 缓冲寄存器宽度(不是 1 字节默认)
  3. 单位换算:1 GHz = 周期/s;50 KBps = 字节/s
  4. 公式:

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数