5.4 主存储器的连接与控制
本节是本章的实践核心和最大难点,讨论如何用多个小容量的存储芯片构成一个大容量的主存储器,并与CPU连接。
主存容量的扩展
单个存储芯片的容量有限,需要通过扩展技术来满足系统要求。
1. 计算所需芯片数量
例如,用 1K×4位的芯片构成 8K×8位的主存,需要:
2. 扩展方法
位扩展 (Bit Expansion):
目的:增加存储字长,而存储单元数不变。
连接:
所有芯片的地址线并联。
所有芯片的片选线 (
) 和 读写控制线 ( ) 并联。 每片芯片的数据线单独引出,构成数据总线的不同位。
字扩展 (Word Expansion):
目的:增加存储单元数,而存储字长不变。
连接:
所有芯片的数据线并联。
所有芯片的地址线(低位部分)和 读写控制线 并联。
CPU地址总线的高位部分通过地址译码器产生各芯片的片选信号,用于区分不同的芯片。
字位同时扩展 (Word & Bit Expansion):
- 上述两种方法的结合。先进行位扩展构成一个存储字,再通过字扩展增加存储单元总数。
存储芯片的地址分配与片选
1. 地址分配
CPU的地址线分为两部分:
片内地址:地址线的低位部分,用于在芯片内部选择存储单元。其位数
由单片芯片的容量 决定。 片选地址:地址线的高位部分,用于选择具体哪一个(或哪一组)芯片。
2. 片选方法
线选法 (Linear Selection):用高位地址线直接(或通过反相器)连接到各芯片的片选端。
优点:简单,无需译码器。
缺点:地址空间不连续,空间浪费严重,不便于扩展。
全译码法 (Full Decoding):将所有的高位片选地址线输入一个译码器,由译码器的输出作为片选信号。
优点:地址空间唯一、连续,无浪费,便于扩展。
缺点:需要额外的译码电路,当芯片数量多时译码器复杂。
部分译码法 (Partial Decoding):只用部分高位地址线进行译码。
优点:比全译码简单。
缺点:会导致地址重叠/地址混淆 (Aliasing),即一个物理存储单元对应多个逻辑地址。
易考点与难点:
- 扩展方法的连接图:这是本节的核心考点,几乎是必考题(参考习题5-13至5-16)。要求能够根据给定的芯片和目标容量,正确连接地址线、数据线和控制线,并画出逻辑连接图。
- 地址译码器的设计:在字扩展中,如何利用高位地址设计译码逻辑以产生片选信号,是难点中的难点。需要能写出每个芯片的地址范围。
- 地址分配计算:给定CPU地址线宽度和芯片规格,计算片内地址和片选地址的位数,并确定每个芯片在内存中的地址范围。