一 真题2010-15

2010-15. 假定用若干个 2K×4 的芯片组成一个 8K×8 的存储器,则地址 0B1FH 所在芯片的最小地址是( )。

A. 0000H
B. 0600H
C. 0700H
D. 0800H

二 题目要素解析

核心考点存储器扩展与地址映射

容量计算

  • 芯片容量:2K×4 位。
  • 目标容量:8K×8 位。
  • 所需芯片数:(8K/2K)×(8/4)=4×2=8 片。

地址线与数据线分析

  • 地址线:8K=213,故需要 13 根地址线(A12∼A0)。
  • 数据线:目标为 8 位,芯片为 4 位,故需要 2 片 芯片并联(位扩展)来提供 8 位数据。
  • 字扩展:8K/2K=4,故需要将 4 组(每组 2 片)芯片进行字扩展。

片选逻辑

  • 13 根地址线中,低 11 位(A10∼A0)用于片内寻址(因为 2K=211)。
  • 高 2 位(A12∼A11)用于片选(CS),区分 4 个芯片组。

三 哔哔详解

Step 1:计算所需芯片数量

  • 单个芯片容量: $ 2K \times 4 $ 位
  • 目标容量: $ 8K \times 8 $ 位
  • 总芯片数:

8K×82K×4=64K8K=8 片 \frac{8K \times 8}{2K \times 4} = \frac{64K}{8K} = 8 \text{ 片} 2K×48K×8=8K64K=8 

Step 2:确定连接方式

  • 位扩展:从 4 位 → 8 位,需 2 片并联 构成一个 2K×8 的“逻辑单元”
  • 字扩展:从 2K → 8K,需 4 个这样的逻辑单元 串联
  • 因此:4 组 × 每组 2 片 = 8 片

📌 每组提供 2K 个字节地址空间(因每组输出 8 位 = 1 字节)

Step 3:划分地址空间

  • 每组覆盖地址范围: $ 2K = 2048 = 2^{11} $ 字节 → 需 11 位地址线(A0–A10)
  • 高位地址线(A11、A12)用于片选(Chip Select)
  • 4 组对应地址区间:
组号 片选信号 地址范围(十六进制) 起始地址
0 A12=0, A11=0 0000H – 07FFH 0000H
1 A12=0, A11=1 0800H – 0FFFH 0800H
2 A12=1, A11=0 1000H – 17FFH 1000H
3 A12=1, A11=1 1800H – 1FFFH 1800H

💡 2K = 0x800,因此每段长度为 0x800

Step 4:定位地址 0B1FH

  • 0B1FH = 0x0B1F
  • 对比各段:
    • 0x0B1F < 0x1000 → 在前两组
    • 0x0B1F ≥ 0x0800 → 属于 第 1 组
  • 第 1 组起始地址:0800H

✅ 因此,0B1FH 所在芯片组的最小地址是 0800H

四 参考答案

D ✅

五 考点精析

5.1 存储器扩展的基本概念

1. 为什么需要扩展?

  • 单个存储芯片的 容量(字数 × 位数)有限
  • 实际系统需要更大容量或更宽数据通路
  • 通过 多个芯片组合 构成目标存储器

2. 三种基本扩展方式

  • 位扩展 (Bit Expansion):
    • 目的:增加数据总线宽度(如从 4 位扩展到 8 位)。
    • 方法:将多个芯片的地址线、控制线全部并联,数据线分别引出。
    • 公式:所需芯片数 = 目标位数 / 芯片位数。
  • 字扩展 (Word Expansion):
    • 目的:增加存储单元数量(如从 2K 扩展到 8K)。
    • 方法:将多个芯片的地址线、数据线全部并联,利用高位地址线通过译码器产生片选信号(CS)来选择不同的芯片。
    • 公式:所需芯片数 = 目标容量 / 芯片容量。
  • 字位同时扩展:
    • 目的:既增加容量又增加宽度。
    • 方法:先进行位扩展组成 “芯片组”,再对 “芯片组” 进行字扩展。
    • 公式:所需芯片数 = (目标容量 / 芯片容量) × (目标位数 / 芯片位数)。
扩展类型 目的 连接方式 地址线变化
位扩展(Bit Expansion) 增加 数据宽度(如 4 位 → 8 位) 芯片 并联,共享地址线和片选信号 地址线数量不变
字扩展(Word/Address Expansion) 增加 地址空间(如 2K → 8K) 芯片 串联,使用不同片选信号 需增加高位地址线用于片选

混合扩展:实际中常同时进行位扩展 + 字扩展(如 2010-15 题)

5.2 存储器扩展基本性质与特征

地址连续性

  • 扩展后的存储器地址空间在逻辑上是连续的。
  • 字扩展时,每个芯片(或芯片组)占用一段连续的地址区间。

片选信号 (CS/CE)

  • 这是字扩展的关键。只有被选中的芯片,其数据才会被送上数据总线,未被选中的芯片处于高阻态(断开)。

片内寻址 vs 片间寻址

  • 片内寻址:通过地址线选择芯片内部的具体存储单元。
  • 片间寻址:通过高位地址线选择具体的芯片。

5.3 存储器扩展地址线划分

🔧 Step 1:明确目标与芯片参数

  • 目标: M×NM \times NM×N (M 个地址,每个 N 位)
  • 芯片: m×nm \times nm×n
  • 示例:目标 8K×88K \times 88K×8 ,芯片 2K×42K \times 42K×4

🔧 Step 2:计算所需芯片数

芯片总数=M×Nm×n \text{芯片总数} = \frac{M \times N}{m \times n} 芯片总数=m×nM×N

  • 位扩展因子: N/nN / nN/n
  • 字扩展因子: M/mM / mM/m
  • 总芯片数 = 位扩展因子 × 字扩展因子

✅ 例: 8K×82K×4=4×2=8\frac{8K \times 8}{2K \times 4} = 4 \times 2 = 82K×48K×8=4×2=8

🔧 Step 3:划分地址线

  • 片内地址线数: k=log⁡2(m)k = \log_2(m)k=log2(m)
    • $ 2K = 2^{11} \rightarrow k = 11 \rightarrow A_0\text{–}A_{10} $
  • 片选地址线数: s=log⁡2(字扩展因子)s = \log_2(\text{字扩展因子})s=log2(字扩展因子)
    • 字扩展因子 = 4 = 22→s=2→A11,A122^2 \rightarrow s = 2 \rightarrow A_{11}, A_{12}22s=2A11,A12

🔧 Step 4:确定地址区间

  • 每组(完成位扩展后)覆盖地址范围: mmm 字节(若按字节寻址)
  • 起始地址 = 组号 × mmm
  • 十六进制表示时注意对齐:
    • 2K=2048=0x8002K = 2048 = 0x8002K=2048=0x800
    • 起始地址:0x0000, 0x0800, 0x1000, 0x1800

📌 关键技巧:

给定地址 ADDR\text{ADDR}ADDR ,所在组号 = ⌊ADDRm⌋\left\lfloor \frac{\text{ADDR}}{m} \right\rfloormADDR
最小地址 = 组号 × mmm

5.4 存储芯片地址计算

1. 计算芯片占用的地址范围

方法:

  1. 算大小:计算单个芯片(或芯片组)的容量大小(单位:字节)。
    • 例如:2K×8 芯片 = 2048B=800H。
  2. 定起点:确定该芯片的起始地址(通常题目给出或从 0 开始)。
  3. 算终点:终点地址 = 起点地址 + 容量大小 - 1。
    • 例如:起点 0800H,大小 800H,终点 = 0800H+800H−1=0FFFH。
2. 给定地址,判断属于哪个芯片

方法:

  1. 屏蔽法(最推荐):
    • 将目标地址与芯片容量的 “掩码” 进行 AND 运算。
    • 掩码构造:芯片容量为 2n,则掩码的低 n 位为 1,其余为 0。
    • 结果:运算结果即为该芯片的最小地址(起始地址)
  2. 范围法:
    • 计算每个芯片的地址范围,看目标地址落在哪个区间。

六 考点跟踪

年份 题号 考查内容 CSDN 参考链接 VX参考链接
2010 第15题 给定地址,判断属于哪个芯片;计算芯片占用地址范围
2023 第15题 芯片地址范围

说明:本文内容基于公开资料整理,参考了包括但不限于《数据结构》(严蔚敏)、《计算机操作系统》(汤小丹)、《计算机网络》(谢希仁)、《计算机组成原理》(唐朔飞)等国内高校经典教材,以及其他国际权威著作。同时,借鉴了王道、天勤、启航等机构出版的计算机专业考研辅导系列丛书中的知识体系框架与典型题型分析思路。文中所有观点、例题解析及文字表述均为作者结合自身理解进行的归纳与重述,未直接复制任何出版物原文。内容仅用于学习交流,若有引用不当或疏漏之处,敬请指正。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐