Appearance
题目
某计算机主存容量为 64KB,其中 ROM 区为 4KB,其余为 RAM 区,按字节编址。现要用 2K×8 位的 ROM 芯片和 4K×4 位的 RAM 芯片来设计该存储器,则需要上述规格的 ROM 芯片数和 RAM 芯片数分别是()。
错因
A
ROM 算错(把 2K×8 误当 4K×8,认为 1 片就够 4KB);RAM 也漏算位扩展,把"15 组"直接当成芯片数。两步都错,可能是把"芯片字宽"和"系统字宽"两个概念混到一起。
B
ROM 对(2 片);RAM 错——只算了字扩展的组数 60KB / 4KB = 15,忘了每组还要做位扩展(4K×4 位宽 4 < 系统字宽 8,需要 2 片拼成 8 位)。少乘了 2。
C
ROM 错(同 A);RAM 算对了 30 片。说明知道位扩展但不会算容量,反过来说明 ROM 那一边的容量计算是独立的失误。
总解析
第一步:分别计算 ROM 区和 RAM 区的容量
| 区 | 容量 | 占比 |
|---|---|---|
| ROM 区 | ||
| RAM 区 | 其余 |
第二步:ROM 区芯片数
每片 ROM 容量 =
由于片字宽 8 位 = 系统字宽(按字节编址 → 字宽 8 位),不需要位扩展,只需字扩展:
第三步:RAM 区芯片数(位扩展 + 字扩展)
每片 RAM 容量 = 。
- 片字宽 4 位 < 系统字宽 8 位 → 必须位扩展:每组 2 片拼出 4 + 4 = 8 位。
- 每组容量 = 。
- 用字扩展凑足 60 KB:
每组 2 片 → 总片数 = 。
第四步:汇总
| 类型 | 单片 | 系统需求 | 位扩展 | 字扩展 | 总片数 |
|---|---|---|---|---|---|
| ROM | 2K×8 | 4K×8 | 1(不需要) | 2 | 2 |
| RAM | 4K×4 | 60K×8 | 2 | 15 | 30 |
最终答案是 D(2 片 ROM、30 片 RAM)。
判定口诀:
- 位扩展数 = 系统字宽 ÷ 片字宽(不足 1 不用扩)
- 字扩展数 = 系统总容量 ÷ 单组容量(单组容量 = 单片字数 × 系统字宽)
- 总片数 = 位扩展数 × 字扩展数