Appearance
存储器扩展
考情分析
存储器扩展设计题是 408 大题热点,每隔两三年就会考一次。需要掌握:给定主存容量和芯片规格,计算需要多少芯片、如何连接地址线和数据线、片选信号如何产生。
基本概念
单个存储芯片的容量有限,实际主存系统通过多芯片组合扩展。
芯片规格表示:
例:
位扩展
目标:字长不够,扩展每个存储单元的位数(数据位宽)。
方法:多芯片数据线并联,地址线和控制线共享。
例:用
- 2 片芯片地址线完全相同(接同一组地址总线)
- 片 1 的 4 位数据线接数据总线低 4 位(
) - 片 2 的 4 位数据线接数据总线高 4 位(
) - 片选
两片相同(同时选中)
位扩展不需要地址译码,所有芯片同时被选中。
字扩展
目标:容量不够,扩展存储单元个数(地址空间)。
方法:多芯片的数据线并联,高位地址线经译码器产生各芯片的片选信号,低位地址线直接连芯片。
例:用
- 芯片内部地址需
位,接地址总线低 12 位 - 高 2 位
通过 2-4 译码器产生 4 个片选信号,分别连 4 片芯片的 - 每片数据线各自连数据总线(位宽相同不需扩展)
| 地址范围 | 选中芯片 | |
|---|---|---|
| 0000H~0FFFH | 00 | 芯片 0 |
| 1000H~1FFFH | 01 | 芯片 1 |
| 2000H~2FFFH | 10 | 芯片 2 |
| 3000H~3FFFH | 11 | 芯片 3 |
字位同时扩展
目标:字长和容量都需要扩展。
方法:先做位扩展(组内并联),再做字扩展(组间译码)。
例:用
- 同组 2 片:地址线相同,数据线分高低 4 位,片选相同
- 4 组:高 2 位地址经 2-4 译码器产生 4 个片选
地址线分配规律
设芯片有
- 低
位:直接连各芯片地址线(片内寻址) - 高
位:用于片选译码(选择哪一组/哪一片)
译码方式
全译码
高位地址全部参与译码,每个地址唯一对应一个存储单元。无地址重叠,但译码逻辑较复杂。
部分译码
只用部分高位地址译码,剩余高位悬空。简单但存在地址重叠(多个地址对应同一物理位置)。
线选法
用单根高位地址直接连芯片片选(低电平有效)。最简单,但浪费地址空间,且只允许一次选中一片。
综合计算模板
- 确定主存总容量
字节和位宽 位 - 确定芯片规格
字节 × 位 - 计算芯片数:
- 计算地址线分配:低
位接芯片内部地址,高位接译码器 - 写出每组芯片的地址范围
反向题:由地址范围倒推(真题最爱的变体)
正向题给芯片求范围,真题更爱反着考:给地址范围,求容量、芯片连接和片选逻辑。
例:某 8 位机主存地址 16 位(8000H ~ 9FFFH。 (1) 该区域容量多大?(2) 写出片选逻辑;(3) 若用 2K×8 位芯片实现,如何连接?
解:
(1) 容量 = 9FFFH − 8000H + 1 = 2000H =
(2) 把范围两端写成二进制找不变的高位:
8000H = 100 0 0000 0000 0000
9FFFH = 100 1 1111 1111 1111
↑↑↑
A15 A14 A13 = 100 固定,A12~A0 跑遍全 0 到全 1区域内恒有
(3) 8 KB ÷ 2 KB = 4 片字扩展。每片片内地址 0800H):
| 芯片 | 地址范围 | |
|---|---|---|
| 0 | 00 | 8000H ~ 87FFH |
| 1 | 01 | 8800H ~ 8FFFH |
| 2 | 10 | 9000H ~ 97FFH |
| 3 | 11 | 9800H ~ 9FFFH |
解题口诀:范围相减加一得容量;两端写二进制,高位不变段就是片选条件,变化段从高到低依次给译码器和片内地址。
考点清单
- 位扩展:数据线扩宽,不需要译码,芯片同时选中
- 字扩展:地址空间扩大,高位地址需要译码产生片选
- 字位同时扩展:先分组(位扩展),组内共享片选,组间译码
- 总芯片数 = 位扩展倍数 × 字扩展倍数
- 片内寻址用低位地址,片选用高位地址
- 全译码无地址重叠,部分译码有地址重叠