首页微机原理组成原理笔记习题PDF
第6章-习题与解答

第6章 存储器 习题与解答

课件原题 7 道(p.22 例、p.41–44 例 6-1~6-5,其中 p.41 与 p.42 同编号"例 6-1",分别为设计问与读图问)+ 考点补充题 10 道,共 17 道。 约定:8086 地址 20 位;1K=1024=400H,2K=800H,4K=1000H;末地址 = 首地址 + 字节容量 − 1;74LS138 输出低有效,使能条件 G1=1、G̅2A=G̅2B=0。

一、课件原题

题1(课件 p.22)

用 4K×1 的存储芯片构成 16K 字节(8 位)的内存模块,需要多少芯片?如何分组?

解答: 1. 位扩展:目标 8 位、芯片 1 位 → 每组 8÷1 = 8 片,位并联成 4K×8(4K 字节)。 2. 字扩展:目标 16K 字、每组 4K 字 → 16K÷4K = 4 组。 3. 总芯片数 = 4×8 = 32 片,分 4 组,每组 8 片 4K×1(课件 p.22 结论一致)。 4. 连接要点(图 6-9,课件 p.23):组选由 A₁₃–A₁₂ 译码产生 CE̅₀–CE̅₃;每片 64×64 矩阵、12 根地址线 A₀–A₁₁(行 A₅–A₀、列 A₁₁–A₆);刷新时刷新地址计数器经 2 到 1 多路转换提供行地址,按行刷新。

题2(课件 p.41,例 6-1)

利用 74LS138 译码器和 2114(1K×4)芯片构成一个 4K×8 容量的存储器,要求起始地址是 80000H,画出连线图。

解答: 1. 芯片数 = (4K÷1K)×(8÷4) = 4×2 = 8 片,分 4 组,每组 2 片位并联成 1K×8(位并联),4 组地址串联(字扩展)。 2. 地址分解:80000H = 1000 0000 0000 0000 0000₂。片内 1K 用 A₀–A₉;组选 4 组用 A₁₁A₁₀(00→11);A₁₂ 恒 0。 3. 译码器接法:A₁₀→A,A₁₁→B,A₁₂→C;Y̅₀–Y̅₃ 依次接第 1–4 组的 CS̅(每组两片 CS̅ 并联)。 4. 使能逻辑(剩余高位 A₁₉–A₁₃ 必须为 1000000): - G1 = M/IO̅(8086 访存时为 1); - G̅2A = A₁₃+A₁₄+A₁₅+A₁₆+A₁₇+A₁₈(6 输入或门,全 0 才输出 0); - G̅2B = A̅₁₉(A₁₉ 经反相器,A₁₉=1 时为 0)。 5. 数据线:每组中一片 I/O₁–I/O₄ 接 D₀–D₃,另一片接 D₄–D₇;所有芯片 WE̅ 接 CPU 写信号。 6. 验算:首地址 80000H;末地址 = 80000H+1000H−1 = 80FFFH;各组 80000–803FF、80400–807FF、80800–80BFF、80C00–80FFFH,连续无重叠。

连线图即课件 p.42 图 6-18(见题 3 插图)。

题3(课件 p.42,例 6-1 读图问)

若在一微机中,存储器结构如图 6-18 所示,试问该存储系统的首地址、末地址为多少?

图6-18:8086+74LS138+8片2114

解答: 1. 读使能条件:G1=M/IO̅=1(访存);G̅2A 接 A₁₃–A₁₈ 的或门输出,须为 0 → A₁₃=A₁₄=A₁₅=A₁₆=A₁₇=A₁₈=0;G̅2B 接 A₁₉ 反相,须为 0 → A₁₉=1。 2. 读组选:CBA=A₁₂A₁₁A₁₀,Y̅₀–Y̅₃ 对应 000–011,即 A₁₂=0、A₁₁A₁₀ 从 00 到 11;片内 A₀–A₉ 任意。 3. 首地址:A₁₉=1,其余全 0 → 80000H。 4. 末地址:A₁₉=1,A₁₂A₁₁A₁₀=011,A₉–A₀ 全 1 → 1000 0000 1111 1111 1111₂ = 80FFFH。 5. 容量核对:80FFFH−80000H+1 = 1000H = 4K,与 8 片 2114 构成的 4K×8 一致。

答案:首地址 80000H,末地址 80FFFH。

题4(课件 p.43,例 6-2)

今有 2114(1K×4)芯片若干,利用 74LS138 构成 4K×8 存储系统,起始地址 8C000H,画出连线图。

解答: 1. 芯片数 8 片、4 组(同题 2)。地址范围 8C000H–8CFFFH。 2. 写出首地址各位:8C000H = 1000 1100 0000 0000 0000₂ → A₁₉=1,A₁₈=0,A₁₇=0,A₁₆=0,A₁₅=1,A₁₄=1,A₁₃=0,A₁₂=0,A₁₁=0,A₁₀=0。 3. 片内 A₀–A₉ 接所有芯片;组选 A₁₀→A、A₁₁→B、A₁₂→C(范围内 A₁₂ 恒 0,故用 Y̅₀–Y̅₃)。 4. 使能逻辑: - G1 = M/IO̅·A₁₅·A₁₄(3 输入与门,恒 1 的位凑进 G1); - G̅2A = A₁₈+A₁₇+A₁₆+A₁₃+A₁₂(或门,恒 0 的位); - G̅2B = A̅₁₉(反相器)。 5. Y̅₀–Y̅₃ 接 4 组 CS̅;数据线、WE̅ 接法同题 2。 6. 验算各组:8C000–8C3FF、8C400–8C7FF、8C800–8CBFF、8CC00–8CFFFH;末 = 8C000H+1000H−1 = 8CFFFH ✓。

题5(课件 p.43,例 6-3)

利用 74LS138 和 2114(1K×4)构成 4K×8 存储器,起始地址 91C00H,画出连线图。

解答: 1. 芯片数 8 片、4 组。范围 91C00H–92BFFH(= 91C00H+1000H−1)。 2. 关键:跨 4K 边界。91C00H 不是 1000H 的整数倍,4 个 1K 组为: - 组0:91C00–91FFF(高字节模式 A₁₃A₁₂=01,A₁₁A₁₀=11) - 组1:92000–923FF(A₁₃A₁₂=10,A₁₁A₁₀=00) - 组2:92400–927FF(A₁₃A₁₂=10,A₁₁A₁₀=01) - 组3:92800–92BFF(A₁₃A₁₂=10,A₁₁A₁₀=10) 3. 取 C=A₁₂、B=A₁₁、A=A₁₀,则四组 CBA = 111、000、001、010 → 分别用 Y̅7、Y̅0、Y̅1、Y̅2 接组 0–组 3 的 CS̅。 4. 使能逻辑:固定位 A₁₉=1、A₁₆=1、A₁₈=A₁₇=A₁₅=A₁₄=0;可变位须满足 A₁₃≠A₁₂(01 或 10),用同或门检测:A₁₃⊙A₁₂=0 才允许。 - G1 = M/IO̅·A₁₉·A₁₆(与门); - G̅2A = A₁₈+A₁₇+A₁₅+A₁₄+(A₁₃⊙A₁₂)(或门,含同或项); - G̅2B = 0(接地)。 5. 片内 A₀–A₉、数据线、WE̅ 接法同题 2。 6. 验算:组0 首 91C00H(CBA=111→Y̅7)✓;组3 末 92BFFH(CBA=010→Y̅2,A₉–A₀ 全 1)✓;A₁₃=A₁₂ 时同或=1 → 禁止,无重叠 ✓。

题6(课件 p.43,例 6-4)

今有 2114(1K×4)芯片若干,构成 3K 容量(3K×8)存储系统,地址范围 08000H–08BFFH,该如何连线?

解答: 1. 芯片数 = (3K÷1K)×(8÷4) = 6 片,3 组每组 2 片。核对容量:08BFFH−08000H+1 = C00H = 3K ✓。 2. 首地址各位:08000H = 0000 1000 0000 0000 0000₂ → A₁₅=1;A₁₉–A₁₆=0;A₁₄=A₁₃=A₁₂=0。 3. 片内 A₀–A₉;组选 A₁₀→A、A₁₁→B、A₁₂→C(恒 0)→ 用 Y̅₀、Y̅₁、Y̅₂。 4. 使能:G1 = M/IO̅·A₁₅(与门);G̅2A = A₁₉+A₁₈+A₁₇+A₁₆+A₁₄+A₁₃+A₁₂(或门);G̅2B = 0。 5. 三组范围:08000–083FF、08400–087FF、08800–08BFFH,与题目一致 ✓。数据线、WE̅ 同前。

题7(课件 p.44,例 6-5)

今有 2114(1K×4)、2716(2K×8)芯片若干,构成 4K 容量存储系统,需 2K RAM 和 2K EPROM,该如何连线?并写出地址范围。

图6-19:2114×4+2716×1,Y0接EPROM,Y1用A10拆成两个1K接RAM

解答: 1. 芯片:RAM 2K×8 = 2 组×2 片 2114 = 4 片;EPROM 2K×8 = 1 片 2716。共 5 片。 2. 按图 6-19 的使能:A₁₄–A₁₈ 经与非门→G̅2A,须全 1;A₁₉→G̅2B,须 0;G1=M/IO̅。故固定位 A₁₉=0、A₁₈A₁₇A₁₆A₁₅A₁₄=11111,基址 = 0111 1100 0000 0000 0000₂ = 7C000H。 3. CBA=A₁₃A₁₂A₁₁: - Y̅0(000)→ 2716 CS̅:A₁₀ 作片内地址(2716 有 A₀–A₁₀),占 2K → 7C000H–7C7FFH(7C000H+800H−1)。 - Y̅1(001) 的 2K 用 A₁₀ 拆分:CS̅(组1) = Y̅1+A₁₀(或门,A₁₀=0 选中)→ 7C800H–7CBFFH;CS̅(组2) = Y̅1+A̅₁₀(A₁₀ 反相后或,A₁₀=1 选中)→ 7CC00H–7CFFFH。RAM 合计 7C800H–7CFFFH(2K)。 4. 数据线:2114 每组两片分接 D₀–D₃、D₄–D₇;2716 接 D₀–D₇。2114 接 A₀–A₉,2716 接 A₀–A₁₀。 5. 验算:全系统 7C000H–7CFFFH = 1000H = 4K ✓;EPROM 与 RAM 不重叠 ✓。

答案:EPROM 7C000H–7C7FFH;RAM 7C800H–7CFFFH。

二、考点补充题

题8【补充·考点:芯片容量与地址/数据线计算】

填空: (1) 2114 有____根地址线、____根数据线,容量为____位 = ____字节。 (2) 2716 有____根地址线、根数据线,容量为____位 = 字节。 (3) 用 2114 构成 4K×8 需____片;用 2716 构成 4K×8 需____片。 (4) 某芯片有 12 根地址线、8 根数据线,其容量为× = ____KB。

解答: (1) 1K = 2¹⁰ → 10 根地址线;4 根数据线;容量 1K×4 = 4096 位 = 4096÷8 = 512B。 (2) 2K = 2¹¹ → 11 根;8 根;2K×8 = 16K 位(16384 位)= 2KB。 (3) 2114:(4K/1K)×(8/4) = 8 片;2716:(4K/2K)×(8/8) = 2 片。 (4) 2¹² = 4K → 4K×8 = 4KB。

题9【补充·考点:存储器分类与特性】

单选:下列说法正确的是( )。 A. 静态 RAM 依靠电容电荷存储信息,必须周期性刷新 B. EPROM 可用紫外线擦除后重新编程,多次改写 C. PROM 写入后可用电信号反复擦除改写 D. Cache—主存层次解决了大容量与低成本之间的矛盾

解答:选 B。 - A 错:靠电容、需刷新的是动态 RAM;SRAM 靠双稳态触发器,不断电不刷新(课件 p.17、p.20)。 - B 对:EPROM 紫外线擦除、可重复编程(课件 p.26)。 - C 错:PROM 一次性写入;电可擦除的是 EEPROM(课件 p.25、p.27)。 - D 错:Cache—主存解决速度与成本矛盾;容量与成本矛盾靠主存—外存层次(课件 p.6、p.8)。

题10【补充·考点:SRAM/DRAM 与刷新】

简答:为什么 DRAM 需要刷新而 SRAM 不需要?两者基本存储单元有何区别?

解答(评分要点): 1. SRAM 单元由六管构成,VF1/VF2 双稳态触发器记忆状态,只要不断电状态长期保持,故不需刷新(课件 p.16-17)。 2. DRAM 靠栅极电容(C₁/C₂)上的电荷存储信息,电荷随时间泄漏,超过一定时间数据消失,故必须周期性重写即刷新(课件 p.20-21)。 3. 单元区别:SRAM 六管;DRAM 有四管、三管、单管,四管单元中 VF5/VF6 字线控制、VF7/VF8 预充电控制(课件 p.20-21)。 4. 刷新按行进行:刷新地址计数器依次提供行地址(课件 p.23 图 6-9)。

题11【补充·考点:存储层次与虚拟存储】

简答:三级存储系统由哪三级构成?两个存储层次各解决什么矛盾?虚拟存储技术的基本思想是什么?

解答(评分要点): 1. 三级:高速缓冲存储器 Cache—主存储器—外存储器(课件 p.3、p.9)。 2. 主存—外存层次解决大容量与低成本矛盾;Cache—主存层次解决速度与成本矛盾(课件 p.6、p.8)。 3. 虚拟存储:把部分外存与主存统一编址视为整体,形成逻辑(虚拟)地址空间;软硬件结合自动把逻辑地址转换为物理地址,并自动分段调入/调出主存;用户编程不受主存容量限制(课件 p.10)。 4. 实地址空间 = 主存物理地址空间;虚拟地址空间 = 逻辑地址空间(课件 p.11)。

题12【补充·考点:74LS138 真值表与使能】

填空: (1) G1=1、G̅2A=G̅2B=0,CBA=101 时,输出____为 0,其余为____。 (2) 若 G1=0,其余不变,输出为____。 (3) 要使 Y̅3=0,CBA 应为____,且使能须满足____。

解答: (1) CBA=101 = 5 → Y̅5 = 0,其余为 1(课件 p.40 真值表)。 (2) 使能不满足 → 输出全 1(不译码)。 (3) CBA = 011;使能 G1=1 且 G̅2A=G̅2B=0。

题13【补充·考点:存储器与 CPU 连接的考虑问题】

简答:存储器与 CPU 连接时要考虑哪些问题?

解答(评分要点,课件 p.31-33): 1. CPU 总线负载能力:一般可带动一个标准 TTL 门,超载加缓冲/驱动。 2. 时序配合:存储器最大存取时间要小于 CPU 读写周期,否则插入等待周期。 3. 电平匹配:不匹配时经缓冲器电平转换,不能直连。 4. 地址合理分配:主存中 RAM 与 ROM(EPROM)统一分配地址。 5. 控制信号连接:读/写、片选、复位、刷新(DRAM)等一般可直接连接。

题14【补充·考点:字扩展与地址范围(2716)】

用 2 片 2716(2K×8)构成 4K×8 的 ROM,起始地址 C8000H。求每片及整个系统的地址范围,并给出一种 74LS138 片选方案。

解答: 1. 2716 已是 ×8,只需字扩展:2 片,片内 A₀–A₁₀。 2. 范围:片0 = C8000H–C87FFH(C8000H+800H−1);片1 = C8800H–C8FFFH;系统 = C8000H–C8FFFH(C8000H+1000H−1)✓。 3. 区分两片的地址位是 A₁₁(片0 A₁₁=0,片1 A₁₁=1);参与片选的高位为 A₁₁–A₁₉ 共 9 根。 4. 译码方案:A₁₁→A、A₁₂→B、A₁₃→C;C8000H 各位:A₁₉=1、A₁₈=1、A₁₇=0、A₁₆=0、A₁₅=1、A₁₄=0、A₁₃=0、A₁₂=0。 - G1 = M/IO̅·A₁₉·A₁₈·A₁₅;G̅2A = A₁₇+A₁₆+A₁₄;G̅2B = 0。 - Y̅0(CBA=000)→ 片0 CS̅;Y̅1(001)→ 片1 CS̅。 5. 验算:C8800H 时 A₁₁=1 → CBA=001 → Y̅1 ✓;A₁₄=1 等非法地址被或门禁止 ✓。

题15【补充·考点:线选法与全译码法对比】

简答:比较线选法与全译码法的优缺点,并解释线选法为什么会产生地址多义性。

解答(评分要点,课件 p.37-38): 1. 线选法:高位地址线直接作片选。优点连接简单、不需复杂逻辑;缺点①高位未全部用完且未加控制时地址不连续、有多义性,②可寻址空间有限。 2. 全译码法:高位地址全部接入译码器(如 74LS138)产生片选,低位作字选。所有地址线都参与译码,无多义性、无不连续;代价是译码电路较复杂。 3. 多义性解释:线选时未参与片选的高位取 0 取 1 都不影响选中,同一芯片对应 2^(未用高位数) 个地址段。例如只用 A₁₃ 作片选、A₁₉–A₁₄ 不控制,则同一组芯片在 00000H–03FFFH 与 0FC000H–0FFFFH 等多处重复出现(举例说明即可)。

题16【补充·考点:全译码连接设计(2114,2K×8)】

用 2114 和 74LS138 构成 2K×8 的 RAM,起始地址 0F800H,给出连线方案并写出地址范围。

解答: 1. 芯片数 = (2K/1K)×(8/4) = 4 片,2 组每组 2 片。范围 0F800H–0FFFFH(0F800H+800H−1)。 2. 首地址各位:0F800H = 0000 1111 1000 0000 0000₂ → A₁₅=A₁₄=A₁₃=A₁₂=1,A₁₁=1,A₁₀=0,A₁₉–A₁₆=0。 3. 片内 A₀–A₉;组选 A₁₀→A;A₁₁→B、A₁₂→C(范围内恒 1)→ CBA=110、111 → 用 Y̅6、Y̅7。 4. 使能:G1 = M/IO̅·A₁₅·A₁₄·A₁₃(与门);G̅2A = A₁₉+A₁₈+A₁₇+A₁₆(或门);G̅2B = 0。 5. Y̅6 → 组0(0F800H–0FBFFH),Y̅7 → 组1(0FC00H–0FFFFH);数据线分接 D₀–D₃/D₄–D₇,WE̅ 接写信号。 6. 验算:0FC00H 的 A₁₀=1 → CBA=111 → Y̅7 ✓;末 0FFFFH ✓。

题17【补充·考点:线选法设计与地址多义性(拔高)】

用线选法将 3 组 1K×8 存储组(每组 2 片 2114)的 CS̅ 分别直接接 A₁₃、A₁₄、A₁₅(对应线为 0 时选中),A₁₉–A₁₆ 接地。 (1) 写出各组的基本地址范围(要求其余两根选择线为 1,避免同时选中); (2) 若 A₁₉–A₁₆ 改悬空(不控制),每组的地址范围重复出现多少次?说明原因。

解答: (1) 组0:A₁₃=0、A₁₄=1、A₁₅=1 → 基址 0C000H → 0C000H–0C3FFH; 组1:A₁₄=0、A₁₃=1、A₁₅=1 → 基址 0A000H → 0A000H–0A3FFH; 组2:A₁₅=0、A₁₃=1、A₁₄=1 → 基址 06000H → 06000H–063FFH。 (核对:0C000H = A₁₅+A₁₄ = 8000H+4000H;0A000H = 8000H+2000H;06000H = 4000H+2000H;每组 1K=400H。) (2) A₁₉–A₁₆ 共 4 根不控制,每根可 0 可 1 → 每组重复 2⁴ = 16 次(16 个地址别名段)。原因:线选法未对全部高位地址实施控制,未用高位的变化不影响片选,故产生地址多义性(课件 p.37)。注意其余两根选择线必须保持 1,否则多组同时选中造成数据线冲突。