Appearance
题目
某存储器总线的时钟频率为 420MHz,总线宽度为 64 位,每个时钟周期传送 2 次数据;其总线事务支持突发传送方式,最多传送 8 次数据,第 1 个时钟周期传送地址和读/写命令,从第 4 个至第 7 个时钟周期连续传送 8 次数据。该总线的总线带宽(最大传输速率)为( )。
错因
A
把"地址 + 等待 + 数据"全部 7 个时钟周期算成数据传输时间——得到"事务平均带宽"而非"最大传输速率":
最大传输速率指的是稳态数据传输阶段的速率——只算第 4-7 这 4 个数据周期,不算地址 + 等待。地址周期是必要开销但不属于"传数据"的时间。"最大"二字就是题面的提示——它问的是物理上能跑出的最高速率,不是带开销的平均值。
C
位/字节单位错 + 用整个事务时间双错叠加:把"64 位总线宽度"误当成"64 字节",再用 7 周期事务时间算:
正确的总线宽度是 64 位 = 8 字节,差 8 倍;时间也用错了 7 周期而不是 4 周期——两错叠加恰好得到 30.72 这个看起来"还合理"实际多错了一个数量级的答案。
D
位/字节单位错单一错——把 64 位当 64 字节,时间用对了(4 个数据周期):
错点单一但很严重:位(bit)和字节(byte)必须分清,差 8 倍。题目给"总线宽度 64 位"——一次传 64 位 = 8 字节。
总解析
最大传输速率 = 数据传输阶段的稳态速率(不算地址 + 等待开销)。
第一步:求一次"数据周期"传多少字节
- 总线宽度 = 64 位 = 8 字节(注意单位换算)
- 每个时钟周期传 2 次数据(DDR 类双沿/双倍速率)
- 每个时钟周期数据量 =
第二步:算稳态带宽
稳态下每个时钟周期都在传 16 B:
第三步:用"4 个数据周期共传 64 字节"反推校验
| 项 | 计算 | 结果 |
|---|---|---|
| 数据传输总量 | 8 次 × 8 字节/次 | 64 字节 |
| 数据传输总时间 | 4 周期 × s | s |
| 最大传输速率 | B/s | = 6720 MB/s = 6.72 GB/s |
两种算法结果一致,最终答案 B(6.72 GB/s)。
关键概念:
| 速率类型 | 计算口径 | 用途 |
|---|---|---|
| 最大传输速率(带宽) | 只看数据传输阶段(稳态) | 描述总线性能上限 |
| 事务平均速率 | 一个完整事务总时间(含地址 + 等待) | 描述实际场景下的"通过率" |
408 题面常识:题目问"总线带宽 / 最大传输速率" → 算稳态;问"实际传输速率" 才需要算上事务开销。
位/字节速记:64 位 = 8 字节、128 位 = 16 字节——题目给"位"必须先除 8 转字节,再算 MB/s。