Skip to content

5.4 主存储器的连接与控制

本节是本章的实践核心和最大难点,讨论如何用多个小容量的存储芯片构成一个大容量的主存储器,并与CPU连接。

主存容量的扩展

单个存储芯片的容量有限,需要通过扩展技术来满足系统要求。

1. 计算所需芯片数量

总片数=主存总容量单片芯片容量

例如,用 1K×4位的芯片构成 8K×8位的主存,需要:

片数=8K×81K×4=8×2=16

2. 扩展方法

  • 位扩展 (Bit Expansion)

    • 目的:增加存储字长,而存储单元数不变。

    • 连接

      • 所有芯片的地址线并联。

      • 所有芯片的片选线 (CS)读写控制线 (WE) 并联。

      • 每片芯片的数据线单独引出,构成数据总线的不同位。

  • 字扩展 (Word Expansion)

    • 目的:增加存储单元数,而存储字长不变。

    • 连接

      • 所有芯片的数据线并联。

      • 所有芯片的地址线(低位部分)和 读写控制线 并联。

      • CPU地址总线的高位部分通过地址译码器产生各芯片的片选信号,用于区分不同的芯片。

  • 字位同时扩展 (Word & Bit Expansion)

    • 上述两种方法的结合。先进行位扩展构成一个存储字,再通过字扩展增加存储单元总数。

存储芯片的地址分配与片选

1. 地址分配

  • CPU的地址线分为两部分:

    • 片内地址:地址线的低位部分,用于在芯片内部选择存储单元。其位数 k 由单片芯片的容量 2k 决定。

    • 片选地址:地址线的高位部分,用于选择具体哪一个(或哪一组)芯片。

2. 片选方法

  • 线选法 (Linear Selection):用高位地址线直接(或通过反相器)连接到各芯片的片选端。

    • 优点:简单,无需译码器。

    • 缺点:地址空间不连续,空间浪费严重,不便于扩展。

  • 全译码法 (Full Decoding):将所有的高位片选地址线输入一个译码器,由译码器的输出作为片选信号。

    • 优点:地址空间唯一、连续,无浪费,便于扩展。

    • 缺点:需要额外的译码电路,当芯片数量多时译码器复杂。

  • 部分译码法 (Partial Decoding):只用部分高位地址线进行译码。

    • 优点:比全译码简单。

    • 缺点:会导致地址重叠/地址混淆 (Aliasing),即一个物理存储单元对应多个逻辑地址。

易考点与难点

  • 扩展方法的连接图:这是本节的核心考点,几乎是必考题(参考习题5-13至5-16)。要求能够根据给定的芯片和目标容量,正确连接地址线、数据线和控制线,并画出逻辑连接图。
  • 地址译码器的设计:在字扩展中,如何利用高位地址设计译码逻辑以产生片选信号,是难点中的难点。需要能写出每个芯片的地址范围。
  • 地址分配计算:给定CPU地址线宽度和芯片规格,计算片内地址和片选地址的位数,并确定每个芯片在内存中的地址范围。