首页微机原理组成原理笔记习题PDF
第6章-存储器

第6章 存储器

课件来源:《第6章 存储器.ppt》(44 页,extracted/ch6)。本章是期末必考章:芯片容量计算、位扩展/字扩展、地址范围分析、74LS138 片选译码与存储器连接设计几乎每年必出大题,概念题(分类、刷新、ROM 种类、层次结构)常出选择/填空。

0. 本章考点清单

考点 常见题型 重要度
芯片容量 = 2^地址线数 × 数据线数;地址线/数据线根数互求 填空、选择 ★★★
扩展所需芯片数 =(字数比)×(位数比);位并联、地址串联 计算 ★★★
地址范围分析:首地址、末地址 = 首地址 + 容量 − 1 计算 ★★★
片选译码设计:全译码(74LS138)、线选法;写使能逻辑 综合设计大题 ★★★
静态 RAM 六管单元、动态 RAM 刷新、SRAM/DRAM 对比 简答、选择 ★★
ROM 四类(掩膜/PROM/EPROM/EEPROM)、2716 引脚与电源 填空、选择 ★★
三级存储层次、两层矛盾、虚拟存储 简答、填空 ★★
存储器与 CPU 连接的 5 个考虑问题 简答 ★★
性能指标(容量、存取周期、取数时间等) 填空 ★
读/写周期时序(tA、trc、twc、数据保持) 填空、简答 ★

1. 存储系统的层次结构

1.1 三级存储系统

存储器是计算机中存储信息的部件:存放程序和原始数据,CPU 每执行一条指令至少访问一次存储器取指(课件 p.1)。把不同容量、不同速度的存储器按体系结构组织起来,使程序数据按层次分布,就构成存储系统的层次结构。三级存储系统为:高速缓冲存储器(Cache)——主存储器——外存储器(课件 p.3)。

存储系统层次结构:CPU—高速缓冲存储器—主存储器—外存储器

两级层次各自解决的矛盾(必背):

层次 解决的矛盾 机理
主存—外存 大容量与低成本之间的矛盾 外存容量大、速度低、价低,存放暂不用的程序数据;CPU 不能直接读写外存,必须先调入内存(课件 p.5-6)
Cache—主存 速度与成本之间的矛盾 CPU 速度比主存提高得快,在 CPU 与内存之间设 Cache,把一小段时间内要执行的程序事先调入 Cache,减少访问主存次数(课件 p.7-8)

现代微机同时采用两种层次,构成 Cache—内存—外存三级系统,满足速度快、容量大、价格低廉的要求(课件 p.9)。

要点: - 主存(内存):CPU 可直接用指令读写,存放现行程序和数据,速度快、容量有限,是主机的一部分,通常用半导体存储器(课件 p.5)。 - 外存(辅存/海存):位于主机之外,容量大、速度低,如磁盘、磁带(课件 p.6)。

1.2 虚拟存储技术

基本思想:把一部分外存与主存组合视为整体,统一编址形成逻辑地址空间;用软硬件结合手段把用户逻辑地址自动转换为实际访问主存的物理地址,并自动分段调入/调出主存。用户编程不再受主存容量限制,也免去分段和动态分配的负担(课件 p.10)。

易错警示:Cache—主存层次解决"速度"矛盾,主存—外存层次解决"容量"矛盾,选择题常对调挖坑;虚拟存储靠"主存+外存",不是靠 Cache。

2. 存储器的分类与基本组成

2.1 分类(课件 p.12-13)

按存取方式:

类型 特点 举例
随机存储器 RAM 既可读又可写,又称读/写存储器 主存、Cache
只读存储器 ROM 只能读不能写,存放固定不变的系统程序和子程序 BIOS 类固定程序(补充常识)
顺序存储器 SAM 按顺序进行读/写 磁带

按存储载体:

载体 特点 用途
磁介质 速度较慢 外存(磁盘、磁带)
半导体 容量大、速度快、体积小、功耗低 内存
光 速度快但需复杂硬件 外存

2.2 半导体存储器的基本组成(课件 p.14)

半导体存储器基本组成:存储单元矩阵、X/Y 地址译码器、读写电路、输入输出缓冲器、CS 与 R/W

四大部件(课件 p.14): 1. 存储体:核心,一个基本存储电路存入一个二进制数码。 2. 译码电路:采用重合译码方式(X、Y 两个方向译码交叉选中一个单元,见图:A₀… 接 X 译码、A₆–A₁₁ 接 Y 地址译码器)。 3. 读/写电路:位于存储体与数据总线之间,是存储体的控制电路。 4. 输入/输出缓冲器:连接在多片 RAM 的数据线上,宽度取决于存储器字长。

控制信号:CS 片选、R/W 读写输入(见图)。

3. 存储器的技术指标(课件 p.15)

  1. 存储容量:以"字数 × 位数"或字节数表示,如 32K×16。换算:1KB = 2¹⁰B = 1024B,1MB = 2¹⁰KB = 1024KB。
  2. 存取周期(读写周期/访问周期):连续存入或取出两个数据所间隔的时间。
  3. 取数时间:从 CPU 发出读命令开始,到存储器获得有效读出信号的一段时间。
  4. 可靠性:以平均无故障工作时间衡量。
  5. 经济性:以"性能价格比"衡量。

易错警示:存取周期 ≥ 取数时间(周期包含恢复时间,补充常识);容量单位 K=1024 不是 1000;"32K×16"是 32K 个字、每字 16 位 = 64KB。

4. 静态 RAM(SRAM)

4.1 六管基本存储单元(课件 p.16-17)

六管 SRAM 单元:VF1/VF2 双稳态触发器,VF3/VF4 负载管,VF5/VF6 控制管

状态规定(以 A 点状态为准,课件 p.17):VF1 截止、VF2 导通为 1;VF2 截止、VF1 导通为 0。只要不切断电源,写入的数据可长期保留,不需动态刷新。

4.2 静态 RAM 的组成与译码线计算(课件 p.18)

1024×1 静态 RAM:32×32 矩阵,A0–A4 接 X 译码、A5–A9 接 Y 译码

多个存储单元排列成矩阵即构成 SRAM。以 1024×1 为例(图 6-4): - 字译码(单译码):2¹⁰ = 1024,需要 2ᴺ 条译码线(N 为地址线数)→ 1024 条。 - 重合译码(矩阵双译码):32×32 矩阵,需要 2×2^(N/2) 条译码线 → 2×32 = 64 条。图中 A₀–A₄ 接 X 译码(32 条行线),A₅–A₉ 接 Y 地址译码器(32 条列线)。

(课件 p.18 原文将矩阵方式写作"全译码",存疑:此处实指"重合译码/双译码",与 p.14 呼应,不要与地址译码中的"全译码法"混淆。)

结论:地址线越多,重合译码节省的译码线越惊人(1024 → 64),故芯片内部都用矩阵+重合译码。

4.3 典型芯片 Intel 2114(课件 p.19)

2114 内部结构:64×64 矩阵,行选择 A3–A8,列选择 A0/A1/A2/A9,CS 与 WE 控制

易错警示:2114 是 4 位芯片,单独一片不能接满 8 位数据总线,必须两片位并联成 1K×8(见第 10 节)。

5. 动态 RAM(DRAM)

5.1 刷新概念(课件 p.20)

DRAM 存储的信息具有时间性:超过一定时间数据就消失。为使数据常在,必须周期性地对所在数据重写(刷新)。基本存储单元有四管、三管、单管三种(课件 p.20)。

5.2 四管动态存储单元(课件 p.21,图 6-6)

四管动态 RAM 单元:靠 C1/C2 栅极电容存储电荷,VF7/VF8 预充电

("四管"指单元内的 VF1、VF2、VF5、VF6;VF7、VF8 是列共享的预充电管。)

5.3 使用举例:4K×1 芯片构成 16K 字节模块(课件 p.22-23)

例:用 4K×1 芯片构成 16K 字节(8 位)内存模块。 - 芯片数 = (16K/4K)×(8/1) = 32 片;分 4 组,每组 8 片 4K×1 位并联成 4K 字节。 - 每片含 64×64 存储矩阵、片选端 CE、输出允许端 CS、地址线 A₀–A₁₁(12 根)、数据线等。(课件 p.22 原文如此:此处 CE 作片选、CS 作输出允许,与常见习惯 CS=片选相反,答题按课件口径。)

图6-9:A13–A12 经译码产生 CE0–CE3 组选;行地址可经 2 到 1 多路转换来自刷新地址计数器

图 6-9 连接要点: - A₁₃–A₁₂ 经地址译码器和芯片使能逻辑产生 4 个组选信号 CE̅₀–CE̅₃(字扩展);每组内 8 片数据线各接 1 位(位扩展)。 - 行地址 A₅–A₀、列地址 A₁₁–A₆;刷新时由刷新地址计数器给出行地址,经"2 到 1 多路转换"切换送入芯片,刷新时序控制整个过程 → 刷新按行进行。

SRAM 与 DRAM 对比(必背):

对比项 SRAM DRAM
存储原理 双稳态触发器 电容电荷(栅极电容)
刷新 不需要(不断电即保持) 必须周期性刷新
单元管数 6 管 4/3/1 管
集成度/速度 集成度低、速度快(补充常识) 集成度高、速度较慢(补充常识)

6. 半导体只读存储器(ROM)

6.1 四类 ROM 对比(课件 p.24-27)

类型 写入/擦除特点 工艺/分类
掩膜式 ROM 厂家按"1/0"代码矩阵用掩膜工艺制造,永久性存储,只能读不能写 双极型:速度快、容量小;MOS 型:容量大、速度较慢
PROM 出厂不写信息,用户一次性写入,写入后不能更改(一次性/现场可编程) 双极型、MOS 型;结构破坏型,熔丝型使用较多,如 Intel 3036
EPROM(UVEPROM) 紫外线擦除、可重复编程多次改写 擦除后全"1";写"0"加电压、存"1"不加电压
EEPROM(E²PROM) 电可改写,按字/字节擦除改写,其余单元不变 MNOS(金属—氮—氧化物—硅)工艺

紫外线擦除条件(课件 p.26,填空考点):12mW/cm² 的紫外线(或 X 射线)灯,相距 3cm,照射 10~20min,全部信息抹去成为全"1"。

常用 EPROM 芯片(课件 p.26):2732(4KB)、2764、27256、27128、Intel 2716(2K×8)。(课件原文"2764(16K)",存疑:2764 通常为 8K×8 = 8KB,16KB 对应 27128。)

6.2 典型芯片 Intel 2716(课件 p.28)

2716 引脚:A0–A10、D0–D7、CS、VPP、PD/PGM(后备线)、+5V

易错警示:2716 是 2K×8,一片即成 2K 字节,无需位扩展;2114 是 1K×4,必须两片并联。EPROM 擦除后是全 1 不是全 0。

7. 存储器的工作时序(课件 p.29-30)

7.1 读周期(图 6-13)

读周期时序:地址有效后 tA 数据有效;CS 有效后 tco 数据有效;trc 为读周期

7.2 写周期(图 6-14)

写周期时序:twc 写周期,tAW 地址先于写信号有效,tw 写脉冲宽度,写结束后数据保持

要点:读看"地址→数据",写看"地址、数据都要先于/后于写信号保持稳定"。

8. 存储器与 CPU 连接要考虑的问题(课件 p.31-33)

  1. CPU 总线的负载能力:一般 CPU 总线直流负载能力可带动一个标准 TTL 门,超载需加驱动/缓冲。
  2. 时序配合:存储器的最大存取时间要小于 CPU 安排的读写周期,否则必须使 CPU 插入等待周期才能保证可靠传送。
  3. 电平匹配:CPU 多为 TTL 标准电平,不匹配时不能直连,必须经缓冲器电平转换。
  4. 地址合理分配:主存中通常有 RAM 和 ROM(EPROM)两部分,要统一分配地址。
  5. 控制信号连接:读/写控制、片选、复位、刷新(对 DRAM)等,常规情况下可直接连接。

9. 地址分配、片选与译码

9.1 片选与字选(课件 p.34-36)

连接前首先要确定内存容量的大小和选择存储器芯片的容量大小(课件 p.34)。CPU 对存储器读写时:先向地址线发地址信号,再向控制线发读写信号,最后在数据线上传送数据(课件 p.35)。CPU 与存储器的连接就是地址线、数据线、控制线三种线的连接。CPU 发出的地址必须实现两种选择: - 片选:使相关芯片的 CS̅ 有效,选中芯片 → 由芯片外部译码电路产生,需自行设计; - 字选:在选中芯片内部选某一单元 → 由芯片内部译码电路产生,不需用户设计(即把低位地址线直接接芯片地址引脚)。

9.2 线选法(课件 p.37)

直接用 CPU 高位地址线中的某一根作片选信号。 - 优点:连接简单,不需复杂逻辑电路。 - 缺点:① 高位地址未全部用完且未加控制时,出现地址不连续和多义性(同一芯片对应多个地址段);② 即使高位线全用作线选,能寻址的空间也十分有限。

9.3 全译码法(课件 p.38)

高位地址全部接入译码电路产生片选;低位地址线作字选直连芯片。所有地址线都参与片内/片外译码 → 不产生地址多义性和不连续性。译码核心常用 74LS138。

9.4 74LS138(课件 p.39-40)

74LS138 引脚:输入 A/B/C,使能 G1、G2A、G2B,输出 Y0–Y7 低有效

C B A 有效输出
0 0 0 Y̅0=0
0 0 1 Y̅1=0
0 1 0 Y̅2=0
0 1 1 Y̅3=0
1 0 0 Y̅4=0
1 0 1 Y̅5=0
1 1 0 Y̅6=0
1 1 1 Y̅7=0

设计口诀:低位地址接芯片(字选);中间几位接 CBA 选组;剩下的高位全部"凑"进使能端(该 1 的经与门进 G1,该 0 的经或门进 G̅2A/G̅2B,单个 1 可反相进 G̅2B)。

10. 存储器扩展与连接设计(课件 p.41-44)

10.1 两种扩展方式(课件 p.41)

芯片数公式:所需芯片数 =(目标字数 ÷ 芯片字数)×(目标位数 ÷ 芯片位数)。 例:2114 构成 4K×8 = (4K/1K)×(8/4) = 4×2 = 8 片(4 组、每组 2 片)。

地址范围公式:末地址 = 首地址 + 容量(字节数) − 1。常用十六进制容量:1K=400H,2K=800H,4K=1000H,8K=2000H,16K=4000H。

10.2 设计步骤(以 2114+74LS138 为例)

  1. 算芯片数、分组(每组 2 片位并联成 ×8)。
  2. 低位地址 A₀–A₉ 接所有 2114(字选,1K)。
  3. 组选位(如 A₁₀、A₁₁)接 138 的 A、B(必要时 A₁₂ 接 C)。
  4. 剩余高位按首地址的 0/1 凑使能:M/IO̅ 接 G1(8086 访存为 1);恒 1 的位与进 G1,恒 0 的位或进 G̅2A,单独恒 1 的位反相进 G̅2B。
  5. Y̅ 输出接各组 CS̅;数据线 D₀–D₃、D₄–D₇ 分别接两片 2114;WE̅ 接 CPU 写信号。
  6. 验算:首地址、末地址、各组范围是否连续、有无重叠。

10.3 课件例题图精读

图 6-18(课件 p.42,例 6-1 连线图):A₁₀→A、A₁₁→B、A₁₂→C;G1=M/IO̅;A₁₃–A₁₈ 经或门→G̅2A;A₁₉ 反相→G̅2B;Y̅₀–Y̅₃ 接 4 组 2114 对的 CS̅。使能要求 A₁₉=1、A₁₈–A₁₃=0 → 首地址 80000H,末地址 80FFFH(4K×8)。

图6-18:8086+74LS138+8片2114构成4K×8,起始80000H

图 6-19(课件 p.44,例 6-5 连线图):A₁₄–A₁₈ 经与非门→G̅2A(要求全 1);A₁₉→G̅2B(要求 0);G1=M/IO̅;A₁₁→A、A₁₂→B、A₁₃→C。Y̅₀ 接 2716 的 CS̅(2K EPROM);Y̅₁ 与 A₁₀ 或→第一组 2114 对,Y̅₁ 与 A̅₁₀ 或→第二组 2114 对(用 A₁₀ 把 Y̅₁ 的 2K 拆成两个 1K)。地址范围:EPROM 7C000H–7C7FFH,RAM 7C800H–7CFFFH(推算见习题册题 7)。

图6-19:2114×4+2716×1构成2K RAM+2K EPROM

易错警示: - 20 位地址(8086)要写满 5 位十六进制,80000H 不要写成 8000H。 - 首地址不一定 4K 对齐:例 6-3 的 91C00H 跨 4K 边界,组选译码要"跳号"用 Y̅7、Y̅0–Y̅2(见习题册题 5)。 - 或门拆片选:CS̅ = Y̅ + A₁₀ 表示"Y̅ 有效且 A₁₀=0"才选中(低电平有效的或 = 条件与)。

11. 易错点与高频陷阱汇总

  1. 1K=1024=400H,不是 1000H 的十进制 1000;末地址 = 首地址 + 容量 − 1,别忘了减 1。
  2. 2114 是 1K×4:10 根地址线、4 根数据线;凑 8 位必须两片并联,芯片数别漏乘位数比。
  3. 2716 是 2K×8:11 根地址线;读 +5V、编程 +25V,别记反。
  4. SRAM 靠触发器、不刷新;DRAM 靠电容、必须刷新;选择题常对调。
  5. Cache—主存解决速度矛盾;主存—外存解决容量矛盾;虚拟存储 = 主存+外存统一编址。
  6. EPROM 紫外线擦除后是全 1;PROM 只能写一次;EEPROM 才能电擦除、按字节改写。
  7. 片选由外部译码电路设计,字选由芯片内部译码完成;低位地址直连芯片,高位才进译码器。
  8. 74LS138 输出低有效,使能 G1 高、G̅2A/G̅2B 低,三者缺一不可;不满足时输出全 1。
  9. 线选法有地址多义性/不连续;全译码无多义性。"高位全部参与译码"才是全译码。
  10. p.18 的"全译码(32×32 矩阵)"实为重合译码,与片选的全译码法不是一回事(课件原文如此,存疑)。
  11. p.22 的 CE=片选、CS=输出允许,与习惯相反,按课件口径答题(课件原文如此)。
  12. 存取时间必须小于 CPU 读写周期,否则插等待周期;不是"大于"。
  13. 地址跨边界时(如 91C00H 起 4K)各组高位模式不同,需异或/同或门参与使能,不能简单连续接 Y̅0–Y̅3。
  14. 课件 p.41 与 p.42 都编号"例 6-1",前者是设计题、后者是读图题,实为同一套图的两问。

12. 典型例题精讲

例 1(课件 p.41-42,例 6-1):2114+138 构成 4K×8,首地址 80000H;并读图求首末地址

步骤 1 算芯片:(4K/1K)×(8/4)=8 片,4 组每组 2 片位并联。 步骤 2 分地址:1K 片内用 A₀–A₉;4 组用 A₁₁A₁₀(00–11);A₁₂ 接 C 恒 0。 步骤 3 凑使能:80000H = 1000 0000 0000 0000 0000₂ → A₁₉=1,A₁₈–A₁₃=0。故 G1=M/IO̅,G̅2A=A₁₃+A₁₄+…+A₁₈(或门),G̅2B=A̅₁₉(反相器)。 步骤 4 接片选:Y̅₀–Y̅₃ 依次接 4 组 CS̅。 步骤 5 验算:首 = 80000H;末 = 80000H+1000H−1 = 80FFFH。读图题答案同此。

例 2(课件 p.43,例 6-3):首地址 91C00H 的 4K×8 —— 跨边界译码

91C00H–91FFFH 只有 1K 落在 91xxx 段(A₁₃A₁₂=01),其余 3K 在 92000H–92BFFH(A₁₃A₁₂=10)。取 C=A₁₂、B=A₁₁、A=A₁₀,则四组对应 CBA=111、000、001、010 → 用 Y̅7、Y̅0、Y̅1、Y̅2。使能:G1=M/IO̅·A₁₉·A₁₆;G̅2A=A₁₈+A₁₇+A₁₅+A₁₄+(A₁₃⊙A₁₂)(同或项保证 A₁₃≠A₁₂);G̅2B=0。详见习题册题 5。

例 3(课件 p.44,例 6-5):2K RAM + 2K EPROM 混合设计

RAM 用 4 片 2114(2 组),EPROM 用 1 片 2716。使能要求 A₁₉=0、A₁₈–A₁₄=1 → 与非门(A₁₄…A₁₈)→G̅2A,A₁₉→G̅2B。CBA=A₁₃A₁₂A₁₁:Y̅0(000)给 2716(A₁₀ 片内,占 2K);Y̅1(001)的 2K 用 A₁₀ 或门拆成两个 1K 给 RAM。基址 = A₁₈…A₁₄ 全 1 = 7C000H → EPROM 7C000H–7C7FFH,RAM 7C800H–7CFFFH。详见习题册题 7。

附:本章速查表

芯片参数:

芯片 容量 地址线 数据线 控制/电源
2114(SRAM) 1K×4 A₀–A₉(10) I/O₁–I/O₄(4) CS̅、WE̅
2716(EPROM) 2K×8 A₀–A₁₀(11) D₀–D₇(8) CS̅、PD/PGM̅;读+5V,编程 VPP+25V
4K×1 DRAM 4K×1 A₀–A₁₁(12,行 A₅–A₀/列 A₁₁–A₆) 1 CE 片选、CS 输出允许(课件口径),需刷新

公式: - 芯片容量(位) = 2^地址线数 × 数据线数;字节数 = 位容量 ÷ 8。 - 芯片数 =(目标字数/芯片字数)×(目标位数/芯片位数)。 - 末地址 = 首地址 + 字节容量 − 1。 - 译码线:单译码 2ᴺ;重合译码 2×2^(N/2)。 - 1KB=1024B;1K=400H、2K=800H、4K=1000H、16K=4000H。

74LS138:G1=1、G̅2A=G̅2B=0 时,CBA=i → Y̅ᵢ=0,其余 1;否则全 1。

概念速记:三级层次 Cache-主存-外存;速度矛盾靠 Cache、容量矛盾靠外存;SRAM 六管不刷新、DRAM 电容要刷新;ROM 四代:掩膜→PROM(一次)→EPROM(紫外)→EEPROM(电);擦除全 1;片选外译码、字选内译码;线选有多义、全译码无多义。