408考研逐题详解:2009年第15题
某计算机主存容量为 64KB,其中 ROM 区为 4KB,其余为 RAM 区,按字节编址。现要用 2K×8 位的 ROM 芯片和 4K×4 位的 RAM 芯片来设计该存储器,则需要上述规格的 ROM 芯片数和 RAM 芯片数分别是( )
A. 1、15 \qquad B. 2、15 \qquad C. 1、30 \qquad D. 2、30
解析
本题重点考查计算机存储器扩展的基本方法,具体包括以下两个关键知识点(在讲解有关知识点的同时给出题解过程):
(1)存储器扩展的两种基本方式
- 位扩展(数据位宽扩展):当芯片的数据位宽小于主存单元位宽(本题中为字节编址,即 8 位)时,通过并联芯片增加数据位宽,使每个存储单元(字节)能被完整访问。本题中 RAM 芯片规格为 4K×4 位,数据位宽为 4 位,不足 8 位,需 2 片并联(位扩展)组成 4K×8 位的模块(满足 1 字节编址要求)。
- 字扩展(存储容量扩展):当芯片的存储容量(字数)不足主存所需容量时,通过串联多个模块增加地址空间,扩展存储单元的数量。
- 本题中 ROM 区总容量 4KB,单个 ROM 芯片容量 2KB(2K×8 位),需 2 片字扩展(4KB/2KB=2)。
- 本题中 RAM 区总容量 60KB,位扩展后的 RAM 模块容量为 4KB(4K×8 位),需 15 个模块字扩展(60KB/4KB=15),每个模块含 2 片 RAM 芯片,故总 RAM 芯片数为 15×2=30。
(2)容量计算与单位转换
- 芯片容量计算:芯片容量 = 字数 × 位宽,需转换为与主存一致的单位(本题中是 KB)。例如:2K×8 位 = 2KB,4K×4 位 = 2KB(4K×4 位 = 4×1024×4 位 = 16384 位 = 2048 字节 = 2KB)。
- 主存分区容量:明确 ROM 区与 RAM 区的容量划分(本题中 ROM 区 4KB,RAM 区 60KB),分别计算所需芯片数量。
(3)编址方式的影响
- 按字节编址:每个地址对应 8 位(1 字节),要求存储系统的每个存储单元必须是 8 位。因此,位宽不足 8 位的 RAM 芯片(4 位)必须先通过位扩展满足字节对齐,再进行字扩展;
- 位宽已为 8 位的 ROM 芯片(2K×8 位)可直接进行字扩展,无需位扩展。
单独列出本题的解题过程如下:
-
分析主存结构
- 主存总容量:64KB,按字节编址(1 字节 = 8 位)。
- ROM 区:4KB,剩余 RAM 区:64KB - 4KB = 60KB。
-
计算 ROM 芯片数量:
- ROM 芯片规格:2K×8 位,即每个芯片容量为 2 K × 8 位 = 2 K B 2K \times 8 \text{位} = 2KB 2K×8位=2KB( 1 B = 8 位 1B =8 \text{位} 1B=8位)。
- 所需 ROM 总容量:4KB。所以,芯片数量是: 4 K B 2 K B = 2 \frac{4KB}{2KB} = 2 2KB4KB=2。
-
计算 RAM 芯片数量
- RAM 芯片规格:4K×4 位,需注意按字节编址时需将芯片扩展为 8 位(1 字节)。
- 位扩展:每个字节需 8 位,单个芯片为 4 位,因此需 2 片并联 组成一个 4 K × 8 位 4K \times 8 \text{位} 4K×8位 的模块,模块容量为 4 K B 4KB 4KB。
- 字扩展:RAM 区总容量 60KB,每个模块容量 4KB,因此需模块数: 60 K B 4 K B = 15 \frac{60KB}{4KB} = 15 4KB60KB=15 。
- 总芯片数:每个模块需 2 片,故总 RAM 芯片数为 15 × 2 = 30 15 \times 2 = 30 15×2=30 片。
ROM 芯片数:2 片,RAM 芯片数:30 片
本题答案:D。