Appearance
题目
某存储器容量为 64KB,按字节编址,地址 4000H~5FFFH 为 ROM 区,其余为 RAM 区。若采用 8K×4 位的 SRAM 芯片进行设计,则需要该芯片的数量是( )。
错因
A
字数算对了(RAM 区 56KB ÷ 8K 字节 = 7 个字扩展段),但忘了位扩展。每片 SRAM 只有 4 位宽,存储器要按字节(8 位)编址,必须用 2 片横向并接才能拼到 8 位字宽。漏了"×2"这一步。
B
把 64KB 全当 RAM 算(没扣 ROM 区), 个字段。同时也漏了位扩展(同 A 的错)。两步都"省了一步",刚好凑成 8 这个看似干净的数。
D
字段数算对了 RAM 区是 8KB × 7 段……不,是按"全 64KB 都用 RAM 芯片设计"算的: 段,每段 2 片 = 16 片。错在把 ROM 区也按 SRAM 配——但题面明说 4000H~5FFFH 是 ROM 区,那段不该用 SRAM 芯片填。
总解析
第一步:算 RAM 区容量
ROM 区地址 4000H ~ 5FFFH,容量:
总容量 64 KB,扣掉 ROM:
第二步:分别算"字扩展"和"位扩展"所需片数
SRAM 芯片规格 位,存储器按字节编址(每个地址存 8 位)。
| 维度 | 主存需求 | 单片提供 | 所需片数 |
|---|---|---|---|
| 字数(地址数) | 56 K | 8 K | (字扩展) |
| 位数(字宽) | 8 位 | 4 位 | (位扩展) |
第三步:总片数 = 字扩展数 × 位扩展数
最终答案是 C(14)。
结构示意(横向位扩展,纵向字扩展):
| 字段 \ 位段 | 高 4 位(D7~D4) | 低 4 位(D3~D0) |
|---|---|---|
| 8K 字段 1 | 1 片 | 1 片 |
| 8K 字段 2 | 1 片 | 1 片 |
| 8K 字段 3 | 1 片 | 1 片 |
| 8K 字段 4 | 1 片 | 1 片 |
| 8K 字段 5 | 1 片 | 1 片 |
| 8K 字段 6 | 1 片 | 1 片 |
| 8K 字段 7 | 1 片 | 1 片 |
7 行 × 2 列 = 14 片。
通用公式:
易错点速查:
- ROM 区是给定的,不能用 SRAM 芯片填——先扣掉再算 RAM
- "按字节编址" = 主存字宽 8 位(这一步常被忘)
- 单片只有 4 位时必须 2 片并接——这是"位扩展",独立于"字扩展"