首页/计算机组成原理/存储器层次结构/存储器扩展 🔗 在 Obsidian 中打开
计算机组成原理 · 存储器层次结构

存储器扩展

重要度 ⭐⭐⭐⭐⭐存储器层次结构字扩展存储器扩展片选地址线存储器
速查
扩展三式:位扩展并联地址、数据分位(加宽字长);字扩展并联低位地址、高位地址译码选片(加深容量);字位同时扩展 = 字扩展数 × 位扩展数。片选可用线选法(简单但有地址重叠)或译码法(连续无重叠,如 74LS138)。

速查

项目
位扩展增加字长,芯片地址线并联
字扩展增加字数,用片选信号区分
字位同时扩展先位扩展再字扩展

概述

单个存储芯片的容量和字长有限,实际计算机需要通过扩展来构建大容量、宽字长的存储器。扩展方式分为位扩展(增加字长)、字扩展(增加容量)和字位同时扩展

位扩展(Data Width Expansion)

目的:增加存储器的字长(数据位数),不改变字数。

  • 多个芯片的地址线、控制线并联
  • 数据线分别连接到总线的不同位
  • 所有芯片同时被选中

示例:用 $1K\times4$ 位芯片构成 $1K\times8$ 位存储器

需要芯片数 = 目标字长 / 芯片字长 = 8 / 4 = 2 片

地址线 A9-A0:两片并联
CS(片选):两片并联(同时选中)
数据线:芯片0接 D3-D0,芯片1接 D7-D4
要点地址空间不变(1K 个地址);每个地址的数据宽度增加;所有芯片必须同时工作。

字扩展(Capacity Expansion)

目的:增加存储器的字数(地址空间),不改变字长。

  • 数据线并联
  • 高位地址通过译码器产生片选信号
  • 任意时刻只有一个芯片被选中

示例:用 $1K\times8$ 位芯片构成 $4K\times8$ 位存储器

需要芯片数 = 目标容量 / 芯片容量 = 4K / 1K = 4 片
高位地址 A11,A10 通过 2-4 译码器产生 4 个片选信号
  A11 A10 → 译码器
   0  0 → CS0(0000-03FF)
   0  1 → CS1(0400-07FF)
   1  0 → CS2(0800-0BFF)
   1  1 → CS3(0C00-0FFF)
数据线 D7-D0:四片并联;低位地址 A9-A0:四片并联
要点字长不变、地址空间增大;高位地址用作片选;同一时刻只选中一个芯片。

字位同时扩展

目的:同时增加字长和字数。先位扩展满足字长,再字扩展满足容量。

示例:用 $1K\times4$ 位芯片构成 $4K\times8$ 位存储器

需要芯片数 = (4K/1K) × (8/4) = 4 × 2 = 8 片
排列方式:4 组,每组 2 片(位扩展)
芯片0-1(组0):CS0;芯片2-3(组1):CS1;……
每组内:位扩展(并联地址线和控制线)
组间:字扩展(高位地址译码片选)

存储器地址计算

地址线数量

n 位地址线 → 2ⁿ 个存储单元
例:10 根地址线 → 2¹⁰ = 1024 = 1K 个单元

芯片引脚计算

1K×8 位芯片:
  地址线:log₂(1024) = 10 根
  数据线:8 根
  控制线:CS(片选)、OE(输出使能)、WE(写使能)
  电源线:VCC、GND

片选信号的产生

线选法

  • 每根高位地址线直接控制一个芯片的 CS
  • 简单但地址不连续,有地址重叠

译码法

  • 使用译码器(如 2-4 译码器、3-8 译码器)
  • 地址连续,无重叠
  • 74LS138(3-8 译码器)是常用芯片

74LS138 译码器

输入:C, B, A(3 位)+ 使能 G1, G2A, G2B
输出:Y0~Y7(8 个,低电平有效)
C B A → 有效输出
0 0 0 → Y0    0 0 1 → Y1    ……    1 1 1 → Y7

存储器与 CPU 的连接

CPU ←→ 存储器
地址总线 → 地址线(低位直接连,高位译码)
数据总线 ↔ 数据线
控制总线 → 控制线(R/W, MREQ 等)
注意事项① CPU 地址/数据线可能复用(需锁存器);② 存储器读写速度可能跟不上 CPU(需等待);③ 片选信号时序要正确。

易错点

必记
  1. 位扩展时所有芯片同时选中,字扩展时只选中一个
  2. 字扩展用高位地址译码,低位地址并联
  3. 字位扩展的芯片数 = 字扩展数 $\times$ 位扩展数
  4. 地址译码器的输出是低电平有效(如 74LS138)
  5. 地址线数量 = $\log_2($容量$)$,注意容量单位是字节还是字
  6. 片选信号决定芯片在地址空间中的位置
  7. 字扩展时数据线并联,不能接错位

记忆卡片

位扩展和字扩展选中方式?
位扩展全部同时选中;字扩展任一时刻只选中一个。
字位扩展芯片数?
字扩展数 × 位扩展数。
线选法缺点?
地址不连续、有地址重叠。
74LS138 输出有效电平?
低电平有效(Y0~Y7)。

交互动画 · 片选:线选法 vs 译码法

高位地址 每根高位地址线直连一个芯片 CS 芯片0 (A15→CS) 芯片1 (A14→CS) ⚠ 地址不连续,存在重叠区
选择片选方式,查看高位地址到芯片 CS 的连接
橙色流动虚线表示激活的连线。线选法用一根地址线直接选一片(简单但有重叠);译码法用译码器把地址映射成连续、互斥的片选信号。

相关知识点

sram-and-dram main-memory-expansion

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。